AIDive

Pack video

Il kit dei limiti di ultracode: cinque impostazioni, checklist e coppie misurate

11 min di lettura

TL;DR e verdetto

  • Ultracode non rende Claude Code più intelligente. Cambia ciò che viene detto al modello e toglie tre protezioni, quindi una run spende di più e si ferma più tardi.
  • La regola: fai il fan-out solo quando una suite di test o un insieme di regole giudica l'output e il lavoro si divide in pezzi indipendenti. Tutto il resto, run normale a high.
  • Cinque impostazioni limitano una run: la linea guida sulla dimensione del workflow su small, un tetto di 4 agenti contemporanei, un unico modello più economico per ogni agente del workflow, la parola chiave al posto dell'interruttore, e l'auto-continue al limite di utilizzo disattivato.
  • I due file che portano i limiti sono settings.json e ultracode-caps.sh. La checklist è when-to-fan-out.md. Le coppie misurate sono in paired-runs.csv.
  • La linea guida sulla dimensione è un consiglio, non un tetto. Nella nostra run diceva meno di 5 agenti e la run ne ha usati 9.

Cosa dicono le fonti

Parola chiave contro interruttore. Digitare ultracode in un prompt fa entrare quel solo task in un workflow. Chiedere con parole tue, come "use a workflow", funziona come lo stesso opt-in s1. La parola chiave non fa nulla in un prompt passato con -p, in input Agent SDK non marcato o in un task pianificato s1. L'interruttore è diverso. Con ultracode attivo, Claude pianifica un workflow per ogni task sostanziale, e una richiesta può diventare più workflow di fila s1. La documentazione aggiunge che una sessione con ultracode attivo raggiunge il limite di sessione o settimanale prima dello stesso lavoro con ultracode disattivo s1.

La frase iniettata. Con ultracode attivo, il riferimento per scrivere workflow dice: "author and run a workflow for every substantive task by default. The goal is the most exhaustive, correct answer you can produce" e che "token cost is not a constraint." Lo stesso testo è citato in una issue pubblica intitolata "Ultracode overrides the workflow size guideline" s8. Ogni workflow in una sequenza ha il proprio budget di agenti, quindi quattro fasi da 15 agenti fanno 60 agenti mentre nessun singolo workflow supera la linea guida s8.

Le tre protezioni. Ultracode spegne tre controlli. L'avviso Large workflow non compare. Il limite di subagenti contemporanei della sessione non viene applicato ai subagenti che Claude avvia con lo strumento Agent. In modalità di permessi auto non ti viene chiesto di approvare il primo lancio del workflow s1.

La linea guida sulla dimensione. Small significa meno di 5 agenti, medium meno di 10, large meno di 50. Il valore predefinito è medium, oppure small su un piano Pro con v2.1.271 o successiva. Claude Code la invia al modello come consiglio, non come tetto, quindi un prompt che chiede un'altra scala la scavalca ancora s1. I limiti rigidi sono 16 agenti contemporanei per impostazione predefinita e 1.000 agenti per run. L'avviso di workflow grande scatta sopra 25 agenti o 1,5 milioni di token previsti, e si limita ad avvisare s1.

La nostra run. Abbiamo digitato la parola chiave su una sandbox di due file e 16 righe di codice, con la linea guida sulla dimensione su small, chiedendo una revisione in sola lettura. La run ha usato 9 agenti: 2 finder e 7 verificatori. Ogni finder ha letto circa 45,2k token. Non abbiamo fatto una run normale dello stesso prompt, quindi non abbiamo una cifra in coppia nostra.

Il test in coppia. Su un piano da 200 $, uno sviluppatore ha dato la stessa specifica a una run normale e a una run con ultracode. Entrambe hanno superato 136/136 controlli nascosti. La run normale è finita in 25 min all'8% del limite di 5 ore. La run con ultracode è stata interrotta a 76 min con il 18% consumato, e ha usato 12 agenti in due team (9 e 3), non 1.000. Al minuto il consumo era circa uguale: semplicemente non si fermava s3.

Altre tre coppie su un piano Pro. Agente singolo contro workflow, stessi risultati: 115k contro 972k token, 52k contro 936k, e 102k contro 683k. Il contatore /usage si è mosso di 4 contro 12, 7 contro 12 e 4 contro 8 punti, che l'autore riassume come circa due volte la quota, fino a tre. Il tempo reale sullo script del piano Opus era 173 s contro 178 s. Su quattro lavori di ricerca indipendenti, il parallelo era 1,6x più veloce per 2,3x i token s4.

La coppia 30x. Un agente a xhigh ha impiegato 1 h 13 m per circa 18 $ a prezzi API. Max con ultracode ha impiegato 9 h 14 m, con 40 subagenti, per circa 554 $. Una run ciascuno, prezzi di listino API, non fatturati su un abbonamento s11.

Com'è fatta una coppia. Un repository di test pubblico contiene una coppia agente singolo contro workflow sullo stesso task. L'agente singolo ha usato 181.646 token, il workflow 1.326.703. Il costo a prezzo API era 0,2678 $ contro 1,3744 $. Il tempo reale era 43 s contro 80 s, e il contatore di sessione si è mosso di +0 contro +12 punti s22. È una sola coppia, quindi leggila come una forma e non come una legge. La documentazione elenca subagenti e workflow tra i fattori di consumo di token: ogni agente che un workflow avvia invia le proprie richieste in aggiunta a quelle della conversazione principale s5. Il team di ricerca di Anthropic ha misurato circa 4x più token per un agente rispetto a una chat, e circa 15x per un sistema multi-agente s20.

Dove conviene: Bun. Bun è stato riscritto da Zig a Rust con circa 50 workflow dinamici eseguiti in continuo per 11 giorni. Il sorgente erano 535.496 righe di Zig, e il port è andato dall'inizio al 100% della suite di test che passa su tutte le piattaforme in 11 giorni s19. Il giudice era una suite di test già esistente.

Dove conviene: la caccia ai bug. Anthropic ha piantato 70 bug in un codebase da 116k righe. In 3 run un agente singolo ne ha trovati 14, 15 e 27. Un workflow ne ha trovati 66 in ciascuna delle sue 3 run s24. Quel test girava su Managed Agents, il prodotto API, non su Claude Code. Anthropic non ha dato alcun costo e consiglia di partire da un task circoscritto s24. Il blog di lancio dice che la maggior parte dei compiti di programmazione tradizionali non ha bisogno di un panel di 5 revisori s2.

La run fuori controllo. Uno script scritto dal modello su un piano Max 20x ha avviato 221 agenti in 51 minuti. Dopo il primo errore di limite di sessione, ne sono stati avviati altri 189. La tabella di chi ha segnalato conta 47.465.299 token inclusa la cache s7. Due precisazioni di chi ha segnalato: i 189 agenti successivi non avevano risposte del modello registrate, e il fallback dello script continuava a lanciare quando un merge non restituiva nulla. Quella run era sulla v2.1.266, prima della pausa al limite di utilizzo s7. Una seconda segnalazione pubblica descrive due workflow da 56 e 104 agenti, 1.472.855 e 1.752.360 token, in cui 92 agenti su 160 sono falliti per il limite di sessione s21. Chi ha segnalato dice che ultracode risultava attivo senza che l'utente lo avesse abilitato.

Le leve. CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS accetta un valore da 1 a 256 e richiede la v2.1.269 s10. CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL fa girare ogni agente del workflow su un unico modello mentre gli altri subagenti tengono il loro, dalla v2.1.296 s18. Con autoContinueAtUsageLimit attivo, una run che raggiunge il limite si mette in pausa e riprende al reset, fino a due attese, e la terza volta l'agente fallisce. Con l'opzione disattiva, gli agenti interessati falliscono al muro s1. Il blog di lancio dice che un budget nel prompt, come "use 10k tokens", imposta il tetto s2. La vista /workflows mostra l'uso di token di ogni agente, e x ferma la run s1. /usage segnala i comportamenti che rappresentano il 10% o più dell'utilizzo recente, e la v2.1.299 ha aggiunto avvisi per i workflow s5 s18.

Il kit dei limiti

Il blocco delle impostazioni. Il limite 1 è la linea guida sulla dimensione, il limite 4 è ultracode tenuto su false così che la parola chiave sia l'unico ingresso, e il limite 5 è l'auto-continue disattivato. Mettilo in .claude/settings.json o in qualsiasi file di impostazioni. La chiave workflowSizeGuideline funziona in qualsiasi file di impostazioni dalla v2.1.219 s1.

settings.json

{
  "workflowSizeGuideline": "small",
  "ultracode": false,
  "autoContinueAtUsageLimit": false
}

settings.json on GitHub

Le righe d'ambiente. Limiti 2 e 3. Sostituisci il segnaposto con l'id completo del modello su cui vuoi far girare i tuoi agenti del 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

ultracode-caps.sh on GitHub

La checklist da eseguire prima di digitare la parola chiave.

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.

when-to-fan-out.md on GitHub

Le coppie e i casi misurati dalle fonti, una riga ciascuno, con l'id della fonte.

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"

paired-runs.csv on GitHub

Due note sul kit. La chiave ultracode conta solo se altrimenti avvieresti le sessioni con l'interruttore attivo, e tenerla su false significa che ogni fan-out è una decisione che prendi in un singolo prompt. Disattivare del tutto i workflow rimuove la parola chiave e l'interruttore: imposta "disableWorkflows": true in ~/.claude/settings.json s1.

Da fare lunedì

  • Copia settings.json nelle impostazioni del progetto e verifica che /config mostri la linea guida sulla dimensione come small.
  • Esegui source di ultracode-caps.sh nella shell da cui lanci Claude Code, con un id di modello reale al posto del segnaposto.
  • Verifica che l'interruttore ultracode sia spento in /effort, e usa la parola chiave in un singolo prompt quando vuoi un fan-out.
  • Prima di ogni fan-out, rispondi alle due domande in when-to-fan-out.md. Se una risposta è no, run normale a high.
  • Esegui prima una fetta e leggi il totale di token in /workflows prima di allargare il lavoro.
  • Aggiungi un budget al prompt, per esempio "use 10k tokens".
  • Tieni /workflows aperto alla prima run e premi x se il numero di agenti sale oltre quanto ti aspettavi.
  • Dopo la run, apri /usage e annota la quota andata ai workflow.

Per approfondire

Sistema il worker e il gate invece di lasciarli scrivere al modello. Un post su Hacker News riporta di aver portato la spesa di token per l'esecuzione e il monitoraggio dei workflow a circa il 20% di prima, con workflow che richiedevano 5 o 6 ore e ora ne richiedono da 20 a 40 minuti. È autodichiarato e non indica alcun piano s6. Il metodo ha due parti. Un file di agente workflow-worker riceve un pezzo del piano e permessi stretti per scrivere ed eseguire test solo per la propria parte. Un file di agente workflow-gate prende i risultati degli agenti paralleli, e i controlli seriali passano in un Makefile con due target: make workflow-serial-gate controlla l'albero git ed esegue i test di ciò che è cambiato, e make workflow-final-gate esegue test puliti su tutto s6. Il controllo del gate che prima richiedeva 10 minuti per piani complessi ora richiede un secondo, secondo lo stesso post. Il 20% riguarda esecuzione e monitoraggio, non la creazione del piano né l'implementazione. Per provarlo, scrivi i due file di agente una volta, tienili nel repository e punta il prompt del workflow su di essi.

Leggi la segnalazione della run fuori controllo prima di fidarti di uno script generato. La issue mostra una tabella per fase e l'unico schema dietro i 189 agenti in più: quando un agente di merge non restituisce nulla, lo script ripiega sulla lista grezza e va avanti s7. Chiedi al modello script che si fermino davanti a un agente fallito. Tieni l'auto-continue disattivato su qualsiasi run che non guardi.

Capisci perché la linea guida perde. La issue 92631 mostra il testo della linea guida accanto alla frase di ultracode, e perché la seconda vince quando non concordano s8. Se vuoi un tetto rigido, la variabile di concorrenza limita quanti agenti girano contemporaneamente, e il budget nel prompt limita quanto spendono.

Usa il thread di lancio per i lavori ampi. La critica più netta del primo giorno è nel thread di lancio, con commenti come "an exciting new way to burn up as many tokens as possible" e "Quantity of output is not the issue right now. Quality is." s9. I successi che le persone riportano lì hanno la stessa forma: revisione rispetto a un file di regole, traduzione di un codebase, pulizia di pagine scansionate.

Managed Agents è un prodotto diverso. Il test dei 70 bug usava i workflow dinamici di Managed Agents, che sono solo API. Se costruisci sull'API, parti da un task circoscritto, come consiglia Anthropic s24. Le impostazioni di Claude Code non si trasferiscono.

Di cosa non fidarti. Gli aneddoti sulla quota senza piano né numero sono di seconda mano. Un commentatore riporta che 6 agenti hanno mangiato una quota di 4 ore, e un altro riporta un port di quasi 2 miliardi di token costato 20 $ su un modello economico di un altro fornitore tramite un proprio clone s23 s9. Nessuno dei due è una misura di Claude Code su un piano. Un numero va nei tuoi appunti solo se arriva con il piano, il modello, la versione e il task.

FAQ

La parola chiave costa quanto l'interruttore? No. La parola chiave esegue un task come workflow. L'interruttore pianifica un workflow per ogni task sostanziale, quindi una richiesta può diventarne diversi s1. Entrambi spendono in aggiunta alla tua conversazione, perché ogni agente invia le proprie richieste s5.

Impostare la linea guida sulla dimensione su small limita una run a 4 agenti? No. È un consiglio inviato al modello, e un prompt o la frase di ultracode possono scavalcarlo s1 s8. Nella nostra run diceva meno di 5 e la run ne ha usati 9. I limiti rigidi sono la variabile di concorrenza e il tuo stop.

Cosa succede quando una run raggiunge il mio limite di utilizzo? Con autoContinueAtUsageLimit attivo, una sessione claude.ai interattiva mette in pausa la run e continua al reset, fino a due attese, dalla v2.1.271. Le versioni precedenti fanno fallire gli agenti interessati s1. Con l'opzione disattiva, gli agenti falliscono al limite e la run finisce lì.

Perché un modello più economico per gli agenti del workflow? La maggior parte di un workflow è controllo, e ogni agente invia le proprie richieste. CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL mette tutti gli agenti del workflow su un modello e lascia in pace gli altri tuoi subagenti s18. Verifica il risultato su una fetta prima di farci affidamento.

Posso ancora usare ultracode? Sì, per i lavori che superano entrambe le domande della checklist. Il port di Bun aveva una suite di test completa come giudice s19. Per una piccola feature o una correzione di bug, il valore predefinito è una run normale a high.

File