# ИИ-агент

> Система на основе языковой модели, которая самостоятельно планирует и выполняет многошаговые задачи, вызывая инструменты и наблюдая результаты, пока цель не достигнута.

Источник: https://llmdocs.ru/wiki/ai-agent/ · обновлено 2026-11-09 · лицензия CC BY-SA 4.0

- **Основа**: большая языковая модель
- **Ключевой механизм**: цикл «рассуждение — действие — наблюдение»
- **Действия**: вызов инструментов (tool use), API, код, браузер, файлы
- **Протоколы**: Model Context Protocol (MCP)
- **Примеры**: агенты для кода, исследовательские агенты, управление компьютером
- **Риски**: ошибки на длинных цепочках, prompt injection, лишние права
**ИИ-агент** — система на основе [языковой модели](https://llmdocs.ru/wiki/llm.md), которая не просто отвечает на один вопрос, а сама ведёт многошаговую работу: планирует, вызывает инструменты — поиск, API, выполнение кода, работу с файлами, — смотрит на результаты и решает, что делать дальше, пока задача не будет выполнена. В классическом определении искусственного интеллекта агент — это всё, что воспринимает среду и действует в ней;[6] LLM-агенты используют языковую модель как «мозг», принимающий решения.

Агенты применяются для написания и исправления кода ([Агенты для кода](https://llmdocs.ru/wiki/coding-agents.md)), исследования и сбора информации, обработки документов, поддержки клиентов и управления компьютером через интерфейс.

## Агентный цикл

В основе почти любого агента — простой цикл:

1. Модель получает цель, инструкции, описание доступных инструментов и историю предыдущих шагов.
2. Модель рассуждает и выбирает действие — вызов инструмента с аргументами — или решает, что задача выполнена.
3. Программа-оркестратор выполняет вызов ([Tool use / function calling](https://llmdocs.ru/wiki/tool-use.md)) и возвращает результат модели.
4. Результат добавляется в контекст, и цикл повторяется.

Подход, чередующий рассуждения и действия, описан в работе ReAct (2022).[2] Ранее Toolformer показал, что модели могут научиться сами решать, когда вызывать внешние инструменты.[3]

```python
messages = [{"role": "user", "content": task}]
while True:
    resp = client.messages.create(model=MODEL, tools=TOOLS, messages=messages, max_tokens=4096)
    messages.append({"role": "assistant", "content": resp.content})
    if resp.stop_reason != "tool_use":
        break                                         # модель дала финальный ответ
    results = [
        {"type": "tool_result", "tool_use_id": b.id, "content": run_tool(b.name, b.input)}
        for b in resp.content if b.type == "tool_use"
    ]
    messages.append({"role": "user", "content": results})
```

## Агенты и рабочие процессы

Anthropic в руководстве «Building effective agents» разделяет два типа систем:[1]

- **Рабочие процессы** (*workflows*) — шаги заранее заданы кодом: цепочка запросов, маршрутизация по типу задачи, параллельная обработка, схема «исполнитель и проверяющий». Предсказуемы и дёшевы.
- **Агенты** — модель сама решает, какие шаги делать и в каком порядке. Гибки, но дороже, медленнее и менее предсказуемы.

Главный совет — начинать с самого простого решения: часто одного хорошо составленного запроса с [RAG](https://llmdocs.ru/wiki/rag.md) достаточно, рабочий процесс нужен для чётко структурированных задач, а агент — когда шаги невозможно предсказать заранее.

## Составные части

| Компонент | Назначение |
|---|---|
| Модель | рассуждение и выбор действий |
| Инструменты | поиск, чтение и запись файлов, выполнение команд, API, браузер |
| Память | контекст диалога, заметки в файлах, базы знаний |
| Оркестратор | цикл вызовов, ограничения, обработка ошибок |
| Окружение | песочница, где выполняются действия |
| Ограждения | права доступа, подтверждения, лимиты шагов и бюджета |

Подключать инструменты и источники данных к разным агентам позволяет открытый протокол [MCP](https://llmdocs.ru/wiki/mcp.md): один сервер — например, доступ к базе данных или документации — работает с любым совместимым клиентом.[5]

## Мультиагентные системы

Сложные задачи иногда делят между несколькими агентами: оркестратор разбивает работу и раздаёт подзадачи исполнителям, каждый со своим контекстом и инструментами. Это позволяет работать параллельно и не перегружать [контекстное окно](https://llmdocs.ru/wiki/context-window.md) одного агента, но многократно увеличивает расход токенов и усложняет отладку. Оправдано, когда подзадачи действительно независимы.

## Оценка

Качество агентов измеряют на задачах с проверяемым результатом. Бенчмарк SWE-bench предлагает исправлять реальные ошибки из открытых репозиториев на GitHub, а правильность проверяется тестами проекта.[4] Для своих агентов собирают набор характерных задач и отслеживают долю успешных выполнений, число шагов и стоимость (см. [Оценка LLM (evals)](https://llmdocs.ru/wiki/llm-evals.md)).

## Риски и ограничения

- **Накопление ошибок.** Каждый шаг может ошибиться, и на длинных цепочках ошибки складываются; агенту нужна возможность проверять себя — тесты, линтеры, сверка с источником.
- **Prompt injection.** Агент читает внешние данные — веб-страницы, письма, документы, — в которых могут быть вредоносные инструкции (см. [Безопасность LLM: prompt injection](https://llmdocs.ru/wiki/prompt-injection.md)).
- **Лишние права.** Агенту стоит давать минимальные необходимые полномочия ([Принцип наименьших привилегий](https://llmdocs.ru/wiki/least-privilege.md)), выполнять код в изолированной среде и требовать подтверждения человеком для необратимых действий: удаления данных, платежей, отправки сообщений.
- **Стоимость и время.** Десятки вызовов модели на задачу; помогают кэширование, лимиты шагов и более дешёвые модели для простых подзадач.

## См. также

- [Tool use / function calling](https://llmdocs.ru/wiki/tool-use.md)
- [Model Context Protocol (MCP)](https://llmdocs.ru/wiki/mcp.md)
- [Агенты для кода](https://llmdocs.ru/wiki/coding-agents.md)
- [Безопасность LLM: prompt injection](https://llmdocs.ru/wiki/prompt-injection.md)
- [Промпт-инжиниринг](https://llmdocs.ru/wiki/prompt-engineering.md)

## Источники

1. [Anthropic — Building effective agents (2024)](https://www.anthropic.com/engineering/building-effective-agents)
2. [S. Yao et al. — ReAct: Synergizing Reasoning and Acting in Language Models (2022)](https://arxiv.org/abs/2210.03629)
3. [T. Schick et al. — Toolformer: Language Models Can Teach Themselves to Use Tools (2023)](https://arxiv.org/abs/2302.04761)
4. [C. Jimenez et al. — SWE-bench: Can Language Models Resolve Real-World GitHub Issues? (2023)](https://arxiv.org/abs/2310.06770)
5. [Model Context Protocol — Specification](https://modelcontextprotocol.io/specification)
6. [S. Russell, P. Norvig — Artificial Intelligence: A Modern Approach](https://aima.cs.berkeley.edu/)
