
Atsushi Nakatsugawa
June 16, 2026
1 min read
The practical guide to agentic context engineeringの意訳です。
コンテキストエンジニアリングは、AIコードレビューエージェントがバグを見つけるか、そのままリリースしてしまうかを決めます。コンテキストエンジニアリングとは、モデルが回答する前に参照するコード、チケット、規約、過去の意思決定を選ぶことです。エージェント型ワークフローを運用するチームに例えて言えば、レビュー品質は、シニアエンジニアが気づくことをエージェントも見られるかどうかに左右されるということです。
エージェント型コンテキストエンジニアリングとは、単一のプロンプトではなく、自律的なエージェントのためにその情報を組み立てる実践です。レビューのワークフローでは、より良い指示を書くことから、適切な入力を組み立てることへ作業の中心が移ります。Philipp Schmidが述べたように、「エージェントの失敗はモデルだけの失敗ではなく、コンテキストの失敗でもあります」。そのため、AIレビュアーが競合状態を見落としたり、誤検知を出したりしたときは、モデルを責める前に、そのレビュアーが受け取ったコンテキストを確認してください。
差分(diff)だけを見てレビューするAIエージェントは、人間のレビュアーが持っている情報の一部しか見ていません。差分は何が変わったかを示します。しかし、なぜ変わったのか、そのコードが他に何へ触れるのか、どの制約が適用されるのか、チームの規約が何を求めているのかは示しません。縫合跡だけを見て手術を評価するようなものです。
SWE-PRBenchベンチマーク研究によれば、現在の最良モデルでさえ、人間のレビュアーが見つける問題の多くをまだ見落としています。
人間のようにレビューするには、エージェントに差分には含まれない4つの入力が必要です。

Common Appでは、.NET Core、Node.js、Angular、Pythonを横断して作業する20人の開発チームが、コードレビュー時間を35%削減し、以前のチェックでは見逃していた競合状態を発見しました。レビュアーがより広いコードベースを見られるようになると、一見きれいな変更の裏に隠れていた微妙なバグが見つかるようになります。
エージェントが重要な詳細を圧縮して失うと、エッジケースを見つけられなくなります。そして、その欠陥が本番環境に届くまで、あなたはそれに気づきません。
ACE論文(Agentic Context Engineeringの略)は、コンテキストが失われる1つの形を説明し、それを簡潔性バイアスと呼んでいます。これは、処理が指示を短く汎用的なものへと縮め続ける現象です。同論文では、こうした手法が「メソッドが期待どおりに動作することを保証するユニットテストを作成する」のような、ほぼ同じ指示を大量に生成し、ドメイン固有の詳細を落としてしまうことを示しています。LLMは短いプロンプトではなく、長く詳細なコンテキストで最もよく機能します。
コンテキスト崩壊は、エージェントの実行中に起きます。システムが各ターンでコンテキスト全体を書き換え、追記しない場合、書き換えるたびに前回より短く曖昧になり、以前のターンにあった詳細が消えていきます。
Microsoft ResearchとSalesforceの研究が示したように、コンテキストを多くのターンに分散させると精度が低下します。より大きなモデルを使っても解決しません。会話が積み上がるにつれて、モデルは話の本筋を見失います。
同じデータセットでは、エラー処理と例外処理の問題がAIによるPRで約2倍多いことも示されています。これは、薄いコンテキストが見落としやすいエッジケースそのものです。
ACEフレームワークは、コンテキストを上書きするのではなく追加し、新しい変更をすべて記録します。すべてを再要約しないことで、要約によって削ぎ落とされる詳細を保ちます。
CodeRabbitのLearningsも同じ原則で機能します。エンジニアがレビューコメントを修正すると、それはエージェントが将来のレビューへ持ち越す学習になります。
生成エージェントと検証エージェントには、それぞれの仕事に合わせて整理されたコンテキストが必要です。エージェント型コンテキストエンジニアリングとは、1つのコンテキストを両方に使い回すのではなく、それぞれを意図的に構築することです。両者を交換可能なものとして扱うと、チームは適切に検証されていない出力を信頼することになります。
Martin Fowlerのドキュメントは重要な点を指摘しています。エージェントは、コンテキストが多すぎると効果が下がります。生成用のコンテキストは、意図、仕様、制約に絞って軽く保つべきです。検証用のコンテキストには、元の意図、生成されたコード、周辺のコードベースが必要です。
コードベースのコンテキストが多すぎると、生成に悪影響を与えることがあります。エージェントが仕様の求めるものを作る代わりに、既存パターンをコピーしてしまうからです。一方で、検証コンテキストが少なすぎると、レビュアーはサービス横断の問題、重複ロジック、意図した設計からの逸脱を見落とします。1つのエージェントが両方の仕事を担うと、そのエージェントがコードを書くときに置いた前提がレビューにも持ち込まれるため、死角が検証されないまま残ります。AIによるPRは全体としても欠陥が多く、人間によるPRが6.45件であるのに対し、AIによるPRでは1件あたり10.83件の問題があります。別個の検証なしに高速に生成すると、その差は未検証の作業のバックログになります。
チームはすでに、AIの出力を確認するために追加の時間を使っています。別個のレビューエージェントを用意すれば、それを避けられます。そのエージェントは、出力を生み出した前提ではなく、元々の意図と完成したコードからレビューを始めるからです。
それは、どれだけ速くリリースできたかではなく、レビューをすり抜けたものからわかります。DORA(DevOps Research and Assessment)の2025年データは、AI導入が進むにつれて、チームがより多くのコードをリリースし、同時により頻繁に壊すようになっていることを示しています。
Faros AIは、コード行数のような活動指標は進捗の錯覚を生む一方で、流出バグ、インシデント、失敗した変更、手戻りといった品質シグナルこそが本当の状況を示すと主張しています。

freeeでは、ボトルネックはコーディング速度ではなく、レビュアーのキャパシティでした。同チームは過去6か月で32.8週分のレビュアー時間を節約しながら、数百のリポジトリにまたがるより多くのPRを扱いました。品質を落とさずにレビュアーの時間を解放できているかを測ってください。AI導入でアウトプットだけが増えているなら、単に速く進んでいるだけです。レビュアー時間が解放され、品質も維持されているなら、検証は機能しています。
4つの数値を追跡してください。流出欠陥、失敗した変更、レビュー遅延、見逃された指摘です。
活動チャートではなく、流出欠陥と偽陰性を見てください。コンテキストを追加したときにそれらが下がるなら、それが答えです。
エージェントがあなたのコードベースに対して行動した瞬間、何を見ることを許可され、何をできるのかは、セキュリティと監査の問題になります。従来のIAM(Identity and Access Management)は、予測可能なアクセス権を持つ人間のユーザーを前提にしています。AIエージェントはそのモデルを壊します。エージェントの役割はタスクの途中で変わることがあり、多くのシステムを機械の速度で横断し、標準的なログには何が起きたかは記録されても、なぜ起きたかは記録されません。
AIガバナンス研究は、コンテキストと権限が適切に管理されていない場合、エージェントがAPIキーや認証情報などのシークレットを漏えいさせる可能性があると警告しています。セキュリティ関連の指摘はAIによるPRで1.57倍多く見られます。そのため、エージェントが何へアクセスできるかを制御することは、レビューを正しく行うための一部です。
エージェントが見られるものと、それを使ってできることを制限してください。
エージェントが見るものを制御し、そのすべてをログに残してください。そうすれば、すべてのレビューは説明可能なコンテキストに基づいて実行されます。
自前のコンテキストレイヤーを構築するには、それを恒久的に担当する専任のプラットフォームチームが必要ですが、ほとんどの組織はその人員を確保できません。
コストはリリース時点では終わりません。コンテキストを取り込むシステムを動かし続け、コードベースグラフを最新に保ち、規約の変更に合わせてエージェントの指示を更新しなければなりません。これはコンテキストドリフトであり、継続的なコストです。チームがJestからVitestへ移行したのにAIへの指示を更新しなければ、エージェントはJestのテストを書き続けます。そして古くなった指示はすべてレビュー品質を下げます。
自作すればカスタマイズできますが、恒久的なエンジニアリングプロジェクトになります。購入すれば速く始められますが、他社のロードマップに依存します。多くのチームにとって、判断は1つの問いに集約されます。コンテキストレイヤーを自分たちが所有する問題にするのか、それとも任せる問題にするのか、です。
コードレビューにおいて、エージェント型コンテキストエンジニアリングには具体的なテストがあります。レビュアーはコメントする前に、コードベースグラフ、チームの規約、リンクされたチケット、過去のレビュー判断を見られるでしょうか。CodeRabbitのコンテキストエンジンは、週あたり200万件以上のPRを300万以上のリポジトリでレビューしながら、コードグラフ、蓄積されたLearnings、MCP(Model Context Protocol)接続を通じて、すべてのPRに対してそれを自動的に組み立てます。差分だけを見るレビュアーは、変更行を指摘できます。コンテキストを理解するレビュアーは、その変更がそこに属しているかを判断できます。
コードレビュー時間を削減し、より多くのバグを見つけましょう。 無料の14日間トライアルを始めてください。