8月21日、Eivind Kjosbakkenが「How to Effectively Align Your Intent with Claude Code」と題した記事を公開した。Claude Codeなどのコーディングエージェントと意図をズレなく合わせるための実践的なテクニックについて詳しく解説している。
「意図のズレ」がなぜ問題なのか
Claude CodeやOpenAI CodexといったAIコーディングエージェントの普及により、コードを書く速度は劇的に上がった。しかしその分、新たなボトルネックが生まれている。その一つが、エージェントと人間の「意図のズレ」だ。
ズレが生じると何が起きるか。エージェントは期待とは異なる実装をする。それをレビューし、フィードバックし、やり直させる——このループが何度も繰り返される。コーディング自体よりも、修正のやり取りに時間を奪われるという本末転倒な状況だ。
Kjosbakkenはこの問題を「意図のアライメント(alignment)」と呼び、日々10〜20回以上試行しながら最適な手法を探ってきたという。
最も効果的なテクニック:「私の理解は正しいですか?」
記事の核心は、「Is my understanding correct?(私の理解は正しいですか?)」と問いかける手法だ。
具体的には、実装の仕組みについて自分の理解をエージェントに提示し、それが正しいかどうかを確認させる。エージェントは「正しい」「部分的に正しい」「間違っている」のいずれかを答え、誤りがあれば修正してくれる。
Kjosbakkenが実際に使ったプロンプトの例がある。自身が開発中の自作Vercelアプリ(複数のコーディングエージェントの稼働状況を一覧できる、筆者が個人で構築しているダッシュボード)において、LLMシステムの動作を確認するために次のように入力した:
I wanna understand the LLM system in the application better. Is my
understanding correct? That the system works so that we have cron
job running every 10 minutes where we then run a codex agent going
through all my threads. It identifies which threads are currently
running and which ones are stopped, and then out of the ones that
are stopped, it discovers if anything is waiting for input from me
and discovers the tasks that is waiting for input on and presents
them to me in a multiple choice format. Is that understanding correct?
エージェントはこれに対し、システムはcronジョブではなくWebhookベースで動作していることを指摘しつつ、理解の正しい部分も明確に示した。これにより実装の詳細について完全に合意した状態で開発を進められた、とKjosbakkenは述べている。
この手法が優れている理由
この手法の本質は、「質問する側」と「質問される側」を逆転させる点にある。
通常、エージェントに実装させてから成果物を確認するアプローチでは、表面的な動作確認(バグが再現しないかクリックして確かめる等)はできても、エージェントが内部で何をどう実装したかの完全な把握は難しい。
一方、「自分の理解を提示してエージェントに検証させる」アプローチでは:
- エージェントが取り組んでいる問題の全体像を自分が把握できる
- エージェントが自分の理解の誤りを具体的に指摘してくれる
という2つの効果が得られる。さらにKjosbakkenは、このプロセス自体がコードへの理解を深める学習にもなると指摘している。理解できる範囲で説明を試み、エージェントに修正してもらうことで、徐々にコードの読み解き能力も向上するという。
補助的なテクニック2つ
プランモード(Plan Mode)
Claude Codeには「プランモード」がある。公式ドキュメントによれば、このモードはリポジトリを読み取り専用でスキャンして実装計画を立てる機能で、起動時に--planフラグを指定することで有効になる。実装前にエージェントが不明点を質問してくるため、認識のズレを事前に潰せる。
ただしKjosbakkenは、小規模なタスクではプランモードを使わないことも多いと述べている。プロンプトで十分な文脈を伝えられる場合は不要で、大きめのタスクで特に有効だという判断だ。
詳細なプロンプト
プロンプトにはできるだけ多くの文脈を含める。Slackのメッセージ、スクリーンショット、Notionのナレッジベースなど、実装に関係するあらゆる情報をエージェントに渡すことが推奨されている。プロンプトの長さを気にする必要はなく、情報は多いほど良い。
Kjosbakkenはさらに、プロンプト作成自体を別のコーディングエージェントに任せることもあると紹介している。タスクの詳細なプロンプトを専用エージェントに生成させることで、質問への回答があらかじめ盛り込まれた高品質なプロンプトを用意できる、という発想だ。
まとめ
エージェントが速く実装できるようになった今、ボトルネックは「いかに正確に意図を伝えるか」に移っている。Kjosbakkenが最も推すのは、自分の理解をエージェントに提示して検証させるというシンプルな手法だ。
この手法が興味深いのは、単なるデバッグ術にとどまらない点だ。「理解を言語化してエージェントに検証させる」というプロセスは、ドキュメントのない既存コードベースへのオンボーディングや、大規模リファクタリング前の現状把握など、意図のアライメントが特にクリティカルな場面で汎用的に使える。コーディングエージェントを日常的に使い始めた開発者が次のステップとして取り入れるべき習慣として参考になる。
詳細はHow to Effectively Align Your Intent with Claude Codeを参照していただきたい。