На разработку первой версии сложного алгоритмического механизма и передачу её бизнес-разработчикам оставалось около двух недель. Механизм зависел от множества параметров, а после передачи почти наверняка должен был меняться.

Поэтому задача состояла не только в том, чтобы успеть реализовать рабочую версию. Нужно было заранее проработать положительные и негативные сценарии и создать набор автоматических проверок, чтобы не перепроверять всё вручную после каждого изменения.

Сначала сценарии, потом код

Работа начиналась не с генерации кода. Сначала мы с агентом прорабатывали тест-кейсы: входные данные, настройки и ожидаемое поведение. Затем агент реализовывал соответствующие тесты, опираясь на существующие в проекте примеры.

Получившийся набор сочетал unit-тесты с интеграционными. Интеграционные тесты работали с реальной структурой данных в PostgreSQL, запущенной через Testcontainers.

Мне пришлось досконально разобраться в алгоритме: я определял ожидаемое поведение и проверял корректность сценариев. Агент ускорял проработку вариантов и превращал согласованные тест-кейсы в код. Получался короткий цикл: сформулировать сценарий, превратить его в проверку, уточнить реализацию и перейти к следующему сочетанию условий. Тесты помогали находить ошибки в логике, а не только фиксировали уже готовое поведение.

К концу двух недель появилась первая версия механизма с широким набором unit- и интеграционных тестов. Её уже можно было передать разработчикам бизнес-функционала. Изначально я не надеялся успеть в срок, опираясь на опыт ручной разработки с менее интенсивным использованием агента.

Тесты стали основой дальнейшей разработки

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

Широкое покрытие также позволило активнее использовать агента в дальнейших доработках и спокойнее менять механизм, с меньшим риском заблокировать работу команды, которая разрабатывала и проверяла использующую его бизнес-логику.

Масштаб задачи стал особенно заметен на тестовом полигоне. После подключения механизма систему ещё не менее месяца настраивали и дополняли необходимыми данными, чтобы через UI проверить основанную на алгоритме бизнес-логику. При этом первая версия алгоритма и набор автотестов были готовы за две недели, а автотесты охватывали все варианты настроек на полигоне.

После этой работы мне захотелось отдельно разобраться: как максимально ускорять разработку с помощью агента, не теряя качества?