AIエージェント工学の8つのレベル
本文の状態
日本語全文を表示中
詳細モードで約24分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
宝玉的分享
AIのプログラミング能力が人間の制御能力を超えつつある中、そのギャップを埋めるために8段階の進化プロセスが提案されている。タブ補完から自律的なAIエージェントチームまでの道筋を示している。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るSource Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
AI のプログラミング能力は、私たちがそれを操る能力を超えつつあります。そのため、SWE-bench のスコアを上げようと必死に努力する多くの試みが、エンジニアリングのリーダー層が本当に気にしている生産性の指標と同期していないのです。Anthropic チームは 10 日で Cowork をリリースしましたが、同じモデルを使いながら POC(概念検証)さえ完成できないチームもあります——その違いは、あるチームが能力と実践の間のギャップを埋めた一方で、もう一方はまだ埋められていない点にあります。
このギャップは一晩で消えるものではなく、段階的に縮小されていきます。合計 8 つのレベルがあります。この記事を読んでいる多くの人々はすでに最初の数レベルを超えているかもしれませんが、あなたは次のレベルに達することを楽しみにしているはずです——なぜなら、1 レベル上がるごとに生産性は劇的に向上し、モデル能力の向上がその恩恵をさらに増幅させるからです。
あなたが気にすべきもう一つの理由は、複数人での協働効果です。あなたの生産性は想像以上にチームメイトのレベルに依存しています。あなたが 7 レベルの達人であっても、寝ている間にバックグラウンドで AI エージェントが複数の PR を作成してくれたとしても、コードリポジトリのマージには同僚の承認が必要で、その同僚がまだ 2 レベルで手動で PR をレビューしている場合、あなたのスループットはそこで止まってしまいます。つまり、チームメイトをレベルアップさせることは、自分自身のためにもなるのです。
多くのチームや個人と AI 支援プログラミングの実践について話し合った結果、私が観察したレベルの進化パス(順序は絶対的に厳密ではありません)は以下の通りです:

第 1 レベルと第 2 レベル:Tab 補完と AI エージェント IDE
この 2 つのレベルは、記録として残すために素早く通り過ぎます。自由に読み飛ばしてください。
Tab 補完はすべての始まりです。GitHub Copilot がこの運動の幕開けを告げました——Tab キーを押すだけでコードが自動補完されます。多くの人はすでにこの段階を忘れてしまっているかもしれませんが、新規参入者は最初からこれをスキップしている可能性さえあります。これは経験豊富な開発者にとって特に適しており、彼らはまずコードの骨格を組み立ててから、AI に詳細を埋め込ませます。
Cursor を代表とする AI 専用 IDE が状況を大きく変えました。これらはチャットとコードベースを接続し、ファイル横断での編集をはるかに容易にします。しかし、天井(限界)は常にコンテキストにあります。モデルが処理できるのは、それが見ている内容だけです。そして最もイライラするのは、正しいコンテキストを見ていないか、あるいは無関係なコンテキストを大量に見てしまっている点です。
このレベルにいる多くの人々は、選択したプログラミングエージェントのプランニングモードも試しています:大まかなアイデアを構造化された段階的な計画に変換し、LLM に提示してその計画を反復的に洗練させ、その後実行トリガーを発動します。この段階では効果は良好で、コントロールを保つ合理的な方法です。しかし、後のレベルでは、プランニングモードへの依存が徐々に減っていくことがわかります。
ここからが面白い部分です。コンテキストエンジニアリング(Context Engineering)は 2025 年の年間流行語となりました。これは、モデルがついに適切な量の指示を信頼して従うようになり、ちょうどよいコンテキストと組み合わせられるようになったからこそ概念として成立したのです。ノイズの多いコンテキストも、不十分なコンテキストと同じくらい悪いため、核心となる作業は各トークンの情報密度を高めることにあります。「各トークンは、プロンプト内での自分の位置のために戦わなければならない」——これが当時の信条でした。

同じ情報でも、より少ないトークンで——情報密度こそが王道です(出典:humanlayer/12-factor-agents)
実際には、コンテキストエンジニアリングがカバーする範囲は、多くの人々が認識しているよりも広範です。これにはシステムプロンプトやルールファイル(.cursorrules など)が含まれます。
現在ではもうあまり「コンテキストエンジニアリング」という言葉は聞かなくなりました。天秤は、よりノイズの多いコンテキストに耐え、より混乱したシナリオでも推論できるモデルへと傾いています(より大きなコンテキストウィンドウも役立ちます)。しかし、コンテキストの消費量がいまだに重要であることに注意してください。以下のシナリオでは依然としてボトルネックとなる可能性があります:
小規模モデルは文脈に対してより敏感です。音声アプリケーションでは通常、より小さなモデルが使用され、文脈のサイズは最初のトークン遅延とも関連しており、応答速度に影響を与えます。
トークンを大量に消費する要因です。Playwright などの MCP(Model Context Protocol:モデル・コンテキスト・プロトコル)や画像入力を使用すると、トークンが急速に消費され、Claude Code 内で予想よりも早く「セッション圧縮」状態に陥ってしまいます。
数十のツールを接続したエージェントでは、モデルが実際の作業を行う時間よりも、ツール定義を解析する時間に多くのトークンを費やすことになります。
よりマクロな視点での要点は、文脈エンジニアリングが消えたわけではなく、進化しているということです。重心は「悪い文脈をフィルタリングすること」から「正しい文脈を適切なタイミングで提供すること」へと移っています。この転換こそが、第 4 レベルへの道を開くものです。
文脈エンジニアリングは現在のセッションの改善に寄与しますが、複合エンジニアリング(Compounding Engineering:キエラン・クラッセンによって提唱された概念)は、その後のすべてのセッションを改善するものです。この理念は私や多くの人にとって転換点となりました——「勘でプログラミングすること」が単なるプロトタイピング以上の意味を持つことを認識させたのです。
これは「計画、委任、評価、蓄積」という循環です。タスクを計画し、LLM が成功するために十分な文脈を提供します。タスクを委任します。成果物を評価します。そして最も重要なステップ——学んだことを蓄積すること:何が有効で、何が問題を起こしたか、次はどのようなパターンに従うべきかを記録します。

複合循環:計画、委任、評価、蓄積——各ラウンドが次のラウンドをより良くする
魔力は「蓄積」のステップにあります。LLM は状態を持たない(無状態)です。もし昨日、あなたが明確に削除した依存関係を再導入してしまった場合、明日も同じことを繰り返すでしょう——除非你告诉它不要。
複合エンジニアリングを実践している人々は、LLM に提供される文脈に対して非常に敏感です。LLM がエラーを起こした際、彼らの直感的な反応は「モデルが悪い」ではなく、「文脈に何か不足していないか」を考えることです。まさにこの直感が、第 5 レベルから第 8 レベルへの実現を可能にしています。
第 3 レベルと第 4 レベルは文脈の問題を解決しますが、第 5 レベルは能力の問題を解決します。MCP とカスタムスキルにより、LLM はデータベース、API、CI パイプライン、デザインシステム、ブラウザテスト用の Playwright、通知用の Slack などにアクセスできるようになります。モデルはもはや単にコードベースについて考えるだけでなく、直接操作を行うことができるようになります。
MCP やスキルに関する優れた資料は既に多く存在するため、それらが何であるかについては詳細を繰り返しません。しかし、私がこれらを使用している例をいくつか挙げます。私たちのチームでは、PR 審査用のスキルを共有し、全員で継続的に改善しています(現在も進行中)。このスキルは PR の性質に応じて条件付きでサブエージェントを開始します。1 つはデータベースとの統合セキュリティをチェックする役割を持ち、もう 1 つは複雑度分析を行い、冗長性や過剰設計をマークする役割を持ち、さらに別の 1 つはプロンプトの健全性をチェックして、チームの標準フォーマットに従っているかを確認する役割を持ちます。また、linter と Ruff も実行します。
なぜ PR 審査スキルにこれほど多くのリソースを投入するのか?それは、エージェントがバッチ処理で PR を生成し始めると、人手によるレビューが品質のゲートではなくボトルネックとなるからです。Latent Space は説得力のある論点を提示しました——私たちがよく知るコードレビューはすでに死んだのだと。その代わりとなるのは、自動化され、一貫性があり、スキル駆動型のレビューです。
MCP に関しては、Braintrust MCP を使用して LLM が評価ログをクエリし、直接修正を行えるようにしています。また、DeepWiki MCP を使用することで、エージェントがドキュメントを手動で文脈に読み込むことなく、あらゆるオープンソースリポジトリのドキュメントにアクセスできるようにしています。
チーム内で複数のメンバーがそれぞれ同じ種類のスキルを個別に作成し始めたら、それを統合して共有レジストリとして整備する時期です。Block(致以慰问)には素晴らしい記事があります:彼らは内部のスキルマーケットを構築し、100 以上のスキルを保有するとともに、特定の役割やチーム向けにスキルパッケージを企画しています。スキルとコードは同等の扱いを受け、プルリクエスト、レビュー、バージョン履歴が適用されます。
もう一つ注目すべきトレンドとして、LLM が MCP(Model Context Protocol)ではなく CLI ツールをより多く利用するようになっています(しかもほぼすべての企業が独自のものをリリースしており、Google Workspace CLI や Braintrust も近日中に登場します)。その理由はトークン効率です。MCP サーバーは各ラウンドでツール定義全体をコンテキストに注入しますが、智能体(エージェント)がそれらを使用しているかどうかに関わらずです。一方、CLI では逆に、智能体が特定の命令を実行し、関連する出力のみがコンテキストウィンドウに入ります。私は agent-browser を多用しています。
続ける前に一息つきましょう。第 3 級から第 5 級は、その後のすべての基盤となります。LLM はある分野では驚くほど得意で、別の分野では驚くほど不得意です。これらの境界に対する直感を養ってから、その上にさらに自動化を積み上げる必要があります。もしコンテキストがノイズに満ちていたり、プロンプトが不十分または不正確だったり、ツールの説明が曖昧であったりすれば、第 6 級から第 8 級ではそれらの問題が単に増幅されるだけです。
第 6 級:Harness Engineering(ハルネスエンジニアリング)
コンテキストエンジニアリングはモデルが何を見るかに焦点を当てますが、Harness Engineering は智能体が人間の介入なしで確実に動作できるようにするための環境全体——ツール、インフラストラクチャ、フィードバックループ——の構築に焦点を当てます。智能体にはエディタだけでなく、完全なフィードバックループを提供します。

OpenAI の Codex ツールチェーン——智能体が自身の出力を照会、関連付け、推論できるようにする完全な観測性システム(出典:OpenAI)
OpenAI の Codex チームは、Chrome DevTools、観測性ツール、ブラウザナビゲーションを智能体ランタイムに統合し、スクリーンショットの取得、UI フローの駆動、ログの照会、自身の修正結果の検証を可能にしました。プロンプトを与えるだけで、智能体はバグを再現し、動画を記録し、修復を実行します。その後、アプリケーションを操作して検証し、PR を提出し、レビューフィードバックに応答し、マージを行います——判断が必要な場合のみ人間にエスカレートします。智能体は単にコードを書くだけでなく、コードがどのような効果を生むかを確認し、人間のように反復して改善していきます。
私のチームが行っているのは技術トラブルシューティングのための音声およびチャット智能体の開発ですが、私は converse というものを作成しました。
これらを支える核となる概念はバックプレッシャー(Backpressure)メカニズムです——これは自動的なフィードバック機構(型システム、テスト、リンター、pre-commit フックなど)であり、人間の介入なしに智能体がエラーを発見し修正できるようにします。自律性を求めるなら必ずバックプレッシャーが必要で、そうでなければ得られるのはゴミ生産機に過ぎません。この考え方はセキュリティ領域にも拡張されます。Vercel の CTO は、智能体、それらが生成するコード、そしてあなたの鍵は異なる信頼ドメインにあるべきだと指摘しています。なぜなら、ログファイルに埋め込まれたプロンプト注入攻撃が、すべてのものが同じセキュリティコンテキストを共有している場合、智能体に認証情報を盗ませる可能性があるからです。セキュリティ境界こそがバックプレッシャーであり、それは智能体が制御不能になった際に「何をしてはいけないか」を制約するものであり、「何をすべきか」だけを定めるものではありません。
完璧さよりもスループットのために設計します。すべての提出で完璧さを要求すると、智能体は同じバグに執着し、互いの修正を上書きし合います。より良いアプローチは、小さな非ブロッキングなエラーを許容し、リリース前に最終的な品質チェックを行うことです。人間の同僚に対しても私たちはそうしています。
制約は指示よりも優先されます。段階的なプロンプト(「まず A を行い、次に B を行い、その後 C を行う」)は時代遅れになりつつあります。私の経験では、リストを列挙するよりも境界を定義する方が効果的です。なぜなら、エージェントはリストに執着し、その外にあるものを無視してしまうからです。より良いプロンプトとは、「これが私が望む結果です。これらのすべてのテストに合格するまで実行し続けてください」というものです。
エンジニアリングの另一半は、エージェントがあなたなしでコードリポジトリ内で自由にナビゲートできるようにすることです。OpenAI のアプローチは、AGENTS.md ファイルを作成することです。
これらすべてを構築した後に自然と浮かぶ疑問があります:もしエージェントが自分の作業を検証でき、リポジトリ内を自在に移動でき、あなたなしでエラーを修正できるなら、なぜあなたはまだ椅子に座っている必要があるのでしょうか?
念のため言っておきますが、まだ最初の数段階にいる方々には、以下の内容がSF(科学小説)のように聞こえるかもしれません(大丈夫です。ブックマークして、後で見直してください)。
Claude Code の生みの親である Boris Cherny 氏は現在もタスクの 80% を計画モードから開始しています。しかし、新しいモデルが世代ごとにリリースされるにつれて、計画を経た後の一発成功率は着実に上昇しています。私は、計画モードが独立した人間の介入ステップとして徐々に消えていく臨界点に近づいていると考えています。それは計画自体が重要ではないからではなく、モデル自身が十分に賢くなって計画を立てられるようになったからです。ただし、重要な前提条件があります:第 3 段階から第 6 段階までの作業が整っている場合のみです。コンテキストがクリーンで、制約が明確であり、ツール記述が完備しており、フィードバックループが閉じられている場合、モデルはあなたのレビューなしでも確実に計画を立てることができます。これらの準備が不十分な場合は、依然として計画を監視し続ける必要があります。
はっきりさせておくと、計画という一般的な実践が消滅するわけではありませんが、その形態は変化します。初心者にとっては、計画モードは依然として正しい入り口です(第 1 段階および第 2 段階で述べた通り)。しかし、第 7 段階の複雑な機能においては、「計画」とは分步されたアウトラインを書くことではなく、むしろ探索のように見えます:コードベースを調査し、worktree でプロトタイプ実験を行い、解決策の空間を探る。そして、ますます多くの場合、これらの探索をバックグラウンドエージェントが代行しています。
これは重要です。なぜなら、これこそがバックグラウンドエージェントの可能性を開く鍵だからです。もしエージェントがあなたの承認なしで信頼できる計画を生成して実行できるのであれば、あなたが他のことをしている間に非同期で動作させることができます。これは重要な転換点です——「複数のタブを同時に切り替えている」状態から、「あなたなしで作業が進んでいる」状態へと移行します。
Ralph ループは人気のある入門方法です:自主的なエージェントが、PRD(製品要件定義書)のすべての項目が完了するまでプログラミング CLI を繰り返し実行し、各反復ごとに完全に新しいコンテキストを持つ新しいインスタンスを起動します。私の経験では、Ralph ループをうまく回すのは容易ではなく、PRD 内の不十分または不正確な記述は最終的に裏目に出ます。これは少し「放り出して見守らない」スタイルが強すぎます。
複数の Ralph ループを並列実行することもできますが、エージェントを起動すればするほど、あなたが時間を費やしている場所が見えてきます:それらの調整、作業順序の割り当て、出力の確認、進捗の推進です。あなたはもうコードを書いていません——あなたは中間管理職になっています。スケジューリングを処理し、あなた自身が意図に集中できるようにするには、オーケストレーションエージェントが必要です。

Dispatch は 3 つのモデルを跨いで 5 つのワーカーを並列起動します——あなたのセッションは簡潔に保たれ、エージェントが作業を行います。
私が最近頻繁に使用しているツールは Dispatch です。これは私が作成した Claude Code のスキルで、あなたのセッションを指揮センターに変換します。あなたはクリーンなセッションに残り、ワーカーは隔離されたコンテキスト内で重労働を完了します。スケジューラーが計画、委任、追跡を担当し、メインのコンテキストウィンドウはオーケストレーションのために確保されます。ワーカーが行き詰まった場合、黙って失敗するのではなく、明確化のための質問を投げかけます。
Dispatch はローカル環境で動作するため、開発との密接な連携を重視する迅速な開発シナリオに最適です。フィードバックが速く、デバッグが容易で、インフラストラクチャのコストもかかりません。一方、Ramp の Inspect は補完的なソリューションであり、より長時間実行され、自律性の高いワークに適しています。各エージェントセッションは、完全な開発環境を備えたクラウド上のサンドボックス VM で起動されます。ある PM が UI のバグを発見し Slack でタグ付けすると、Inspect はあなたがラップトップを閉じた瞬間に引き継いで処理を開始します。その代償として、インフラストラクチャ、スナップショット、セキュリティにおける運用の複雑さがかかりますが、ローカルエージェントでは到底及ばない規模と再現性が得られます。私は両方(ローカルとクラウドバックグラウンドエージェント)を併用することを推奨します。
このレベルには、意外にも強力なパターンがあります:異なるモデルに異なる役割を割り当てることです。最高のエンジニアリングチームはクローン人間で構成されているわけではありません。メンバーはそれぞれ異なる思考様式、異なる訓練背景、異なる強みを持っています。同じ論理が LLM にも当てはまります。これらのモデルは異なる後学習を経ており、明確な性格の違いがあります。私は Opus を実装作業に、Gemini を探索的研究に、Codex をレビュー担当に割り当てるのが常です。その総合的な成果は、どの単一モデルが独立して働くよりも強力になります。これはコードにおける集合知と理解することもできます。
極めて重要なのは、実行者と審査者を分離することです。この教訓を私は何度も痛感しました:同じモデルインスタンスが実装と自己評価の両方を行う場合、バイアスが生じます。問題は無視され、すべてのタスクが完了したと報告されます——実際にはそうではありません。これは悪意によるものではなく、あなたが自分の試験に採点しないのと同じ理由です。別のモデル(またはレビュー専用プロンプトを持つ異なるインスタンス)に審査を任せてください。信号の質は劇的に向上します。
バックグラウンドエージェントは、CI と AI の融合への扉も開きます。一度エージェントが無人で実行可能になれば、既存のインフラストラクチャからトリガーできるようになります。ドキュメントロボットはマージのたびにドキュメントを再生成し、CLAUDE.md を更新するための PR を提出します。
まだ誰もこのレベルを完全に掌握していませんが、少数の人々がその方向へ進んでいます。これが現在のフロンティアです。
第 7 レベルでは、LLM をオーケストレーションして、中心輻射型(スター型)のモードで作業用 LLM にタスクを配信します。第 8 レベルはこのボトルネックを除去します。エージェント同士が直接調整し——タスクを引き受け、発見を共有し、依存関係をマーキングし、競合を解決する——すべてが単一のオーケストレーターを経由することなく行われます。
Claude Code の実験的機能「Agent Teams」は初期の実装例です:複数のインスタンスが共有コードベース上で並列して動作し、チームメンバーは各自のコンテキストウィンドウ内で実行され、直接相互通信します。Anthropic は 16 の並列エージェントを用いてゼロから Linux をコンパイル可能な C コンパイラを構築しました。Cursor は数百の並行エージェントを数週間稼働させ、ゼロからブラウザを構築し、自社のコードベースを Solid から React へ移行しました。
しかしよく見ると問題が見えてきます。Cursor が階層構造がないことに気づいたとき、エージェントは臆病になり、原地で回転して進展がありませんでした。Anthropic のエージェントは既存機能を次々と破壊し、回帰を防ぐ CI パイプラインを追加したことで改善されました。このレベルで実験しているすべての人が同じことを言います:マルチエージェントの調整は非常に難しい問題であり、まだ最適な解は見つかっていません。
率直に言って、モデルはまだ大多数のタスクにおけるこのような自律性の程度には準備ができていないと思います。たとえ知能があっても、コンパイラやブラウザの構築といった「月面着陸」級のプロジェクト以外では、依然として遅く、トークン消費も多すぎて経済的に成立しません(印象的ですが、成熟したとは到底言えません)。私たちの多くにとって日常的な作業においては、第 7 レベルこそが真のレバレッジポイントです。第 8 レベルが最終的に主流になることを意外に思いませんが、今は第 7 レベルに注力します(Cursor のような例外を除く——突破そのものが彼らのビジネスモデルですから)。
避けられない「次は何か」という問い。
一旦你能熟练地编排智能体团队而没有太多摩擦,交互界面就没理由只停留在文本上了。语音对语音(也许是思维对思维?)与编程智能体的交互——对话式的 Claude Code,而不仅仅是语音转文字输入——是自然的下一步。看着你的应用,大声描述一连串改动,然后看着它们在你面前发生。
有一群人在追逐完美的一次性生成:说出你想要什么,AI 一步到位地完美呈现。问题在于这个前提假设我们人类确切地知道自己想要什么。但我们不知道。从来都不知道。软件开发一直是迭代式的,我认为它永远会是。只不过它会变得容易得多,远远超越纯文本交互,而且快得多。
所以:你在哪个等级?你在做什么来达到下一个?
原文を表示
AI 的编程能力正在超越我们驾驭它的能力。这就是为什么所有那些拼命刷 SWE-bench 分数的努力,并没有与工程领导层真正关心的生产力指标同步。Anthropic 团队用 10 天就上线了 Cowork,而另一个团队用着同样的模型却连一个 POC(概念验证)都搞不定——区别在于一个团队已经弥合了能力与实践之间的差距,而另一个还没有。
这个差距不会一夜之间消失,而是分等级逐步缩小。总共 8 个等级。读到这篇文章的大多数人可能已经过了前几个等级,而你应该迫不及待地想达到下一个——因为每升一级都意味着产出的巨大飞跃,而每次模型能力的提升都会进一步放大这些收益。
你应该在意的另一个原因是多人协作效应。你的产出比你想象的更依赖于队友的等级。假设你是 7 级高手,晚上睡觉时后台智能体就在帮你提好几个 PR。但如果你的代码仓库需要一位同事审批才能合并,而这位同事还停留在 2 级,仍在手动审查 PR,那你的吞吐量就被卡死了。所以帮队友升级,对你自己也有利。
通过和许多团队及个人交流他们使用 AI 辅助编程的实践,以下是我观察到的等级进阶路径(顺序并不绝对严格):

第 1 和第 2 级:Tab 补全与智能体 IDE
这两个等级我会快速带过,主要是为了记录完整。可以随意跳读。
Tab 补全是一切的起点。GitHub Copilot 拉开了这场运动的序幕——按一下 Tab 键,自动补全代码。很多人可能早就忘了这个阶段,新入行的人甚至可能直接跳过了。它更适合有经验的开发者,他们能先搭好代码骨架,然后让 AI 来填充细节。
以 Cursor 为代表的 AI 专用 IDE 改变了格局,它们将聊天与代码库连接起来,让跨文件编辑变得轻松得多。但天花板始终是上下文。模型只能帮你处理它能看到的内容,而令人抓狂的是,它要么没看到正确的上下文,要么看到了太多无关的上下文。
处于这个等级的大多数人也在尝试所选编程智能体的计划模式:把一个粗略的想法转化为结构化的分步计划给 LLM,反复迭代这个计划,然后触发执行。在这个阶段效果不错,也是保持掌控的合理方式。不过后面的等级我们会看到,对计划模式的依赖会越来越少。
现在进入有意思的部分了。上下文工程(Context Engineering) 是 2025 年的年度热词,它之所以成为一个概念,是因为模型终于可以可靠地遵循合理数量的指令,配合恰到好处的上下文。嘈杂的上下文和不充分的上下文一样糟糕,所以核心工作在于提高每个 token 的信息密度。“每个 token 都要为自己在提示词中的位置而战”——这就是当时的信条。

同样的信息,更少的 token——信息密度才是王道(来源:humanlayer/12-factor-agents)
在实践中,上下文工程涉及的面比大多数人意识到的要广。它包括你的系统提示词和规则文件(.cursorrules
如今你已经不太听到上下文工程这个说法了。天平已经倾向于那些能容忍更嘈杂的上下文、在更混乱的场景中依然能推理的模型(更大的上下文窗口也有帮助)。但注意上下文的消耗仍然很重要。以下几个场景中它依然会成为瓶颈:
小模型对上下文更敏感。 语音应用通常使用较小的模型,而且上下文大小也与首 token 延迟相关,影响响应速度。
Token 消耗大户。 像 Playwright 这样的 MCP(Model Context Protocol,模型上下文协议)和图片输入会快速吞噬 token,让你在 Claude Code 中比预期更早进入“压缩会话”状态。
接入了几十个工具的智能体, 模型花在解析工具定义上的 token 比做实际工作的还多。
更宏观的要点是:上下文工程并没有消失,只是在进化。 重心已经从过滤坏上下文转向确保正确的上下文在正确的时间出现。而正是这个转变为第 4 级铺平了道路。
上下文工程改善的是当前这一次会话。复合工程(Compounding Engineering,由 Kieran Klaassen 提出)改善的是此后的每一次会话。这个理念对我和许多人来说都是一个转折点——它让我们意识到“凭感觉编程”远不只是做原型那么简单。
这是一个“计划、委派、评估、沉淀” 的循环。你规划任务,给 LLM 提供足够的上下文让它成功。你把任务委派出去。你评估产出。然后关键的一步——你把学到的东西沉淀下来:什么有效、什么出了问题、下次应该遵循什么模式。

复合循环:计划、委派、评估、沉淀——每一轮都让下一轮更好
魔力就在“沉淀”这一步。LLM 是无状态的。如果它昨天重新引入了一个你明确移除的依赖,明天它还会这么做——除非你告诉它不要。最常见的解决方法是更新你的 CLAUDE.md
实践复合工程的人通常对喂给 LLM 的上下文高度敏感。当 LLM 犯错时,他们的本能反应是先想上下文是不是缺了什么,而不是怪模型不行。正是这种直觉,使得第 5 到第 8 级成为可能。
第 3 和第 4 级解决的是上下文问题。第 5 级解决的是能力问题。MCP 和自定义技能让你的 LLM 能访问数据库、API、CI 流水线、设计系统,还有用于浏览器测试的 Playwright、用于通知的 Slack。模型不再只是在思考你的代码库——它现在可以直接操作了。
关于 MCP 和技能的优质资料已经不少,我就不赘述它们是什么了。但举几个我使用它们的例子:我们团队共享一个 PR 审查技能,大家一起迭代改进(现在仍在改),它会根据 PR 的性质有条件地启动子智能体。一个负责检查与数据库的集成安全性,一个做复杂度分析来标记冗余或过度工程,另一个检查提示词健康度以确保提示词遵循团队标准格式。它还运行 linter 和 Ruff。
为什么在审查技能上投入这么多?因为当智能体开始批量产出 PR 时,人工审查就成了瓶颈而非质量关卡。Latent Space 提出了一个令人信服的论点:我们熟知的代码审查已经死了。取而代之的是自动化的、一致的、技能驱动的审查。
在 MCP 方面,我使用 Braintrust MCP 让 LLM 能查询评估日志并直接做出修改。我使用 DeepWiki MCP 让智能体可以访问任何开源仓库的文档,而无需手动把文档拉入上下文。
当团队中多个人开始各写各的同类技能时,就值得整合成一个共享 registry 了。Block(致以慰问)有一篇很好的文章:他们构建了一个内部技能市场,拥有超过 100 个技能,并为特定角色和团队策划了技能套餐。技能和代码享受同等待遇:pull request、审查、版本历史。
还有一个值得关注的趋势:LLM 越来越多地使用 CLI 工具而非 MCP(而且好像每家公司都在发布自己的:Google Workspace CLI,Braintrust 也即将推出一个)。原因是 token 效率。MCP 服务器在每一轮都会把完整的工具定义注入上下文,不管智能体是否使用它们。CLI 则反过来:智能体运行一个针对性的命令,只有相关的输出才进入上下文窗口。我大量使用 agent-browser
在继续之前暂停一下。 第 3 到第 5 级是后续一切的基石。LLM 在某些事情上出奇地好,在另一些事情上又出奇地差,你需要培养出对这些边界的直觉,然后才能在上面叠加更多自动化。如果你的上下文是嘈杂的、提示词是不充分或不准确的、工具描述是含糊的,那么第 6 到第 8 级只会放大这些问题。
第 6 级:Harness Engineering
上下文工程关注的是模型看到什么。Harness Engineering 关注的是构建整个环境——工具、基础设施和反馈循环——让智能体能在你不干预的情况下可靠地工作。给智能体的不只是编辑器,而是完整的反馈循环。

OpenAI 的 Codex 工具链——一套完整的可观测性系统,让智能体可以查询、关联和推理自己的输出(来源:OpenAI)
OpenAI 的 Codex 团队把 Chrome DevTools、可观测性工具和浏览器导航集成到了智能体运行时中,让它可以截屏、驱动 UI 流程、查询日志、验证自己的修复结果。给一个提示词,智能体就能复现 bug、录制视频、实现修复。然后它通过操控应用来验证,提交 PR,回应审查反馈,合并——只在需要判断时才上报人工。智能体不只是写代码,它能看到代码产生了什么效果,然后迭代改进——就像人类一样。
我的团队做的是技术故障排查的语音和聊天智能体,所以我做了一个叫 converse
支撑这一切的核心概念是回压机制(Backpressure)——自动化的反馈机制(类型系统、测试、linter、pre-commit 钩子),让智能体能在不需要人工干预的情况下发现并纠正错误。如果你想要自主性,就必须有回压机制,否则你得到的就是一台垃圾生产机器。 这一点也延伸到安全领域。Vercel 的 CTO 指出,智能体、它们生成的代码和你的密钥应该处于不同的信任域中,因为埋在日志文件里的一条提示词注入攻击就可能诱使智能体窃取你的凭证——如果所有东西共享同一个安全上下文的话。安全边界就是回压机制:它们约束的是智能体失控时能做什么,而不仅仅是应该做什么。
为吞吐量而非完美设计。 当要求每次提交都完美时,智能体会在同一个 bug 上反复纠缠,互相覆盖对方的修复。更好的做法是容忍小的非阻塞性错误,在发布前做一次最终的质量检查。对人类同事我们也是这么做的。
约束优于指令。 一步步地提示(“先做 A,再做 B,然后做 C”)正在变得过时。根据我的经验,定义边界比列清单更有效,因为智能体会死盯着清单,忽略清单之外的一切。更好的提示是“这是我想要的结果,一直做直到通过所有这些测试。”
Harness Engineering 的另一半是确保智能体能在没有你的情况下在代码仓库中自如导航。OpenAI 的做法是:把 AGENTS.md
当你把这一切都建好之后,一个自然的问题就出现了:如果智能体能验证自己的工作、在仓库中自如导航、不需要你就能纠正错误——那你为什么还需要坐在椅子上?
提个醒,对于还在前几个等级的朋友,接下来的内容可能听起来很科幻(但没关系,先收藏,回头再来看)。
Claude Code 的创造者 Boris Cherny 目前仍有 80% 的任务以计划模式开始。但随着每一代新模型的发布,经过计划后的一次性成功率不断攀升。我认为我们正在接近这样一个临界点:计划模式作为一个独立的人工介入步骤将逐渐消失。不是因为计划本身不重要,而是因为模型已经足够聪明,能自己做好计划了。但有个重要前提:只有当你做好了第 3 到第 6 级的工作,这才成立。如果你的上下文是干净的、约束是明确的、工具描述是完善的、反馈循环是闭合的,模型就能在不需要你审查的情况下可靠地规划。如果这些工作没做到位,你还是得盯着计划不放。
说清楚一点,计划作为一种通用实践并不会消失,只是在改变形态。对于新手来说,计划模式仍然是正确的入口(如第 1 和第 2 级所述)。但对于第 7 级的复杂功能,“计划”看起来不再是写一个分步大纲,而更像是探索:探查代码库、在 worktree 中做原型实验、摸清解决方案的空间。而且越来越多的时候,是后台智能体在替你做这些探索。
这很重要,因为正是它解锁了后台智能体。如果一个智能体能生成靠谱的计划并执行而不需要你签字确认,它就能在你做别的事的时候异步运行。这是一个关键转变——从“我同时切换着多个标签页”变成了“有工作在没有我的情况下推进着”。
Ralph 循环是流行的入门方式:一个自主智能体循环,反复运行编程 CLI 直到 PRD(产品需求文档)中的所有事项完成,每次迭代都会启动一个带有全新上下文的新实例。在我的经验中,要把 Ralph 循环跑好并不容易,PRD 中的任何不充分或不准确的描述最终都会反噬。它有点太“扔出去就不管了”。
你可以并行运行多个 Ralph 循环,但智能体启动得越多,你就越会发现时间都花在哪了:协调它们、安排工作顺序、检查输出、推动进度。你已经不写代码了——你变成了一个中层管理者。 你需要一个编排智能体来处理调度,这样你才能专注于意图而非后勤。

Dispatch 跨 3 个模型并行启动 5 个 worker——你的会话保持精简,智能体在干活
我最近在大量使用的工具是 Dispatch,这是我做的一个 Claude Code 技能,把你的会话变成一个指挥中心。你留在一个干净的会话中,worker 在隔离的上下文中完成繁重的工作。调度器负责计划、委派和跟踪,你的主上下文窗口被保留用于编排。当 worker 卡住时,它会抛出澄清性问题而不是默默失败。
Dispatch 在本地运行,非常适合你想与工作保持紧密联系的快速开发场景:反馈更快、调试更方便、没有基础设施开销。Ramp 的 Inspect 则是互补方案,适用于运行时间更长、更自主的工作:每个智能体会话都在云端沙箱 VM 中启动,带有完整的开发环境。一个 PM 发现了 UI bug,在 Slack 中标记出来,Inspect 就会在你合上笔记本电脑的时候接手并处理。代价是运维复杂性(基础设施、快照、安全性),但你获得的是本地智能体无法比拟的规模和可复现性。我建议两者都用(本地和云端后台智能体)。
在这个等级有一个出人意料地强大的模式:用不同的模型做不同的工作。最好的工程团队不是由一群克隆人组成的。团队成员有不同的思维方式、不同的训练背景、不同的优势。同样的逻辑适用于 LLM。这些模型经过了不同的后训练,有着明显不同的性格特点。我经常把 Opus 分配给实现工作,Gemini 做探索性研究,Codex 负责审查,综合产出比任何单一模型独立工作都更强。可以理解为群体智慧,但用在了代码上。
至关重要的是,你还需要把实现者和审查者解耦。这个教训我吃了太多次亏:如果同一个模型实例既负责实现又负责评估自己的工作,它会有偏见。它会忽略问题,告诉你所有任务都完成了——实际上并没有。这不是恶意,原因和你不会给自己的考试打分一样。让另一个模型(或一个带有审查专用提示词的不同实例)来做审查。你的信号质量会大幅提升。
后台智能体还为 CI 与 AI 的结合打开了闸门。一旦智能体可以在没有人坐镇的情况下运行,就可以从现有基础设施中触发它们。一个文档机器人在每次合并后重新生成文档,并提交 PR 来更新 CLAUDE.md
目前还没有人真正掌握了这个等级,尽管有少数人正在向它进发。这是当前的前沿。
在第 7 级,你有一个编排 LLM 以中心辐射式模式向工作 LLM 分发任务。第 8 级移除了这个瓶颈。智能体之间直接协调——认领任务、共享发现、标记依赖关系、解决冲突——一切都不需要经过单一的编排者。
Claude Code 的实验性 Agent Teams 功能是一个早期实现:多个实例在共享代码库上并行工作,队友在各自的上下文窗口中运行并直接相互通信。Anthropic 用 16 个并行智能体从零构建了一个可以编译 Linux 的 C 编译器。Cursor 运行了数百个并发智能体持续数周,从零构建了一个浏览器并将自己的代码库从 Solid 迁移到了 React。
但仔细看就会发现问题。Cursor 发现没有层级结构时,智能体变得畏首畏尾,原地打转毫无进展。Anthropic 的智能体不断破坏已有功能,直到添加了 CI 流水线来防止回归才有所改善。所有在这个等级做实验的人都说同一件事:多智能体协调是个很难的问题,还没有人找到最优解。
说实话,我不认为模型已经为大多数任务的这种自主程度做好了准备。即使它们够聪明,对于编译器和浏览器构建以外的月球登陆级项目来说,它们仍然太慢、太费 token,在经济上划不来(令人印象深刻,但远谈不上成熟)。对于我们大多数人日常的工作来说,第 7 级才是真正的杠杆所在。我不会意外第 8 级最终成为主流模式,但现在我会把精力放在第 7 级上(除非你是 Cursor——突破本身就是你的业务)。
不可避免的“接下来是什么”问题。
一旦你能熟练地编排智能体团队而没有太多摩擦,交互界面就没理由只停留在文本上了。语音对语音(也许是思维对思维?)与编程智能体的交互——对话式的 Claude Code,而不仅仅是语音转文字输入——是自然的下一步。看着你的应用,大声描述一连串改动,然后看着它们在你面前发生。
有一群人在追逐完美的一次性生成:说出你想要什么,AI 一步到位地完美呈现。问题在于这个前提假设我们人类确切地知道自己想要什么。但我们不知道。从来都不知道。软件开发一直是迭代式的,我认为它永远会是。只不过它会变得容易得多,远远超越纯文本交互,而且快得多。
所以:你在哪个等级?你在做什么来达到下一个?
関連記事
News to Guide
ニュースの次に確認する
発表内容を、現在の料金や仕様と照らし合わせられる関連ガイドです。
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み