Enterprise и агентская разработка: опыт одной команды. claude code.. claude code. openspec.. claude code. openspec. pdlc.. claude code. openspec. pdlc. Spec-Driven Development.. claude code. openspec. pdlc. Spec-Driven Development. агентная разработка.. claude code. openspec. pdlc. Spec-Driven Development. агентная разработка. Анализ и проектирование систем.. claude code. openspec. pdlc. Spec-Driven Development. агентная разработка. Анализ и проектирование систем. вайбкодинг.. claude code. openspec. pdlc. Spec-Driven Development. агентная разработка. Анализ и проектирование систем. вайбкодинг. ии-агенты.. claude code. openspec. pdlc. Spec-Driven Development. агентная разработка. Анализ и проектирование систем. вайбкодинг. ии-агенты. Ненормальное программирование.. claude code. openspec. pdlc. Spec-Driven Development. агентная разработка. Анализ и проектирование систем. вайбкодинг. ии-агенты. Ненормальное программирование. сезон код будущего.. claude code. openspec. pdlc. Spec-Driven Development. агентная разработка. Анализ и проектирование систем. вайбкодинг. ии-агенты. Ненормальное программирование. сезон код будущего. Тестирование IT-систем.. claude code. openspec. pdlc. Spec-Driven Development. агентная разработка. Анализ и проектирование систем. вайбкодинг. ии-агенты. Ненормальное программирование. сезон код будущего. Тестирование IT-систем. Управление разработкой.. claude code. openspec. pdlc. Spec-Driven Development. агентная разработка. Анализ и проектирование систем. вайбкодинг. ии-агенты. Ненормальное программирование. сезон код будущего. Тестирование IT-систем. Управление разработкой. Читальный зал.

Сложный был год. Бюджеты, санкции и хайп ИИ. Он не обошёл стороной ни один enterprise, вот и я решил рассказать вам историю, в которой собран до боли знакомый кейс. История выдуманная, решение — реальное.

Я — Андрей, senior backend в одной из команд разработки большой компании, и это история про перестройку жизненного цикла разработки с ИИ в небольшой команде.

ИИ‑брифинг

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

— ИИ изменит всё. Уже меняет. Тот, кто не внедрит ИИ, останется на обочине.

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

В третьем ряду сидела наша команда. Аня, системный аналитик, пишет документацию и искренне верит в неё. Света, QA Lead, пережила больше падений прода, чем все мы вместе взятые. Петя — DevOps, а у нас DevOps и тестировщик — одна роль: кто нашёл, тот и чинит. Виталик — тимлид, ходит между нами и начальством, и поэтому говорит на двух языках.

Вообще‑то мы работаем из дома. Но в прошлом месяце мы не вовремя списали трудозатраты — и теперь месяц сидим в офисе. Штрафники. Виталик бы и так пришёл: тимлиду положено.

В коридоре Аня сказала:

— Красиво. Только оси не подписаны.

Света подняла глаза от телефона:

— Ага, красиво. А кто чинить будет, когда ИИ всё сломает?

Я сказал:

— ИИ. Он же всё умеет.

Посмеялись.

Старт

Виталик назначил встречу. Все подключились по видео, штрафники — из переговорки.

— Коллеги. — Виталик смотрел в стол. — Внедряем агентскую разработку. Иначе наши задачи уйдут другой команде.

Повисла гнетущая тишина. Петя, дожёвывая печенье, закашлялся.

— Какой команде? — осторожно спросил я.

— Тем, что корпоративный портал пилят. Они отрефакторили календарь вайб‑кодингом. Отчитались об эффекте.

— Каком?

— x3.

— x3 чего?

— Больше. Быстрее. Дешевле.

— А календарь‑то стал лучше?

— Это не измеряли.

Аня уже что‑то строчила в блокноте. Я видел три подчёркивания и восклицательный знак.

— А что мы должны? — спросила Света, не отрываясь от телефона.

— Переходим на агентскую разработку. ИИ должен писать код, тесты, делать ревью и катить в прод.

— А мы что делать будем? — Петя нахмурился.

— Вы согласовываете.

Света подняла глаза от телефона.

— А если агент напишет тесты, которые всегда зелёные?

— Значит, зелёный билд. Это же хорошо.

Света медленно кивнула. Так кивают, когда уже всё поняли и просто ждут, когда это докажет жизнь.

Виталик продолжил:

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

— А эффект без подписок как обосновать? — спросил я.

— Это уже творческая часть задачи.

— Как будем выходить из положения? — Петя оживился.

— Claude Code. Сам агент бесплатный, вопрос в модели. Берём DeepSeek. Потребуется API‑ключ, в месяц, по моим расчётам, рублей триста на человека выйдет. С оплатой придётся повозиться, но заграничная карта не нужна.

— Это законно? — спросила Аня.

— Санкций нет. Китай — не Штаты.

— Я про наши политики.

— Что не запрещено — разрешено. Запретят — скажу. Пока — привыкаем писать код с помощью агентов. Остальное — потом. Коллеги, инструмент есть. Разбирайтесь, как встроить в вашу работу. Каждый спринт делимся проблемами и открытиями.

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

20 слайдов про SDD

Через неделю Виталик собрал нас в переговорке, чтобы примерить агентскую разработку на наши процессы.

— Наш новый вектор — агентская разработка через SDD, Spec‑Driven Development, — сказал Виталик. — Это когда спецификация идёт впереди кода.

— Так у нас и сейчас контракт впереди кода, — заметил Петя.

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

— А SDD тогда что даёт?

— Постановку задачи. Что строить, как и почему именно так. Спецификация в SDD — это не YAML, это план работ с проверками на каждом шаге.

— А если он насочиняет?

— Затем вы и нужны. Проверять спецификации будете вы.

Вдруг в переговорку вошла Аня. У неё в руках помещались одновременно ноутбук, зарядка, переходник, кружка и почему‑то два блокнота. Глаза у неё горели.

— У меня обзор, — сказала Аня. — Я фреймворки для SDD смотрела. Их много. Тут двадцать слайдов.

— Двадцать? — переспросил Петя.

— Двадцать два. Два — титульные.

Первый слайд описывал наш текущий процесс разработки до исцеляющего AI‑преображения.

Enterprise и агентская разработка: опыт одной команды - 1

Аня говорила быстро и без остановок. На четвёртом слайде Виталик посмотрел на часы и поднял руку.

— Аня. Прекрасный доклад. Стоп. Три критерия: стартовые затраты, адаптируемость к проектам с историей, возможность настроить под нас. Что проходит?

— OpenSpec.

— Выбираем OpenSpec. Остальные шестнадцать слайдов — в архив. Пригодятся, когда начальство спросит, почему именно он. Аня, расскажи про OpenSpec поподробнее. Коллеги, можете перебивать Аню и останавливать сразу, как появятся вопро…

— А можно подробнее про флоу? — оживился Петя.

— Перебивать можно Аню, а не меня. А правда, Аня, что с флоу?

И Аня принялась рассказывать про целый перечень markdown‑файлов. Генерировать код, как оказалось, OpenSpec тоже умеет, но сфокусироваться пока решили на описательной части.

Enterprise и агентская разработка: опыт одной команды - 2
Enterprise и агентская разработка: опыт одной команды - 3

— А старый код кто будет описывать?

— Описываем только то, что меняем. Папка specs будет наполняться по мере доработки.

— А где на этой схеме тестирование? — спросила Света.

Аня повернулась к экрану. Повернулась ещё раз. На схеме тестирования не было.

— Хм… Дальше… — неуверенно ответила Аня.

— Дальше чего?

— Дальше схемы.

— Так у нас всегда. — Света откинулась в кресле. — Тестирование всегда дальше.

И тогда на нашей схеме стало на два квадратика больше: test‑design — стратегия тестирования и test‑tasks — чек‑лист тестов.

— Вот теперь я вижу себя, — кивнула Света.

— OpenSpec предполагает одну роль — project builder, — продолжила Аня. — Он формулирует требования и сверяет с ними то, что сгенерировал агент.

— Один человек на всю спецификацию? — Петя присвистнул. — На нашей системе это должность с выгоранием в комплекте.

Виталик вздохнул, глядя в стол:

— Ломать процесс не будем. Он — то, что у нас стабильно работает. Если ещё и его перестроим — отчёт будет не про AI, а про то, кто виноват. Агента встраиваем поверх, зоны ответственности каждой роли сохраняем. На следующей неделе начнём онбординг.

Встреча закончилась. Схему скинули в чат. В ней всё ещё не было квадратика «кто виноват, если агент ошибся», но все и так знали ответ.

Агент‑садист

Заонбордить сотрудников в OpenSpec Виталик поручил искусственному интеллекту: ИИ собрал демо‑проект и составил программу из нескольких уроков. Сам Виталик положил в этот проект наш вариант схемы OpenSpec — по описанному Аней процессу. Сотрудник общается с агентом в чате, получает теорию и обучающие задания, а в конце каждой главы проходит тестирование.

Аня — человек исполнительный: сказали — делает. Есть у них с агентом что‑то общее. Полтора часа она не понимала, почему обучение не совпадает с темой повестки, но виду не подавала. Надо — значит, надо. Агент тоже не сомневался: выдавал задания одно изощрённее другого. После очередного такого упражнения Аня неуверенно подошла к Виталику с ноутбуком. Агенту напомнили о его важной миссии — и обучение продолжили. Оба кивнули. Оба пошли выполнять.

После прохождения первого блока обучения все списались в чате:

— Как вам тест? — написал я.

— Какой тест? — написала Аня.

Тест был обязательным. У всех. Кроме Ани: агент сразу перешёл ко второму блоку, как будто решил, что с ней и так всё ясно. Тогда она написала ему установку:

Проведи мне этот и следующий уроки в следующем формате:

  • Чётко следуй инструкциям курса, чтобы я прошла курс именно в той форме, в которой его задумал составитель.

  • Контролируй мои действия и давай задачи последовательно. Веди себя как преподаватель бескомпромиссный, последовательный.

  • Обозначай цель каждого действия и урока в целом.

Все посмеялись, но дела у Ани пошли в гору: тесты агент больше не пропускал и объяснял, зачем ей очередная порция информации. Её инструкцию растащили по чатам.

— Какой‑то очень злой препод получился. Придирается ужасно, — пожаловался Петя. — У меня были ошибки при установке проекта, связанные с переменными окружения. Так этот садист говорит: «Я ошибки устранил, но хочу проверить, что вы поняли». Я ему отвечаю, а он ещё придирается, что я неточно сформулировал.

Научить агента быть строгим оказалось проще, чем научить вовремя остановиться.

Базовые навыки работы с OpenSpec были получены. Продолжить знакомство решили на боевых задачах.

Enterprise и агентская разработка: опыт одной команды - 4

Пилот

Рисковать новой задачей никто не хотел. Выбрали старую работу, которую я писал полгода назад. Логика известная, тесты написаны, граничные случаи помню наизусть.

— Прогоним через OpenSpec от proposal до specs, — сказал Виталик. — Посмотрим, узнаем ли свою работу в чужом исполнении.

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

— Как‑то многовато документов аналитику теперь приходится смотреть, — вздохнула Аня. — А бизнесу я их не сдам, мне нужна функциональная спецификация по нашему традиционному шаблону. К тому же у агента нет и половины того, чем аналитики обычно пользуются.

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

— Семнадцать позиций, у каждой оценка. Оценка «3» — «бесполезно что‑либо делать без этого материала».

— А ноль? — спросил Петя.

— «Приносит пользу в редких случаях».

— Зачем он тогда в списке?

— В редких случаях без него никак.

— А как понять, что случай редкий?

— Когда без него никак.

Для материалов добавили папку input, привычную функциональную спецификацию встроили в общий процесс. Теперь после proposal агент должен заполнить разделы ФС — шесть отдельных файлов плюс вложения: большие таблицы и диаграммы. Затем он склеивает их в общий документ и публикует в корпоративной вики. Чтобы всё это встроить, Аня попросила агента переписать правила, по которым работает агент: CLAUDE.md, config.yaml, скиллы и команды. Агент переписал без возражений. Ещё бы: не ему же эти правила читать.

Заодно описали порядок и зависимости. У каждого артефакта появился хозяин: агент генерирует, хозяин читает и проверяет. Выглядело это примерно так:

Enterprise и агентская разработка: опыт одной команды - 5
Enterprise и агентская разработка: опыт одной команды - 6
Enterprise и агентская разработка: опыт одной команды - 7

— А specs? — спросил я. — Главный артефакт инструмента.

— Теперь передаточное звено, — сказала Аня. — Выводится из ФС и уходит тестировщикам.

— А если они разойдутся?

— Это дефект.

— Чей?

— Того, кто заметит.

Испытание в бою

Вторым подходом взяли настоящую бизнес‑задачу. И непростую.

Аня должна была генерировать артефакты по новому процессу. Я — запускать apply: агент пишет код по задачам, я читаю дифф. Света отвечала за сгенерированные автотесты и ручное тестирование.

Первая версия ФС аналитикам не понравилась. Во время совместного ревью «нейро‑ФС» они часто тяжело вздыхали. Аналитики оставили около 40 комментариев на странице ФС. Вместо «не то» и «не так» им нужно было подробно втолковать агенту, какой именно результат от него ожидался.

Комментарии аналитиков к ФС выгрузили из вики в файл, а файл положили в промпт с двумя просьбами: поправить ФС и поправить правила, по которым агент её пишет. Так повторили четыре раза. Агент терпеливо переписывал скиллы и команды и наполнял новый артефакт FS‑STYLE.md — свод всех хотелок аналитиков к хорошей ФС.

Так выглядела наша петля правок:

Enterprise и агентская разработка: опыт одной команды - 8

Результаты становились лучше. Так нам казалось: измерять было нечем.

Потом ФС принялись изучать разработчики и QA.

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

— Функция получения истории изменения атрибутов объекта перестаёт возвращать историю изменения атрибутов связанного объекта, — читает Света и замолкает.

Это написал агент по правилам, которые мы сами для него сочинили. Он не нарушил ни одного. Проверить это просто: читать документ невозможно.

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

— Мы читали вслух, втроём, — поделилась Света. — Некоторые предложения по десять раз. По косвенным признакам поняли, что делать.

Но разработке ФС всё же не мешала, и мы пошли дальше. Утром я открыл пайплайн: все галочки зелёные, автотесты — ровный столбик зелёного.

— Красота, — сказал Виталик, заглянув через плечо. — Скриншоть мне это. Я слайд собираю.

Света молча взяла ноутбук и кружку.

— Пойду прогоню руками. На всякий.

На следующий день она развернула ноутбук экраном к Виталику. Без «привет».

— Тесты зелёные. А здесь не работает. И здесь.

— Я читал дифф. Дважды, — сказал я.

— В диффе их не видно.

Такое ревью не ловит: по коду аккуратно, по тестам зелено. Виталик помолчал, открыл отчёт, выделил слайд и нажал Delete.

— Исправляем не руками, — сказал он. — Говорим об ошибках агенту и просим фиксировать. Нам нужно, чтобы он что‑то запомнил.

История с автотестами посеяла во мне тревогу. Да, человек проверяет артефакты, которые написал агент. И от этого зависит качество. Но читать сгенерированные документы, как вы уже поняли, — занятие на любителя.

На один продукт времени нет — катим на три

Виталик зашёл в кабинет. Налил воды из кулера, выпил.

— На проекте внедрения прилетели срочные задачи по нескольким нашим продуктам. Сроки нереалистичные, вправо не двигаются.

— Сколько? — спросил я.

— Три. По одной на каждый продукт.

— Катим OpenSpec на все три? — уточнил я.

— Катим. На один продукт времени нет — катим на три.

— Мы же хотели сначала отточить на одном, — напомнил я.

— Обстоятельства изменились. Оттачивать будем на трёх — выборка больше.

— И все через агента? — спросил я.

— А как иначе? — отозвалась Света. — Три продукта одной командой по‑старому не вытянем.

Аня кивнула. Петя — тоже. Решение принялось само собой, всей командой.

При масштабировании решили ничего не изобретать. Взяли те же настройки — конфигурацию, FS‑STYLE.md, правила, скиллы — и просто скопировали на другие проекты.

— То есть просто копипаст? — уточнил Петя.

Виталик кивнул:

— Каждый проект ведёт свои настройки сам. Хочет — меняет, хочет — нет.

— А если разойдутся?

— Разойдутся — значит, так было надо. Пока это самый простой путь.

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

Иногда приходилось наступать на те же грабли, что и когда‑то. Зато теперь мы точно знали, что описывать надо всё. Даже то, что «и так понятно». Особенно то, что «и так понятно».

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

На три продукта стартовых лимитов не хватало даже в теории. Точнее, в теории не хватало на два, а на три теория вообще не рассчитывала. Виталик пошёл к Гене, главному по AI‑движухе в нашей компании.

— Дело есть, Гена. Токенов надо побольше.

— Сколько?

— Побольше. Тема серьёзная. Для великой цели.

— Для великой цели — это можно. Только скинь ссылку на великие задачи в трекере. И подтверждение, что они реально великие, а не просто так, по‑пацански.

— Скину. Спасибо!

Виталик, уже с токенами, не удержался:

— Гена, давно хотел спросить. Как ты до жизни такой дошёл — лидером AI‑трансформации стал?

— По убеждениям. Вот видишь, какой эффект даёт AI в разработке?

— Не вижу.

— И я не вижу. — Гена ухмыльнулся. — А он есть.

Enterprise и агентская разработка: опыт одной команды - 9

Исполнитель

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

Утром Виталик пришёл в офис, положил ноутбук на стол и сказал:

— Apply у OpenSpec линейный. Прочитал задачу, написал код. Всё. Никакого ревью по дороге, никакой оркестровки. Для простой задачи — хватает. Для надёжной предсказуемой разработки лучший результат должен дать наш конвейер.

Я кивнул. Описательную часть оставляем за OpenSpec — пусть описывает. Для исполнительной нужен отдельный инструмент.

— Я посмотрел несколько фреймворков. Выбрал AI SDLC Framework. Объясняю.

Я приготовился слушать объяснения.

— По критериям. Первое: предсказуемость. Чтобы на одной спеке не выдавал два разных романа в зависимости от фазы луны. Второе: расширяемость — сегодня один класс задач, завтра другой, не переписываем с нуля.

Виталик сделал паузу и продолжил:

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

Я кивнул. Это звучало как план.

— Четвёртое. — Виталик поднял палец. — Не претендует на описательную часть. Спеки — наши, фреймворк исполняет. Иначе два инструмента делят территорию и воюют. Нам некогда мирить.

— Форкаем? — спросил я.

— Нет.

— Почему?

— Через полгода у нас отдельная вселенная без апдейтов. Апстрим живёт своей жизнью, мы — своей. Потом жалуемся, что в сообществе что‑то вышло, а у нас нет. — Виталик посмотрел в окно. — Не форкаем.

Он подошёл к доске и нарисовал прямоугольник. Подписал: шлюз. От прямоугольника — стрелки.

Enterprise и агентская разработка: опыт одной команды - 10

— Оркестратор говорит, что и когда делать. Шлюз обеспечивает интеграцию с нашим контуром.

Я посмотрел на доску. Выглядело подозрительно просто. Как обычно и выглядит работа, которую ещё никто не начинал делать.

Бизнесовые задачи оркестратору сразу не доверили. Пилотом для исполнительного фреймворка выбрали уязвимости. Задачи на их устранение давно уже живут в трекере: тикеты создаются автоматически после прогона анализатора. С этим справлялся наш воркфлоу на n8n. Нам осталось объяснить оркестратору, что с этими задачами делать.

Команда готовила отгрузки продуктов — все были в своих задачах. Реализацию шлюза Виталик взял себе.

— Ты кодишь? — спросил Петя. Нейтрально так.

— Не особо. Но у меня ИИ.

— Это другое дело, — сказал Петя и ушёл за кофе.

Виталик сидел за шлюзом. Я писал скилл для агента. Работали параллельно, изредка сверялись.

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

Оркестратор пошёл по задачам: агент‑разработчик реализует патч, выкатывает MR, три агента выполняют ревью, правки. Через несколько часов уязвимости версии закрыты. Виталик посмотрел на экран.

— Работает.

Записали строкой в отчёт. А потом все разошлись по домам — в пятницу вечером это лучшее, что может сделать команда, у которой всё сработало с первого раза. Ну, почти с первого.

Передышка оказалась короткой. Во вторник Виталик зашёл без кофе и без приветствия. Видимо, поступили новые вводные.

— Нам нужно показать масштабирование до конца недели.

— И что ты предлагаешь?

— Вайб‑кодь.

Пауза.

— Нет.

— Почему?

— Потому что потом я же его и буду чинить.

— Да, Андрей, я всё понимаю, но нам нужен быстрый результат.

Пауза.

Я не ответил. Открыл репозиторий.

Виталик написал шлюз за три дня. Написал — значит, результат был. Смотреть на этот результат оказалось больно.

Я всю жизнь писал на Java. Привык к многословию, к строгим типам, к слоям, у которых есть границы.

Шлюз был на TypeScript. И это, как выяснилось, ещё полбеды. Это даже не было плохо написано. Это вообще не было написано — это было склеено, но работало. Я сидел и думал: это проблема или это мои предпочтения?

Я скормил шлюз агенту. Объяснил, что нужно: явные точки расширения, читаемые имена, логика по слоям. Агент переписал. Я смотрел — не то. Правил промпт. Агент снова переписал. Ближе.

К концу дня шлюз выглядел иначе: меньше строк, структура читается. Только устроено не так, как я бы сделал руками.

Выделил слой кастомизации под продукты.

Работало. Тесты зелёные. Ревью прошло.

Добавил две вещи руками — туда, где агент не дотянул. Остальное оставил. Закрыл ноутбук. Не открывал до утра.

Шлюз был готов к тому, чтобы встать на другие продукты. На этом классе задач — не падал.

Через пару дней Виталик зашёл.

— Нам выдали подписку Claude Pro. На команду. Оценили, что не сидим на месте.

Петля замкнулась

На уязвимостях сработало. Класс задач узкий, тикеты шаблонные. Пора было тащить туда же настоящую разработку — ту, что идёт по OpenSpec.

Логика была понятная: описательную часть оставляем за OpenSpec, он с ней справляется; исполнительную — за AI SDLC Framework.

— А как соединять?

— Через tasks. — Виталик открыл дерево OpenSpec и ткнул в файл. — У каждой спеки на выходе есть артефакт с перечнем задач. Это уже готовый список работ: заголовок, описание, зависимости. Нам остаётся из него нагенерить тикеты в трекере — и дальше оркестратор берёт их так же, как брал тикеты про уязвимости.

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

Запустили не в пятницу: Виталик сказал, что одного раза с пятницей ему хватило.

Команда подготовила описательную часть фичи через OpenSpec по одной небольшой доработке. На выходе — tasks из трёх пунктов. Три тикета ушли в трекер. Оркестратор подхватил, разложил по зависимостям, пошёл по порядку.

Через час в репозитории лежал MR. Я открыл дифф.

— Он прочитал ФС, — сказал я вслух сам себе.

— А должен был что? — спросил Виталик из‑за плеча.

— Не знаю. Я привык, что её не читают даже люди.

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

— Ну что, — сказал Виталик. — Петля замкнулась.

Я на всякий случай ещё раз пробежал глазами по диффу. Спека ушла в задачи, задачи — в код.

— Виталик, может, задеплоим? — усмехнулся я.

— Обязательно задеплоим. И не раз. Но потом.

Enterprise и агентская разработка: опыт одной команды - 11

Ретро

Пятница. Переговорка. Заканчиваем ретро. На доске — два столбика со стикерами.

Enterprise и агентская разработка: опыт одной команды - 12

Виталик отступил от доски и посмотрел на неё целиком.

— Коллеги. Хорошо поработали. Встроили агентов в процесс — кажется, туда, куда нужно. Работы, как видите, ещё много.

— Процесс — не сломали, — заметил Петя, не отрываясь от печенья.

Виталик кивнул и щёлкнул доску на телефон.

Получить документ или код от агента теперь просто. Принять его — нет: понять, проверить, согласиться по‑прежнему могут только люди, а читать им приходится больше, чем раньше.

Что в этом остаётся нам? Не научить агента быть человеком, а не разучиться быть людьми рядом с ним: задумывать то, чего ещё нет, сомневаться, перепроверять, задавать неудобные вопросы, брать ответственность, наполнять смыслом, не соглашаться с красивой формулировкой, пока за ней ничего нет. В общем — созидать.

Enterprise и агентская разработка: опыт одной команды - 13

Автор: andrew_pt

Источник