/goal は、OpenAI Codex CLI(4月30日)と Anthropic Claude Code(5月12日)が11日間の間隔で提供開始した新しいコマンドです。
シンプルなコンセプトです。完了条件を指定すれば、その条件が満たされるまで自動的に実行し続けます。
Before /goal、AI コーディングエージェントはターンごとに停止し、あなたが Enter キーを押すのを待っていました。プロンプトで「X まで続けてほしい」と指示しても、やはり一時停止してしまいます。/goal はこの問題の解決策です。
2つの実装の違い
Codex はタスクをローカルに保存します。ラップトップを閉じて、再起動しても、タスクは保持され、/goal resume で再開できます。操作は create、pause、resume、clear があります。アプリサーバーで永続化されたワークフローです。
Claude Code は別のアプローチを取っています。より低コストの小規模モデル(デフォルトは Haiku)がスーパーバイザーとして機能します。各ターンの後、スーパーバイザーはトランスクリプトを読み、1つの質問に答えます。「目標は達成されたか?」 もし達成されていなければ、実行を続けます。達成されたら、停止して結果を返します。トークンの観点では、スーパーバイザーは別途課金され、メインモデルの予算を消費しません。
同じ問題への2つのアプローチです。エージェント自身が完了したかどうかを判断させるということです。
Before / After の3つのシナリオ
1. データスクレイピングの実行
Before: 3つのブランドから製品をスクレイピングするよう指示します。ブランド1が完了して停止し、「続けてもいい?」と聞かれます。続行を押します。ブランド2が完了してまた停止します。ブランド3は92%の成功で終わり、失敗分を手動で再試行する必要があります。1晩中 Enter キーを押して過ごしました。
After: 「3つのブランドすべてをスクレイピングしてほしい。失敗は3回まで自動再試行してほしい。95%未満は不合格」と指示します。ラップトップを閉じて、食事に出かけます。帰ってきたら:初回が92%、自動で1回再試行されて96%に達し、完了していました。
違いは「95%で完了とみなす」ことです。/goal はそれをあなたの判断ではなく、エージェントの判断に変えます。
2. Mac アプリのパッケージ化
Before: ビルドが失敗し、Google で検索し、2014年の Stack Overflow スレッドを見つけて試し、新しいエラーが出て、また Google で検索して、また試す。20回以上のやり取り。午前2時になってもまだキーボードの前にいます。
After: 「ビルドスクリプトが出荷可能なパッケージを生成するようにしてほしい。失敗した場合は、エラーを読み取り、自分で修正策を探し、出荷されるまで再試行してほしい」と指示します。ラップトップを閉じて、寝ます。朝になったら:4回のやり取りで、それぞれが異なる問題を診断し、修正しました。パッケージはビルドされていました。
/goal は「エラーを読む → 検索する → パッチを適用する → 再実行する」という人間のループを自動化します。
3. 出張中にサーバーがダウン
Before: 出張中にサーバーがダウンします。携帯では接続できず、修正をプッシュできず、監視ページを10分ごとにリフレッシュして、自動修復されることを願っています。
After: ラップトップを開いて「サーバーにリモートログインし、クラッシュした理由を突き止め、修正し、エンドポイントが復旧したことを確認してほしい」と指示します。出張を続けます。家に帰ったら、すでに完了していました。
ログインし、ログを読み、原因ファイルを特定し、削除し、再起動し、検証しました。メモを残しました。「このような種類のファイルが再度紛れ込まないようにしてほしい」
これは以前は人間だけが行える作業でした。
なぜこれが重要なのか
エンジニアリング的には、/goal は簡単です。Codex はステートマシンとストレージです。Claude Code はセカンダリ LLM の呼び出しです。
しかし、過去2年間、AI コーディングエージェントが解決できなかった問題を解決します。
メインモデル自身が完了したかどうかを判断できない。
メインモデルはコード作成にズームインしています。「完了」にはズームアウトが必要です。Anthropic の決定(Haiku にズームアウトさせる)は、労働の美しい分割です。
同じ週に、Anthropic は /loop、/batch、/background も提供開始しました。/loop は N 回実行します。/batch はタスクを並列化します。/background はバックグラウンドで実行します。この3つはすべて「いつ停止するか」をあなたに任せています。/goal だけがそれをエージェントに任せます。
停止ビットの譲渡が本当のパラダイムシフトです。
開発者が考えるべきこと
/goal は、プロセスのマイクロマネジメントから、目標の定義へと努力をシフトさせます。
目標に組み込むべき4つのこと:
- 停止条件 — 何が「完了」とカウントされるか
- 検証 — 完了したことをどう証明するか
- 変更してはいけない境界 — 何を変更しないか
- 成功指標 — 定量化する(例:成功率≥95%)
曖昧なプロンプトはターンを1回無駄にします。曖昧な目標は6時間無駄にすることがあります。
ですが、明確な目標は、あなたの入力なしに8時間エージェントを実行させることができます。