【マルチエージェント設計の極意】「〇〇っ○」をエージェントにして気づいた、自律型エージェント設計のたった一つの問い
この記事を読んでわかること
- マルチエージェント設計を、専門知識ゼロでもイメージできる考え方
- 「人間が無意識にやっている判断」をエージェントに落とし込む手順
- そのアイデアを「実際に作るべきか」を一瞬で見抜くたった一つの問い
突然ですが、皆さんは今日、何回トイレに行きましたか?
そして、その「トイレに行こう」という判断を、どうやって下したか覚えているでしょうか。
……覚えていないと思います。私も覚えていません。なぜなら、私たちはそれを完全に無意識でやっているからです。
最近、複数のエージェントを組み合わせる「マルチエージェント」の設計をいじっていて、ふと思ったんです。この「無意識の判断」こそ、エージェント設計を理解する最高の教材なんじゃないか、と。
しかも一番身近で、一番無意識なやつ。そう、おしっこです。
(え?と思った方、引き返すなら今です。でも、最後まで読むと意外とちゃんとした話に着地します。たぶん。)
そもそもエージェントって、何をしている?
難しい定義は一旦置いておきます。エージェントがやっていることを、ものすごく雑にいうとこうじゃないか。
まわりを見て(観測)→ どうするか考えて(判断)→ 動く(行動)
これをぐるぐる繰り返しているだけ。実はこれ、人間が普段やっていることと全く同じなんですね。
問題は、人間はこのループを意識せずに回しているということ。だから「エージェントを作りましょう」と言われても、自分が普段どんな判断をしているか言語化できず、「で、何を作ればいいの?」となってしまう。
そこで、おしっこの出番です。
まだ間に合います。ウィンドウを閉じるなら今のうちです。
「おしっこしたい」を、本気で分解してみる
仮に、人間が「トイレに行きたい」と感じる前に、すべて代わりに判断してくれるエージェントを作るとします。「もう行ったほうがいいですよ」と教えてくれるやつ、と思ってください。
これを作るには、まず「おしっこしたい、とは一体どういう状態か」を定義するところから始まります。(専門家でも何でもないので、厳密には違うと思います。厳密に表現するための調査もしません。)
感覚的には「なんとなく行きたくなったら」ですが、これでは設計できません。分解すると、だいたいこういうことだと思うんです。
膀胱に溜まった量が、ある一定のラインを超えた状態
定義できたら、次は「それをどうやって知るか(観測)」です。人間は感覚でわかりますが、エージェントは教えてもらわないとわかりません。なので、たとえばこうします。
1時間に1回、膀胱が何パーセント埋まっているかをチェックする
これでこの世界に一つ、「膀胱の状態を監視するエージェント」が新しく生まれました。
でも、それだけだと全然足りない
実際の私たちの判断は、もっと複雑な要素が絡んでいます。無意識下でやっていることを掘り下げて、環境変数を洗い出していきます。(楽しい)
たとえば、さっきコーヒーをガブ飲みしたとしましょう。利尿作用で、いつもより早く溜まるはずです。だとしたら、1時間に1回のチェックでは間に合わない。だって、カフェインによる利尿作用があるから。同時にカフェインを飲んだらおしっこに行きたくなるという、プラシーボ効果も加わり、おしっこは加速することでしょう。
カフェインを多めに摂ったあとは、チェック頻度を30分に1回に上げる
ここで「最近の飲食・体調を見て、監視の頻度を調整するエージェント」が必要になります。
さらに、トイレまでの距離と混雑も判断に影響します。目の前にトイレがあるなら、ギリギリまで粘ってもいい。でも、トイレがビルの34階にあって、エレベーターは1機、しかも激混みだったら? 到着までに時間がかかるぶん、早めに動き出さないと間に合いません。歴戦の猛者はこれを刹那の時間にやってのけるのです。人間ってすごい。
つまり、普段なら「80%溜まったら行く」ところを、こういう状況では「60%で行動を開始する」と、判断のラインそのものを状況に応じてずらしているわけです。わけです。
ここで「周辺環境(トイレの場所・混雑・経路)を調べるリサーチエージェント」が登場します。こいつはかなり情報通であり、気が利きます。利いてもらわないと困ります。
過去の失敗も活かしたい
もう一つ。人間は過去の経験から学びます。「あのとき、会議が長引いてギリギリだったな……」みたいな失敗を、次に活かす。これこそが人間である所以であろう。しかし、今回はエージェントに任せます。
過去に間に合わなかったパターンを参照して、次の判断を慎重にする
これで「過去の経験を判断に反映するエージェント」も加わりました。ナレッジには過去の失敗談を投入します。忘れたい失敗談を記憶から引っ張り出すための、インタビューエージェントの話は今はやめておきます。
気づけば、立派なマルチエージェントになっている
ここまでで登場した役者を並べてみます。
- 膀胱の状態を監視するエージェント
- 体調(カフェインなど)を見て頻度を調整するエージェント
- 周辺環境を調べるリサーチエージェント
- 過去の失敗を活かすエージェント
そして、これら全員からの情報を受け取って、「で、結局いま行くのか、行かないのか」を最終判断する親エージェント。


……これ、立派なマルチエージェント設計ですよね。ね。専門家(子エージェント)がそれぞれ得意分野を担当して、最後に親エージェントが全部まとめて結論を出す。実際の業務システムで作ろうとしているものと、骨格は全く同じです。
何が言いたいかというと、普段ぼんやり「行きたいな」で済ませている判断も、分解すると驚くほど多くの認知ステップでできている、ということ。そして、その一つひとつが「エージェント」に対応する。
この「無意識の判断を棚卸しして言語化する」プロセスさえできれば、実は身のまわりのかなりのことが、エージェント設計の練習問題になるんです。時間と労力の無駄なので、やる必要はないと思います。
私はこういうことを考えるのが好きです。
ちょっと冷静になろう。
ここまで読んで、「なるほど、何でもエージェントにできるじゃん!」と思った方。
半分正解で、半分は罠です。
たしかに、世の中の判断はだいたいこの「観測→判断→行動」の型に当てはめられます。だから「当てはめゲーム」としては、ほぼ何でもいける。私もこれに気づいたとき、「俺、何でもエージェント大喜利できるんじゃないか」と本気で思いました。
でも、悲しいかな。当てはめられることと、実際に作る価値があることは、まったくの別物です。
そして今回のおしっこエージェント、作る価値は1ミリもありません。 なぜか。
人間が、何のコストもかけずに一瞬で判断できてしまうからです。わざわざ膀胱にセンサーを仕込んで、頻度をチューニングして……というコストに、まったく見合わない。そもそも膀胱が何パーセントかなんて、現実には観測できなさそうだし。
結局、自律型エージェントを作るかどうかは、たった一つの問いに尽きる
ここで、最後の問いです。マルチエージェントだの認知の分解だの、いろいろ語ってきましたが、「これをエージェントにすべきか?」の判断は、突き詰めるとこの一言に集約されると思っています。
そのエージェントが「すみません、忘れてました、間違えました」と言って、おしっこを漏らしても、あなたは許容できますか?
許容できるなら、作って、使ってください。エージェンティックで快適なおしっこライフを。
許容できないなら——今まで通り、自分でちゃんと判断して、ちゃんと生きてください。
「間違えたときのダメージ」と「任せることで得られる楽さ」を天秤にかける。漏らされて困るなら、人間が判断したほうがいい。漏れても笑って済むなら、任せればいい。
自律型エージェントを作るというのは、つまるところ「認知を行動を分解して整理してエージェントに任せること」を決めることなんだと思います。技術的に作れるかどうかは、もはや論点ではないのかもしれません。
まとめ
- エージェントは「観測→判断→行動」のループを回しているだけ。人間が無意識にやっていることと同じ
- 身のまわりの「無意識の判断」を分解すると、それがそのままマルチエージェント設計の練習問題になる
- ただし「作れる」と「作るべき」は別物。漏らされて許せるかどうかが、最後の判断基準
皆さんも、身のまわりの「無意識にやっている判断」を一つ、分解してみてはいかがでしょうか。きっと、思っているより多くのエージェントが、あなたの頭の中で働いていることに気づくはずです。
(おしっこに例えて物事をわかりやすく理解する傾向にあります。誰もが経験しているので分かりやすそうに見えて、使いづらいですね。ブログ路を書いたらXにポストしてますが、今回は恥ずかしいのでしません。)
そういえば、この辺りの話は認知タスク分析やReAct という手法らしいです。また研究したい分野が増えてしまいました。本買おうかな・・
