ИИ-агенты за четыре дня собрали мне PM-систему вместо SaaS за 78 000 ₽ в год
Сразу представлюсь честно: я владелец небольшого digital-агентства, нас шесть человек, и я не программист. Код из этой статьи я прочитать не смогу. Тем не менее уже месяц наша команда ведёт все клиентские проекты в PM-системе, которой нет ни в одном каталоге SaaS: её написали ИИ-агенты под моим управлением — за четыре дня, на пятый я её выкатил, и люди начали пользоваться. Туда же переехали 4 115 задач за полтора года из старого облачного сервиса.
Но самое интересное в этой истории — не «собрал за четыре дня». Самое интересное началось потом: систему теперь развивает вся команда и даже клиенты, через обычный чат в Телеграме, и цикл «пожелание → работающая фича» сжался до пары дней. Про это будет большая часть статьи.
Про вайб-кодинг сейчас пишут либо восторги «собрал приложение за вечер», либо разносы «этот код нельзя пускать в прод». Попробую честно посередине: что реально получилось у человека без технического образования, какие решения принимал я, а не ИИ, и где мне до сих пор страшно.
Почему мы съехали: арифметика, а не идеология
Полтора года мы жили в нормальном облачном сервисе и платили за него около 6 500 рублей в месяц. В год набегает под 80 тысяч — за инструмент, который так и не отвечал нашим требованиям.
Но добила меня не эта сумма, а цена клиентского доступа. Мы ведём проекты клиентов, и я хотел, чтобы каждый клиент видел живую доску своего проекта. За каждого добавленного в аккаунт гостя сервис просил доплату — порядка 500 рублей в месяц. Один клиент — терпимо. Умножьте на всю клиентскую базу агентства: переведи я всех — просто разорился бы на таск-трекере. Инструмент, который должен помогать обслуживать клиентов, штрафовал меня за каждого клиента.
И это была не единственная доплата. База знаний? Доступ к ней — за отдельные деньги. Хочешь скрыть её часть от кого-то из команды или от клиентов? Тоже доплати. В какой-то момент я поймал себя на том, что тарифная сетка сервиса структурирует наши рабочие процессы лучше, чем мы сами: не «как нам удобно работать», а «за что мы готовы доплатить». За каждый чих нужно было платить отдельно, и меня это по-настоящему бесило.
Третье — кастомизация, точнее её отсутствие. Наш процесс — недельные спринты, задачи с видимой клиенту и внутренней частями, отчётность клиентам каждые две недели — в чужой продукт не влезал. Система подтормаживала, с доступами были вечные сложности, и часть команды она откровенно подбешивала. Мы честно пересмотрели кучу аналогов на рынке — ничего подходящего под наши требования так и не нашли.
Раньше на этом всё бы и закончилось: заказывать разработку внутренней системы для шести человек — экономика не сходится. Но я уже год работаю с ИИ-агентами в терминале — это инструменты, которые не советуют код в чате, а сами пишут файлы проекта, запускают тесты и деплой. Решил проверить: потянет ли ИИ не скрипт на вечер, а систему, в которой команда живёт каждый день.
Четыре дня: как выглядит разработка, когда ты не разработчик
Мой вклад — не код. Я описал агенту, что нам нужно, сценариями, буквально как менеджер: «клиент открывает постоянную ссылку без регистрации и видит только задачи с галкой “видно клиенту”», «колонка “Готово” группируется по месяцам, чтобы вопрос “что вы сделали за июль” закрывался ссылкой», «в пятницу сотрудник закрывает неделю: задача либо сделана, либо явно записано, чего ждём». Дальше — итерации: агент делает, я открываю систему как сотрудник и как клиент, пробую сломать, диктую правки списком. Что-то вставало с первого раза, что-то с пятого.
На четвёртый день система умела всё, без чего я не готов был переезжать. На пятый я выкатил её на наш VPS и дал команде доступы.

Два моих требования оказались важнее всех фич. Первое: на каждую доработку агент пишет автоматические тесты — я не могу оценить код, но вижу, что тесты регулярно ловят поломки раньше команды, и для меня это единственный доступный язык гарантий. Второе: любые изменения базы — только после датированной копии файла (вся база — один файл SQLite, бэкап равен копированию). На сервере лежит стопка таких копий на любой случай.
Переезд: 4 115 задач через публичный API
Самая опасная часть — не новые экраны, а полтора года истории. Старый сервис отдаёт данные по публичному API; первая выгрузка «как есть» весила 270 мегабайт на четыре тысячи задач — оказалось, API прикладывает к каждой задаче справочник вообще всех настраиваемых полей воркспейса. Агент нашёл это сам и ужал дамп до 10,5 МБ.
Дальше агенту нужно было объяснить структуру, которая полтора года жила у нас в головах: пары досок «Х — коммуникации» и «Х — внедрения» — это один проект X с клиентской и внутренней частями; в общих спринт-досках задачи размечены тегом клиента, а даты спринта записаны в названии колонки «Спринт 13.07.26 — 17.07.26». Я рассказал это по-русски — агент превратил в классификатор.
Одна грабля стоит упоминания. У части задач настраиваемое поле «Часы факт» существовало дважды — пустое и заполненное, наследие того, что одинаковые поля создавались на разных досках. Наивная выгрузка молча теряла заполненное; агент наткнулся на это при отладке и переписал разбор — перебирать все одноимённые поля до первого непустого:
function cfValue(task, name) {
for (const f of fieldsByName(task, name))
if (!isEmpty(f.value)) return f
return null
}
Этот код написал не я. Урок, который я забрал как управленец: в миграциях нельзя доверять уникальности ничему, что люди создавали руками в интерфейсе.
А главное моё требование к миграции было не техническим — я хотел право передумать. Скрипт можно запускать сколько угодно раз: перенесённое он пропускает, новое доносит. Поэтому никакой «ночи X» не было: прогнали перенос, спокойно дожили хвосты в старой системе, потом тот же скрипт догнал разницу.
Самое интересное: систему развивает вся команда через чат
Система заработала — и встал вопрос адаптации: у каждого в команде свои привычки и раздражители. Я не стал собирать совещания и писать регламенты. Я создал в Телеграме чат с названием «Доработка и развитие PM-системы» и сказал команде прямым текстом: видите косяки — делайте скрин, кидайте в чат. Хотите что-то добавить, что-то неудобно — кидайте в чат. Любые вопросы, любые пожелания — текстом, скринами, как угодно.
И они кидают. Раз в два дня я захожу, вытаскиваю накопившееся и переношу агенту — он делает доработки. За первый месяц таких доработок набралось от двадцати до тридцати. Причём видна эволюция: сначала это были технические косяки — не работал скролл, не нажималась кнопка. Сейчас багов почти нет, и чат перешёл в режим развития: «а было бы классно вот так».
Несколько историй из этого чата, от забавной до серьёзной.
Смайлики. Команда попросила реакции на комментарии к задачам — чтобы не писать «ок, увидела», а просто поставить эмодзи. Я реализовал это одним промтом: описал агенту, что хочу, — реакции появились. Теперь наш аккаунт-менеджер рассказывает, что любит ставить «глазки»: поставила 👀 — значит, увидела и держит в поле зрения. Мелочь? Мелочь. Но именно из таких мелочей складывается инструмент, в котором приятно работать, — и в SaaS эта мелочь навсегда осталась бы строчкой в чужом бэклоге.
Отчётность по клиентам. Мы отправляем клиентам отчёты каждые две недели, и полтора года график отчётов жил в отдельной Google-таблице — в старую систему это было не внедрить никак. Теперь календарь отчётности встроен в PM: система сама создаёт задачу на отчёт, показывает, сколько дней осталось, и по сути сама его просит. Отдельный документ умер, а вместе с ним — целый класс «забыли про отчёт».
Часы. Мы внедрили учёт времени прямо в процесс: при закрытии задачи нужно указать фактически потраченное время. Никакой отдельной дисциплины тайм-трекинга — просто нельзя закрыть задачу молча. Теперь по каждому проекту видно реальные часы, и это данные, которых у нас не было полтора года.
База знаний. Та самая, за которую старый сервис хотел отдельных денег, — теперь просто часть системы: регламенты, шаблоны работ, реестр проверенных гипотез с результатами. И главное отличие даже не в цене, а в правах: я могу скрыть от кого угодно что угодно — вплоть до отдельной записи. Кто из команды что видит, что видят клиенты — всё это настройки моей системы, а не пункты чужого тарифа.

Клиенты попросили — клиенты получили
Дальше мы сделали шаг, который в SaaS невозможен в принципе: открыли тот же процесс клиентам. Прямо сказали — что не нравится на вашей доске, пишите.
Клиенты попросили две вещи. Первая: кроме канбана — вид списком. Сделали. Вторая: «а можно уведомления?» — и вот тут родилась самая заметная фича системы: Telegram-бот, которого клиент подключает прямо со своей доски и получает события своих задач в мессенджер.
Реакция клиентов на саму модель доступа оказалась даже теплее, чем я рассчитывал, и причина простая: им не нужно регистрироваться. Никаких почт, никаких паролей — мы отдаём прямую ссылку, человек переходит и работает. Для клиента это буквально проще, чем был старый порядок с отчётами по почте.

Что сломалось за месяц: честный список
Глобальных проблем не было — и я понимаю, как подозрительно это звучит, поэтому уточню, что было. Самое серьёзное: система какое-то время неправильно учитывала часы между задачами — статистика времени расходилась с реальностью. Нашли, пересчитали накопленное, починили. Плюс россыпь интерфейсных багов первых недель — тот самый скролл и кнопки из чата доработок.
Что мы реально потеряли при переезде: комментарии к задачам за полтора года — публичный API старого сервиса их не отдаёт вообще. Проверьте этот пункт у себя до того, как пообещаете команде переезд. И интеграции из коробки — их теперь ноль, каждая нужная делается руками агента.
А вот потери, которой я боялся, не случилось: мобильного приложения. Нативным приложением старого сервиса у нас всё равно никто не пользовался. Мы попросили агента сделать нормальную адаптацию под телефон — и вопрос закрылся: аккаунт-менеджер половину времени работает с досками с телефона, скриншоты оттуда прилетают в чат доработок регулярно, всё читается и нажимается.
Где мне до сих пор страшно
В проде работает система, код которой в нашей команде не читает никто. Я живу с этим так: тесты как условие приёмки любой доработки; бэкапы перед каждым изменением схемы; чувствительные вещи — пароли, клиентские ссылки-токены с возможностью перевыпуска — я отдельно просил проверить второй ИИ-инструмент, сознательно другой моделью и свежим взглядом.
И я честно понимаю границы подхода: с платёжными или медицинскими данными я бы так строить не стал. PM-система — идеальный кандидат для вайб-кодинга именно потому, что цена худшего сценария — восстановиться из вчерашнего бэкапа.
Экономика
Было: около 6 500 рублей в месяц за сервис, который не отвечал требованиям, плюс ~500 рублей в месяц за каждого клиента с доступом — то есть модель, при которой рост клиентской базы наказывается рублём.
Стало: VPS за ~500 рублей в месяц, на котором и так крутится куча наших проектов, — отдельно PM-система стоит ровно ноль. Новый клиент — это строка в базе и ссылка, а не плюс к ежемесячному счёту. Масштабирование бесплатно и, по сути, бесконечно.
Подписка на ИИ-инструменты не бесплатна, но она у меня есть независимо от этой системы и закрывает десятки задач бизнеса — относить её целиком на PM нечестно.
Что дальше и выводы
В планах — продолжать интегрировать в систему то, что раньше жило в разрозненных документах: следующий большой блок — автоматическая отчётность для клиентов. Двигаемся так же, потихоньку, итерациями из чата.
Выводы для таких же нетехнарей, как я.
Первое: грань сместилась. Внутренние инструменты «под свой процесс» больше не требуют программиста в штате — они требуют внятно сформулированного процесса. ИИ пишет код быстро; медленным оказалось вытащить из моей головы, как мы на самом деле работаем.
Второе: ваша работа в этой связке не техническая, но её много — требования, приёмка, риски, право передумать. Везде, где наша система хороша, я был занудой. Везде, где вылезали проблемы, я принял «вроде работает».
Третье, главное: настоящая магия начинается не когда ИИ написал вам систему за четыре дня, а когда цикл её развития стал дешевле разговора. Сначала я создал систему такой, как видел её сам. Потом дал возможность участвовать всем — и все радостно участвуют, потому что все в ней работают. Чат в Телеграме, скрины, раз в два дня — агенту. Они пишут — я развиваю.
На вопросы в комментариях отвечу; там, где ответ потребует залезть в код, — честно пойду за ним к тому же агенту, который его писал. Собственно, это и есть рабочий процесс, о котором вся статья.