近年、ソフトウェア開発においてAIによるコード生成が急速に浸透しています。実際、2025年の調査によると、エンタープライズ向け開発プロジェクトの約70%が少なくとも一部のタスクでAIを活用していると報告されています。しかし、コード生成エージェントが「完了」と判断した瞬間に、実際には未コンパイルのファイルやテスト失敗が残っているケースが多発しており、数日後に発覚することも珍しくありません。この記事では、Anthropicが提案するClaude Codeの「/goals」機能が、どのようにタスク完了判定を分離し、失敗を未然に防ぐかを解説します。
Claude Code /goalsとは何か?
Claude Codeは、Anthropicが開発したコード生成エージェントです。その中核にある「/goals」機能は、タスク実行と完了判定を別々のモデルに委ねる仕組みです。従来のエージェントは、1つのモデルがコードを書き、同じモデルが「もう作業は終わったか?」と判断していました。これにより、モデルが自己評価を誤り、未完了のタスクを「完了」と誤認するリスクが高くなっていました。

「/goals」は、ユーザーが「goal」を設定すると、Claudeが実行を続けるたびに別の評価モデル(デフォルトはHaiku)が条件をチェックします。条件が満たされない限りエージェントは実行を継続し、満たされた瞬間に完了と記録します。この仕組みにより、モデルが自らの作業を客観的に評価できるようになり、失敗の検知率が飛躍的に向上します。
タスク実行と評価の分離で失敗を防ぐ
実際に「/goals」を導入した企業では、コードミスの検出率が平均で45%向上したと報告されています。具体的には、以下のようなパターンで失敗が減少しました。

- 未コンパイルのファイルが残っていたケース
- テストスイートの一部が失敗している状態で完了と見なされるケース
- Lintエラーが残っている状態でデプロイが進むケース
評価モデルは「テストが全てパスしたか」「ビルドが成功したか」「コードベースがクリーンか」といった明確なチェックリストを自動で実行します。これにより、エージェントは本当にタスクを完了しているかを客観的に判断でき、事後検証の手間が大幅に削減されます。
主要ベンダー比較:OpenAI・LangChain・Google ADK
同様の評価機能はOpenAI、LangChain、Google ADKでも提供されていますが、実装方法とユーザー体験に差があります。

OpenAI
OpenAIは「stop」トークンや「finish_reason」を利用してタスク終了を制御しますが、評価を外部に委ねる場合は開発者が独自にロジックを実装する必要があります。評価モデルを追加する柔軟性は高いものの、導入コストが増加します。
LangChain
LangChainは「critic」ノードを設けることで評価を行います。これにより、評価ロジックをノード単位で定義できますが、ノード設計とパイプライン構築に熟練が要求されます。可観測性は高いものの、設定が煩雑です。
Google ADK
Google ADKのLoopAgentは、評価を外部サービスに委ねる設計ですが、評価ロジックを自前で実装し、状態遷移を管理する必要があります。ドキュメントは充実していますが、実装一貫性を保つには経験が求められます。
Claude Code /goals
Claude Codeは評価ロジックをデフォルトで組み込み、ユーザーが「goal」を設定するだけで自動的に評価が行われます。評価モデルは軽量で高速なHaikuを採用しているため、追加コストはほぼゼロです。これにより、エージェントと評価者の分離をシンプルに実現できます。
導入メリット:観測性とセキュリティの向上
「/goals」による評価分離は、観測性とセキュリティの両面で大きなメリットをもたらします。
- 観測性の向上:評価ロジックが明示的に定義されるため、エージェントの実行ログが自動的に完了条件に対する証拠を残します。これにより、障害発生時の原因特定が容易になります。
- セキュリティの向上:評価モデルは外部から呼び出されることなく、ローカルで実行されます。これにより、コード生成プロセスが外部サービスに漏れにくくなります。
- オペレーションコストの削減:サードパーティの可観測性プラットフォームを追加で導入する必要がなく、運用負荷が軽減されます。
実際に導入した企業では、障害発生時の平均復旧時間が30%短縮され、セキュリティインシデントの発生率も10%減少したと報告されています。
5. 実装ポイント:ゴール設定と評価モデルの選択
Claude Codeを効果的に利用するためには、ゴール設定と評価モデルの選択が鍵となります。以下に実装時のポイントをまとめました。
ゴール設定のベストプラクティス
- 測定可能な終了状態を設定する:例)「npm test が 0 を返す」「git status が clean である」
- チェック項目を明示的に記述する:例)「テストがすべてパスしたか」「ビルドエラーがないか」
- 制約条件を追加する:例)「他のファイルに変更が加わっていないか」
- ゴールは短く具体的に:長期的なゴールよりも、短期的なチェックポイントを複数設ける方が安全です。
評価モデルの選択
デフォルトのHaikuは軽量かつ高速で、多くのケースに対応します。ただし、以下のような特殊な要件がある場合は、カスタム評価モデルを組み込むことも可能です。
- 高度なコード解析が必要なケース(例:静的解析ツールの統合)
- 多言語プロジェクトで言語固有のチェックが必要なケース
- 組織内で独自の評価基準がある場合
評価モデルの選択は、エージェントのパフォーマンスとリソース使用量に直結します。まずはデフォルトのHaikuで試験的に導入し、必要に応じてカスタマイズしていくのが推奨されます。
Claude Codeの「/goals」機能は、AIコード生成の信頼性を大幅に向上させる新たな手法です。タスク実行と評価を分離することで、エージェントが自らの作業を客観的に判断できるようになり、失敗の早期検知と迅速な復旧が可能になります。今後ますます拡大するAI開発環境で、確実に品質を担保するためにぜひ導入を検討してみてください。

