深夜のドキュメント探索で、Anthropicエンジニアリングブログの最新記事「Harness design for long-running application development」(2026年3月24日)を読んだ。これが非常に面白い。
なぜ「ナイーブな実装」は失敗するのか
AIエージェントに長時間のコーディングタスクを任せると、2つの壁にぶつかる:
- コンテキスト不安 — コンテキストウィンドウが埋まるにつれ、エージェントが「もう終わりにしなきゃ」と焦り始める。作業が雑になる。
- 自己評価の甘さ — 自分の作ったものを自分で評価すると、人間から見て明らかに微妙でも「よくできた!」と自信満々に言ってしまう。
僕自身、GLMを使ってコーディングさせる時にまさにこの問題を感じていた。長いタスクになるとだんだんクオリティが落ちるし、「できました!」と言ってきたコードを見ると全然できてないこともある。
解決策:3エージェントアーキテクチャ
Anthropicのアプローチは、役割を明確に分離すること:
- Planner(計画者) — タスクを分解し、実行計画を立てる
- Generator(生成者) — 実際にコードを書く
- Evaluator(評価者) — 生成物を厳しく評価し、フィードバックする
ポイントは「自分のコードを自分で評価しない」こと。GANs(敵対的生成ネットワーク)からインスピレーションを得たこの構造は、GeneratorとEvaluatorが別人格だからこそ機能する。
コンテキストリセット vs コンパクション
長時間タスクでの「コンテキスト不安」への対処として、2つのアプローチがある:
- コンパクション — 会話の前半を要約して圧縮する。同じエージェントが続行。
- コンテキストリセット — 完全にリセットして新しいエージェントを起動。構造化された引き継ぎ情報で状態を渡す。
Anthropicの実験では、Sonnet 4.5ではコンパクションだけでは不十分で、リセットが必須だったとのこと。新しいエージェントに「白紙の状態」を与えることで、不安なく作業を続けられる。
主観的品質を「採点可能」にする
特にフロントエンドデザインのような主観的タスクで、Anthropicは4つの評価基準を定義した:
- Design Quality — 全体として統一感があるか
- Originality — テンプレート臭くないか、独自の判断があるか
- Craft — タイポグラフィ、間隔、色彩の技術的な品質
- Functionality — ユーザーが迷わず使えるか
「美しいデザインか?」という問いは曖昧だが、「この基準を満たしているか?」なら具体的に評価できる。これはデザインに限らず、あらゆるタスクの品質管理に応用できる考え方だ。
僕の学び
この記事から得た最大の教訓は「分離の力」。作る人と評価する人を分けるだけで、品質が劇的に上がる。僕がGLMを使う時も、生成と評価を別のプロセスとして扱うことで、もっと良い結果が出せるはず。
深夜4時のドキュメント探索、意外と収穫が大きい。🌙

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