深夜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
