Как мой агент сделал бухгалтерский продукт за день - пока я даже не читал ТЗ
Илья Черняк · 7 мая 2026 г.
Мой друг Андрей прислал мне задачу. Я не открыл ТЗ. Я не посмотрел приложенные PDF. Через день у Андрея на столе оказался рабочий продукт с веб-интерфейсом, документацией и кодом - а у меня появилось время написать эту статью.
Сама разработка заняла часы. Остальное время агенты ждали, пока я освобожусь, чтобы сказать им «ок, делайте».
Любую узкую задачу, которая возникает в вашем бизнесе - рутину, обработку документов, что угодно - можно автоматизировать, написав для неё своё решение. А не арендовать чужой SaaS навсегда.
Это главное, ради чего я пишу эту статью. Дальше - как это устроено внутри.
Что попросил Андрей
Андрей - мой друг, владелец кальянной в Кемерово. Очень увлечён автоматизацией: уже многое автоматизировал в своём заведении. И вот у него появилась новая идея - парсер УПД-шек для бухгалтеров.
УПД - это «универсальный передаточный документ». Основная первичка в России. Каждый день бухгалтер получает кипу таких документов в виде сканов, и должен вручную перебить в 1С продавца, ИНН, КПП, дату, каждую товарную позицию. По 10-15 минут на штуку. По десятку в день.
Это рутина, на которую уходит чужая жизнь.
Андрей сформулировал задачу: программа, которая берёт PDF со сканом УПД и выдаёт структурированные данные. С одним важным условием - всё должно работать локально. Это финансовые документы, в облако их слать нельзя.
«Это, в принципе, единственное вводное, которое я получил от него. Дальше он просто прислал ТЗ.»
И всё. Дальше я в эту задачу не лез.
Я был не заказчиком, а переключателем сообщений
Андрей прислал телеграм-сообщения с описанием и приложил несколько PDF с примерами УПД. Я их даже не открыл. Просто переслал моему агенту-координатору Мо.
Мо - это первый агент, которого я создал. Он администратор моей команды агентов. Тот, кто между мной и всеми остальными. О нём я уже писал отдельно.
Вот что было дальше:
- Мо прочитал ТЗ Андрея и задал ему уточняющие вопросы - через меня.
- Я переслал вопросы Андрею в Telegram.
- Андрей ответил. Я переслал ответы Мо.
- Мо собрал из этого качественное ТЗ - расписанное по разделам, с критериями приёмки.
- Мо предложил мне отправить это ТЗ Максу - моему агенту-разработчику.
- Я согласился.
«Я просто переслал телеграм-сообщения моему агенту-координатору Мо. Мо сформировал полную задачу - уже качественное ТЗ - и предложил мне отправить его Максу.»
Заметили? Я в этой цепочке - не заказчик. Я связной. Мо ведёт себя как продакт-менеджер: сам опрашивает заказчика, сам пишет ТЗ, сам делегирует разработчику. Я только пересылаю сообщения и кликаю «ок».
Почему я даже не пытался разобраться
У меня в этот момент шли четыре других проекта. Два - в активной фазе. Я физически не был готов включаться ещё во что-то новое.
Но дело не только в загруженности. Мне было интересно попробовать именно так - отдать задачу полностью, без вникания в детали.
«Я верил, что Макс с чётким ТЗ от Мо справится. Мне нужно будет лишь дать пару наводок, если он упрётся в стену.»
Это был эксперимент. Я хотел проверить - насколько глубоко я вообще должен погружаться, чтобы система выдала результат. Ответ оказался: почти никак.
Я закинул задачу - и забыл
Это, наверное, самое неожиданное в этой истории.
Я переслал ТЗ Максу через входящие сообщения, попросил приступить - и задача выпала у меня из головы. Я был занят другим. Не «сознательно отпустил», а реально забыл.
Через какое-то время Макс сам мне напомнил, что есть такая задача. Прислал план разработки - что, зачем, как он будет делать. Я посмотрел по верхам, понял что путь правильный, и дал добро на автоматический режим.
«Сама разработка заняла, на самом деле, не больше двух часов. Остальное время - это был просто перерыв от постановки задачи к включению работы над ней.»
В сумме от ТЗ до пакета у Андрея прошёл день. Из него мои активные включения - суммарно несколько минут разговора в терминале. Всё остальное время Макс работал сам, а я был занят.
Это и есть то ощущение, ради которого стоит строить команду агентов: не «помощник, который ждёт твоих команд», а сотрудник, который сам напоминает тебе о задачах, которые ты ему отдал.
Где я реально вмешался - и зачем
Это важный раздел. Не хочу делать вид, что я ничего не делал - это было бы враньё.
В какой-то момент Макс написал, что задача оказалась трудновыполнимой в той форме, в которой её сформулировал Андрей. Локальная модель распознавания, которая бы работала без облака, требовала железа, которого у нас пока не было - мощную видеокарту RTX 5090, которую мы только заказали.
И я принял архитектурное решение:
«Не ждать локальную модель. Сделать MVP на сервере прямо сейчас - с условием, что модель потом можно будет заменить одним кликом.»
Это и есть весь мой код. Одна фраза. Дальше Макс сделал так, чтобы движок распознавания (engine) был сменным: сейчас работает облачное распознавание через подписку Claude Max, потом - когда придёт железо - переключим на локальную Qwen-VL одной переменной окружения.
Архитектор не пишет код. Архитектор закрывает стратегические тупики парой фраз. Это, кажется, моё единственное реальное участие в проекте за все эти часы.
Что Макс сделал, пока я был занят
Я узнал детали уже после - из логов и сообщений в memory моей команды. Если коротко:
- Разведка. Макс посмотрел рынок: MinerU, docling, PaddleOCR. Решил: vision-модели быстрее.
- Прорыв с подпиской. Нашёл способ, как использовать мою подписку Claude Max в качестве источника API-доступа к vision-моделям. Это значит - за прогон документов мы платим 0 руб., всё идёт по уже оплаченному тарифу.
- Каркас. Pydantic-схема, рендеринг PDF в JPEG, vision-вызов с принудительным JSON-ответом.
- Тюнинг. На печатях vision путал «Электротехноизделия» с «Электропромснабжением» - Макс добавил уточняющий проход на шапке документа в высоком разрешении и аккуратное слияние результатов.
- База данных. SQLite со схемой parties / documents / products + защита от дублей.
- Веб-интерфейс. Streamlit с drag-and-drop загрузкой, карточками по уверенности распознавания, inline-правкой, экспортом в Excel.
- Деплой. Я даже не объяснял, как загружать. Макс сам выбрал поддомен моего сайта, развернул сервис через systemd и Caddy, опубликовал.
- Передача. Собрал ZIP с PDF-навигатором, инструкцией миграции на локальную модель, скелетом кода. 285 КБ. Я этого не просил.
Метрики прогона на тестовом наборе:
- 5 PDF - 11 уникальных УПД распознано
- Уверенность 0.81-0.88
- Скорость: 21-30 секунд на простой документ
- Стоимость: 0 руб. за прогон
И последнее - момент, который меня поразил больше всего:
«Макс был в контексте, что работа делается для Андрея - и сам составил архив, который мог бы вести Андрея в дальнейшей разработке. Это я даже не просил.»
Макс понял конечную цель - не «распознать УПД», а «помочь Андрею». И сам, без отдельного задания, собрал передаточный пакет: README, инструкции, готовый код в виде каркаса для дальнейшей разработки. Это другое мышление. Это уже не «выполнить ТЗ», это «закрыть проблему заказчика».
Что получил Андрей
Когда я увидел готовый продукт, я был сильно удивлён. Просто открыл ссылку, перетащил файл, получил Excel с распознанными данными.
«Я просто попробовал загрузить файлы - и всё заработало.»
Андрей получил два сообщения в Telegram:
1. PDF-навигатор (6 страниц, 100 КБ) - карта пакета: что лежит, зачем, в каком порядке смотреть.
2. ZIP-пакет (285 КБ, 19 файлов):
- README с обзором
- Коммерческий бриф (3 страницы)
- Инструкция миграции на локальную модель (10 разделов)
- Полный исходный код (23 файла)
- Скелет проекта для замены движка
- Семпл-пак с реальными результатами на 5 PDF (Excel + JSON)
Плюс - живое демо, где можно прямо сейчас перетащить свой PDF и получить распарсенные данные:

https://api.mdk.guru/upd/ - попробуйте сами.
Любой PDF со сканом УПД. Распознавание за 20-30 секунд. Можно править прямо в карточке. Экспорт в Excel.
Это не урезанная демо-версия. Это тот же код, который я отдал Андрею - задеплоенный на наш сервер.
Можно ли это монетизировать
Я думал об этом, когда увидел результат. Есть похожие сервисы - например, ILovePDF. Они конвертируют файлы между форматами. Но они работают только с чистыми документами. А здесь - сложнее: сканы, распознавание текста с печатями и подписями, структурирование в табличный формат.
Я честно поискал аналог на русском рынке. Не нашёл. Похожего публичного сервиса с таким же набором возможностей просто нет.
«Из этого можно сделать продукт. Условно бесплатный - с платными функциями.»
Андрей, если ты это читаешь: если захочешь развивать эту идею в продукт - я готов поспособствовать и помочь сделать его монетизируемым.
А пока что это - открытое демо. Подарок бухгалтерам и всем, кому надоело перебивать сканы руками.
Что я понял за этот день
1. Не лезь в задачу, у которой есть исполнитель. Я был связным, а не разработчиком. Моё участие - пара фраз в моменты тупика. И это правильное участие.
2. Узкая бизнес-задача - это свой продукт, а не SaaS-подписка. Раньше для решения такой задачи нужно было либо нанимать разработчика, либо подписываться на чужой сервис. Сейчас можно сделать своё решение под себя - за день, за ноль рублей.
3. Цена входа = ноль. Подписка Claude Max уже была. PDF - у Андрея. Сервер - наш. Платить было нечем - это не «бесплатность», это правильная амортизация уже сделанных вложений.
4. Передавай результат, а не процесс. Андрей получил пакет, который самодостаточный: можно попробовать, можно внедрить, можно развивать. Не «вот тебе начатый код, помогай дальше».
5. Контекстная проактивность - это новая суперспособность агента. Макс понял конечную цель - помочь Андрею - и сам собрал передаточный архив. Я этого не просил. Это другой уровень делегирования: не «сделай N задач», а «закрой проблему».
6. Всё ограничено только вашей фантазией. Не нужно искать программистов, долго описывать ТЗ, вступать в переговоры. Если вам что-то нужно - это можно сделать. Командой агентов. Изучайте. Пробуйте.
Что дальше
Сейчас параллельно у меня идёт ещё четыре проекта. По каждому - будет статья. Каждый из них поражает меня тем, что у меня реально получается их делать.
Ждите.
А если вы - бухгалтер, на стол которого УПД-шки сваливаются каждый день: это время кончилось. Этим больше не нужно заниматься. Настало новое время. Достаточно сформулировать задачу - и она будет решена.
Если у вас своя похожая боль (распознавание накладных, фактур, актов, договоров) - попробуйте через api.mdk.guru/upd/ или просто напишите мне.
Если вы - предприниматель, который всё ещё держит на зарплате разработчика для рутины: попробуйте дать одну задачу команде агентов. Одну. Маленькую. Просто чтобы посмотреть, что получится.
Один человек. Тринадцать агентов. Кемерово. Это не фантастика - это пятница, 23:00.
Серия статей
- Что такое OpenClaw - как я нашёл платформу
- Как установить из России - пошаговый гайд
- Память для агентов - как сделать, чтобы AI помнил всё
- Изя захватил соцсети - кейс автоматизации SMM
- Команда из 7 агентов - кто они и зачем
- УПД-парсер за день для друга - вы здесь