qvib.pro
EN

~3 мин чтения · новичок

Что такое AI-кодинг-агент (и чем отличается от чат-бота)

Коротко

Чат-бот (обычный ChatGPT-подобный чат) отвечает вам текстом. Вы спросили — он написал совет или кусок кода. Что делать с этим текстом дальше — ваша забота: скопировать, вставить, запустить, проверить.

Чат-ботОтвечает текстомНе видит ваших файловОдин ответ — и всёКодинг-агентЧитает и пишет файлы, запускает командыРаботает циклом: сделал → проверилДоводит задачу до результата
Чат-бот отвечает текстом — агент действует в цикле до результата

AI-кодинг-агент (Claude Code, Cursor, Copilot через AGENTS.md) — это модель с руками. У него есть инструменты: читать файлы вашего проекта, искать по коду, редактировать файлы, запускать команды в терминале, гонять тесты. Он не просто советует — он действует в цикле: сделал шаг → посмотрел результат → сделал следующий.

Простая аналогия. Чат-бот — консультант по телефону: расскажет, как поменять колесо. Агент — механик, который берёт ключ и меняет колесо сам, сверяясь по ходу.

Почему это важно

У рук есть цена. Раз агент может сам менять файлы и запускать команды — он может и сам что-то сломать: перезаписать чужой код, удалить нужное, выполнить опасную команду, «починить одно, сломав соседнее». Чат-бот максимум даст плохой совет — вы его не обязаны исполнять. Агент исполняет сам.

Поэтому голого агента мало. Ему нужны три вещи, которых у чат-бота нет:

  1. Правила — что можно, что нельзя, какие инварианты держать всегда.
  2. Проверка — кто-то (или что-то) должен убедиться, что шаг не сломал соседнее.
  3. Предохранитель — жёсткий стоп перед необратимым.

Именно это добавляет движок поверх агента.

Когда это нужно

  • Одноразовый вопрос «как написать регулярку» — хватит и чат-бота.
  • Работа внутри реального проекта, где есть существующий код, база данных, пользователи — нужен агент, и обязательно с дисциплиной.

Как это выглядит в qvib.pro: вход → что делает движок → результат

Движок Quest — это «прошивка дисциплины» для вашего агента. Он не заменяет агента, он делает его надёжным.

Вход (одна фраза агенту, у которого уже установлен движок):

«Почини баг: при удалении задачи иногда падает 500.»

Что делает агент С движком (в отличие от голого агента, который сразу лезет править первое подозрительное место):

  1. Роль дебаггера воспроизводит баг — сначала failing-тест или точные шаги, для прода — трейс из Sentry. Никаких правок «наугад» до воспроизведения.
  2. Ищет корень, а не симптом, и грепом находит ВСЕ места того же класса ошибки — чтобы не залатать один экземпляр и оставить три соседних.
  3. Минимальный фикс + регрессионный тест, который был красным до и зелёный после — доказательство, что баг действительно закрыт.
  4. Предохранитель на месте. Если по ходу агент решит выполнить git reset --hard или DROP TABLE, hook-guard блокирует это ещё до запуска (в Claude Code — жёстко, кодом возврата).
  5. Второй голос-скептик проверяет: сигнатура функции не поменялась так, что сломались её вызовы? Обработка ошибок на месте? Прогоняет verify сам.

Результат:

Баг закрыт в корне, весь класс проблемы вычищен, есть регресс-тест, соседний код не сломан — и всё это с доказательством, а не «вроде поправил».

Честно про границы

  • Инструменты агента — это инструменты вашего клиента (Claude Code / Cursor / VS Code). Движок не даёт агенту новые руки; он даёт ему дисциплину, роли и правила, как этими руками пользоваться.
  • Секреты. Движок никогда не кладёт значения ключей в файлы — только плейсхолдеры ${NAME}; значения живут в вашем окружении.
  • Где блок жёсткий, а где инструкция. Предохранитель опасных команд жёстко работает сегодня только в Claude Code (PreToolUse-hook). На Cursor/AGENTS те же запреты — строгий текст, которому модель следует, но без физического блока. Переносимый предохранитель на git/CI для всех таргетов — roadmap.
  • Качество всё ещё зависит от модели. Движок — это очень подробная инструкция, а не сам исполнитель: мы не запускаем модель за вас. Мы снижаем зависимость от «силы» модели тем, что пишем поведение буквальным рецептом, но не гарантируем результат так, как это делал бы сервис с собственным исполнением.