Коллега по цеху устал от апероля и стал
задаваться вечными вопросами: а как могут выглядеть кирпичики ai sdlc. Куда приходит желающий внести изменение, в трекер или к агенту? Продакт и инженер заходят в одну дверь или в разные? Как сужать область, когда микросервисов сотни? Можно ли без инженеров? Как финализировать спеку, чтобы агенты внизу не наоверинженерили?
Для меня такие вопросики пока не сильно актуальны, так как из кожаных в моих задачках в основном только я (ну и сами заказчики), чему я сейчас очень радуюсь.
Мой первый интуитивный ответ был буквально:
Мне кажется чем проще процесс, тем лучше
Продакт и инженер заходят в один бар чат, там их встречает агент приемного отделения. Каждого он допрашивает по-своему- продакта про пользователей, сценарии и метрики, инженера про границы и данные. Результат допроса это диф к спеке, сами спеки живут в отдельном гите
А потом я наткнулся на стетейку от Anthropic по
AI-native SDLC. Их подход оказался довольно-таки близок к моим мыслишкам: весь цикл там разложен на шесть этапов. Если поверить антропикам на слово, что их конвейер когда-то будет работать, то вот как должен выглядеть пайплайн (на примере одной задачи - клиенты звонят в колл-центр узнать статус заявки, а мы хотим статус в личном кабинете):
1. Plan
Продакт Маша приходит в чат и рассказывает проблему как есть. Агент допрашивает: сколько звонков, кто спрашивает, что будет успехом, чего делать нельзя. Потом сам лезет в каталог сервисов: похоже, задеваем портал и claims-api? Маша кивает и жмет на кнопки. Через
120 минут 20 минут в гите лежит intent:
# Problem: клиенты звонят в КЦ за статусом заявки
# Outcome: самообслуживание в портале
# Systems: портал, claims-api
# Constraints: без нового PII, существующая авторизация
# Open: доступ сторонним оценщикам?
2. Design
Та же сессия разворачивает intent в спеку. Безопасность, бренд, комплаенс зашиты скиллами и применяются прямо при написании. Открытый вопрос Маша откладывает на следующую итерацию. Мержит спеку и уходит пить кофе. Это была её подпись
3. Build
AI инженеру Алёше уже давно никто не пишет. Агент видит merge и зовёт Алёшу в тред. Очередь принятых спек и есть его
судьба беклог. Чат тот же, вопросы другие. Агент в режиме планирования, без права трогать код, выкладывает: меняем панель в портале и эндпоинт в claims-api, вот в таком порядке, риск в том, что api держит 50 rps, нужен кеш. Алеша кивает и жмет на кнопки. Его задача дописать примерно следующее:
# Proof: тесты покрывают 4 состояния заявки;
# скриншот совпадает с моком
Алёша поправляет пару вещей и подписывает план. Кода он не написал ни строчки. И не напишет
4. Test
Конечно тесты тоже пишут агенты. Но за ними стоял демиург Евлампий. Все проверки завёрнуты в одну команду, агент гоняет их сам, пока не позеленеют. Хук запрещает править тесты во время фикса. Когда всё зелёное, Евлампий спускает слепую приёмку на QA-агента, которому дают только исходный intent Маши и собранный продукт. Если все ок, едем дальше
5. Deploy
Ревью-агент сверяет PR со спекой и планом и находит: исполнитель по дороге прикрутил email-уведомления. Ну а чё. Алёша смотрит вердикт, судит замысел и жмёт merge. Вторая его подпись и последняя. Маша узнаёт о готовности так же, как Алеша узнал о спеке: по событию, а не из личных сообщений
6. Maintain
Через неделю скрипт мониторинга замечает рост пятисоток на новом эндпоинте. Сначала просто логирует. Растёт дальше, и агент идёт диагностировать. Стало совсем плохо: диагноз пишется в формате intent в ту же очередь, с которой начинала Маша. Никто никого не будил. Эксплуатация кормит конвейер сама.
Что в итоге - интерфейс верхнего уровня: git с документами. Дверь одна, различаются вопросы и подписи. Люди не пишут артефакты, а
жмут кнопки принимают. Инженер никуда не делся, но он нужен только для двух подписей
агентов же не уволишь