# はじめに
https://www.youtube.com/watch?v=Wfz-gdWcItM
ハーネスエンジニアリングに興味を持ち、実際に Claude Code で実践している方の記事を見つけたので、自分なりに学んだ内容をまとめます。
AI 駆動開発は便利ですが、単一エージェントに長時間タスクを任せると品質が落ちるという問題があります。
この記事では、その原因と、GAN の発想を応用した「生成×評価」パターン、そして実際の実装方法を簡潔に整理します。
1. なぜ単一エージェントだとダメなのか
Claude Code に長時間タスクを任せると、最初は順調でも 1時間を超えたあたりから品質が急激に低下します。
Anthropic の研究では、その理由を 構造的に避けられない2つの問題として説明しています。
1. コンテキスト不安
コンテキストウィンドウが埋まってくると、モデルは早く終わらせなきゃと焦り始めます。
その結果:
- 使用の一部を省略
- エラーハンドリングが雑
- テストを省略
つまり、未完成のまま完了扱いする挙動が増えるわけです。
人間も締切前に焦るので、ちょっと共感しますね。
2. 自己評価の甘さ
AIに「自分のコードをレビューして」と頼むと、ほぼ必ず「問題ありません」と返ってきます。
**作る側と評価する側が同じである限り、品質の天井は突破できない。**ということです。
2. GANに着想を得た「生成×評価」パターン
Anthropic のチームはこの問題を解決するため、GAN(敵対的生成ネットワーク)の構造を応用しました。
生成器(Generator)
コードやUIを作る役割。
評価器(Evaluator)
厳しく採点し、問題点を具体的に返す役割。
この2つを分離することで、
- 評価者を厳しくチューニングできる。
- 改善指示が具体的に
- 生成→評価→修正→再評価のループが自動で回る。
実際、Anthropic のフロントエンド実験では、
「デザインの質・オリジナリティ・クラフト・機能性」
の4基準で評価器が Playwright を使って UI を操作し、点数と改善点を返す仕組みを構築。
その結果、単発生成では出ない創造的なUIが生まれたそうです。
3. 実際の方法(実装パターン)
研究チームは、フロントエンドだけでなくフルスタック開発にもこの構造を適用した。個人的に三権分立に似ていて面白いと感じました。
● 3エージェント構成
-
プランナー(立法)
- 1〜4行のプロンプトから詳細仕様を作成
- 「何を作るか」に集中し、「どう作るか」は書かない
-
ジェネレーター(行政)
- 仕様に沿って実装
- スプリント方式で1機能ずつ作る
-
エバリュエーター(司法)
- バグ・不整合・UI問題を具体的に指摘
まとめ
- 単一エージェントには構造的限界がある
- 「生成×評価」の分離が品質向上の鍵
- エージェントに異なる役割を持たせて第三者の目線を持たせることで、継続力upする。
参考:
https://www.ibm.com/jp-ja/think/topics/generative-adversarial-networks
