/
Вопросы и ответы
/
Вайбкодинг
/

Как устроены ИИ-агенты изнутри?

Как устроены ИИ-агенты изнутри?

10 часов назад

Никита Вихров

Ответы

0

Как устроены ИИ-агенты изнутри

Агент — это не магия. Это языковая модель в цикле с доступом к инструментам. Понимание архитектуры помогает строить надёжных агентов и отлаживать их когда что-то идёт не так.

Основной цикл агента

while задача не выполнена: 1. модель получает: задачу + историю + результаты инструментов 2. модель решает: вызвать инструмент или дать финальный ответ 3. если инструмент — выполняем, добавляем результат в историю 4. если финальный ответ — возвращаем пользователю

Этот цикл называется ReAct (Reasoning + Acting): модель рассуждает о следующем шаге, действует, наблюдает результат, рассуждает снова.

Из чего состоит агент

Системный промпт — задаёт роль, доступные инструменты, ограничения и формат работы. Это основа поведения агента.

История (memory) — все предыдущие шаги: промпты, вызовы инструментов, результаты. Модель видит всю историю при каждом шаге. Чем длиннее история — тем больше токенов и дороже каждый шаг.

Инструменты (tools) — функции с описанием. Модель видит список инструментов и их параметры, сама решает что и когда вызывать.

Оркестратор — код, который запускает цикл, вызывает инструменты и передаёт результаты обратно модели.

Пример: агент для анализа кода

Инструменты: - read_file(path) → содержимое файла - list_files(dir) → список файлов - run_tests() → результат тестов - create_issue(title, body) → создать задачу в GitHub Задача: найди все места где нет обработки исключений и создай задачи Шаг 1: list_files("src/") → ["auth.py", "api.py", "db.py"] Шаг 2: read_file("src/auth.py") → [содержимое] Шаг 3: read_file("src/api.py") → [содержимое] Шаг 4: read_file("src/db.py") → [содержимое] Шаг 5: create_issue("Нет обработки исключений в auth.py:34", "...") Шаг 6: create_issue("Нет обработки исключений в db.py:89", "...") Финальный ответ: найдено 2 проблемы, созданы задачи #12 и #13

Главные проблемы при построении агентов

Бесконечные циклы: агент застрял и повторяет одно и то же. Решение: лимит на количество шагов, детектор повторяющихся действий.

Раздутый контекст: история становится огромной, токены и деньги тратятся впустую. Решение: суммаризация истории, хранение только релевантных шагов.

Галлюцинации в вызовах инструментов: модель вызывает инструмент с несуществующими параметрами. Решение: строгая валидация входных данных перед выполнением.

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

Когда агент, а когда просто промпт

Агент нужен когда:

  • задача требует нескольких шагов, которые зависят друг от друга
  • нужно работать с внешними системами (файлы, API, БД)
  • количество шагов заранее неизвестно

Простой промпт достаточен когда:

  • задача решается за один шаг
  • всё что нужно — уже есть в контексте
  • результат легко проверить вручную

Если коротко: агент — это модель в цикле с инструментами и памятью. Чем чище разделены роль, инструменты и история — тем предсказуемее поведение агента.

10 часов назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845