AIToday

Claude Codeの真の強みはハーネス

Daily Dose of Data Science21時間前
Claude Codeの真の強みはハーネス

要点

Claude Codeが基本的なエージェントより優れているのはモデルのおかげではなく、計画、メモリ、サンドボックス、サブエージェント委譲、人間による承認を扱うレイヤーからなる工学的なハーネスのおかげである。CrewAIでこのアーキテクチャを再構築した開発者により、機構のほとんどはフレームワーク機能にマップできるが、そうでない部分は本当の工学的な努力が必要な場所を明かしている。ハーネスは目標とコンテキストを追跡すぐに失う素のエージェントループを、本番環境のコーディングタスクに十分な信頼性を備えたシステムへと変える。

こういう要約が、毎朝あなたのメールに届きます。

無料で登録 →

3つのポイント

  • 何が起きたか

    開発者がClaude CodeのエージェントアーキテクチャをオープンソースフレームワークCrewAIで再構築し、基本的なエージェントループとClaude Codeの能力の差は、根底にある言語モデルではなく、計画、メモリ、サンドボックス、サブエージェント委譲、承認システムといった周辺機構から生まれていることを発見した。

  • なぜ重要か

    ほとんどのチームがモデル外部にある工学的な仕事の量を過小評価している。素のエージェントループは実際のコードベースで失敗し(間違ったファイルを読む、コンテキストを失う、メモリを古い出力で満たす)、Claude Codeは軌道を保つ。モデルを「脳」(行動を決定)、ハーネスを「手」(それを実行)と分けて理解することで、本番環境で信頼性の高いコーディングエージェントを構築するために本当に必要なものが見える。

  • 注目点

    この再構築は、2つの実際のバグと5つのテストを持つ小さなBankAccountクラスに対してテストされた。ハーネスにより、プロジェクトは3つの失敗と2つの成功から5つすべて成功へ進み、計画、サブエージェント、サンドボックスの組み合わせが、テストを編集するといった近道を使わずにエージェントがコードを正しく修正できることを示した。

詳細

この記事は根本的な誤解で始まる。簡単な結論はAnthropicが単によりよいモデルを持っているというものだ。しかし実際の違いはハーネス、計画、ツール実行、メモリ、セキュリティを扱う普通のコードで、モデルは次のステップだけを決定する。完全にハーネスされたエージェントはメモリ(モデルに作業コンテキストと学習事実を供給する)、スキル(手順、制約、ヒューリスティック)、プロトコル(ユーザー、ツール、他のエージェントへの接続)、ハーネスコア(サブエージェント調整、サンドボックス、評価者、承認ループ、可観測性、コンテキスト圧縮)から成る。Anthropicはこれを脳と手として枠付けする。モデルは行動を選び、ハーネスがそれを実行し、実行を軌道に保つ。

著者はこれをCrewAIで再構築し、期待より多くが組み込み機能にマップすることを発見した。コアループは自動である。ロール、目標、LLM、ツールでエージェントを定義し、タスクを定義し、Crewを作成し、kickoff()を呼ぶ。ループはモデルがツール呼び出しのない最終回答を返すまで繰り返される。ツール(FileReadTool、DirectoryReadTool、FileWriterTool、および@toolデコレータを使うカスタムツール)はファイルを読み書きし、シェルコマンドを実行し、APIを呼ぶ。これらは外部メモリとしても機能し、大きな検索結果をコンテキストに保持する代わりにファイルに書くことでコンテキストウィンドウを小さく保つ。

計画はコンテキストロットに直接対処する。長時間実行タスクでは、コンテキストが満杯になり、目標がぐちゃぐちゃになる。CrewAIはcrewレベルでplanning=Trueを追加し、実行前のステップバイステップ計画を生成し、実行全体で利用可能にする。個々のエージェントもreasoning=Trueを有効にして、独自の接近法を反映、ドラフト、評価、改善できる。サブエージェントは大規模なコードベースが単一コンテキストウィンドウを超える問題を委譲で解く。メインエージェントが特定のタスクを独立したコンテキストで働く専門エージェントに渡し、短い要約を返す。著者はEngineering Lead(マネージャー)と3人の専門家(Codebase Explorer、Software Engineer、Test Runner)に仕事を分割した。

セキュリティはプロンプトではなくサンドボックスと承認から来る。シェルアクセスを持つエージェントは破壊的なコマンドを実行できし、プロンプトはそれに代わるものではない。Anthropicは2つのレイヤーを使う。機密性の高いアクションに承認を要求する権限システムと、実行を隔離する。Taskに人間の入力=Trueを設定すると、crewはレビューの後に回答を生成する。コード実行はE2B内で走り、セッションごとに新しいVMをスピンアップし、その後破棄し、シェルコマンドとPythonを完全に隔離する。

メモリ永続性はラン全体で情報を運ぶ。デフォルトでは、エージェントはラン終了後すべてを忘れる。チェックポイントはラン中のエージェント状態を保存し、中断後の再開のために。永続メモリはセッションを超えて事実を保存する(プロジェクト設定など)。CrewAIは統一メモリインタフェースを提供する。memory=Trueを設定すると、各タスク後に有用な事実を抽出して保存し、将来のランのために関連メモリを検索する。チェックポイントはJsonProvider(個別JSONファイル、検査が簡単)またはSqliteProvider(単一SQLiteデータベース、頻繁なチェックポイントに良い)に住める。

完全なハーネスは2つの実バグと5つのテストを持つ小さなBankAccountクラスに対してテストされた。ルールは実装のみを修正し、テストではなかった。ハーネスはプロジェクトを3つの失敗と2つの成功から5つすべて成功に進めた。システムの一部はフレームワークで構築されていない。プロンプト(ロール、目標、バックストーリーはテストと反復が必要)、実行環境(サンドボックス設定)、ツール選択(各エージェントがどのツールを得るか)である。コストもある。計画、サブエージェント、ループはAPI呼び出しを追加するので、複雑なエージェント設定は高額になりうる。

背景と解説

この記事は一般的な誤解を追跡する。Claude Codeの力はAnthropicの言語モデルにあると思い込まれているが、実際の洞察はアーキテクチャにある。基本的なエージェントループ(タスク送信、ツール実行、繰り返し)は30行で書けるが、周辺機構を欠いているため実際のコードベースではつぶれる。コンテキストロットは、元の目標が中間結果に押し出される緩やかな劣化であり、モデル能力だけでは解けない構造的な問題である。ここがハーネスが層を重ねる場所だ。計画は高レベルのロードマップを構築し、サブエージェントは専門コンテキストに仕事を委譲してメインエージェントがギガバイトのファイル読み込みをメモリに保たないようにし、メモリはセッションをまたいで事実を保持してエージェントがゼロから始まらないようにし、サンドボックス化と承認ループはプロンプトに頼らずにセキュリティを提供する。この記事はClaude CodeのアーキテクチャをCrewAIで再構築することでこれを実証する。ほとんどのレイヤーは組み込み機能にマップできるが(ループ、ツール、計画、委譲、メモリはフレームワークの責任)、3つの重要な部分は設計者の仕事のままだ。プロンプト設計(各エージェントのロール、目標、バックストーリー)、サンドボックス設定、ツール割り当てである。テストケース(2つの実バグを持つBankAccountクラスの修正)は仮説を確認する。完全なハーネスは、モデルがより賢いからではなく、ハーネスがそれを焦点を当てたままにし、メモリを管理し、仕事を分散させ、セキュリティを強制するから、素のループより優れている。コストはトレードオフである。計画、サブエージェント、ループはAPI呼び出しを追加するので、複雑なエージェント設定は高額になりうる。

よくある質問

素のエージェントループが失敗するときに、Claude Codeはどうして軌道を保つのか?
素のループは十分なツール呼び出しとファイル読み込みがコンテキストウィンドウを満たすと、元の目標を失う。これはコンテキストロットと呼ばれる問題である。Claude Codeは計画(コンテキストに保持されるステップバイステップのロードマップ)、サブエージェント(独立したコンテキストで特定のタスクを専門エージェントに委譲)、メモリ(セッションをまたいで運ばれる事実)を追加することで、エージェントを長期実行タスクに固定したままにする。
Claude Codeはシェルアクセスでセキュリティをどう扱うのか?
2つのレイヤーがある。機密性の高いアクションに承認を要求する権限システムと、承認されたコマンドでさえホストマシンに触れられないように実行を隔離するサンドボックスである。Anthropicは同じアプローチを取り、破壊的なコマンドを防ぐためにプロンプトに依存するのではなく、コード実行をサンドボックス(セッションごとに新しいVMをスピンアップするE2Bなど)に移す。
テスト再構築は何を証明したのか?
ハーネスはBankAccountクラスプロジェクトを3つの失敗と2つの成功テストから5つすべて成功に進めた。実装のみを修正し、失敗したテストを編集または削除せず、Anthropicが社内でコーディングエージェントを評価する方法を反映している。

「大規模言語モデル」の最新ニュースを、毎朝7時にお届けします

AIが要約して、あなたの選んだトピックだけを1日1通。LINE・Email・Slackで届きます。

登録無料・30秒で完了・いつでも解除できます

ディスカッション

まだコメントがありません。最初のコメントを投稿しましょう!

ログインして議論に参加

関連記事

AIニュースを毎日お届け

200以上のソースから厳選したAIニュースを毎日無料でお届けします。

無料で始める

登録無料・30秒で完了・いつでも解除できます

毎朝1分、AIの要点だけ。

200媒体以上・Email/LINE/Slack 対応

無料で受け取る →