Внедряем ИИ в разработку: уже похоже
Без агентов и скилов даже самая сильная модель будет требовать непрерывного внимания и, самое главное, не сильно ускорит разработку.
Для ЛЛ: можно написать весь проект с помощью ИИ без агентов, но это будет в один поток и придется непрерывно его пинать - пожалейте свое время.
Внедряем агентов
У меня уже были "роли", описанные в CLAUDE.md, но CLAUDE запускал их последовательно и непрерывно требовал подтверждений при переходе от одной роли к другой. Погуглив и накопав некоторое количество информации, я выделил роли в отдельных агентов, после чего натравил на них саму нейросеть с предложением улучшить конфигурацию.
Естественно, каждое изменение валидировалось, многие уточнялись и дорабатывались, но на выходе получился некий оркестратор, который берет задачу и раскидывает ее по агентам, которые работают автономно и возвращают готовый результат.
Здесь я столкнулся с первой проблемой - опять уперся в лимиты (агенты работают параллельно и жгут токены быстрее). На текущий момент этот вопрос решен выбором одной из китайских моделей, которая дает достаточное контекстное окно, приемлемый по качеству код, и намного больше лимитов (временное решение, требуется оптимизация процессов).
И немного позже - со второй - дублирование кода, несмотря на прописанный DRY.
Внедряем WikiLLM
Для того, чтобы нейросеть не гоняла всю кодовую базу в поисках дубликатов и готового функционала - пришлось сделать WikiLLM. Почему не RAG? Он не дает 100% совпадения, да и объемы не те.
После индексации кода обращение к WikiLLM было прописано в соответствующих агентах, что привело к сокращению количества токенов и исключению дубликатов кода.
Здесь проявилась следующая проблема - несмотря на описанные инструкции и Wiki модель периодически забывала, как выполнять те или иные типовые действия, и каждый раз придумывала заново.
Внедряем скиллы
Проблему удалось решить внедрением скиллов, после чего все встало на свои места, и разработка пошла как по рельсам.
На текущий момент система выдает приемлемый по качеству код на уровне миддл-разработчика (основываюсь на выборочном анализе MR), что позволяет сосредоточиться на бизнес-логике. Однако, меня не оставляет ощущение некоторых костылей на велосипеде.
Внедряем github spec kit
Для того чтобы избавиться от этого ощущения, нашел и внедрил github spec kit. Первые впечатления:
- интересная штука, структурирует информацию о проекте и задачах намного лучше, чем мои костыли;
- это фреймворк, не серебряная пуля, он требует своей головы и доработки напильником;
- отлично подходит для генерации прототипов с последующей доработкой, но "из коробки" не годится для внедрения.
Промежуточные итоги
Потрачено 2 месяца и $40. На тестовом проекте сейчас написано примерно 60 тыс. строк кода. Покрытие тестами - 90+ процентов. Качество кода отдано на проверку независимым агентам. Всё работает, ничего не сломано. Количество строк кода, написанного человеком - 0. Лимитов базовой подписки хватает для эффективной работы.
Современный ИИ в разработке - как джуниор со знаниями сеньора. Он много умеет, но у него нет насмотренности, и он не знает, что у вас в голове. Если вы когда-то реализовывали полный цикл разработки и заводили на проект джуна - здесь применимы все те же самые процессы.
Работа разработчика изменилась навсегда (ну или до тех пор пока гиганты не закроют нейросети для простых смертных). На первое место выходят навыки организации рабочих процессов и внедрения инженерных практик, взаимодействия с бизнесом, написания эффективной документации.
SDD - не серебряная пуля. Как и любой инструмент, он требует своего подхода. Однако он позволяет загнать разработку с помощью ИИ в рамки, где она превращается в организованный процесс. Жесткие ограничения модели и процесс Human-in-the-Loop являются обязательными, если вы хотите получить на выходе что-то близкое к реальному продукту.
PS. Всё написанное применимо исключительно к частной разработке "в одну каску". В продуктовых командах процессы будут похожими, но другими.
Всем хорошего вечера, а я пошел экспериментировать дальше.





