Как я перестал бояться и доверил AI писать банковские интеграции (и почему dev-метрики не врут)

Давайте честно: словосочетание «AI-driven development» у большинства старших инженеров всё ещё вызывает лёгкое нервное подёргивание века. Мы все видели код, который генерирует дефолтная модель, если дать ей чуть больше свободы, чем написать простую регулярку. А когда дело касается финтеха, банковских выписок, эквайринга или интеграции с «МоимСкладом», где ошибка в округлении копеек может положить весь учет — доверить что-либо «нейронке» кажется сумасшествием. Но за последний год мой daily workflow в разработке изменился кардинально. И дело не в том, что я стал ленивым. Дело в том, что правильно настроенный AI — это не замена разработчику, а невероятно въедливый мидл-инженер, который работает со скоростью света, если поставить его в жесткие рамки. Хочу поделиться реальным опытом: как мы сочетали Cursor, агентные воркфлоу и строгие quality gates, чтобы собирать сложные системы быстро и без ночных дежурств. 1. AI без проверок — это обезьяна с гранатой Когда ты пишешь модульные адаптеры для банков (Т-Банк, Альфа, Точка, ЮKassa), у тебя нет права на ошибку. Ответ от API изменился? Запрос отвалился по таймауту? Обработка сетевого сбоя сработала не так? Если просто попросить AI: «Напиши класс для работы с OAuth и выписками», он выдаст красивый код. Который упадет на первом же реальном edge-case. Что сработало у нас: AI работает только в связке с автоматическими «заборами» (Quality Gates). В наш pipeline жестко вшиты: PHPStan на 8-м уровне (strict mode) — AI просто не пройдет CI, если напутает с типами или пропустит nullable-значение. Pest & Vitest — правило простое: на каждую написанную AI-функцию он же (или отдельный промпт-агент) обязан сгенерировать набор unit- и integration-тестов, включая негативные сценарии (500 ошибки API, таймауты, некорректный JSON). Lefthook (pre-commit hooks) — если код «грязный», он даже не улетит в репозиторий. Вывод: AI не должен думать за вас над архитектурой. Он должен писать бойлерплейт, рутинную логику и ТЕСТЫ по вашим правилам. 2. От простых промптов — к агентным воркфлоу Простой чат с моделью — это прошлый век. Настоящий буст производительности начинается тогда, когда вы используете автономные агентные сценарии. Пример из практики: нужно поднять интеграцию банковских выписок с «МоимСкладом» через Vendor JWT и JSON API. Вместо того чтобы сидеть и руками набивать структуры данных: Загружаем OpenAPI спецификацию API банка и документацию МоегоСклада в окружение (Cursor / RAG). Агент формирует DTO, интерфейсы и базовые мапперы. Второму агенту дается задача: «Найди узкие места в этом маппинге с точки зрения дублирования транзакций». Разработчик (человек) занимается архитектурой: где поставить очереди RabbitMQ, как правильно настроить Horizon, как залогировать метрики в Prometheus и настроить алерты в Grafana/Loki. В итоге то, что раньше занимало 3-4 дня чистого кодинга рутины, собирается за день. При этом качество кода выше, потому что у тебя остается время подумать над отказоустойчивостью, а не над тем, как правильно распарсить очередной массив. 3. Главный урок: AI в hands-on инженерке За время работы над финтех-продуктами и AI-сервисами (где мы проектировали event-driven RAG на PostgreSQL + pgvector с контролем расхода токенов) я сделал один главный вывод: AI не делает из плохого инженера хорошего. Он делает из хорошего инженера — отдел разработки из трех человек. Если у вас бардак в архитектуре, нет тестов и отсутствуют Quality Gates, внедрение Cursor или Copilot просто ускорит производство спагетти-кода в 5 раз. Но если у вас выстроена культура качества — AI становится мощнейшим рычагом.

А как у вас? Интересно узнать у коллег: Используете ли вы AI-агентов в повседневном деве, или пока ограничиваетесь автокомплитом? Доверяете ли генерацию тестов нейронкам? Где для вас проходит грань между «AI сократил рутину» и «AI написал говнокод, который потом три дня рефакторили»? Давайте обсудим в комментариях! 👇