# Agenci

> Wyspecjalizowani agenci realizujący flow oraz zabezpieczenia trzymające ich na właściwym torze.

[Flow](https://pentagi.com/pl/docs/glossary/#flow) jest realizowany przez zespół agentów. Każdy [agent type](https://pentagi.com/pl/docs/glossary/#agent-type) ma własny prompt, ustawienia modelu i [tools](https://pentagi.com/pl/docs/glossary/#tool), dzięki czemu możesz przypisać silniejsze lub tańsze modele do konkretnych ról.

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

| [Agent](https://pentagi.com/pl/docs/glossary/#agent) | Rola                                                                                  |
| ------------------------------ | ------------------------------------------------------------------------------------- |
| `primary_agent`                | Główny agent wnioskujący, który steruje flow                                          |
| `assistant`                    | Tryb interaktywnego [assistant](https://pentagi.com/pl/docs/glossary/#assistant)                            |
| `generator`                    | Dzieli każdy [task](https://pentagi.com/pl/docs/glossary/#task) na [subtasks](https://pentagi.com/pl/docs/glossary/#subtask)      |
| `refiner`                      | Doprecyzowuje plan w miarę napływania wyników                                         |
| `adviser`                      | Eksperckie porady; mentor przy monitorowaniu wykonania i planista przy tworzeniu task |
| `reflector`                    | Koryguje agentów, którzy przestają generować [tool calls](https://pentagi.com/pl/docs/glossary/#tool-call)  |
| `searcher`                     | Zbieranie informacji i wyszukiwanie w sieci                                           |
| `enricher`                     | Zbiera dodatkowy kontekst z pamięci i sandboxa, zanim adviser odpowie                 |
| `coder`                        | Pisze i analizuje kod                                                                 |
| `installer`                    | Instaluje i konfiguruje tools w [sandbox](https://pentagi.com/pl/docs/glossary/#sandbox)                    |
| `pentester`                    | [Pentest](https://pentagi.com/pl/docs/glossary/#pentest) i ocena bezpieczeństwa                             |
| `simple`, `simple_json`        | Generowanie odpowiedzi w postaci zwykłego tekstu i struktury JSON                     |

Dwóch dodatkowych agentów działa w tle: `memorist` odpowiada na pytania innych agentów dotyczące wcześniejszej pracy, korzystając z [memory](https://pentagi.com/pl/docs/glossary/#memory) długoterminowej, a `reporter` spisuje wynik każdego task.

## [Jak delegowana jest praca](https://pentagi.com/pl/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
```

## [Zabezpieczenia](https://pentagi.com/pl/docs/concepts/agents/#safeguards)

* **Limity tool call** (zawsze włączone) — `MAX_GENERAL_AGENT_TOOL_CALLS` (domyślnie 100) ogranicza liczbę tur modelu w łańcuchach `primary_agent`, `assistant`, `pentester`, `coder` i `installer`, a `MAX_LIMITED_AGENT_TOOL_CALLS` (domyślnie 20) ogranicza je dla pozostałych agentów. Jedna tura może wywołać kilka narzędzi. Wartości od 1 do 5 są podnoszone do 6, a 0 lub mniej oznacza wartość domyślną.
* **Wykrywanie powtórzeń** (zawsze włączone) — od trzeciego wywołania z rzędu tego samego tool z tymi samymi argumentami, tool nie jest uruchamiany ponownie: agent otrzymuje poprzednią odpowiedź z prośbą o zmianę kierunku. Siódme takie wywołanie kończy łańcuch.
* **Reflector** (zawsze włączony) — wkracza, gdy model po raz pierwszy odpowie bez tool call, i kieruje agenta z powrotem do jego użycia; po trzech nieudanych rundach łańcuch zostaje zatrzymany.
* **Monitorowanie wykonania** (beta, `EXECUTION_MONITOR_ENABLED`) — dla `primary_agent`, `pentester`, `coder`, `installer` i `assistant`, gdy współpracuje z agentami, adviser działa jako mentor, gdy agent wywołuje ten sam tool `EXECUTION_MONITOR_SAME_TOOL_LIMIT` razy z rzędu (domyślnie 5) lub wykonuje `EXECUTION_MONITOR_TOTAL_TOOL_LIMIT` tool calls od ostatniej porady (domyślnie 10). Wyzwalacz liczy wywołania, a nie wykrywa zastoje; adviser następnie przegląda postępy agenta i rekomenduje, czy kontynuować, zmienić podejście, czy zatrzymać się.
* **Inteligentne planowanie task** (beta, `AGENT_PLANNING_STEP_ENABLED`) — adviser przygotowuje 3–7 konkretnych kroków, zanim specjaliści rozpoczną subtask.

> [!NOTE]
> Monitorowanie wykonania i planowanie task mniej więcej podwajają jakość wyników dla modeli poniżej 32B parametrów, kosztem 2–3× większego zużycia tokenów i czasu. Domyślnie są wyłączone.

W wersji Enterprise planner zawsze działa, a monitorowanie wykonania jest domyślnie włączone z limitami 20 i 40 — zobacz [Agent profiles](https://pentagi.com/pl/docs/enterprise/agent-profiles/#planner-and-execution-monitor).