Goal — lascia che Claude giri fino al raggiungimento della condizione
Imposta una condizione di completamento verificabile: Claude gira turno dopo turno finché non la raggiunge, senza che tu debba sollecitarlo ogni volta
⏱ Stima ~6 min
01 · Leggi
Quando lavori su task grandi ti ritrovi spesso a ripetere "continua", "correggi il prossimo", "esegui i test", "riprova" — perché Claude fa una cosa per turno e si ferma ad aspettarti.
/goal ti permette di impostare una condizione di completamento verificabile: Claude gira turno dopo turno finché non la raggiunge. Ad esempio "tutti i test in test/auth passano e lint è pulito" — imposti la condizione, premi Invio e vai a prendere un caffè. Quando torni, o la condizione è raggiunta e si è fermato da solo, o Claude è bloccato e aspetta una tua decisione.
💡 Immagina cosìCome dare a un engineer un ticket con i criteri di accettazione — "questa PR deve essere verde per considerarsi completa" — che itera da solo, corregge, esegue i test, corregge ancora, riesegue, senza doverti chiedere conferma a ogni piccolo passo. Torni solo quando è completamente bloccato o ha finito.
Punti chiave
- /goal <condizione> imposta la condizione e avvia subito il primo turno
- Claude gira un turno → valuta se la condizione è soddisfatta → se no, gira un altro turno
- Si ferma automaticamente al raggiungimento; puoi fermarti manualmente con /goal clear
- Ideale per task con criteri di accettazione chiari (test passati, file esistente, coda vuota)
02 · Leggi
Come funziona internamente: alla fine di ogni turno, un piccolo modello indipendente (di solito Haiku) legge il transcript della conversazione e valuta se la condizione è soddisfatta. Non può eseguire comandi né leggere file — vede solo ciò che Claude ha presentato nella conversazione.
Questo significa che la tua condizione deve essere qualcosa che Claude può "mostrare" nella conversazione: - ✅ "npm test con exit code 0" (Claude esegue i test, l'output viene mostrato) - ✅ "git status pulito" (Claude esegue git status, l'output viene mostrato) - ❌ "codice di buona qualità" (non verificabile, il valutatore non sa come giudicarlo) - ❌ "nessun bug" (impossibile dimostrarlo nella conversazione)
Un altro punto chiave: il "modello di esecuzione" e il "modello di valutazione" sono separati — il Claude che lavora non può autodichiarare il completamento per aggirare il sistema; Haiku giudica in modo indipendente.
Punti chiave
- Il valutatore (Haiku) giudica separatamente dal modello che lavora
- Il valutatore non può eseguire comandi né leggere file — vede solo il contenuto della conversazione
- La condizione deve essere una prova che Claude può "mostrare" nella conversazione
- Limite di 4000 caratteri; puoi aggiungere "o fermati dopo N turni" come rete di sicurezza
03 · Esempio di codice
Tre comandi fondamentali: impostare, controllare il progresso, cancellare.
All'interno di una sessione Claude Code
# 設定 goal — 立刻開始第一輪
/goal all tests in test/auth pass and lint is clean
# 看當前進度 (條件、跑了幾輪、花了多少 token、評估器最新理由)
/goal
# 手動清除 (條件達成會自動清,不需要這步)
/goal clear
# 別名: stop, off, reset, none, cancel
# /clear 開新對話也會清掉
Modalità headless / esecuzione in un'unica passata
# 非互動模式,跑到完成才回 shell
claude -p "/goal CHANGELOG.md 有這週每個 PR 的條目"
# Ctrl+C 中斷
Con un goal attivo, accanto al prompt appare ◎ /goal active con il tempo trascorso. La modalità headless (-p) è perfetta per inserirlo in una pipeline CI o in un task pianificato, ad esempio per eseguire ogni giorno "genera voci di changelog" fino al completamento.
04 · Esempio di codice
Scrivere una buona condizione rispetto a una cattiva fa una grande differenza — guarda esempi reali:
❌ Condizione cattiva (il valutatore non può verificarla)
/goal 把 auth.js 拆得更好
/goal 修 login bug
/goal 確保程式碼品質夠
/goal 完成所有 TODO
✅ Condizione buona (criteri di accettazione chiari + limite di sicurezza)
/goal 把 auth.js 拆成多個 module、每個 <300 行、所有測試通過、或 20 輪後停
/goal 修登入特殊字元 bug,跑 `npm test test/auth` 全綠、或 15 輪後停
/goal 把所有 import 從 old-api 換成 new-api、lint 乾淨、grep 找不到 old-api
Le buone condizioni hanno tre cose in comune: uno stato finale quantificabile (exit code, numero di file, coda vuota), la descrizione di come dimostrarlo (quale comando eseguire), un limite di sicurezza ("o fermati dopo N turni" per evitare di bruciare token all'infinito). Le condizioni cattive usano spesso parole soggettive come "buona qualità" o "meglio strutturato" — il valutatore non riesce a valutarle leggendo il transcript.
05 · Leggi
Claude Code ha diversi strumenti di "continuazione automatica" — non confonderli: - /goal — Imposta una condizione; Claude gira turno dopo turno fino a raggiungerla. L'obiettivo è "girare fino al completamento", non importa quanti turni ci vogliono. - /loop — Imposta una pianificazione (ad esempio "fai X ogni 5 minuti"), esegue allo scadere del tempo. L'obiettivo è il "controllo periodico", non completare qualcosa. - Stop hook — Uno script nel file di configurazione che esegue la tua logica di giudizio al termine di ogni turno. L'obiettivo è "regole personalizzate valide in tutte le sessioni". - Auto mode — Rimuove il prompt "premi yes prima di ogni chiamata agli strumenti". L'obiettivo è l'"esecuzione senza autorizzazione", non far decidere a Claude quando fermarsi.
Combinati funzionano al meglio: Auto mode senza autorizzazione + /goal fino al completamento = Claude gira davvero in autonomia.
Punti chiave
- /goal = gira fino al raggiungimento della condizione (limitato alla sessione)
- /loop = pianificazione temporale (periodico)
- Stop hook = logica personalizzata su tutte le sessioni (nel file di configurazione)
- Auto mode = niente yes da premere
- Auto mode + /goal insieme permettono un'esecuzione davvero in background
06 · Quiz
Vuoi che Claude riscriva tutti i vecchi React class component in hooks — sono 30 file. Quale condizione /goal ha più probabilità di arrivare al completamento?
- /goal riscrivi tutti i class component in hooks
- /goal riscrivi tutti i class component in hooks, ogni file passa i test originali, grep non trova extends React.Component, o fermati dopo 40 turni
- /goal rendi il codice più moderno e facile da mantenere
- /goal riscrivi i component finché sono soddisfatto
07 · Abbina
Abbina ogni scenario allo strumento più adatto.
(Questa sezione è interattiva — attiva JavaScript per usarla.)
Altre lezioni di questo capitolo
⚠ L'esperienza interattiva completa richiede JavaScript. Attivalo e ricarica la pagina.
※ Questo è un progetto educativo indipendente — non è un prodotto ufficiale di Anthropic. Claude™ è un marchio di Anthropic, PBC.