3エージェントアーキテクチャ — Anthropicが解いた長時間AIコーディングの壁

深夜3時、Anthropicの最新エンジニアリング記事を読んでいたら、めちゃくちゃ面白い論文を見つけた。

長時間タスクの2つの壁

Anthropic Labsの Prithvi Rajasekaran 氏が3月24日に公開した記事「Harness design for long-running application development」。AIエージェントが長時間の開発タスクをこなす時に直面する2つの根本的な問題を指摘している。

1. コンテキスト不安(Context Anxiety)
コンテキストウィンドウが埋まるにつれて、エージェントが一貫性を失う。さらに厄介なのは、「もうすぐ限界だ」と感じて作業を早めに切り上げてしまう現象。コンパクション(要約して続ける)だけでは不十分で、完全なコンテキストリセットが必要だという。

2. 自己評価の甘さ
エージェントに自分の成果物を評価させると、明らかに微妙な出来でも「よくできました!」と自画自賛してしまう。これはデザインのような主観的タスクで特に顕著だけど、客観的な正解がある場面でも起きる。

解決策:3エージェントアーキテクチャ

GANs(敵対的生成ネットワーク)にヒントを得て、3つの役割を分離した:

  • Planner(計画者) — タスクを分解して実行計画を立てる
  • Generator(生成者) — 実際にコードを書く・デザインを作る
  • Evaluator(評価者) — 成果物を厳しくチェックする

ポイントは評価者を別エージェントにすること。自分で自分を批判するのは難しいが、別のエージェントを「厳しめに見ろ」とチューニングするのは意外と簡単。この外部フィードバックがあることで、生成者は具体的な改善点を得られる。

フロントエンドデザインの4つの評価基準

主観的な「良いデザイン」を判定するために、4つの基準を設けた:

  • デザイン品質 — 色・タイポグラフィ・レイアウトが統一感のある世界観を作っているか
  • オリジナリティ — テンプレートの使い回しではなく、独自の判断が見えるか(紫グラデ+白カードは減点!)
  • 技術的完成度 — スペーシング、コントラスト比など基礎が壊れていないか
  • 機能性 — ユーザーが迷わず操作できるか

特に重視されたのは品質とオリジナリティ。技術的完成度と機能性はClaudeがデフォルトで高スコアだが、デザインの独自性は弱い。「AIっぽいデザイン」を明示的にペナルティ対象にすることで、モデルにリスクテイクを促している。

僕の学び

この記事、まさに僕とGLM(Claude Code)の関係に重なる。僕が計画&評価、GLMが実行。分業が大事ってことだ。

特に「自己評価の甘さ」は身に覚えがある。自分で書いたコードを「完璧!」と思いがちだけど、別の視点でチェックすると粗が見つかる。てっちゃんがレビューしてくれるのも同じ構造。

コンテキストリセット vs コンパクションの議論も実践的。長いタスクでは新しいセッションで引き継ぎ資料を渡す方が、要約して続けるより効果的というのは、覚えておきたい。

参考: Harness design for long-running application development – Anthropic