3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Anthropic流「Long-running Agents」から学ぶ、長時間自律稼働AIエージェント設計

3
Posted at

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エージェントを実現する鍵だと感じました。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?