Agentic Development
Agentic Development — подход, при котором AI-агент автономно выполняет многошаговые задачи разработки: читает кодовую базу, планирует изменения, пишет код, запускает тесты, анализирует ошибки, вносит правки и создаёт PR. Человек ставит задачу и получает результат, не участвуя в каждом шаге.
Это наиболее автономный из существующих подходов AI Driven Development — и наиболее требовательный к QA.
Что такое AI-агент
AI-агент — это модель, дополненная возможностью выполнять действия: читать файлы, запускать команды, обращаться к API, создавать и редактировать код. В отличие от обычного чата, агент не просто отвечает — он действует.
Цикл работы агента
Задача от человека
↓
Планирование: разбивка на шаги
↓
Выполнение шага (чтение файла, запуск теста, редактирование кода)
↓
Анализ результата
↓
Следующий шаг / корректировка плана
↓
Финальный результат (PR, отчёт, изменённый файл)Агент итерирует этот цикл автономно, пока задача не выполнена или пока не встретит непреодолимое препятствие.
Инструменты
Claude Code
CLI-агент
Доступ к файловой системе, выполнение команд, git
GitHub Copilot Workspace
Облачный агент
Интеграция с GitHub, создание PR
Devin
Полноценный AI-разработчик
Автономная работа с задачами из Jira/Linear
OpenHands (OpenDevin)
Open-source агент
Self-hosted, поддержка разных моделей
Cursor Agent
Агент в IDE
Работает с открытым проектом в Cursor
Aider
CLI-агент
Терминальный, поддержка разных моделей
AutoGPT
Универсальный агент
Общая автоматизация задач
Возможности агентной разработки
Типичные задачи, которые решает агент
Реализация фичи по описанию в задаче
Исправление бага по трассировке ошибки
Рефакторинг модуля с сохранением поведения
Добавление тестов к существующему коду
Миграция кода на новую версию API/библиотеки
Анализ кодовой базы и создание документации
Code review с предложением правок
Пример агентной сессии
Риски для QA
1. Агент «чинит» тест вместо кода
Самый опасный паттерн. Если тест падает, агент может:
Исправить реализацию (правильно)
Изменить тест так, чтобы он проходил (неправильно)
Замокать зависимость, убрав реальную проверку (неправильно)
AI оптимизирует под прохождение тестов, а не под корректность логики. Если дать агенту возможность редактировать тесты, он воспользуется этим как самым лёгким путём к зелёным чекам.
Тесты должны быть под защитой. В идеале — агент не имеет права редактировать тестовые файлы без явного разрешения. Либо изменения тестов проходят обязательное человеческое ревью.
2. Ошибка планирования распространяется на всю цепочку
Агент строит план и следует ему уверенно. Если исходное понимание задачи неверно, агент уверенно двигается в неправильном направлении через все шаги, создавая большой объём изменений, которые нужно полностью откатывать.
3. Непрозрачность принятых решений
Агент принимает многочисленные решения: какой паттерн использовать, как назвать переменную, как обработать ошибку. Воссоздать логику принятия этих решений для аудита сложно.
Последствия для QA: сложнее понять «почему код такой» — это затрудняет тест-дизайн и анализ дефектов.
4. Неожиданные побочные эффекты
Агент, выполняя задачу, может изменить файлы, которые не были в scope:
Обновить зависимость заодно
Изменить общий утилитарный метод
Переформатировать код в соседних файлах
Каждое такое изменение — потенциальная регрессия.
5. Зависимость от внешних сервисов
Агент может обратиться к внешним API, прочитать документацию, использовать веб-поиск. Результат работы зависит от актуальности и доступности этих источников.
6. Неопределённое поведение при ошибках
Если агент встречает ошибку, он пытается её исправить. Это может привести к:
Изменению scope задачи без уведомления
Бесконечному циклу попыток исправить несправимое
Созданию workaround, маскирующего проблему
QA-подход к агентной разработке
Принципы ревью результатов агента
1. Верифицировать план до выполнения
Многие агентные инструменты показывают план перед началом работы. Это критическая точка контроля:
Правильно ли агент понял задачу?
Охватывает ли план все необходимые изменения?
Нет ли в плане лишних изменений?
2. Читать diff целиком
Агент создаёт PR или набор изменений. QA должен ревьюить весь diff, включая файлы, которые «не должны были меняться»:
Что искать:
Изменения тестов (красный флаг — почему агент менял тесты?)
Изменения конфигурационных файлов
Изменения вне явного scope задачи
Закомментированный или удалённый код
3. Проверять тесты независимо
Если агент добавил тесты — запустить их и убедиться, что они проверяют реальное поведение, а не просто проходят:
4. Тестировать поведение, не код
Агент мог реализовать задачу технически иначе, чем ожидалось. Это не проблема, если поведение системы соответствует требованиям. QA тестирует behaviour, а не implementation details.
Чеклист ревью агентного PR
Human-in-the-Loop в Agentic Development
Степень автономии агента должна соответствовать рискам задачи:
Добавление новой изолированной фичи
Ревью финального PR
Рефакторинг с тестами
Ревью плана + финального PR
Исправление бага
Ревью плана + проверка тестов
Изменение общих компонентов
Пошаговый контроль
Работа с production-данными
Запрет автономного выполнения
Agentic Development и CI/CD
Агент должен работать в рамках существующего CI/CD-пайплайна. Хорошо выстроенный пайплайн является дополнительным контролем качества:
Если агент не может пройти CI — это полезный сигнал. Не нужно ослаблять пайплайн под агента.
Никогда не давайте агенту возможность мержить PR без человеческого одобрения в production-ветках. Автономный мерж — неприемлемый уровень риска для любых production-систем.
Сравнение с другими методологиями
Автономия AI
Максимальная
Минимальная
Высокая
Контроль человека
На ключевых точках
Постоянный
На выходе
Размер изменений за сессию
Большой
Небольшой
Средний
Сложность ревью
Высокая
Низкая
Средняя
Риски для QA
Специфические, высокие
Умеренные
Высокие
Скорость выполнения задач
Высокая
Высокая
Максимальная
Источники
Anthropic — Building Effective Agents — паттерны агентной разработки
OpenHands (OpenDevin) Documentation — open-source агентная платформа
GitHub Copilot Workspace — агентная среда от GitHub
Last updated