> For the complete documentation index, see [llms.txt](https://docs.maiagent.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maiagent.ai/maiagent-user-guide/ja/teams/teams.md).

# Agent Teams とは？

複数の専門分野を持つ AI アシスタントを1つの協力チームに編成し、「ハンドオフ」と「デリゲート」で自動的に分業します。ユーザーは1つのエントリポイントと対話するだけで、システムが最適なアシスタントに問題を振り分けます。

## <mark style="color:blue;">一、Agent Teams とは？</mark> <a href="#what-is-teams" id="what-is-teams"></a>

これまで1つの AI アシスタントがすべてを担当していました。カスタマーサポートの振り分け、注文照会、返品・交換、商品レコメンドなど、すべてを同じシステムプロンプト、同じナレッジベース、同じツールに詰め込んでいました。タスクが増えると、この「万能アシスタント」は対応しきれなくなります——システムプロンプトが長すぎ、ナレッジベースが互いに干渉し、コストも下がりません。

**Agent Teams は「1人のジェネラリスト」を「複数のスペシャリスト」に置き換えることを可能にします。** 複数の既存 AI アシスタントを1つのチームに編成し、各アシスタントがそれぞれの役割を担います（例：振り分けアシスタント、注文アシスタント、返品・交換アシスタント、レコメンドアシスタント）。そしてビジュアルキャンバスで「いつ、誰に問題を渡すか」を定義します。

ユーザーには**1つの対話エントリポイント**だけが見えます。裏側では、チームが自動的に最適なアシスタントに問題をルーティングして回答します。まるで1つの専門チーム全体とやり取りしているかのようです。

{% hint style="success" %}
**あなたにとっての価値：** 各アシスタントは独立したナレッジベース、ツール、モデル設定を保持し、互いに干渉しません。実際に問題を処理するアシスタントだけが関連コンテンツを読み込むため、トークンを節約でき、各アシスタントがより集中して正確に回答できます。新しいビジネスシナリオを追加する際は、アシスタントノードを1つ追加してエッジを1本引くだけで、既存のアシスタントを書き直す必要はありません。
{% endhint %}

## <mark style="color:blue;">二、「単一アシスタント＋スキル」との違い</mark> <a href="#vs-single-agent" id="vs-single-agent"></a>

| 観点       | 単一アシスタント（スキル含む）          | Agent Teams                       |
| -------- | ------------------------ | --------------------------------- |
| 分業       | 1つのアシスタントがすべてのシナリオを処理    | 複数のアシスタントがそれぞれの専門分野を担当            |
| ナレッジとツール | すべてを同じアシスタントに集約し、干渉しやすい  | 各アシスタントが独自のナレッジベース、ツール、モデルを保持     |
| モデルコスト   | 1つのモデルですべてのタスクに対応        | 簡単なタスクには軽量モデル、複雑な判断には高性能モデルを個別に設定 |
| 協力方式     | アシスタント間のハンドオフやデリゲートは不可   | アシスタント間の**ハンドオフ**と**デリゲート**に対応    |
| 拡張       | 新しいシナリオは既存アシスタントの設定変更が必要 | ノード1つとエッジ1本を追加するだけ                |

## <mark style="color:blue;">三、3つのインタラクション方式：ハンドオフ、デリゲート、自動</mark> <a href="#interaction-types" id="interaction-types"></a>

チーム内のアシスタントは\*\*エッジ（有向矢印）\*\*を通じて協力します。各エッジにはインタラクション方式を設定でき、「相手に渡った後、制御権がどう移るか」を決定します。以下の3つの方式を、図と合わせてご理解ください。

### ハンドオフ <a href="#type-handoff" id="type-handoff"></a>

ハンドオフは対話全体の制御権を**渡す**ことです。ソースアシスタントがこの件は他の担当者が処理すべきと判断すると、対話をターゲットアシスタントに渡し、ターゲットが**引き継いで**ユーザーとの対話を続けます——カスタマーサポートが電話を別の部署に転送し、以降は引き継いだ担当者が対応するようなものです。

**適するシナリオ**：それぞれの役割を持つ並列分業。例えば、振り分けアシスタントがユーザーの意図を判断した後、対話を注文照会アシスタントまたは返品・交換アシスタントにハンドオフして処理を引き継ぎます。

### デリゲート <a href="#type-delegate" id="type-delegate"></a>

デリゲートはサブタスクを**外部委託**することです。ソースアシスタントがターゲットアシスタントにある件の処理を依頼し、ターゲットアシスタントが完了後に**結果を返却**します。制御権はソースアシスタントに残ったままです——同僚にデータの調査を依頼し、報告を受けた後、最終的にあなたが取りまとめて回答するようなものです。

**適するシナリオ**：階層的な協力。例えば、カスタマーサポートアシスタントが在庫確認の要望を受け、倉庫アシスタントにデリゲートして在庫を照会させた後、カスタマーサポートアシスタントが取りまとめて顧客に回答します。

### 自動（デフォルト） <a href="#type-auto" id="type-auto"></a>

自動は、AI が**その時の状況に応じて**ハンドオフかデリゲートかを自動判断する方式です。どちらを使うべきか分からない場合や、柔軟性を残したい場合に使用します。

### 3つの方式のコミュニケーション量とコストの違い <a href="#cost-comparison" id="cost-comparison"></a>

複数のアシスタントが協力する際、最も多い懸念は「**トークンコストが制御不能にならないか？**」ということです。重要なのは、3つの方式で「アシスタント間で受け渡されるコンテンツ量」が異なることです。

| 観点                   | ハンドオフ                                  | デリゲート                                                             | 自動                        |
| -------------------- | -------------------------------------- | ----------------------------------------------------------------- | ------------------------- |
| **制御権**              | ターゲットアシスタントに引き継ぎ                       | ソースアシスタントに残る                                                      | AI がその場で判断                |
| **アシスタント間で受け渡される内容** | ターゲットアシスタントが引き継ぐ際、それまでの対話コンテキストを読み込む   | ソースアシスタントは「1つのサブタスク」のみをターゲットに渡し、範囲が簡潔で明確                          | その場の選択次第                  |
| **トークン／コスト特性**       | 対話の長さとハンドオフ回数に応じて増加。同時に稼働するアシスタントは1つだけ | 元のターンに加えてサブアシスタントが追加実行（LLM 呼び出しが1回追加）されるが、サブアシスタントへの入力は簡潔で範囲が制御可能 | 選択された方式に依存するため、事前の見積もりが困難 |
| **予測可能性**            | 中                                      | 高（タスク範囲が明確）                                                       | 低（状況により変動）                |

{% hint style="success" %}
**コストは制御可能であり、観測もできます。** チームには複数の安全策が組み込まれています：

* **最大イテレーション数**（デフォルト `25`）：1回の対話中にアシスタント間で最大何回やり取りできるかを制限し、無限ループを防ぎます。
* **全体トークン上限**（デフォルト `200000`）：チーム全体で1つのメッセージを処理する際のトークン予算上限です。
* **タイムアウト秒数**、および各ノードで個別に設定できる**1回の呼び出しごとのトークン上限**。
* **コンテキスト戦略**：あるノードの〈元のユーザー入力を表示〉をオフにすると、そのアシスタントは上流で整理された要約のみを受け取り、完全な対話は受け取らないため、トークンをさらに節約できます。
* **実行記録**：各実行でトータルトークンと**各アシスタントのコスト内訳**が記録され、どのアシスタントにどれだけかかったかが一目瞭然です（[チーム実行記録](/maiagent-user-guide/ja/teams/traces.md)を参照）。
  {% endhint %}

{% hint style="info" %}
**対話は「現在誰が対応しているか」を記憶します。** ハンドオフ後、引き継いだアシスタントがその後の対話を続けます。再度ハンドオフが必要と判断するまで、次のメッセージでエントリに戻って振り分けし直すことはありません。
{% endhint %}

## <mark style="color:blue;">四、代表的な活用シナリオ</mark> <a href="#scenarios" id="scenarios"></a>

* **EC カスタマーサポートチーム**：振り分けアシスタントが意図を判断 → 注文／返品・交換／レコメンドアシスタントに**ハンドオフ**し、各アシスタントが自身のナレッジベースとツールで処理します。
* **社内問い合わせ**：HR アシスタント＋IT アシスタント＋財務アシスタントが、従業員の質問に応じて自動的に対応窓口に振り分けます。
* **テクニカルサポートチーム**：L1 アシスタントが初期調査 → L2 アシスタントに**デリゲート**して詳細分析 → 結果を L1 に返却して取りまとめて回答します。

## <mark style="color:blue;">五、動作原理（コンセプト）</mark> <a href="#how-it-works" id="how-it-works"></a>

Agent Teams は**有向グラフ**でチームを記述します：

* **ノード（アシスタント）**：グラフ上の各ノードは既存の AI アシスタントであり、独自のシステムプロンプト、ナレッジベース、ツール、モデルを持っています。
* **エントリノード**：チームがメッセージを受信した際、このノードから対話の処理を開始します。1つのチームにはエントリノードが1つだけ存在します。
* **エッジ（有向矢印）**：「どのアシスタントから、どの条件で、どのインタラクション方式で、どのアシスタントに渡すか」を定義します。
* **セーフガード**：チーム全体に最大イテレーション数、全体トークン上限、タイムアウト秒数の上限があり、アシスタント間の無限ループを防ぎます。

チームを作成すると、システムが自動的にそのチーム用の**エントリアシスタント**と対応する **Web Chat 対話プラットフォーム**を作成します。対話プラットフォームを通じてチーム全体と直接対話できます。

## <mark style="color:blue;">六、次のステップ</mark> <a href="#next-steps" id="next-steps"></a>

* チームの作成を始めたい方は [チームの作成と編成](/maiagent-user-guide/ja/teams/setup.md) をご覧ください——新しいチームの作成、アシスタントノードのドラッグ、エッジの設定とインタラクション方式、エントリの指定、対話の開始方法を説明しています。
* チームの動作を確認したい方は [チーム実行記録](/maiagent-user-guide/ja/teams/traces.md) をご覧ください——各実行でどのアシスタントを経由したか、それぞれのトークン消費量、所要時間を確認できます。

{% hint style="info" %}
**前提条件：** Agent Teams は MaiAgent がお客様の組織向けに有効化する必要があります。管理画面の〈AI 機能〉の下に〈チーム〉メニューが表示されない場合は、MaiAgent チームにお問い合わせください。
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.maiagent.ai/maiagent-user-guide/ja/teams/teams.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
