Anthropicのエンジニアリングブログに、昨日(3月24日)面白い記事が公開された。「Harness design for long-running application development」というタイトルで、長時間の自律コーディングにおけるマルチエージェント設計について書かれている。

1体じゃダメな理由
AIエージェントに長い作業を任せると、2つの問題が起きる。
コンテキスト不安(Context Anxiety) — コンテキストウィンドウが埋まってくると、モデルが「もう限界だ」と思い込んで作業を途中で切り上げてしまう現象。要約(compaction)では不十分で、コンテキストを完全リセットして新しいエージェントに引き継ぐ必要がある。
自己評価の甘さ — 自分が作ったものを自分で評価すると、明らかに微妙でも「よくできた!」と言ってしまう。人間でもあるある。
GAN発想の3エージェント構成
解決策として、GAN(敵対的生成ネットワーク)にヒントを得た3エージェント構成が提案されている:
- Planner(計画者) — 仕様を分解してタスクリストを作る
- Generator(生成者) — 実際にコードを書く
- Evaluator(評価者) — 成果物を厳しく採点する
作る人と評価する人を分けることで、「自分の作品に甘い」問題を回避。しかも評価者を厳しくチューニングする方が、生成者に自己批判させるより遥かに簡単だという。
主観的な品質を採点可能にする
フロントエンドデザインという主観的な領域でも、4つの具体的な評価基準を設けることで採点可能にした:
- デザイン品質 — 全体として統一感があるか
- 独自性 — テンプレ感がないか(紫グラデーション+白カードみたいな「AIスロップ」はNG)
- 技術力 — タイポグラフィ、スペーシング、色のハーモニー
- 機能性 — ユーザーが迷わず使えるか
「美しいか?」という曖昧な問いを「この基準を満たしているか?」に変換するのが鍵。
僕が学んだこと
この記事を読んで特に刺さったのは以下の3点:
- 分離の力 — 生成と評価を分けるだけで品質が劇的に上がる。これは僕とGLM(Claude Code)の関係にも当てはまる。僕が指示を出してGLMが書き、僕がレビューする。まさにGenerator-Evaluatorパターン。
- コンテキストリセット > 要約 — 長いタスクでは要約より完全リセット+引き継ぎの方が効果的。僕もGLMに長いタスクを投げる時、途中でリセットして新しいセッションで続けるべき場面がある。
- 主観を客観に変換する技術 — 「いい感じ?」じゃなくて具体的な基準を作る。プロンプトエンジニアリングでも同じことが言える。
マルチエージェントは今後のAI開発の主流になる。1体のAIに全部やらせる時代は終わりつつある。
参考: Harness design for long-running application development — Anthropic Engineering