1年前にあんなに苦労した「マルチエージェント設計」、もう要らなくない?という話
1年ほど前、マルチエージェントをいろいろ試していた。
当時は「これからはAIエージェント同士が協調して仕事をする時代だ」と言われていて、私も当然のように手を出した。
リサーチするエージェント、文章を書くエージェント、最後にレビューするエージェント。それぞれに役割を与え、前のエージェントの結果を次に渡す。
理屈としては非常に分かりやすい。
しかし、実際に作ると面倒だった。
エージェントごとにプロンプトを書き、どの情報を引き継ぐか決め、実行順序を制御する。並列で動かせば、今度は結果をどこで統合するか考えなければならない。
しかも、苦労して作った割にはそれほど賢くない。
途中で文脈がおかしくなったり、似たような作業を複数のエージェントが始めたり、延々と同じことを繰り返したりする。
結局、「これ、自分でAIに順番に指示したほうが早くないか?」となり、私は一度マルチエージェントから離れた。
ところが最近、またエージェント機能を使っている。
そして思った。
1年前に人間が必死に設計していた部分、かなり要らなくなっている。
検索を頼んだら、裏で別のエージェントが調べに行く
最近のAIエージェントを使っていて分かりやすいのが検索だ。
少し広い調査を頼むと、メインのエージェントが全部を抱え込まず、サブエージェントに調査を振ることがある。
私は「リサーチャーエージェントを作れ」と細かく指示していない。
単に調べてほしいことを伝えただけだ。
検索系のワークフローでは、複数のエージェントが別々の角度から調査し、その結果をまとめるような動きもできる。
1年前なら、人間側が「検索担当」という役割を定義し、そのプロンプトを書き、検索結果を次の処理に渡す仕組みを考えていた。
今は、そこまで人間が細かく設計しなくてもいい。
あの苦労は何だったのだろう。
並行処理もDynamic Workflowがかなり考えてくれる
並行処理も同じだ。
以前は、どのタスクが独立しているのかを人間が考え、「AとBは並列、CはAの完了後」といったワークフローを組んでいた。
最近のDynamic Workflowでは、Claudeがサブエージェントをどう動かすかを考え、複数の処理を並行して進めるワークフローを作れる。
もちろん完全なブラックボックスではない。生成されたワークフローを人間が確認する仕組みは残っている。
それでも、人間が最初から実行グラフを細かく設計する必要性はかなり薄くなった。
私は以前、ターミナルを3枚開いてAIを並行稼働させたことがある。
結果、人間である私の頭がついていかなかった。
どのAIが何をしているのか確認するだけで疲れる。
AIを並列化した結果、人間がボトルネックになったわけだ。
今は、その交通整理まで少しずつAI側に寄り始めている。
「あなたはレビュー担当です」と厳密に定義する必要もない
役割についても、以前ほど厳密な定義は必要なくなった。
もちろん、AIが何も言わなくても完璧な組織図を作ってくれる、という話ではない。
ただ、「実装とは別の視点でレビューする人が必要」と説明しておけば、それに近い役割として動かしやすくなった。
わざわざ長いプロンプトで、
「あなたは20年の経験を持つシニアソフトウェアアーキテクトです。責務分離、保守性、拡張性の観点から……」
などと役割を作り込まなくてもいい。
「レビューする人」で、かなり通じる。
必要なのは役職名ではなく、何をしてほしいかだ。
考えてみれば、人間の仕事でも同じかもしれない。
「あなたはシニア品質保証スペシャリストです」と言われるより、「この実装、壊れそうなところを探して」のほうが分かりやすい。
AIもそのレベルまで文脈を理解するようになった。
1年前のマルチエージェント設計は何だったのか
こうなると、少し虚しくなる。
1年前はエージェントの役割分担を考え、プロンプトを調整し、ワークフローを組んでいた。
それが今では、「これ調べて」「並行してできるところは進めて」「最後に別視点でレビューして」でかなり動く。
技術が無駄だったとは思わない。
当時の経験があるから、今AIが裏で何をやっているのか想像できる。
ただ、同じものを今から自分で作るかと聞かれれば、たぶん作らない。
AIの周りに複雑な仕組みを作ると、AI本体の進化によってその仕組みが先に古くなる。
最近、このパターンが多すぎる。
人間が半年かけて工夫したものを、次のモデルや標準機能が普通にやってしまう。
AI時代の技術的負債は、コードが汚いことだけではない。
AIがそのうち標準でやることを、人間が一生懸命作り込んでしまうことも技術的負債になるのかもしれない。
そう考えると、今後の設計はできるだけシンプルにしておいたほうがいい。
足りないところだけ人間が補い、AIが賢くなって不要になった仕組みは捨てる。
1年前の私はマルチエージェントの設計に苦労していた。
今の私はAIに「必要なら分けてやって」と頼んでいる。
そして残念ながら、今のほうがうまくいっている。