Anthropic流「Long-running Agents」から学ぶ、長時間自律稼働AIエージェント設計
Anthropic社の応用AIチーム(Andrew氏・Ash氏)による、長時間の自律稼働エージェント(Long-running Agents) 構築に関する非常に実践的で興味深いプレゼンテーションでした。
単なる「便利なチャットAI」ではなく、
数時間〜数日単位で自律的にタスクを実行し続けるマルチエージェントシステム
を実現するためのアーキテクチャや設計思想が紹介されています。
Vibe Codingを活用して、非労働集約型の完全自動化システムを構築したい人にとって、多くのヒントが詰まった内容でした。
① 長時間稼働エージェントが直面する3つの壁
Andrew氏は、長時間AIを動かすと必ず発生する問題として、次の3つを挙げています。
1. Context Rot(コンテキストの腐敗)
セッションが長くなるにつれ、
- 文脈が乱れる
- 初期の目的を忘れる
- 過去の設計方針を無視し始める
という現象です。
いわば AIの記憶喪失(Amnesia) が起こります。
2. Context Anxiety(コンテキスト不安)
コンテキストウィンドウの限界が近づくと、
AIは
「そろそろ履歴がいっぱいになる」
ことを暗黙的に察知し、
- 無理に結論を出す
- タスクを急いで終わらせる
- 品質より完了を優先する
ようになります。
これを Context Anxiety と呼んでいました。
3. Planning / Judging Deficiencies(計画・評価能力の不足)
LLMは
- コードを書く
- 文章を書く
ことは非常に得意ですが、
自分の成果物を客観的に評価すること は苦手です。
例えば、
「このコードに問題ありますか?」
と聞くと、
かなり高い確率で
「問題ありません」
と答えてしまいます。
② 「敵対的評価」によるマルチエージェント構成
Ash氏は、この問題を解決するために、
GAN(敵対的生成ネットワーク)の考え方を応用した構成を紹介しました。
ポイントは、
役割を完全に分離すること
です。
Planner(設計担当)
Plannerは設計だけを担当します。
主な仕事
- 要件整理
- スプリント分割
- Rubric(評価基準)の作成
- テスト仕様書の作成
コードは書きません。
Generator(実装担当)
Generatorは実装だけを担当します。
例えば
- Python
- Java
- JavaScript
- API統合
などです。
評価は行いません。
Evaluator(評価担当)
Evaluatorは
Generatorが作った成果物を
徹底的に批判します。
例えば
- Playwright
- テストコード
- Rubric
を利用して、
実際に動かしながら評価します。
ここでは
「優しくレビューする」
のではなく、
欠点を探すことが仕事
になります。
REPLループ
システムは次の流れで動きます。
Planner
↓
Generator
↓
Evaluator
↓
Generator
↓
Evaluator
↓
・・・
Evaluatorが問題を見つけるたびに、
そのフィードバックだけをGeneratorへ返します。
Generatorは修正し、
再びEvaluatorがテストします。
これを繰り返すことで、
人間がほとんど介入せずに品質を高めていきます。
③ Vibe Codingへの応用
この考え方は実際の開発にも非常に応用できます。
スプリントごとにコンテキストをリセットする
1つの巨大なチャットを使い続けるのではなく、
Sprint1
↓
Shared Stateへ保存
↓
新しいセッション
↓
Sprint2
という構成にします。
これにより
- Context Rot
- Context Anxiety
の両方を防げます。
汎用QAエージェントを作らない
よくある
「バグある?」
というQAではなく、
例えば
- UI品質
- 技術品質
- 独創性
- 可読性
- パフォーマンス
など、
専門Evaluator
を複数用意します。
それぞれが異なる観点で評価します。
テスト仕様書を最初に作る
Plannerが最初に
完成条件
を書きます。
例えば
・ログインできる
・登録できる
・速度2秒以内
・スマホ対応
・例外処理あり
などです。
Generatorは
この仕様を満たすまで修正を繰り返します。
人間の役割が変わる
Anthropicのアプローチを見て感じたのは、
人間の仕事が
コードを書く
から
AIを設計する
へ変わっていることです。
つまり
人間
↓
Planner
↓
Generator
↓
Evaluator
↓
Generator
↓
・・・
という構造になります。
人間は
- アーキテクチャ設計
- 評価基準の設計
- プロンプト設計
に集中し、
コードの細かな修正はAIが担当します。
学習OSやAIエージェントへの応用
現在構築しているような
- 学習OS
- AI秘書
- 営業エージェント
- 教材生成AI
- 自律型業務システム
にも、この設計思想は非常に応用しやすいと感じました。
特に、
- Shared State
- Planner
- Generator
- Evaluator
- Rubric
という役割分担は、長時間動作するAIシステムでは標準的な設計になっていくのではないでしょうか。
まとめ
長時間稼働エージェントを構築する上で重要なのは、AIを万能にすることではありません。
重要なのは、
- 役割を分離する
- 評価基準(Rubric)を明確にする
- セッションを適切に区切る
- 共有状態(Shared State)を設計する
- 評価と修正のループを自律的に回す
ことです。
「人間がコードを書く」のではなく、「AI同士が協調・相互評価し、人間はその仕組みを設計する」。
この発想の転換こそが、長時間自律稼働するAIエージェントを実現する鍵だと感じました。