Агенты для кода
| Тип | ИИ-агент с инструментами файловой системы и терминала |
|---|---|
| Формы | CLI в терминале, плагин IDE, облачный агент, бот в репозитории |
| Примеры | Claude Code, OpenAI Codex, Gemini CLI, Cursor, GitHub Copilot agent, Aider, Cline |
| Ключевые инструменты | чтение и правка файлов, поиск, shell, тесты, git |
| Бенчмарки | SWE-bench Verified, Terminal-Bench |
| Файлы инструкций | AGENTS.md, CLAUDE.md |
Агенты для кода (англ. coding agents) — разновидность ИИ-агентов, которые выполняют задачи программирования самостоятельно: изучают структуру репозитория, ищут нужные места, правят файлы, запускают сборку и тесты, читают ошибки и исправляют их, пока задача не будет решена. В отличие от автодополнения, которое предлагает следующую строку, агент получает цель на естественном языке («добавь эндпоинт и тесты к нему», «почему падает CI?») и работает в цикле, используя инструменты. К 2025–2026 годам агенты стали массовым инструментом разработки.[1]
История
Первая волна ИИ-помощников (GitHub Copilot, 2021) сводилась к автодополнению. В 2023 году появились чаты в редакторе и первые экспериментальные агенты; бенчмарк SWE-bench — исправление реальных задач из GitHub-репозиториев Python-проектов — дал общую мерку.[5] Исследовательский агент SWE-agent (2024) показал, что важен не только интеллект модели, но и удобный для неё интерфейс к компьютеру.[6] В 2025 году вышли терминальные агенты Claude Code, OpenAI Codex CLI и Gemini CLI, агентные режимы появились в Cursor, Windsurf и Copilot, а доля решённых задач SWE-bench Verified у лучших систем превысила 70%.
Как устроены
Основа — языковая модель, умеющая вызывать инструменты, и цикл «подумать → вызвать инструмент → прочитать результат». Типичный набор инструментов:
| Инструмент | Зачем |
|---|---|
чтение файлов, поиск (grep, glob) |
найти нужный код, не загружая весь репозиторий |
| правка файлов (точечная замена, запись) | изменить код |
| терминал | сборка, тесты, линтеры, Git, утилиты |
| веб-поиск и загрузка страниц | документация библиотек |
| подагенты | параллельные или изолированные подзадачи |
| внешние инструменты через MCP | трекер задач, базы данных, браузер |
Главное ограничение — контекстное окно: репозиторий не помещается целиком, поэтому агент сам решает, что прочитать. Длинные сессии сжимаются автоматическим пересказом истории.
Формы
- Терминальные (Claude Code, Codex CLI, Gemini CLI, Aider) — работают в каталоге проекта, легко встраиваются в скрипты и CI/CD.[7]
- В редакторе (Cursor, Windsurf, Copilot, Cline) — показывают правки как diff прямо в IDE.
- Облачные — агент получает задачу из трекера или pull request, работает в изолированной среде и возвращает готовый PR.[3]
Инструкции проекту
Агенты читают файл с правилами проекта в корне репозитория — CLAUDE.md, AGENTS.md (открытый формат, поддерживаемый многими инструментами) и аналоги: как собрать и протестировать проект, стиль кода, что нельзя трогать.[4] Это частный случай подготовки документации для ИИ.
# AGENTS.md
## Сборка и тесты
- `uv run pytest -q` — тесты; перед коммитом должны проходить
- `uv run ruff check --fix` — линтер
## Правила
- Python 3.12, типы обязательны
- Не менять файлы в migrations/ вручную
Практика работы
Рекомендации разработчиков агентов:[2]
- Давать проверяемую цель. Агент работает лучше всего, когда может сам убедиться в результате: тесты, линтер, скриншот, ожидаемый вывод.
- Сначала план. Для больших задач — попросить исследовать код и предложить план, утвердить его, затем реализовывать.
- Маленькие шаги и коммиты. Проще ревьюить и откатывать.
- Чистый контекст. Разные задачи — в разных сессиях; длинная история с тупиковыми попытками ухудшает качество.
- Ревью обязательно. Агент может написать работающий, но избыточный или небезопасный код, «подогнать» тесты под результат или удалить неудобную проверку.
Безопасность
Агент выполняет команды с правами пользователя, поэтому инструменты предлагают режимы разрешений (подтверждение каждой команды, разрешённые списки, песочницы и контейнеры). Особый риск — prompt injection: инструкция, спрятанная в файле, задаче или веб-странице, может заставить агента выполнить вредное действие или отправить секреты наружу. Не стоит давать агенту доступ к продакшен-секретам и запускать его без изоляции на недоверенном коде. Отдельная угроза — выдуманные имена пакетов, которые злоумышленники регистрируют в реестрах.
Влияние
Агенты резко ускоряют рутину — шаблонный код, миграции, тесты, исправление очевидных ошибок, работу с незнакомыми кодовыми базами — и позволяют непрограммистам собирать прототипы («вайб-кодинг»). Измерения продуктивности опытных разработчиков на сложных задачах дают противоречивые результаты; сильнее всего выигрыш там, где результат легко проверить.
См. также
- ИИ-агент
- Tool use / function calling
- Model Context Protocol (MCP)
- Документация для ИИ: как подготовить
- Безопасность LLM: prompt injection