dkayumov.ru
Все статьи журнала
Кейс · ИИ-разработка25 мин чтения

Как один человек строит production-CRM командой ИИ-агентов

Боевая CRM с 1С и 54-ФЗ. Штат разработки нулевой. Собрал сам, оркестрируя ИИ-агентов через Claude Code. Разбираю Linear, ревью-панель, конвейер со схемой, эксплуатацию и четыре факапа.

ИИ-агентыClaude CodeLinearvCIOCRMAI Service DeskITILразработка без штата
На этой странице
Текст подстраивается под аудиторию
«Баланс» показывает обе версии. «Для бизнеса» прячет технические детали. «Для технарей» прячет бизнес-пояснения.

Боевая CRM с интеграцией 1С и фискализацией по 54-ФЗ. Команда разработки в штате это ноль человек. Но не ноль инженерной дисциплины и не ноль ответственного. Я собрал её сам, оркестрируя ИИ-агентов через Claude Code, и она работает на проде с живыми пользователями.

Что это за продукт и почему один человек

Это боевая CRM для сервисной B2B-компании в РФ. Она ведёт бронирование ресурсов, считает заказы, выставляет документы, отбивает чеки по 54-ФЗ и обменивается данными с 1С. Прод, живые пользователи, реальные деньги в обороте. Под NDA я не называю ни клиента, ни отрасль, ни город. Дальше в тексте только метод и стек, без узнаваемых деталей.

Обычно такой продукт строит команда из пяти-шести человек. Продакт, два разработчика, тестировщик, безопасник, дизайнер. Я веду проект один. Штат разработки нулевой. Вместо найма я оркестрирую команду ИИ-агентов через Claude Code. Каждый агент держит свою роль, я держу общую картину и принимаю решения там, где цена ошибки высокая.

Дирижёр и команда из 13 ролей

Дирижёр это человек, который ставит задачу и принимает решения. Оркестратор это Claude Code. Он не пишет код в одну голову. Он запускает команду специализированных агентов, у каждого своя роль и зона ответственности. Владелец ставит цель. Дирижёр через Claude Code разворачивает её в задачи. Продакт-агент синтезирует мнения. Дальше за дело берутся профильные роли.

13
ролей-агентов в пуле
9–10
задач в раунде параллельно
до 9
ролей в ревью-панели
2
пояса CI на каждой правке

В пуле 13 ролей. Продакт-менеджер, разработчик, инженер по тестированию. Три роли по безопасности, это прикладная безопасность, пентест и разбор событий. Технический директор для архитектурных решений. Юрист по праву РФ, бухгалтер, эксперт по 54-ФЗ и фискализации, отраслевой эксперт. Дизайнер интерфейсов и бизнес-аналитик. Важная оговорка сразу. Тринадцать ролей не значит, что над каждой задачей работают тринадцать. На конкретную правку выходит подмножество, которое нужно именно ей. Кого позвать, решаю я по содержанию задачи.

Когда подключается профильный эксперт и зачем

Профильную роль включает содержание задачи, а не желание показать большую команду. Тринадцать ролей не значит, что над каждой задачей работают тринадцать. Юриста не зовут на правку кнопки. Дизайнера не зовут считать налог.

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

Профильную роль включает содержание задачи. Узкий вопрос идёт к узкому специалисту, а не к одному агенту, который «вроде всё знает».

Задевает требование закона РФ
Роль
Юрист по праву РФ
Что проверяет
Есть ли обязательная проверка перед действием, сроки хранения данных, согласие на обработку ПДн по 152-ФЗ, право на забвение
Пример
Перед операцией система обязана проверить обязательное по закону условие. Без него действие должно блокироваться, а не проходить
Считает деньги или формирует учётный документ
Роль
Бухгалтер
Что проверяет
Корректность расчёта, состав закрывающих документов, НДС и налоговый режим
Пример
Фича собирает комплект документов по заказу. Бухгалтер сверяет состав и суммы до выкатки
Платёж сопровождается фискальным чеком
Роль
Эксперт по 54-ФЗ
Что проверяет
Состав фискального документа, реквизиты чека, агентская схема расчётов
Пример
Чек должен уйти оператору в правильном формате. Эксперт сверяет реквизиты заранее
Меняется воронка, цены, работа менеджеров
Роль
Коммерческий
Что проверяет
Логика продаж, ценообразование, влияние на показатели
Пример
Правка меняет расчёт стоимости. Смотрим, не ломает ли она работу менеджера
Требования размытые, формулировка нечёткая
Роль
Бизнес-аналитик
Что проверяет
AS-IS и TO-BE, критерии приёмки до кода
Пример
Заказчик описал общими словами. Раскладываем на критерии приёмки, и только потом в разработку
Есть допущение «в жизни так делается»
Роль
Отраслевой эксперт
Что проверяет
Реалистичность бизнес-допущений
Пример
В постановке заложен сценарий, который на практике почти не встречается. Эксперт отмечает это до реализации
Меняется интерфейс или доступность
Роль
Дизайнер
Что проверяет
Удобство, понятность, доступность
Пример
Новая форма заказа. Проверяем, что ей реально можно пользоваться

Конвейер от цели до прода, по шагам

Конвейер тот же, что в зрелой команде разработки. Цель превращается в постановку. Постановка в задачи в трекере. Задачи в код. Код проходит ревью и автоматические проверки. На зелёном гейте идёт выкатка с заранее заданной точкой отката. Разница не в этапах, а в том, кто их проходит. Этапы проходят агенты. Я держу гейты на входе и выходе. Вот весь поток на одной схеме.

  • ромб — решает человек
  • терракот — штатный фикс-луп ревью
  • красный — аварийный возврат (CI · откат · эскалация)
Тот же конвейер в вертикальной компоновке для телефона: цель владельца, мнения ролей, синтез продакта, виза человека, задача в Linear, раунд задач, ревью-панель, вердикт, гейт CI (жёсткий и мягкий пояс), риск-виза, релиз, прод, мониторинг Hawk, AI Service Desk, развилка автономии и агент чинит сам. Петли фикс-лупа, красного гейта CI, авто-отката и эскалации показаны скобками в боковых коридорах.01 · ПОСТАНОВКАЦель владельцачеловек · входМнения ролейпрофильные агентыСинтез продактаодна постановкаВиза человекагейт · «ок»Задача в Linearпостановка в трекер02 · ПОСТАВКАРаунд ~9–10 задачагенты параллельно · ветка · коммитразбор причины в коммитеРевью-панельбезопасность · пентест · SOC · QAдо 9 ролей по рискуВердиктодобрить?Гейт CIжёсткий: tsc · ESLint · юнит · интегр.Postgres · сборка · BATS · SASTмягкий пояс: аудит зависимостей → отчётРиск-визасхема · деньги · удалениеРелизтег · бэкап · миграциисимлинк · проба 20003 · ЭКСПЛУАТАЦИЯПродживые пользователи · деньгиМониторинг Hawkошибки · скруббер ПДнAI Service DeskITIL · инциденты, запросыОбратимо?развилкаАгент чинит самрестарт · кэш · откат кодадафикс-лупCI → назадавто-откат · проба ≠ 200тот же конвейерэскалация
Сквозной конвейер от цели владельца до эксплуатации. Два гейта человека, развилка автономии и три петли самоисправления — фикс-луп ревью, красный гейт CI и авто-откат релиза.
Одна постановкаЗадачаветка и коммитЗадачаветка и коммитЗадачаветка и коммити ещё 6–7задачСинтез раундаснять пересеченияОдин релиз целикомточка отката
Анатомия одного раунда. Одна постановка ветвится на параллельные задачи, каждая своей веткой и коммитом, и сходится в один откатываемый релиз

Как идёт ревью кода и кто что смотрит

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

«Один безопасник в трёх лицах так не сработает. Это три разных профессии и три разных взгляда на одну правку.»

Про три роли безопасности
ПрикладнаябезопасностьКласс уязвимости прямо в коде.Инъекция, утечка данных в логиПентестерПытается это эксплуатировать.Доступ к чужим данным, гонка запросовРазборсобытийСмотрит прод, а не код.Что залогируем, сработает ли оповещениеТехническийдиректорАрхитектура, границы транзакций,идемпотентность, обратимость миграции
Матрица ревью. Каждая роль смотрит своё, а не одно глазами шестерых. И всё это до релиза, а не после инцидента

Что после выкатки и при чём здесь Service Desk

После выкатки система живёт сама под присмотром. Здесь два потока работы. Первый это когда что-то сломалось, надо найти и починить. Второй это когда пользователь попросил что-то сделать, надо выполнить. На языке ITIL это управление инцидентами и исполнение запросов. Новизна одна. Рутинную часть обоих потоков выполняют агенты, а не дежурная смена людей.

Поток инцидентов выглядит так. Мониторинг ловит сбой и фиксирует его как тикет. Агент разбирает тикет, находит причину, чинит обратимое сам и пишет, что сделал. Если действие необратимое или затрагивает деньги, агент останавливается и ждёт меня. Поток запросов проще. Пользователь пишет, что ему нужно. Агент разбирает запрос и выполняет его, оставаясь в границах безопасного. Это и есть AI Service Desk. Рутину закрывает агент, риск-решения остаются за человеком.

Где ИИ не решает и кто отвечает за прод

Главный принцип короткий. Агент сам делает то, что безопасно и обратимо. Всё необратимое, всё, что касается денег или прод-схемы, проходит через моё явное подтверждение. За инцидент на проде отвечаю я, а не агент. Это не оговорка мелким шрифтом, а основа доверия к модели.

Агент делает сам. Обратимое и безопасноеРешает человек. Необратимое, деньги, схемаПерезапуск фонового процессаЧистка кэшаОткат кода без миграции схемыОтвет на типовой запрос данныхМиграция схемыОперация с деньгамиУдаление данныхСмена секретов
Граница автономии. Обратимое и безопасное агент делает сам. Необратимое, деньги и схему прода решает человек

Честно про слабое место инструмента. ИИ убедительно ошибается. Он может выдать код, который компилируется и падает на проде, сослаться на несуществующий метод или на устаревшую документацию. Это не повод от него отказываться. Это повод не оставлять его без проверки. Поэтому ревью, тесты и явное подтверждение человека на риск-действие не бюрократия, а условие, при котором модель вообще безопасна.

Есть и отдельный класс риска именно у агентной модели. Это подмена инструкции через входные данные. Тикет или сообщение пользователя могут содержать текст, который агент примет за команду. Защита тут не магический фильтр, а та же граница ответственности. Агент не делает необратимое и не трогает деньги и схему без человека, поэтому худшее от такой подмены упирается в гейт. Специализированную защиту от инъекций я честно отношу к зоне развития, а не выдаю за готовую.

Следующие четыре факапа это не провал процесса. Это доказательство, что процесс реалистичный, а не нарисованный. Ревью и тесты не обнуляют ошибки, а сужают их. Гонку видно только под одновременной нагрузкой. Пустой ключ сборки виден только на живом проде. Каждый факап закончу тем, какую часть конвейера он закалил.

«Зелёная сборка не равно работающая фича. CI проверяет, что код собрался, а не что фича жива на проде.»

Урок факапа 2

Что уже работает и что я достраиваю

По сути это AIDevSecOps. Безопасность зашита в конвейер, а не приклеена в конце. Три профиля безопасности на каждую правку, тесты безопасности в гейте, разбор событий на проде. До этого доходят не все живые команды. Но честно. Часть контура ещё в работе, и я не выдаю её за готовое.

Ролевую модель прав внедряю поэтапно. Гейты постепенно ужесточаю. Дальше в плане автоматическое сканирование секретов и состава зависимостей по релизам, отдельный контур защиты агентов от подмены инструкций. Вектор развития это и есть признак живого продукта, а не разовой поделки. Я показываю не застывшую картинку, а систему, которая растёт под присмотром.

Сколько это стоит против команды разработки

Считаю грубо и честно. Классический вариант это команда из пяти-шести специалистов. Фонд оплаты труда на несколько человек в месяц плюс налоги, оборудование и время на найм. Моя модель это ставка одного ответственного эксперта плюс расходы на инструменты. Инструменты тут порядка десятков тысяч в месяц, а не миллионы. Разница в полную стоимость получается кратной, в разы, а не в проценты. Это моя практика на моём проекте, а не обещание результата вам.

Сравнение качественное, без точных сумм. Цифры зависят от объёма и считаются под конкретный проект.

Состав
Команда разработки
5–6 специалистов
Эта модель
Один дирижёр плюс агенты
Расходы в месяц
Команда разработки
ФОТ на несколько человек плюс налоги
Эта модель
Ставка эксперта плюс инструменты
Найм и онбординг
Команда разработки
Недели на каждого
Эта модель
Нет
Простой на отпусках и болезнях
Команда разработки
Есть
Эта модель
Изменения замораживаются, прод работает
Время до запуска
Команда разработки
Кварталы
Эта модель
Недели

Кому эта модель подходит, а кому нет

Модель не универсальная, и я не продаю её как серебряную пулю. Она хорошо работает на понятных бизнес-приложениях с обозримой логикой. CRM, учётные системы, интеграции, внутренние порталы, автоматизация процессов. Там, где требования формулируются, а архитектура без экзотики. Один сильный технический человек с командой агентов закрывает такой класс задач уверенно.

Где модель не работает. Хайлоад с миллионами запросов в секунду и тонкой оптимизацией. Системы, где цена ошибки это жизнь и здоровье, и нужна формальная верификация. Глубокий R&D без понятной постановки. Продукты, где десятки людей годами наращивают одну кодовую базу. Там нужна настоящая команда, а не один дирижёр. Честный ответ «вам это не подходит» я даю на первом же разговоре.

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

Главное условие модели

Частые вопросы

Это заменяет команду разработки?

Для определённого класса задач да. Прикладные бизнес-системы с понятной логикой один дирижёр закрывает командой агентов. Хайлоад, критичные для жизни системы и глубокий R&D уже нет, там нужна настоящая команда.

Где ведутся задачи и как вы за ними следите?

В Linear. Продакт-агент сводит мнения ролей в одну постановку, я визирую её, заводится задача. Дальше она идёт по статусам, с приоритетом, связями и комментариями с деталями выкатки и разбором инцидентов. Трекер не отстаёт от прода ни на шаг, это единый источник правды по тому, что реально стоит на боевой системе.

Кто отвечает за инцидент на проде?

Человек. Я как дирижёр. Агент готовит и выполняет работу, но право на риск-действие и ответственность за последствия остаются за человеком. Это зафиксировано в самой модели, а не подразумевается.

А если агент сломает прод?

Code-only откат на предыдущий зелёный тег занимает минуты. Раунд с миграцией схемы откатывается иначе. Тут восстановление из бэкапа перед выкаткой или обратная миграция. Это отдельный осознанный план, а не одна кнопка. Авто-откат по упавшей пробе живости срабатывает только на сборках без миграции. Поэтому худший реалистичный случай это короткий откат, а не катастрофа.

Сколько это стоит против штата?

Ставка одного ответственного эксперта плюс расходы на инструменты против фонда оплаты труда команды из пяти-шести человек. Разница кратная, в разы. Точная цифра зависит от объёма, и её я считаю на разборе под конкретный проект.

Подходит ли это моему бизнесу?

Если у вас прикладная система с понятными требованиями и нужен быстрый запуск без отдела разработки, скорее да. Если система критична для жизни, требует хайлоад-оптимизации или у вас уже есть сильная команда, скорее нет.

Что с 152-ФЗ и данными клиента?

Персональные данные обрабатываются на инфраструктуре под контролем, доступы выдаются по минимально необходимому принципу, действия журналируются. Ролевую модель прав я внедряю поэтапно и не выдаю за полностью завершённую. Агент работает с данными в тех же границах прав, что и человек, а риск-операции с данными требуют подтверждения. В мониторинг персональные данные вычищает скруббер по известным полям и сигнатурам. Это снижает риск утечки, но не даёт абсолютной гарантии на любой свободный текст.

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

Первый разговор

Я работаю с этим напрямую — ознакомительный звонок 30 минут

Расскажете ситуацию — отвечу за 4 часа в рабочее время. Звонок бесплатный, без обязательств. Если задача не моя — порекомендую коллег, у которых она хорошо ляжет.