TL;DR i werdykt
- Ultracode nie robi Claude Code mądrzejszym. Zmienia to, co mówi się modelowi, i usuwa trzy zabezpieczenia, więc run wydaje więcej i zatrzymuje się później.
- Reguła: rozgałęziaj tylko wtedy, gdy wynik ocenia zestaw testów lub zbiór reguł, a zadanie dzieli się na niezależne kawałki. Wszystko inne uruchamiaj zwyczajnie, na high.
- Pięć ustawień ogranicza run: wytyczna rozmiaru workflow ustawiona na small, sufit współbieżnych agentów równy 4, jeden tańszy model dla każdego agenta workflow, słowo kluczowe zamiast przełącznika i wyłączone auto-continue na limicie użycia.
- Dwa pliki z limitami to
settings.jsoniultracode-caps.sh. Checklista towhen-to-fan-out.md. Zmierzone pary są wpaired-runs.csv. - Wytyczna rozmiaru to rada, nie limit. W naszym własnym runie mówiła mniej niż 5 agentów, a run użył 9.
Co mówią źródła
Słowo kluczowe kontra przełącznik. Wpisanie ultracode w prompcie włącza do workflow to jedno zadanie. Poproszenie własnymi słowami, na przykład "use a workflow", działa jako ta sama zgoda s1. Słowo kluczowe nic nie robi w prompcie przekazanym z -p, w nieostemplowanym wejściu Agent SDK ani w zaplanowanym zadaniu s1. Przełącznik jest inny. Przy włączonym ultracode Claude planuje workflow dla każdego istotnego zadania, a jedna prośba może zamienić się w kilka workflow z rzędu s1. Dokumentacja dodaje, że sesja z włączonym ultracode dociera do limitu sesji lub tygodniowego szybciej niż ta sama praca bez niego s1.
Wstrzyknięte zdanie. Gdy ultracode jest włączony, materiał referencyjny do pisania workflow mówi: "author and run a workflow for every substantive task by default. The goal is the most exhaustive, correct answer you can produce" oraz "token cost is not a constraint." Ten sam tekst cytuje publiczne zgłoszenie zatytułowane "Ultracode overrides the workflow size guideline" s8. Każdy workflow w sekwencji dostaje własny budżet agentów, więc cztery fazy po 15 agentów dają 60 agentów, choć żaden pojedynczy workflow nie łamie wytycznej s8.
Trzy zabezpieczenia. Ultracode wyłącza trzy kontrole. Ostrzeżenie Large workflow się nie pojawia. Limit współbieżnych subagentów sesji nie jest egzekwowany dla subagentów, które Claude spawnuje narzędziem Agent. W trybie uprawnień auto nikt nie pyta cię o zatwierdzenie pierwszego uruchomienia workflow s1.
Wytyczna rozmiaru. Small oznacza mniej niż 5 agentów, medium mniej niż 10, large mniej niż 50. Domyślna to medium, a na planie Pro w wersji v2.1.271 lub nowszej small. Claude Code wysyła ją do modelu jako radę, nie limit, więc prompt proszący o inną skalę nadal ją nadpisuje s1. Twarde limity to domyślnie 16 współbieżnych agentów i 1000 agentów na run. Ostrzeżenie o dużym workflow odpala powyżej 25 agentów lub 1,5 miliona prognozowanych tokenów i tylko ostrzega s1.
Nasz własny run. Wpisaliśmy słowo kluczowe w piaskownicy z dwoma plikami i 16 liniami kodu, z wytyczną rozmiaru ustawioną na small, i poprosiliśmy o przegląd tylko do odczytu. Run użył 9 agentów: 2 finderów i 7 weryfikatorów. Każdy finder przeczytał około 45,2k tokenów. Nie zrobiliśmy zwykłego runu tego samego promptu, więc nie mamy własnej liczby w parze.
Test w parach. Na planie za 200 $ programista dał tę samą specyfikację zwykłemu runowi i runowi z ultracode. Oba zaliczyły 136/136 ukrytych testów. Zwykły run skończył w 25 min przy 8% 5-godzinnego limitu. Run z ultracode ucięto po 76 min, z 18% zużytymi, i użył 12 agentów w dwóch zespołach (9 i 3), a nie 1000. Na minutę spalanie było mniej więcej równe: po prostu się nie zatrzymywał s3.
Trzy kolejne pary na planie Pro. Pojedynczy agent kontra workflow, te same ustalenia: 115k kontra 972k tokenów, 52k kontra 936k oraz 102k kontra 683k. Licznik /usage ruszył się o 4 kontra 12, 7 kontra 12 i 4 kontra 8 punktów, co autor podsumowuje jako mniej więcej dwa razy więcej limitu, do trzech. Czas ścienny na skrypcie planu Opus to 173 s kontra 178 s. Przy czterech niezależnych zadaniach badawczych równoległość była 1,6x szybsza przy 2,3x więcej tokenów s4.
Para 30x. Jeden agent na xhigh potrzebował 1 h 13 m za około 18 $ w cenach API. Max z ultracode zajął 9 h 14 m, z 40 subagentami, za około 554 $. Jeden run każdy, ceny katalogowe API, bez rozliczenia na subskrypcji s11.
Jak wygląda para. Publiczne repozytorium testowe zawiera jedną parę pojedynczy agent kontra workflow na tym samym zadaniu. Pojedynczy agent użył 181 646 tokenów, workflow 1 326 703. Koszt w cenie API wyniósł 0,2678 $ kontra 1,3744 $. Czas ścienny to 43 s kontra 80 s, a licznik sesji ruszył się o +0 kontra +12 punktów s22. To jedna para, więc czytaj ją jako kształt, nie prawo. Dokumentacja wymienia subagentów i workflow jako czynnik tokenów: każdy agent, którego workflow spawnuje, wysyła własne zapytania ponad rozmową główną s5. Zespół badawczy Anthropic zmierzył około 4x więcej tokenów dla agenta niż dla czatu i około 15x dla systemu wieloagentowego s20.
Gdzie się opłaca: Bun. Bun został przepisany z Zig na Rust za pomocą około 50 dynamicznych workflow, uruchomionych nieprzerwanie przez 11 dni. Źródło to 535 496 linii Zig, a port przeszedł od startu do 100% zaliczonego zestawu testów na wszystkich platformach w 11 dni s19. Sędzią był istniejący zestaw testów.
Gdzie się opłaca: polowanie na błędy. Anthropic podłożył 70 błędów w bazie kodu liczącej 116k linii. W 3 runach pojedynczy agent znalazł 14, 15 i 27. Workflow znalazł 66 w każdym ze swoich 3 runów s24. Ten test działał na Managed Agents, produkcie API, a nie w Claude Code. Anthropic nie podał dla niego kosztu i radzi zacząć od zadania o ograniczonym zakresie s24. Wpis premierowy mówi, że większość tradycyjnych zadań programistycznych nie potrzebuje panelu 5 recenzentów s2.
Run poza kontrolą. Skrypt napisany przez model, na planie Max 20x, uruchomił 221 agentów w 51 minut. Po pierwszym błędzie limitu sesji wystartowało jeszcze 189 agentów. Tabela autora zgłoszenia liczy 47 465 299 tokenów z cache s7. Dwa zastrzeżenia autora: 189 późniejszych agentów nie miało zarejestrowanych odpowiedzi modelu, a fallback skryptu dalej rozsyłał zadania, gdy merge nic nie zwrócił. Ten run działał na v2.1.266, przed pauzą na limicie użycia s7. Drugie publiczne zgłoszenie opisuje dwa workflow po 56 i 104 agentów, 1 472 855 i 1 752 360 tokenów, w których 92 ze 160 agentów padło na limicie sesji s21. Autor mówi, że zgłoszono ultracode włączony bez udziału użytkownika.
Dźwignie. CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS przyjmuje wartość od 1 do 256 i wymaga v2.1.269 s10. CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL uruchamia każdego agenta workflow na jednym modelu, podczas gdy inne subagenty zachowują swoje, od v2.1.296 s18. Przy włączonym autoContinueAtUsageLimit run, który trafi na limit, pauzuje i wznawia się po resecie, do dwóch oczekiwań, a za trzecim razem agent pada. Przy wyłączonym agenci, których to dotyczy, padają na ścianie s1. Wpis premierowy mówi, że budżet w prompcie, taki jak "use 10k tokens", wyznacza limit s2. Widok /workflows pokazuje zużycie tokenów każdego agenta, a x zatrzymuje run s1. /usage oznacza zachowania, które odpowiadają za 10% lub więcej ostatniego użycia, a v2.1.299 dodała ostrzeżenia dla workflow s5 s18.
Zestaw limitów
Blok ustawień. Limit 1 to wytyczna rozmiaru, limit 4 to ultracode utrzymane na false, żeby słowo kluczowe było jedyną drogą wejścia, a limit 5 to wyłączone auto-continue. Wstaw go do .claude/settings.json lub dowolnego pliku ustawień. Klucz workflowSizeGuideline działa w każdym pliku ustawień od v2.1.219 s1.
settings.json
{
"workflowSizeGuideline": "small",
"ultracode": false,
"autoContinueAtUsageLimit": false
}
Linie env. Limity 2 i 3. Zamień placeholder na pełny identyfikator modelu, na którym mają działać twoi agenci workflow.
ultracode-caps.sh
#!/usr/bin/env bash
# Source this file before you launch Claude Code: `source ultracode-caps.sh && claude`.
# These two lines are caps 2 and 3 of the five. Caps 1, 4 and 5 live in settings.json.
# Cap 2: at most 4 workflow agents run at once. The default is 16 (fewer on a machine
# with few CPUs). Accepted values are 1 to 256. Needs Claude Code v2.1.269 or later.
export CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS=4
# Cap 3: run every workflow agent on one cheaper model, while your other subagents
# keep theirs. Replace the placeholder with the full model id you want to pay for.
# Needs Claude Code v2.1.296 or later.
export CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL="<your-cheaper-model-id>"
# Optional kill switch for a shared machine: no workflows at all.
# export CLAUDE_CODE_DISABLE_WORKFLOWS=1
Checklista, którą przechodzisz, zanim wpiszesz słowo kluczowe.
when-to-fan-out.md
# When to fan out: the two-condition checklist
Fan out (use the ultracode keyword in one prompt) only if both answers are yes.
1. Does a test suite or a rule set judge the output?
- [ ] A suite that already exists and says pass or fail without anyone's opinion.
- [ ] Or a written rule file the output is reviewed against.
2. Does the job split into independent pieces?
- [ ] No piece waits on the result of another piece.
- [ ] Each piece can be checked on its own.
If either answer is no, run plain at high effort. A plain run costs one bill. A
workflow costs one bill per agent.
Jobs that usually pass both tests:
- A port or migration across many files with a test suite as the judge.
- A review of a whole codebase against a rule file.
- A translation of many files with the same prompt.
- A cleanup pass over a pile of similar documents.
Jobs that usually fail one of them:
- A small feature, a bug fix, a refactor of one module.
- Anything where "good" is a matter of taste.
- A chain of steps where each one needs the previous result.
Before you start:
- [ ] Run a slice first (one folder, ten files) and read the token total.
- [ ] Put a budget in the prompt, for example "use 10k tokens".
- [ ] Open /workflows and watch per-agent tokens. Press x to stop.
- [ ] After the run, open /usage and read the share that went to workflows.
Zmierzone pary i przypadki ze źródeł, po jednym wierszu, z identyfikatorem źródła.
paired-runs.csv
source_id,run,measure,baseline,workflow_or_fanout,note
s22,rebuild-your-claude-md pair (rep 2),tokens,181646,1326703,"all four usage fields summed, 14 agent transcripts on the workflow side"
s22,rebuild-your-claude-md pair (rep 2),API cost in USD,0.2678,1.3744,single agent vs workflow
s22,rebuild-your-claude-md pair (rep 2),wall time in seconds,43,80,single agent vs workflow
s22,rebuild-your-claude-md pair (rep 2),session meter points,+0,+12,"/usage before to after: 17% to 17% vs 19% to 31%"
s24,70 planted bugs in 116k lines,bugs found,"14, 15 and 27 (3 runs)","66 in each of 3 runs","Managed Agents, not Claude Code; no cost given"
s19,Bun port from Zig to Rust,test suite passing,,100%,"about 50 dynamic workflows, 11 days, 535,496 lines of Zig"
s6,fixed worker and gate files,tokens for workflow execution and monitoring,100%,about 20%,"self-reported, no plan stated; runs 5 to 6 hours down to 20 to 40 minutes"
s7,runaway run on Max 20x,agents started,,221,"51 minutes; 189 started after the first session-limit error; 47,465,299 tokens including cache"
s21,ultracode reported on without the user enabling it,agents started,,"56 and 104","1,472,855 and 1,752,360 tokens; 92 of 160 agents failed with the session limit"
s20,multi-agent research system,tokens vs a chat,about 4x for an agent,about 15x for multi-agent,Anthropic's own data
s3,same spec on a $200 plan,hidden checks passed,136/136,136/136,"both runs perfect"
s3,same spec on a $200 plan,time and 5-hour limit used,"25 min, 8%","76 min (cut off), 18%","12 agents in two teams (9 and 3)"
s4,Opus plan script,tokens,115k,972k,"Pro plan; /usage 4 vs 12 points; 173 s vs 178 s"
s4,compact script,tokens,52k,936k,"Pro plan; /usage 7 vs 12 points"
s4,Claude.md script,tokens,102k,683k,"Pro plan; /usage 4 vs 8 points"
s4,four independent research jobs,time and tokens,"102 s, about 33k","about 64 s, 76k","parallel 1.6x faster for 2.3x tokens"
s11,Cybercity,time and API cost,"1 h 13 m, about $18 (1 agent)","9 h 14 m, about $554 (40 subagents)","xhigh vs max with ultracode; one run each; API list prices"
Dwie uwagi o zestawie. Klucz ultracode ma znaczenie tylko wtedy, gdybyś inaczej zaczynał sesje z włączonym przełącznikiem, a trzymanie go na false sprawia, że każde rozgałęzienie jest decyzją podejmowaną w jednym prompcie. Całkowite wyłączenie workflow usuwa słowo kluczowe i przełącznik: ustaw "disableWorkflows": true w ~/.claude/settings.json s1.
Zrób to w poniedziałek
- Skopiuj
settings.jsondo ustawień projektu i sprawdź, czy/configpokazuje wytyczną rozmiaru jako small. - Zasource'uj
ultracode-caps.shw powłoce, z której uruchamiasz Claude Code, z prawdziwym identyfikatorem modelu zamiast placeholdera. - Sprawdź, czy przełącznik
ultracodejest wyłączony w/effort, i używaj słowa kluczowego w jednym prompcie, gdy chcesz rozgałęzienia. - Przed każdym rozgałęzieniem odpowiedz na dwa pytania z
when-to-fan-out.md. Jeśli jedna odpowiedź brzmi nie, uruchom zwyczajnie na high. - Najpierw uruchom wycinek i odczytaj sumę tokenów w
/workflows, zanim poszerzysz zadanie. - Dodaj budżet do promptu, na przykład "use 10k tokens".
- Trzymaj
/workflowsotwarte przy pierwszym runie i naciśnijx, jeśli liczba agentów rośnie ponad to, czego oczekiwałeś. - Po runie otwórz
/usagei zanotuj udział, który poszedł na workflow.
Idź dalej
Napraw workera i bramkę zamiast pozwalać modelowi je pisać. Jeden wpis na Hacker News zgłasza zejście z wydatkiem tokenów na wykonanie i monitorowanie workflow do około 20% dawnej wartości, a workflow, które trwały od 5 do 6 godzin, trwają teraz od 20 do 40 minut. To dane z własnego raportu, bez podanego planu s6. Metoda ma dwie części. Plik agenta workflow-worker dostaje jeden kawałek planu i ciasne uprawnienia do pisania i uruchamiania testów tylko dla własnej części. Plik agenta workflow-gate przyjmuje wyniki równoległych agentów, a seryjne kontrole przechodzą do Makefile z dwoma celami: make workflow-serial-gate sprawdza drzewo git i uruchamia testy dla tego, co się zmieniło, a make workflow-final-gate uruchamia czyste testy na wszystkim s6. Kontrola bramki, która kiedyś trwała 10 minut dla złożonych planów, trwa teraz sekundę, według tego samego wpisu. Te 20% obejmuje wykonanie i monitorowanie, nie tworzenie planu ani implementację. Żeby spróbować, napisz oba pliki agentów raz, trzymaj je w repozytorium i wskaż je w prompcie workflow.
Przeczytaj raport o runie poza kontrolą, zanim zaufasz wygenerowanemu skryptowi. Zgłoszenie pokazuje tabelę po fazach i jeden wzorzec stojący za 189 dodatkowymi agentami: gdy agent merge nic nie zwraca, skrypt wraca do surowej listy i jedzie dalej s7. Poproś model o skrypty, które zatrzymują się na agencie, który padł. Trzymaj auto-continue wyłączone przy każdym runie, którego nie pilnujesz.
Wiedz, dlaczego wytyczna przegrywa. Zgłoszenie 92631 pokazuje tekst wytycznej obok zdania ultracode i dlaczego to drugie wygrywa, gdy się różnią s8. Jeśli chcesz twardego sufitu, zmienna współbieżności ogranicza, ilu agentów działa naraz, a budżet w prompcie ogranicza, ile wydają.
Użyj wątku premierowego przy szerokich zadaniach. Najostrzejszy sprzeciw pierwszego dnia jest w wątku premierowym, z komentarzami takimi jak "an exciting new way to burn up as many tokens as possible" i "Quantity of output is not the issue right now. Quality is." s9. Sukcesy, które tam zgłaszają ludzie, mają wspólny kształt: przegląd względem pliku reguł, tłumaczenie bazy kodu, porządkowanie zeskanowanych stron.
Managed Agents to inny produkt. Test 70 błędów używał dynamicznych workflow Managed Agents, które są tylko w API. Jeśli budujesz na API, zacznij od zadania o ograniczonym zakresie, jak radzi Anthropic s24. Ustawienia Claude Code się nie przenoszą.
Czemu nie ufać. Anegdoty o limitach bez planu i liczby są z drugiej ręki. Jeden komentujący zgłasza, że 6 agentów zjadło 4-godzinny limit, a inny zgłasza port prawie 2 miliardów tokenów, który kosztował 20 $ na tanim modelu innego dostawcy przez własny klon komentującego s23 s9. Żadne z tych nie jest pomiarem Claude Code na planie. Liczba trafia do twoich notatek dopiero wtedy, gdy ma plan, model, wersję i zadanie.
FAQ
Czy słowo kluczowe kosztuje tyle co przełącznik? Nie. Słowo kluczowe uruchamia jedno zadanie jako workflow. Przełącznik planuje workflow dla każdego istotnego zadania, więc jedna prośba może zamienić się w kilka s1. Oba wydają ponad twoją rozmową, bo każdy agent wysyła własne zapytania s5.
Czy ustawienie wytycznej rozmiaru na small ogranicza run do 4 agentów? Nie. To rada wysyłana do modelu, a prompt lub zdanie ultracode może ją nadpisać s1 s8. W naszym runie mówiła mniej niż 5, a run użył 9. Twarde limity to zmienna współbieżności i twoje własne zatrzymanie.
Co się dzieje, gdy run trafi na mój limit użycia?
Przy włączonym autoContinueAtUsageLimit interaktywna sesja claude.ai pauzuje run i kontynuuje po resecie, do dwóch oczekiwań, od v2.1.271. Wcześniejsze wersje przerywają agentów, których to dotyczy s1. Przy wyłączonym agenci padają na limicie i run się tam kończy.
Po co tańszy model dla agentów workflow?
Większość workflow to sprawdzanie, a każdy agent wysyła własne zapytania. CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL przenosi wszystkich agentów workflow na jeden model i zostawia twoje inne subagenty w spokoju s18. Sprawdź wynik na wycinku, zanim na nim polegasz.
Czy nadal mogę używać ultracode? Tak, do zadań, które przechodzą oba pytania z checklisty. Port Buna miał pełny zestaw testów jako sędziego s19. Przy małej funkcji lub poprawce błędu domyślnie wybierz zwykły run na high.
AIDive