Macha
Macha の基本概念

サブエージェント

定義

Macha におけるサブエージェントとは、親エージェントが処理を委任できるエージェントです。割り当てられたサブエージェントは、親から見ると呼び出し可能なツールとして現れます。親はタスクを渡し、結果を受け取り、それを自分の返答に織り込みます。

別名: 専門エージェント子エージェント委任先エージェント

仕組み

まず、役割を絞った専門エージェントを作ります。請求用、配送用、技術用といった具合に、それぞれ独自の指示、モデル、コネクタ、ナレッジを持たせます。次にそれらを親(ルーティング)エージェントに割り当て、どんなときに委任するかを親の指示文に書きます。実行時には、各サブエージェントが親から呼び出せるツールとして現れ、委任するかどうか、どんなタスクを渡すか、返ってきた結果をどう使うかは親が判断します。

エンドユーザーから見ると委任は意識されません。相手は 1 つのエージェントと話しているだけです。サブエージェントの実行はすべて、引き継ぎメッセージ、各ツールの呼び出しと結果、サブエージェントの最終的な返答を示す展開可能なカードとしてその場に記録されるため、自律実行でも監査可能な状態が保たれます。

権限とガードレール

サブエージェントの権限は、親がどのモードで動いているかによって変わります。対話チャットではサブエージェントは読み取り専用で、書き込みには必ず人間が関与します。自律モード(親がトリガーで起動した場合)では、その場に人間がいないため、サブエージェントも書き込みを実行できます。

  • 深さの上限: サブエージェントのネストは 3 階層まで(A が B を呼び、B が C を呼ぶ)
  • 循環参照は禁止。A が B のサブエージェントなら、B を A のサブエージェントにはできない
  • 各エージェントの指示を絞ったまま保てるため、テストしやすく信頼しやすい

よくある質問

サブエージェントと 1 つの大きなエージェントは何が違いますか?

1 つのエージェントは、肥大化した 1 つのプロンプトであらゆるケースを処理します。サブエージェントは仕事を役割ごとの専門エージェントに分け、親がそこへ委任します。複雑さが増しても精度を保ちやすいのは後者です。

サブエージェントは自分で操作を実行できますか?

自律モードのときだけです。親が対話的に動いている間、サブエージェントは読み取り専用で、書き込みには人間の確認が入ります。親がトリガーで動いているときは、サブエージェントも書き込みを実行できます。

関連用語

アイデアを実装に

Macha は既に運用中のヘルプデスク (Zendesk、Freshdesk、Front、Intercom、Gorgias) の上に載る AI エージェント層です。

トライアルを開始