エージェントに仕事を任せていると、だんだんツールが増えます。検索も、集計も、文章の作成も。するとどのツールを使うべきかの判断を誤りはじめます。
対策として、役割ごとにエージェントを分ける構成があります。今回は数字を出しました。1体で6個のツールを持つ場合と、3体で2個ずつ持つ場合を比べています。選択を誤る確率は16.7%から5.9%になりました。
1体が抱える範囲が狭くなります。持つツールが減り、指示も短くなるため、判断を誤りにくくなります。
マルチエージェント構成とは、役割ごとにエージェントを分ける作り方です。調査する係、集計する係、文章にする係、といった形で担当を決めます。
分ける目的は、1体が考える範囲を狭くすることにあります。持っているツールが少なければ、そこから選ぶ判断も簡単になります。
1つは、順番をあらかじめ決めておく方法です。調査 → 集計 → 執筆、と固定します。手順が決まっている業務ならこれで足ります。
もう1つが、Anthropicがオーケストレーターと呼ぶ形です。中心となるAIがその場で作業を分解し、担当に振り分け、結果をまとめます。
後者が向くのは、必要な作業を事前に予測できない場合だとされています。コードの修正でいえば、何ファイル触ることになるか始める前には分からない、といった状況です。
順番に渡していくだけでなく、同時に走らせる構成もあります。Anthropicは2つの型を挙げています。独立した作業に分けて同時に動かす形と、同じ作業を複数回走らせて結果を突き合わせる形です。
前者は速さのため、後者は精度のための構成になります。目的が違うので、混同しないよう分けて考えます。
体数を増やすと構成としては立派に見えます。ただし増えた分だけ受け渡しと管理が発生します。次の節で利点を数字にしますが、その後に代償も数えます。両方を見てから判断してください。
In the orchestrator-workers workflow, a central LLM dynamically breaks down tasks, delegates them to worker LLMs, and synthesizes their results.原文Anthropic Engineering「Building effective agents」 この内容の有効期限2027-02-17
1体で6個のツールを持つ場合と、3体で2個ずつ持つ場合を計算しました。抱える定義量は半分、選択ミスは3分の1近くになります。
マルチエージェント構成の効果を確かめるため、計算しました。検索・集計・執筆の3種類の作業に、それぞれ2個ずつツールがある想定です。
1体で全部やる場合は6個すべてを持ちます。3体に分ければ、各体は自分の担当の2個だけを持ちます。
1体で全部やる構成と、役割ごとに3体に分ける構成 構成 体数 1体が持つツール 1体が抱える定義 受け渡し 1体 1体 6個 1600tok 0回 3体に分割 3体 2個 800tok 2回 1体が抱える定義の差: 1600tok → 800tok(2.0分の1) ツール1個あたり3%の選択ミスが起きうるとしたときの、1回の選択で誤る確率 1体(6個) : 16.7% 3体(各2個) : 5.9% 分割の代償: 受け渡しが2回発生し、そこで情報が欠ける可能性がある 受け渡し0回の構成 → 0回 受け渡し2回の構成 → 2回
下がりました。16.7%から5.9%です。選択肢が6個から2個に減ったので、そこから誤る余地も小さくなります。
もう1つの効果が、1体が抱える定義量です。ツールの説明文は1個あたり相応の量があるため、6個持つか2個持つかで倍の差が出ます。
この量は毎回送られるので、費用にも効きます。渡す量を減らす考え方はコンテキスト設計の記事で扱っています。
利点だけではありません。3体に分けると、調査から集計へ、集計から執筆へ、と2回の受け渡しが発生します。
受け渡しのたびに、前の担当が持っていた文脈の一部が落ちます。「なぜその資料を選んだのか」といった経緯は、渡す形式に入っていなければ消えます。
分けると選択ミスは減るが、受け渡しが増える。利点と代償はセットで動く。
Sectioning : Breaking a task into independent subtasks run in parallel.原文Anthropic Engineering「Building effective agents」 この内容の有効期限2027-02-17
先に試すべきはツールを減らすことです。それでも多い場合に、役割ごとに分けます。分けること自体が目的にならないようにします。
マルチエージェント構成にするかどうかは、順番が大事です。分ける前に減らせないかを考えます。
前の節の計算は、ツールが6個あることを前提にしていました。しかしその6個が本当に必要かどうかは別の話です。
3番目が効く場合が多いはずです。エージェントを分けなくても、その場面で使えるツールだけ渡すようにすれば、選択肢は減ります。
それでも分ける場合、受け渡す情報の形を先に決めます。自由な文章で渡すと、必要な情報が抜けても気づけません。
項目を決めた形式で渡せば、欠けたときに検出できます。この考え方はエージェントのセキュリティの記事でも扱っている、受け渡しを構造化するという話と同じです。
分ける前に減らせないかを確認する。分けるのは最後の手段。
Anthropicの推奨は一貫しています。可能な限り単純な解を見つけ、必要になったときだけ複雑さを増やす。マルチエージェント構成も、必要になってから採用するものです。
構成が複雑になると、追跡も難しくなります。何体が何をしたかを追う方法はエージェント可観測性の記事で扱っています。
we recommend finding the simplest solution possible, and only increasing complexity when needed原文Anthropic Engineering「Building effective agents」 この内容の有効期限2027-02-17
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る