Метод внедрения ИИ-агентов: конвейер вместо одного умного чата

Языковая модель уверенно ошибается. Одна модель, которая пишет код и сама же его проверяет, — это один голос без оппонента: она защищает собственное решение, а не ищет в нём дыру. Мы построили процесс, где у каждого решения всегда есть независимый противник.

Конвейер

Пять этапов

Этап 01

План

Задача превращается в жёсткий документ, а не в прозу: цель, точный список файлов, пронумерованные шаги с исполнителем и командой проверки, бинарные критерии приёмки, риски и краевые случаи, и отдельно — что явно вне работы. Критерий приёмки формулируется так, чтобы на него можно было ответить «да» или «нет», а не «вроде работает».

Этап 02

Независимое ревью плана

План критикует независимый ревьюер — с полным доступом к коду, но без права переписывать план; на критичных участках эту роль берёт модель второго вендора. Ревьюер возвращает вердикт «зелёный / жёлтый / красный» и список находок. Красный означает, что исполнять нельзя. Мы принимаем или отклоняем каждую находку письменно: последнее слово за архитектором, но молча проигнорировать замечание нельзя.

Этап 03

Исполнение

Работу делят агенты с разными профилями: рассуждающие берут архитектуру и сложную отладку, быстрые — механику и тесты. Независимые куски идут параллельно. Каждый исполнитель получает контракт из четырёх частей: цель, формат отчёта, какие файлы и инструменты, и границы — что трогать запрещено. Баг считается исправленным только если воспроизводящий сценарий прогнан и проходит, а прежние проверки не сломаны.

Этап 04

Двойное слепое ревью и синтез

Готовый код смотрят два ревьюера параллельно и независимо, вслепую друг от друга; на критичных участках один из голосов — модель второго вендора. Оба получают только изменения и чек-лист приёмки — но не рассуждения исполнителя, потому что «почему я так сделал» якорит проверяющего и превращает ревью в штамповку. Находки в жёстком формате: приоритет, файл и строка, сценарий, фикс. Ревью не показываются друг другу до синтеза.

Этап 05

Передача и эксплуатация

Запуск — не финал. Сначала передача: доступы, дампы, документация, инструкции по развёртыванию; состав материалов и прав фиксируется договором. Дальше — эксплуатация с SLA: мониторинг, зафиксированный срок реакции на инцидент, обновления, проверка восстановления бэкапов и оговорённый объём доработок в месяц. Подписка — 40 983,61 ₽/мес (50 000 ₽ с НДС 22%); если вы забираете систему целиком и ведёте её сами, мы отдаём её в состоянии, пригодном для этого, а не в состоянии «работает, пока не трогаешь». Состав подписки и цена — в прайсе.

Правило закрытого отказа

Пустой или оборванный ответ ревьюера — это «вердикта нет», а не «всё в порядке». Любая блокирующая находка закрывается либо фиксом, либо письменным обоснованием отказа. Один голос за блокер — обязательный разбор, даже если второй ревьюер против. Если ревьюер раз за разом возвращает «всё отлично» без единой находки, мы считаем ревью декоративным и усиливаем его, а не радуемся.

Разница

Чем это отличается от «просто написали код с ChatGPT»

Модель одного вендора имеет системные слепые зоны — они одинаковы у неё самой в роли автора и в роли проверяющего. Модель другой семьи их не разделяет — поэтому на критичных участках вторым голосом мы ставим модель второго вендора. Именно кросс-вендорное ревью вылавливало у нас блокеры, которые ушли бы в прод: миграцию, работающую только на новой версии базы, и неидемпотентную миграцию, дававшую эскалацию привилегий при повторном прогоне. В кейсе собственного мессенджера кросс-вендорное ревью нашло 32 дефекта, 12 из них критические, — уже после первого релиза.

Если показать проверяющему аргументацию автора, он почти всегда её подтвердит. Мы отдаём только код и критерии — и получаем находки, а не согласие.

«Работает корректно» — не критерий. Критерий — «команда X возвращает Y», «тест Z зелёный», «сверка по 15 отчётам сходится в 0,00 ₽». Такое нельзя пройти уговорами. Последний критерий — из кейса сверки денег с маркетплейсом, где расхождение сошлось в ноль.

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

Что это даёт вам

Вы платите не за строчки кода, а за то, что система не подведёт на боевых данных. Конвейер стоит нам дополнительного времени на каждой задаче — и экономит вам аварии, откаты и разговоры с юристами. Именно поэтому мы берёмся за прод, а не только за прототипы.

Как конвейер сработал на живых проектах — кейсы →

Обсудить задачу