# Agents

> Flowを支える専門agentsと、それらを正しく制御するセーフガード。

[Flow](https://pentagi.com/ja/docs/glossary/#flow)は[agents](https://pentagi.com/ja/docs/glossary/#agent)チームによって実行されます。各[agent type](https://pentagi.com/ja/docs/glossary/#agent-type)には固有のプロンプト、モデル設定、[tools](https://pentagi.com/ja/docs/glossary/#tool)が備わっているため、役割に応じてより高性能なモデルや低コストなモデルを割り当てることができます。

## [Agent types](https://pentagi.com/ja/docs/concepts/agents/#agent-types)

| Agent                   | 役割                                                                                                      |
| ----------------------- | ------------------------------------------------------------------------------------------------------- |
| `primary_agent`         | Flowを推進するメインの推論agent                                                                                    |
| `assistant`             | インタラクティブ[assistant](https://pentagi.com/ja/docs/glossary/#assistant)モード                                                       |
| `generator`             | 各[task](https://pentagi.com/ja/docs/glossary/#task)を[subtask](https://pentagi.com/ja/docs/glossary/#subtask)に分割                                     |
| `refiner`               | 結果が入るにつれて計画を精緻化                                                                                         |
| `adviser`               | 専門的な助言；実行監視におけるメンターおよびtask計画におけるプランナー                                                                   |
| `reflector`             | [Tool calls](https://pentagi.com/ja/docs/glossary/#tool-call)を行わなくなったagentsを修正                                                |
| `searcher`              | 情報収集とWeb検索                                                                                              |
| `enricher`              | adviser が回答する前に、[memory](https://pentagi.com/ja/docs/glossary/#memory) と [sandbox](https://pentagi.com/ja/docs/glossary/#sandbox) から追加のコンテキストを収集します |
| `coder`                 | コードの記述と分析                                                                                               |
| `installer`             | Sandbox内でのtoolsのインストールとセットアップ                                                                           |
| `pentester`             | [Pentest](https://pentagi.com/ja/docs/glossary/#pentest)とセキュリティ評価                                                             |
| `simple`, `simple_json` | プレーンおよびJSON構造化された補完                                                                                     |

さらに2つのagentsがバックグラウンドで動作します。`memorist`はlong-term memoryから過去の作業に関する他のagentsの質問に答え、`reporter`は各taskの結果を書き上げます。

## [作業の委任方法](https://pentagi.com/ja/docs/concepts/agents/#how-work-is-delegated)

```mermaid
sequenceDiagram
  accTitle: How a task is split into subtasks and the primary agent delegates each step to specialist agents through shared memory
  participant G as Generator
  participant O as Primary agent
  participant M as Memorist
  participant S as Specialists
  participant V as Vector store
  G->>O: Subtasks of the task
  O->>M: Past work, when the context lacks it
  M->>V: Search memory
  O->>S: Delegate a step to the searcher, pentester, coder or installer
  S->>V: Store tool results
  S-->>O: Result
```

## [セーフガード](https://pentagi.com/ja/docs/concepts/agents/#safeguards)

* **Tool call制限**（常に有効）— `MAX_GENERAL_AGENT_TOOL_CALLS`（デフォルト 100）は、`primary_agent`、`assistant`、`pentester`、`coder` および `installer` のチェーンにおけるモデルのターン数を上限とし、`MAX_LIMITED_AGENT_TOOL_CALLS`（デフォルト 20）は他の agent に対する上限を設定します。1回のターンで複数の tool を呼び出すことができます。1から5までの値は6に引き上げられ、0以下はデフォルトを意味します。
* **繰り返し検出**（常に有効）— 同じ引数で同じ tool への連続した呼び出しが3回目以降になると、その tool は再度実行されません。agent には以前の回答が返され、方針を変更するよう求められます。このような呼び出しが7回目に達すると、チェーンは終了します。
* **Reflector**（常に有効）— モデルがtool callを行わずに回答した際に即座に介入し、agentをtool callへ誘導します。3ラウンド連続で失敗した場合、チェーンは停止します。
* **実行監視**（ベータ版、`EXECUTION_MONITOR_ENABLED`）— `primary_agent`、`pentester`、`coder`、`installer`、および agent と連携して動作する場合の`assistant`において、adviser は agent が同じ tool を連続して `EXECUTION_MONITOR_SAME_TOOL_LIMIT` 回呼び出したとき（デフォルト 5）、または前回のアドバイス以降に `EXECUTION_MONITOR_TOTAL_TOOL_LIMIT` 回の tool call を行ったとき（デフォルト 10）にメンターとして機能します。このトリガーは停滞を検出するのではなく呼び出しをカウントし、その後 adviser が agent の進捗を確認して、続行するか、アプローチを変更するか、停止するかを推奨します。
* **インテリジェントtask計画**（ベータ版、`AGENT_PLANNING_STEP_ENABLED`）— スペシャリストがsubtaskを開始する前に、adviserが3〜7の具体的なステップを起草します。

> [!NOTE]
> 実行監視とtask計画は、32Bパラメータ未満のモデルにおいて結果の品質をおよそ2倍に向上させますが、トークン消費量と時間が2〜3倍増加します。これらはデフォルトでは無効になっています。

Enterprise では、planner は常に実行され、実行監視はデフォルトで有効になっており、制限値は 20 および 40 です — [Agent profiles](https://pentagi.com/ja/docs/enterprise/agent-profiles/#planner-and-execution-monitor) を参照してください。