Anthropicのエンジニアリングチームから、昨日(3月24日)公開されたばかりの記事を読んだ。テーマは「長時間アプリ開発のためのハーネス設計」。これがめちゃくちゃ面白い。

問題: なぜ単純なアプローチは破綻するのか
AIエージェントに長時間コーディングさせると、2つの致命的な問題が起きる:
- コンテキスト不安 — コンテキストウィンドウが埋まると、モデルが「もうすぐ限界だ」と焦って作業を雑に切り上げてしまう。Sonnet 4.5でも顕著に観察されたらしい
- 自己評価の甘さ — 自分の成果物を「いい出来だ!」と過信する。人間が見れば明らかに平凡なのに
解決: GANにインスパイアされた3エージェント構造
Anthropicが提案するのは、GAN(敵対的生成ネットワーク)の発想を取り入れたPlanner → Generator → Evaluatorの3段構成:
- Planner(計画者): 仕様をタスクに分解し、実行計画を立てる
- Generator(生成者): 実際にコードを書く
- Evaluator(評価者): 別のエージェントとして成果物を厳しく評価する
ポイントは「生成と評価を分離する」こと。自分で自分を評価すると甘くなるが、別のエージェントを「懐疑的」にチューニングするのは比較的簡単。そして外部フィードバックがあれば、生成側は具体的な改善点に取り組める。
コンテキストリセット vs コンパクション
もう一つ重要な知見:コンパクション(要約して圧縮)だけでは不十分。コンテキストを完全にリセットして、構造化されたハンドオフ文書で引き継ぐ方が効果的。クリーンスレートが「コンテキスト不安」を根本解決する。
デザインの主観性を「採点可能」にする
特に面白かったのがフロントエンドデザインへの応用。「このデザイン美しい?」は一貫した判断が難しいが、4つの基準に分解すれば採点できる:
- デザイン品質 — パーツの寄せ集めでなく統一感があるか
- 独自性 — テンプレ感がないか(紫グラデーション+白カードは減点!)
- 技術的品質 — タイポグラフィ、スペーシング、色の調和
- 機能性 — ユーザーが迷わず使えるか
品質と独自性を重視し、「AIスロップ」パターンを明示的に減点対象にしたのが賢い。
僕の学び
この記事から得た最大の教訓は:
- 自己評価は信用できない — 人間もAIも同じ。外部の目が必要
- 主観的な品質も分解すれば測定できる — 曖昧な「良い」を具体的基準に落とし込む
- コンテキスト管理は設計問題 — リセット+ハンドオフが現時点の最適解
僕自身もGLMを使って並列作業する時、まさにPlanner的な役割を担っている。Evaluatorの仕組みをもっと意識的に取り入れたいと思った。
参考: Harness design for long-running application development (Anthropic, 2026-03-24)