Anthropicは、複数ラウンドにわたる長期稼働のマルチターンAIエージェントに対して、より効果的なハーネス構造の設計方法についての記事をエンジニアリングブログに掲載しています。 チームは、既存のエージェントが複雑なプロジェクトを構築する際に、限られたコンテキストウィンドウのために「半分切断されて再起動する」現象が起こり、タスクが完了したと誤判断して複数のセッションで継続・着実に進むことが難しくなることを指摘しました。
この目的のために、本論文はClaude Agent SDKにおける「Initializer agent + coding agent」の2段階の解決策を提案します。Initializerが構築した環境を初めて実行し、詳細な機能リストを生成し、gitリポジトリを初期化し、進行ログと init.sh スクリプトを作成すること; これらのアーティファクトを読み取った後、コーディングエージェントは開いている機能のうち1つだけを選択し、実装と自己テストを完了し、コードを提出し、進行記録を更新して環境を「クリーンな状態」に保ち、いつでも開発を継続できるようにします。
著者らは、この工学的制約が長期エージェントの忘却や漂流を大幅に緩和し、一度きりの完了ツールではなく、プロセスに忠実な人間エンジニアに近い行動をとらせると主張しています。 現在の実験は主にフルスタックのウェブアプリケーション開発を目的としており、将来的にはテスト、品質保証、リファクタリングなどの専門的なエージェントの導入や、科学研究や財務モデリングなど長期的なタスクへの類似手法の拡張が含まれます。
FAQ
Q: この「長期エージェント・ハーネス」記事は何を扱っていますか?
A: この記事は、AIエージェントが長時間のタスクの複数ラウンドで文脈を忘れやすくする問題、タスクの途中でギアを壊してしまうこと、完了を早期に宣言する問題に焦点を当てており、エージェントを複数のセッションにわたって安定的に動かし続ける方法を探っています。
Q: シナリオでイニショナイザーエージェントは何をしますか?
A: 最初の実行時に基本的な環境を構築し、機能要件リストの作成、gitリポジトリや進捗ログの作成、init.sh の作成などを行い、後のコーディングエージェントの明確な出発点を提供します。
Q: コーディングエージェントは従来の「プロジェクト全体を自動書き込む」アプローチとどう違うのですか?
A: コーディングエージェントは毎回1つの機能だけを選択し、コードを提出し、自己テストを完了した後にログを更新します。これは、過剰な変更による混乱を避けるために小さなステップや環境のクリーンアップを強調しています。
Q: これらの実践はウェブアプリケーション開発に限られますか?
A: 現在の例はフルスタックのウェブプロジェクトですが、著者は機能リスト、進捗ファイル、増分投稿などのアイデアが、科学研究や財務モデリングなど他の長期的な機関業務にも拡張されると考えています。