В июле из компании ушёл сотрудник, который вёл реферальных партнёров: договоры, акты, счета, согласования, выплаты. Замену не искали. В субботу 5 сентября я описал этот процесс словами агенту TunnelCode в GPTunneL, в воскресенье конвейер уехал в прод, а в понедельник 7 сентября через него прошёл первый настоящий партнёр без единого сообщения с моей стороны. Три дня на функцию, под которую в компании держали ставку.
Ниже разбор по шагам: что именно делал человек, как устроена замена, сколько это стоило и почему ни один паспорт партнёра при этом в нейросеть не попал. Это не обзор модели и не инструкция по промптам, а кейс для руководителя, у которого в отделе есть похожий процесс.
Что делал человек: семь шагов и четыре системы
Реферальная программа GPTunneL устроена просто: партнёр приводит клиентов и получает процент с их оплат. Сложность начинается там, где процент нужно превратить в деньги на счёте партнёра, с договором, актом, счётом и по закону.
Одна выплата при живом сотруднике выглядела так.
- Партнёр оставляет заявку на выплату в личном кабинете.
- Сотрудник берёт образец договора с Диска и заполняет его реквизитами партнёра.
- Заводит задачу юристу и ждёт согласования.
- Отправляет договор партнёру и ждёт подписанный скан или подпись в Диадоке.
- Просит партнёра прислать акт и счёт. Самозанятый обычно не знает, как их составить, и переписка идёт кругами.
- Заводит задачу на оплату и проводит её через трёх согласующих.
- Передаёт бухгалтеру, у самозанятого дополнительно просит чек.
Семь шагов, четыре системы, на каждом шаге ожидание. Не потому что сотрудник плохой, а потому что он один, у него рабочий день и десяток других задач. Заявка, пришедшая в пятницу вечером, до понедельника не существует.
Почему нанять нового менеджера было бы ошибкой
Если разобрать процесс на решения, выяснится, что человеческих решений в нём два: согласование договора юристом и согласование оплаты. Оба принимали другие люди. Плюс одно техническое действие на платформе, списание баланса партнёра. Всё остальное — перенос данных из одной системы в другую и ожидание.
Сотрудник был диспетчером между людьми, которые принимают решения. Новый менеджер унаследовал бы ту же очередь, тот же рабочий день и те же две недели отпуска, во время которых процесс стоит. Заменять имело смысл не человека, а роль диспетчера.
Вечер на спецификацию, день на код
Внедрения в привычном смысле не было. Был один вечер, за который мы с TunnelCode написали спецификацию: кто такие партнёры (физлицо, самозанятый, ИП), из каких образцов собирается договор, кто и что согласует, в каких системах живут задачи. Агент разбил спецификацию на 17 задач и написал детерминированный сервис на Python внутри нашего бэкенда, с 281 автотестом.
Что получилось в итоге.
Заявка — это Яндекс Форма. Партнёр заполняет её один раз: статус, реквизиты. Ставку указывать не нужно: бот сверяет процент и число рефералов по нашей аналитике. Ответ формы падает задачей в Яндекс Трекер, и с этого момента заявку ведёт бот.
Договор собирается из образца юристов. Те же маркеры, что раньше заполнял человек, теперь заполняет код: без опечаток в ИНН, с датой по Москве, с реквизитами в нужном падеже. Юрист получает готовую задачу с docx и pdf и ставит согласование.
Партнёру уходит письмо с договором. Ответ со сканом ложится комментарием в ту же задачу. ИП с электронным документооборотом получает приглашение в Диадок.
Акт и счёт бот делает сам на сумму заявки по подписанному договору. Партнёру больше не нужно знать, что такое акт.
Задача на оплату заводится автоматически, с актом и счётом во вложении. Согласующие видят полный комплект сразу.
Если на любом шаге тишина, бот напоминает. Не одним письмом, а лесенкой, со своим лимитом напоминаний на каждую стадию.

Где бот выигрывает у сотрудника
Не «не хуже человека», а лучше, и вот по каким пунктам.
| Было: сотрудник | Стало: бот | |
|---|---|---|
| Реакция на заявку | в рабочее время, когда дойдут руки | сразу, круглосуточно, включая выходные |
| Акт и счёт | просит у партнёра, партнёр не умеет | делает сам на сумму заявки |
| Ставка и число рефералов | смотрит в админке, переносит руками | берёт из аналитики по идентификатору партнёра |
| Ошибки в реквизитах | опечатка в ИНН, старая дата | маркеры заполняет код, дата по Москве |
| Напоминания | «забыл написать» | лесенка по каждой стадии |
| Согласие на обработку данных | один экземпляр в договоре | дата и версия документа по каждой заявке |
| Десять заявок вместо одной | очередь на недели | те же несколько минут |
| Отпуск, больничный, увольнение | процесс встаёт | не бывает |
Строка про согласие — отдельная история. Юрист давно просил логи согласия на обработку персональных данных. Живой сотрудник их не вёл: не по злому умыслу, просто руками это не ведёт никто. Бот записывает дату согласия и версию документа по каждой заявке, потому что ему это ничего не стоит.
Второе, что оказалось важнее ожидаемого: бот не проявляет инициативы там, где не нужно. Если данных для договора не хватает, он не додумывает, а останавливается и пишет, чего именно нет. Человек в этом месте обычно обещает уточнить потом.
Что осталось за людьми
Решения. Юрист согласует договор, и до его согласования ни подпись, ни отправка партнёру не происходят. Оплата идёт через задачу с тремя согласующими. Списание баланса партнёра на платформе делаю я сам по уведомлению.
| Роль | Что делает | Что получает от бота |
|---|---|---|
| Партнёр | один раз заполняет форму, подписывает договор | договор, акт и счёт готовыми, напоминания о следующем шаге |
| Юрист | согласует договор | задачу с docx и pdf, логи согласий |
| Согласующие оплату | ставят согласование | задачу с актом и счётом во вложении |
| Бухгалтер | проводит оплату | полный комплект документов, чек самозанятого |
| Руководитель | списывает баланс партнёра | уведомление, когда всё согласовано |
Бот заменил диспетчера, а не юриста и не бухгалтера. Разница в том, что между их решениями больше нет ожидания.
Сколько это стоило
Выходные и токены, которые TunnelCode потратил на спецификацию и код. Оплата по факту расхода, без подписки. Разработка обошлась дешевле одного рабочего дня менеджера.
Дальше ноль. В рантайме нейросети нет, поэтому каждая следующая заявка не стоит ничего. Это принципиальный момент: знание процесса, которое ушло вместе с сотрудником, переносится в код один раз и больше не тратится на каждого партнёра.
Для сравнения: ставка менеджера — это не только оклад. Это ещё от недели до месяца на каждую выплату, партнёры, которые не знают, как составить акт, и процесс, который встаёт на две недели отпуска.
«Вы отдали паспорта партнёров нейросети»
Это первое возражение, которое я услышал. Не отдали. Нейросеть писала код, а не читала паспорта: это два разных агента с разным доступом.
TunnelCode как разработчик получил описание процесса: образцы договоров с маркерами вместо реквизитов, описание админки, структуру очередей, правила согласований. Тестовые заявки — вымышленные самозанятый и ИП с суммой в один рубль. Ни одной настоящей фамилии.
Бот как исполнитель — обычный код без вызовов модели. Реквизиты партнёр вводит текстом по полям формы, сканы сохраняются файлами, письма — шаблоны с подстановкой имени. Весь контур обработки персональных данных остался там же, где был при живом сотруднике: Яндекс Формы, Яндекс Трекер, почта Яндекс 360, Postgres на российском хостинге. Ни одного нового обработчика в схеме, а значит, ни одной новой строки в согласии и никакой трансграничной передачи.
Соблазн поручить модели распознавание фото паспорта был. От него отказались: это отдельное правовое основание, отдельное уведомление в Роскомнадзор и отдельная точка отказа ради того, чтобы партнёр не вводил серию паспорта руками. Плохая сделка. Ни один шаг конвейера не стал хуже от того, что модели в нём нет.
Это не юридическая консультация, свой случай смотрит ваш юрист. Но принцип переносится на любую автоматизацию: агенту, который строит процесс, нужен процесс. Коду, который его исполняет, нужны данные. Это разные вещи, и доступ у них должен быть разный.
Что пойдёт не так, если повторять
- Спецификация написана в общих чертах. Агент честно реализует то, что описано. Если в описании нет случая «партнёр прислал скан без подписи», бота придётся дописывать после первого такого партнёра. Час на перечисление исключений экономит дни.
- Решения тоже отданы боту. Согласование договора и оплаты должно остаться у людей, иначе первая ошибка в реквизитах уйдёт партнёру и дальше в бухгалтерию.
- В рантайме оставлена модель. Каждая заявка начинает стоить денег, а ответы становятся недетерминированными. Модель нужна на этапе разработки, в исполнении достаточно кода.
- Реальные данные попали в тесты. Тестовые партнёры должны быть вымышленными с самого начала, иначе персональные данные окажутся в контексте разработки.
Что делать в понедельник
Взять один процесс, который ведёт один человек, и выписать его по шагам, как в первом разделе. Отметить, где в нём настоящие решения, а где перенос данных и ожидание. Если решений два-три, а шагов семь, это кандидат на такой же конвейер.
Построить его можно тем же способом: TunnelCode — агент для разработки внутри GPTunneL. Он видит проект целиком, правит десятки файлов за раз, запускает тесты, читает ошибки и чинит их сам. Работает из России, оплата в рублях и по факту расхода, без подписки. Если процесс сложнее или нужна помощь с его описанием, есть консалтинг по внедрению, условия для компаний на странице корпоративного доступа, цены на модели в прайсе.
Реферальная программа GPTunneL при этом открыта: партнёр получает процент с оплат приведённых клиентов. Выплаты теперь идут по описанному конвейеру: заявка в форме, договор по образцу юристов, акт и счёт готовит бот, напоминания приходят сами.
