Guide : La fonctionnalité `/goal` — Codex (OpenAI) vs Claude Code (Anthropic)

mai 2026 · 8 min de lecture

Sources :


Introduction

Les deux outils majeurs d'IA pour le développement — OpenAI Codex et Anthropic Claude Code — proposent une fonctionnalité appelée /goal. Dans les deux cas, l'idée centrale est la même : permettre à l'agent de poursuivre un objectif persistant à travers plusieurs tours de conversation, sans que l'utilisateur ait besoin de relancer manuellement chaque étape.

Ce guide compare les deux implémentations : philosophie, usage, bonnes pratiques, et différences clés.


1. Concept fondamental

Codex (OpenAI)

Un Goal est un objectif persistant qui maintient un thread actif vers un résultat défini sur plusieurs tours. Il donne à Codex une condition de fin : ce qui doit être vrai, comment vérifier le succès, et quelles contraintes doivent être respectées.

"A Goal is not background autonomy without boundaries. It is a scoped, user-controlled completion contract."

Claude Code (Anthropic)

Le /goal définit une condition de complétion : Claude continue de travailler sans que l'utilisateur relance chaque étape. Après chaque tour, un petit modèle rapide (Haiku par défaut) évalue si la condition est remplie. Si non, un nouveau tour commence automatiquement.


2. Prérequis et installation

Codex Claude Code
Version minimale 0.128.0 v2.1.139
Installation/mise à jour npm install -g @openai/codex@latest ou brew upgrade --cask codex Mise à jour via gestionnaire habituel
Vérification codex --version
Condition supplémentaire Workspace avec trust dialog accepté ; hooks activés

3. Commandes disponibles

Codex

/goal <objectif>       # Définir un Goal
/goal                  # Voir le Goal actif
/goal pause            # Mettre en pause
/goal resume           # Reprendre
/goal clear            # Supprimer le Goal

Claude Code

/goal <condition>      # Définir un goal (remplace le précédent si existant)
/goal                  # Voir le statut, tours et tokens consommés
/goal clear            # Supprimer avant que la condition soit remplie
# Alias acceptés : stop, off, reset, none, cancel

Note Claude Code : La commande /clear (nouvelle conversation) supprime aussi le goal actif. Un goal peut être restauré avec --resume ou --continue.


4. Comment fonctionne l'évaluation

Codex

Le Goal est implémenté comme un état persistant de thread. Ce n'est pas une mémoire globale ni une instruction de projet : l'objectif appartient au thread où vit le contexte pertinent (fichiers inspectés, commandes exécutées, diffs produits, logs vus).

La continuation est pilotée par événements : Codex ne continue que lorsque le tour précédent est terminé, qu'aucune autre action n'est en attente, et que le thread est inactif. Si un tour de continuation ne fait aucun appel d'outil, la continuation automatique suivante est supprimée.

Claude Code

Le /goal est un raccourci autour d'un Stop hook de session. À chaque fin de tour, la condition + la conversation sont envoyées au modèle rapide configuré (Haiku par défaut), qui retourne :

  • "Non" → Claude continue avec la raison comme guide pour le tour suivant
  • "Oui" → Le goal est effacé, une entrée "achieved" est enregistrée dans le transcript

L'évaluateur ne lance pas de commandes et ne lit pas de fichiers directement : il juge uniquement ce que Claude a déjà produit dans la conversation.


5. Écrire un bon Goal

La structure recommandée (Codex)

Un bon Goal définit six éléments :

  1. Résultat (Outcome) : ce qui doit être vrai à la fin
  2. Surface de vérification : le test, benchmark, artefact, ou commande qui prouve le succès
  3. Contraintes : ce qui ne doit pas régresser
  4. Périmètre (Boundaries) : fichiers, outils, ressources autorisés
  5. Politique d'itération : comment Codex choisit la prochaine action
  6. Condition d'arrêt sur blocage : quand s'arrêter et quoi rapporter

Modèle de Goal efficace :

/goal <état final souhaité> vérifié par <preuve concrète>
tout en préservant <contraintes>.
Utiliser <ressources autorisées>.
Entre les itérations, <comment choisir la prochaine action>.
Si bloqué, <ce que Codex doit rapporter>.

Les critères recommandés (Claude Code)

Une condition robuste comporte :

  • Un état mesurable unique : résultat de test, code de sortie, nombre de fichiers, file vide
  • Une vérification explicite : ex. "npm test exits 0" ou "git status is clean"
  • Les contraintes importantes : ce qui ne doit pas changer en cours de route

La condition peut faire jusqu'à 4 000 caractères. Pour limiter la durée, inclure une clause de tours ou de temps : or stop after 20 turns.


6. Exemples pratiques

Faible vs Fort (Codex)

Faible ❌ Fort ✅
/goal Improve performance /goal Reduce p95 latency below 120 ms on the checkout benchmark while keeping the correctness test suite green
/goal Write docs for this feature /goal Produce a docs page for Goals that explains the lifecycle, command surface, and two examples. Verify that the page builds locally and that all referenced commands match the current CLI behavior.

Cas d'usage typiques (Claude Code)

# Migration de module
/goal all call sites in src/api compile and all tests in test/api pass

# Implémentation d'un design doc
/goal every acceptance criterion in docs/design.md is marked done

# Nettoyage de code
/goal all files in src/ are under 300 lines

# Traitement d'un backlog
/goal the labeled "sprint-42" issue queue is empty

7. Quand utiliser /goal vs autres approches

Codex : Goal vs Prompt

Prompt Goal
Fait une action → résultat → attend Travaille → vérifie → continue ou complète
Adapté à un changement ponctuel Adapté si le chemin dépend de ce qu'on apprend en route
Revue de code simple Optimisation de performance, debug, migration

Claude Code : comparaison des workflows autonomes

Approche Le tour suivant démarre quand S'arrête quand
/goal Le tour précédent se termine Un modèle confirme la condition
/loop Un intervalle de temps s'écoule Vous l'arrêtez, ou Claude décide
Stop hook Le tour précédent se termine Votre script/prompt décide
Auto mode seul Claude juge le travail terminé (un seul tour)

Complémentarité : Auto mode supprime les confirmations par outil ; /goal supprime les confirmations par tour. Les deux peuvent être combinés.


8. Quand ne pas utiliser /goal

Dans les deux outils, certains cas restent mieux servis par un prompt classique :

  • Modifications simples : un changement d'une ligne, une explication courte, une revue rapide
  • Questions à réponse unique : vous voulez une réponse et un arrêt immédiat
  • Objectif flou : "rends ça mieux" ne constitue pas une condition de fin vérifiable
  • Incertitude non déclarée : si les données peuvent manquer, si un benchmark peut être flaky, déclarez-le dans le Goal

9. Cas avancé : recherche et reproduction de papier (Codex)

Les Goals sont particulièrement puissants pour les tâches de recherche où le résultat doit distinguer différents niveaux de certitude.

Goal faible :

/goal Reproduce Buehler et al., "Deep Hedging"

Goal fort :

/goal Produce the strongest evidence-backed reproduction of Buehler et al.,
"Deep Hedging," using the available paper materials and local resources.
Attempt every headline result, verify the outputs, and end with a report
that separates reproduced mechanics, approximate trained results,
blocked exact replay, and remaining uncertainty.

Format de rapport recommandé par claim :

Claim: Deep hedging approximates complete-market Heston hedge without transaction costs.
Route: Rebuilt model mechanics, reference hedge comparison, trained neural policy.
Evidence surface: Price checks, histograms, hedge surfaces.
Status: Close approximate reproduction.
Remaining uncertainty: Original training paths, seeds, and checkpoints unavailable.

10. Usage non-interactif (Claude Code)

Claude Code permet d'utiliser /goal en mode headless via la CLI :

claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

Le processus tourne jusqu'à ce que la condition soit remplie. Ctrl+C pour interrompre.


11. Résumé comparatif

Dimension Codex (OpenAI) Claude Code (Anthropic)
Portée Thread-scoped Session-scoped
Évaluateur Le modèle principal Modèle rapide séparé (Haiku par défaut)
Lifecycle pause / resume / clear clear (+ aliases) ; restauration via --resume
Budget Explicite (paramètre) Clause de tours/temps dans la condition
Mode non-interactif Via l'app Codex claude -p "/goal ..."
Condition max Non précisée 4 000 caractères
Prérequis spéciaux Version ≥ 0.128.0 Trust dialog accepté, hooks activés
Complémentarité Fonctionne avec auto mode, /loop, stop hooks

Conclusion

Les deux implémentations partagent la même intuition : laisser l'objectif persister, mais laisser les preuves décider. La différence principale réside dans l'architecture d'évaluation (modèle principal vs évaluateur séparé) et dans la granularité du contrôle du lifecycle.

Pour des tâches complexes — debug, optimisation, migration, recherche — /goal transforme une séquence de prompts isolés en une boucle de travail orientée résultat. L'utilisateur fournit l'objectif, l'agent suit les preuves, et le Goal maintient les deux connectés jusqu'à ce que le travail soit terminé ou honnêtement bloqué.

Ce guide vient de Build With Nath

La communauté est gratuite. J’y publie ces guides au fil de l’eau et on y répond aux questions.

Autres guides · Guides

Vous dirigez une entreprise et vous voulez savoir lequel de vos process mérite ce genre de traitement ? Le diagnostic vous le dit en trois minutes, ou on en parle trente minutes.