agents — агенты: модель, которая вызывает инструменты¶
Клиент, который гоняет модель в цикле и сам дёргает тулы. Архитектурно — это всё ещё слой 3 (клиент), а не что-то «над» ним.
Обычный клиент: вы спросили — модель ответила — всё, разговор закончился.
Агент — это когда модель может сама ходить и что-то делать, а не только говорить. Примерно так:
- Вы: «Добавь логирование в файл X».
- Агент думает: «Надо открыть файл, посмотреть что там, добавить строчку».
- Агент берёт инструмент «открыть файл» и смотрит.
- Агент берёт инструмент «редактировать файл» и пишет туда код.
- Агент берёт инструмент «запустить тесты» и проверяет, что ничего не сломалось.
- Агент: «Готово, тесты зелёные».
flowchart TB
U["👤 «Добавь логирование в файл X»"] --> A["🤖 Агент"]
A -->|"что делать дальше?"| M["LLM-сервер"]
M -->|"«открой файл X»"| A
A -->|"выполняет"| T["🔧 Инструменты<br/>файлы · команды · интернет"]
T -->|"результат"| A
A -->|"вот что получилось, дальше?"| M
M -->|"«готово, тесты зелёные»"| U
Ключевое отличие от чата: у агента есть «руки» — он может дёргать настоящие функции в вашем компьютере: читать файлы, запускать команды, делать HTTP-запросы, кликать в браузере. А LLM-мозг решает, какой инструмент и когда взять.
Важно: агент — это всё ещё тот же клиент к LLM-серверу. Он не «повыше» клиента, а просто клиент, который умеет гонять модель в цикле и сам дёргать тулы. Claude Code, Cursor Agent, Zed Agent — все они шлют запросы на api.anthropic.com или api.openai.com, ровно как обычный чат.
Когда клиент умеет не только слать текст и показывать ответ, а ещё и сам в цикле:
- спросить модель: «что делать дальше?»;
- выполнить действие в реальном мире (прочитать файл, запустить тест, дёрнуть API);
- скормить результат обратно в модель;
- повторить, пока модель не скажет «готово»,
— это уже агент. И архитектурно это тот же слой 3, что и обычный клиент — он так же ходит к LLM-серверу по тому же API, просто в цикле и с вызовом тулов.
flowchart LR
subgraph loop["Агентный цикл (ReAct)"]
direction TB
TH["Thought: модель решает шаг"] --> AC["Action: tool call<br/>read_file · run_command · http"]
AC --> OB["Observation: результат тула<br/>→ обратно в контекст"]
OB --> TH
end
loop -->|"пока модель не скажет stop"| DONE["Финальный ответ"]
Примеры:
- Claude Code, Cursor Agent, Zed Agent, GitHub Copilot (agent mode) — кодинг-агенты: редактируют код, гоняют тесты, делают коммиты.
- Computer Use от Anthropic, Operator от OpenAI — агенты, которые управляют браузером/компьютером.
- Devin, Replit Agent — агенты, которые берут тикет и пилят его до PR.
Архитектурно у любого агента есть:
- Мозг — LLM-модель через сервер (страницы llm-model.md и llm-server.md). Та же модель, тот же сервер, что и у обычного чата.
- Инструменты (tools) — функции, которые модель может попросить вызвать:
read_file,edit_file,run_command,grep, ... - Цикл рассуждений — обычно вариант ReAct: модель генерирует
Thought → Action → Observation → Thought → .... - Политика и safety — лимиты на вызовы, песочница для shell, требования на подтверждение деструктивных действий.
То есть агент — это клиент из client.md + способность гонять модель в цикле с реальными эффектами, а не отдельный слой над клиентом.
Связанные страницы¶
- overview.md — слоистая картина целиком
- agent-loop.md — как агент работает под капотом: запросы, tool calls, цикл
- client.md — обычный клиент
- mcp.md — как агент получает инструменты стандартным способом
- ../practices/install-agents.md — какие агенты бывают и как их поставить
- further-reading.md — что почитать