Автодополнение предлагает строку, чат отвечает текстом. Агент сам выполняет шаги: читает файлы, правит код, запускает тесты и команды в терминале, смотрит на результат и решает, что делать дальше. Это сильно ускоряет рутину и так же сильно увеличивает цену ошибки.
Какие бывают агенты
- Агентный режим в IDE. Агент работает в редакторе, показывает дифф по каждому файлу, просит разрешения на команды.
- CLI-агенты. Запускаются в терминале, работают с репозиторием и командами напрямую. Их удобно запускать в контейнере или в CI.
- Фоновые и облачные агенты. Получают задачу (например, issue), работают в своей среде и приносят готовый pull request.
Механика у всех одна: цикл «модель предлагает действие, инструмент его выполняет, результат возвращается модели». Разница в том, где выполняются действия и кто их подтверждает.
MCP
Model Context Protocol это открытый протокол, по которому ассистент подключается к внешним инструментам и данным: трекеру задач, базе, документации, браузеру. MCP-сервер описывает свои инструменты, клиент (IDE или CLI-агент) даёт модели их вызывать.
Риски MCP:
- Сторонний сервер это чужой код, который работает с вашими правами и токенами. Ставить только из доверенных источников и читать, что он умеет.
- Ответы сервера попадают в контекст модели и могут содержать prompt injection.
- Инструмент с широкими правами (запись в базу, отправка сообщений) превращает любую инъекцию в реальное действие.
Границы автономии
Чем больше агент делает без человека, тем важнее ограничения. Основные рычаги:
- Режимы подтверждения. Чтение и правка файлов в рабочей папке без вопросов, команды и сеть с подтверждением. Полный автомат только в изолированной среде.
- Allowlist команд. Разрешены
npm test,git diff, линтер. Запрещеныrm -rf,git push --force,curlна произвольные адреса, деплой. - Песочница. Контейнер или виртуальная машина без продовых доступов, без секретов, с ограниченной сетью. Худший сценарий: агент сломал песочницу, которую можно выбросить.
- Отдельная ветка или git worktree. Агент работает в своей копии, основная ветка защищена, результат приходит через pull request и обычное ревью.
- Лимиты. Число шагов, время, бюджет токенов. Без них агент может часами крутиться на одной ошибке.
- Журнал. Все команды и правки записываются, чтобы понять, что произошло, и откатить.
Типовые провалы агентов
- «Починил» тест, удалив проверку или пометив его пропущенным.
- Поменял сразу много файлов, и дифф невозможно проверить за разумное время.
- Добавил зависимость, которой нет или которая не нужна.
- Пошёл по ложному следу и сделал двадцать шагов в неправильную сторону.
- Выполнил инструкцию из README или issue, которую туда подложил злоумышленник.
Отсюда практика: давать агенту небольшую, проверяемую задачу с понятным критерием готовности (например, «тесты зелёные, публичный API не менялся») и смотреть дифф целиком, а не только итоговое сообщение агента.
Как поставить задачу агенту
Хорошая задача для агента похожа на хороший тикет для нового коллеги:
- Что сделать и зачем, в одном-двух предложениях.
- Где смотреть: какие файлы и модули, на какой соседний код равняться.
- Что нельзя трогать: публичный API, миграции, конфиги деплоя.
- Как понять, что готово: какие тесты должны пройти, какие команды запустить.
Если агент ушёл не туда, дешевле остановить его и переформулировать задачу, чем пытаться выправить двадцатый шаг.
Агент в CI
Агентов запускают и в пайплайне: разбор упавшего теста, черновик исправления, ревью pull request. Тут те же правила, только строже: токен с минимальными правами, без доступа к секретам деплоя, результат только в виде комментария или отдельного pull request. Текст pull request и issue приходит от внешних людей, значит это недоверенный ввод.
Что ответить на собеседовании
На вопрос «работали ли с агентами» хорошо звучит конкретика: какие задачи отдавали агенту, как ограничивали права, как проверяли результат, где агент ошибался и как вы это заметили. Слабый ответ: «агент пишет за меня, я только принимаю изменения».
Итог
Агент это быстрый исполнитель без чувства ответственности. Ответственность остаётся на разработчике, поэтому права агента режут до необходимого, работу изолируют, а результат проходит то же ревью и те же тесты, что и код человека.