Goal — laisser Claude tourner jusqu'à ce que la condition soit remplie
Définis une condition de complétion vérifiable et Claude itère tour après tour jusqu'à l'atteindre, sans que tu aies à relancer à chaque fois
⏱ Estim. ~6 min
01 · Lire
Sur les grosses tâches tu te retrouves souvent à répéter « continue », « fixe le suivant », « relance les tests », « réessaie » — parce que Claude fait une chose par tour puis s'arrête en attendant.
/goal te laisse définir une condition de complétion vérifiable, et Claude itère tour après tour tout seul jusqu'à l'atteindre. Par exemple « tous les tests de test/auth passent et le lint est propre » — tu lances, tu appuies sur Enter, tu vas prendre un café. À ton retour, soit la condition est remplie et c'est fini automatiquement, soit Claude est bloqué et attend ta décision.
💡 Imagine çaComme donner à un développeur un ticket avec ses critères d'acceptation « cette PR doit être au vert pour être terminée ». Il itère tout seul — modifier, lancer les tests, modifier, relancer — sans te demander confirmation à chaque petite étape. Tu n'apparais que quand il est complètement bloqué ou qu'il a fini.
Points clés
- /goal <condition> définit la condition de complétion et lance le premier tour tout de suite
- Claude fait un tour → évalue si la condition est atteinte → relance un tour si non
- Fin automatique si la condition est atteinte ; sinon /goal clear arrête manuellement
- Parfait pour les tâches à « critères d'acceptation clairs » (tests qui passent, fichier qui existe, queue vide)
02 · Lire
Comment ça marche en interne : à la fin de chaque tour, un petit modèle indépendant (souvent Haiku) lit le transcript de la conversation et décide si la condition est atteinte. Il ne peut pas lancer de commandes ni lire de fichiers — il ne voit que ce que Claude a montré dans la conversation.
Donc ta condition doit être un truc que Claude peut « montrer » dans la conversation : - Oui : « exit code 0 de npm test » (Claude lance les tests, la sortie est visible) - Oui : « git status propre » (Claude lance git status, la sortie est visible) - Non : « bonne qualité de code » (impossible à vérifier, l'évaluateur n'y comprend rien) - Non : « zéro bug » (impossible à prouver dans la conversation)
L'autre point clé, c'est que le « modèle d'exécution » et le « modèle d'évaluation » sont séparés — le Claude qui bosse ne peut pas s'auto-déclarer terminé pour te bluffer, c'est Haiku qui juge en indépendance.
Points clés
- L'évaluateur (Haiku) juge en indépendance, séparé du modèle qui bosse
- L'évaluateur ne peut pas lancer de commandes ni lire de fichiers — il ne voit que le contenu de la conversation
- La condition doit être une preuve que Claude peut « montrer » dans la conversation
- Limite à 4000 caractères, possibilité d'ajouter « ou stop après N tours » comme garde-fou
03 · Exemple de code
Trois commandes clés : définir, voir l'avancement, effacer.
Dans une session Claude Code
# 設定 goal — 立刻開始第一輪
/goal all tests in test/auth pass and lint is clean
# 看當前進度 (條件、跑了幾輪、花了多少 token、評估器最新理由)
/goal
# 手動清除 (條件達成會自動清,不需要這步)
/goal clear
# 別名: stop, off, reset, none, cancel
# /clear 開新對話也會清掉
headless / one-shot
# 非互動模式,跑到完成才回 shell
claude -p "/goal CHANGELOG.md 有這週每個 PR 的條目"
# Ctrl+C 中斷
Quand un goal est actif, le prompt affiche ◎ /goal active plus le temps écoulé. Le mode headless (-p) est super adapté pour le CI ou un planificateur — par exemple un quotidien qui génère une entrée de changelog jusqu'à complétion.
04 · Exemple de code
Bonne condition vs mauvaise condition, ça change tout — exemples concrets :
Mauvaise condition (l'évaluateur ne peut pas vérifier)
/goal 把 auth.js 拆得更好
/goal 修 login bug
/goal 確保程式碼品質夠
/goal 完成所有 TODO
Bonne condition (critères clairs + garde-fou temporel)
/goal 把 auth.js 拆成多個 module、每個 <300 行、所有測試通過、或 20 輪後停
/goal 修登入特殊字元 bug,跑 `npm test test/auth` 全綠、或 15 輪後停
/goal 把所有 import 從 old-api 換成 new-api、lint 乾淨、grep 找不到 old-api
Les bonnes conditions ont trois points en commun : un état terminal mesurable (exit code, nombre de fichiers, queue vide), dire « comment le prouver » (quelle commande lancer), et un garde-fou temporel (« ou stop après N tours » pour éviter de brûler des tokens à l'infini). Le piège classique des mauvaises conditions, c'est les mots subjectifs comme « bonne qualité », « mieux découpé » — l'évaluateur ne sait pas les lire.
05 · Lire
Claude Code a plusieurs outils « auto-continue », ne les mélange pas : - /goal — définit une condition, Claude tour après tour jusqu'à l'atteindre. L'idée c'est « tourner jusqu'à complétion », peu importe le nombre de tours. - /loop — définit un planning (par exemple « toutes les 5 minutes faire X ») qui se déclenche à l'heure. L'idée c'est « vérification périodique », pas la complétion. - Stop hook — un script dans le fichier de config qui exécute ta logique à la fin de chaque tour. L'idée c'est une « règle personnalisée valable sur toutes les sessions ». - Auto mode — supprime le « tu dois confirmer chaque appel d'outil ». L'idée c'est « pas besoin d'autoriser », pas que Claude décide quand s'arrêter.
Le mélange le plus efficace : Auto mode pour sauter les autorisations + /goal pour aller jusqu'à complétion = laisser vraiment Claude tourner seul.
Points clés
- /goal = tourner jusqu'à ce que la condition soit atteinte (limité à la session)
- /loop = planning temporel (périodique)
- Stop hook = logique personnalisée sur toutes les sessions (dans la config)
- Auto mode = pas besoin d'appuyer sur yes
- Auto mode + /goal ensemble permettent une vraie exécution en arrière-plan
06 · Quiz
Tu veux que Claude convertisse de vieux class component React en hooks, sur 30 fichiers. Laquelle de ces conditions /goal a le plus de chances d'aller jusqu'au bout ?
- /goal convertir tous les class component en hooks
- /goal convertir tous les class component en hooks, chaque fichier passe ses tests d'origine, grep ne trouve plus extends React.Component, ou stop après 40 tours
- /goal rendre le code plus moderne et plus facile à maintenir
- /goal réécrire les components jusqu'à ce que je sois content
07 · Associer
Associe chaque scénario à l'outil le plus adapté.
(Cette section est interactive — active JavaScript pour l'utiliser.)
Autres leçons de ce chapitre
⚠ L'expérience interactive complète nécessite JavaScript. Active-le et recharge la page.
※ Ce site est un projet éducatif indépendant — pas un produit officiel d'Anthropic. Claude™ est une marque déposée d'Anthropic, PBC.