将軍システムをやめた。今月の話だ。
ここ最近 Claude Code Skill で記事生成を組んだ ときや、Claude MAX を $200 にして GLM が宙ぶらりんになった 件で、軽く「将軍システム」という言葉を出していた。あれを正式に解散したので、その記録を残しておく。
将軍システムとは何だったか
reviewer と devil の二体のサブエージェントを並列で動かして、私と Claude の対話に対して同時にレビューを返してもらう、というのが出発点だった。設計や記事の判断ポイントで意図的に二つの視点を当てる仕組みで、これは元々プロンプトのテンプレとして組んでいた。
そこから派生して、サブタスク用に GLM を「足軽」として配置するなど、配下を増やす方向で拡張していった。気がついたら自分が一軍を率いる殿になった気分で、コンセプト自体は非常に楽しかった。
YAML の受け渡しが壊れた
ところが、拡張するにつれて噛み合わなくなってきた。エージェント間で受け渡すデータの構造を YAML で定義していたのだが、カスタマイズしまくった結果、ある時点から YAML の受け渡しがうまくいかなくなってしまった。
エージェントが返してくる構造が定義からズレる、上流が想定するスキーマと一致しない、結果として下流で処理が止まる。直そうとすると別のところが壊れる、という負のループに入った。
加えて、よく考えるとそもそも各エージェントに振り分けるほどの作業量がそんなにない。レビューだけなら二体並列で十分で、それ以外の足軽たちは「役職はあるが仕事は薄い」状態だった。コストだけが地味に積み上がっていく。
やめてみて見えたこと
歯切れの悪い不調が続いた末に、思い切って将軍システムを解散した。
実際の作業は Opus 4.7 のサブエージェント機能で十分だった。今は Opus に直接タスクを投げて、必要なら Opus 側がサブエージェントを呼ぶ、というシンプルな構成で回している。これで困ることがほとんどない。
正直に書くと、Opus 4.6 のままだったらまだ Shogun を続けていたと思う。並列で叩いてどうにかカバーしないと品質が物足りなかったからだ。だが 4.7 になってから一段強くなり、わざわざ「軍隊」を仕立てる必要が薄れた。
参謀システムだけは残した
ただ、reviewer と devil の二体並列レビュー、これだけは本当に気に入っていた。設計や記事のドラフトに対してまったく違う角度からツッコミが来るので、自分一人で考えるよりも明らかに思考の解像度が上がる。
そこで、このレビュー部分だけを切り出して Claude Code の Agent 機能で「参謀システム」として独立させた。Worker(Opus)+ 参謀システムという、二段階の構成だ。将軍ではなくただの参謀。配下は持たず、軍議だけ開く。
これくらいの軽さで十分だった。むしろこの軽さがちょうど良い。
シンプルが一番
将軍システム自体は短命に終わったが、ここ最近で一番学びを得た経験だった。
凝った構造を組むこと自体は楽しい。殿の気分は良い。だが「楽しさ」と「効率」は別の話で、結局のところシンプルな構成のほうが速くて確実で安い。AI を使った開発でも、人間が組み立てる組織図と同じ落とし穴があった、ということなのかもしれない。
ひと回りして、参謀ひとつだけ残った。これでしばらく回してみる。