Как устроен LLM-агент: контекст, инструменты и цикл обратной связи
LLM-агент — это не просто чат-бот, а система с обратной связью. Модель генерирует текст, вызывает инструменты, видит результаты (включая ошибки) и правит ход на следующей итерации. Раньше модель писала код вслепую; теперь она знает, что натворила, и может исправить. Вот базовая архитектура: • **Контекст** — вход модели размером 32K → 1M токенов (индустриальный стандарт) • **Инструменты** (harness) — описываются JSON Schema, вызываются форматом Anthropic или OpenAI Tools API • **MCP** (Model Context Protocol) — стандарт интеграции со сторонними системами через JSON-RPC 2.0 (транспорт: stdin/stdout или HTTP)
AI-обработка оригинала Habr AI; редакция Hamidun News
LLM-агент отличается от генеративной модели циклом обратной связи. Если чат-бот просто генерирует текст, то агент вызывает инструменты, получает результаты и уточняет ответ. Это возможно благодаря специальной архитектуре поверх LLM.
Контекст и основы работы
На вход LLM подаётся блок текста, называемый контекстом. Его размер ограничен: в начале эпохи трансформеров прорывом считались 32K токенов, сейчас 1M — индустриальный стандарт. На основе контекста модель генерирует продолжение — логически завершённый фрагмент, заканчивающийся специальным токеном <stop>. Затем контекст расширяется: к нему добавляется новый фрагмент, и цикл повторяется.
Вызов инструментов и их описание
Модель обучена использовать специальное форматирование для вызова внешних функций. Каждый провайдер реализует это по-своему: Anthropic использует свой формат, OpenAI Tools API воспроизводят Ollama и vLLM. Чтобы модель знала, какие инструменты ей доступны, нужно предварительно их описать в контексте (в «системном промпте») по стандарту JSON Schema — с указанием параметров, их типов, описания и обязательности.
Вот пример описания инструмента проверки доставки (get_delivery_status): имя, описание назначения, schema с полями order_id (обязателен, строка) и detailed (опционален, булево). Имея такие описания в контексте, модель генерирует вызовы в специальном формате (например, Anthropic).
Набор доступных инструментов называют harness («упряжь»). Для описания инструментов, не встроенных в самого агента, используют MCP (Model Context Protocol) — индустриальный стандарт для IPC между агентом и сторонними системами. Обмен идёт по JSON-RPC 2.0, с транспортом либо stdin/stdout локального процесса (аналог FastCGI), либо HTTP для внешних серверов.
Цикл агента, обратная связь и управление контекстом
API LLM-провайдера возвращает типизированные JSON-объекты. Формат различается: OpenAI Tools API — самый распространённый, Ollama и vLLM его воспроизводят, у Anthropic собственный. В ответе (модель claude-sonnet-4-5) вызов приезжает отдельным блоком в массиве content с id, именем и разобранным input-объектом. Признак незавершённого хода — stop_reason: "tool_use".
Результат выполнения возвращается новым сообщением с ролью user и блоком tool_result, который ссылается на id вызова. Если инструмент упал — возвращается флаг is_error с трейсом. Ошибка не прерывает цикл: агент видит, что натворил, и на следующем ходу исправляет. Раньше модель писала код вслепую; теперь видит обратную связь.
Контекст имеет два лимита: формальный (при превышении API вернёт ошибку) и рабочий (объём, на котором качество деградирует). На длинном контексте начало и конец остаются в фокусе, а середина выпадает. Для борьбы используют два приёма:
• Вытеснение в файлы — в контекст помещают только 10–20 строк вывода, остальное пишут во временный файл с путём рядом; модель при необходимости извлечёт нужное отдельным вызовом инструмента. • Компактификация — замена контекста краткой выжимкой через LLM с помощью специального системного промпта, который фиксирует основной запрос, ключевые концепции, технические детали и архитектурные решения.
Вот и вся базовая архитектура агента. Рекомендуется для практики написать агента на сыром API: можно уложиться в 200–300 строк кода и получить инструмент, немногим уступающий Claude Code или Codex. Сила агента определяется в основном силой модели, а не набором инструментов.
- 27 окт. 2026 г.ElevenLabs отдала поддержку ИИ-агенту: 22 000 тикетов в месяц, 65% без людей
- 27 окт. 2026 г.Anthropic советует выкинуть половину сабагентов: один цикл оказался вдвое быстрее
- 27 окт. 2026 г.Fudan и Huawei Xiaoyi научили ИИ-агента писать операторы для Ascend NPU: 95,5% успеха
- 27 окт. 2026 г.EmbodiedLab: роботов проверили на экспериментах, и лучший решил меньше половины
Вопросы и ответы по материалу
Что известно по теме: контекст и основы работы?
На вход LLM подаётся блок текста, называемый контекстом. Его размер ограничен: в начале эпохи трансформеров прорывом считались 32K токенов, сейчас 1M — индустриальный стандарт. На основе контекста модель генерирует продолжение — логически завершённый фрагмент, заканчивающийся специальным токеном <stop>. Затем контекст расширяется: к нему добавляется новый фрагмент, и цикл повторяется.
Что известно по теме: вызов инструментов и их описание?
Модель обучена использовать специальное форматирование для вызова внешних функций. Каждый провайдер реализует это по-своему: Anthropic использует свой формат, OpenAI Tools API воспроизводят Ollama и vLLM. Чтобы модель знала, какие инструменты ей доступны, нужно предварительно их описать в контексте (в «системном промпте») по стандарту JSON Schema — с указанием параметров, их типов, описания и обязательности. Вот пример описания инструмента проверки доставки (get_delivery_status): имя, описание назначения, schema с полями order_id (обязателен, строка) и detailed (опционален,
Что известно по теме: цикл агента, обратная связь и управление контекстом?
API LLM-провайдера возвращает типизированные JSON-объекты. Формат различается: OpenAI Tools API — самый распространённый, Ollama и vLLM его воспроизводят, у Anthropic собственный. В ответе (модель claude-sonnet-4-5) вызов приезжает отдельным блоком в массиве content с id, именем и разобранным input-объектом. Признак незавершённого хода — stop_reason: "tool_use". Результат выполнения возвращается новым сообщением с ролью user и блоком tool_result, который ссылается на id вызова. Если инструмент упал — возвращается флаг is_error с трейсом. Ошибка не прерывает цикл: агент види
От чтения про ИИ-агентов — к запуску своего агента за вечер
Пошаговая сборка автономных агентов и MCP-связок в Hamidun Academy (academy.hamidun.com) (72 часа бесплатно) или мгновенный запуск готовых мультишаговых агентов в облаке Nomad.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.