Как я заменил финансовый отдел цепочкой AI-агентов

У меня простое правило: если задача повторяется больше двух раз — её пора делегировать. Раньше я делегировал людям. Теперь — AI-агентам, которые работают напрямую с базой данных, таблицами и трекерами.

За три месяца я собрал систему из 17 AI-скиллов, которая полностью закрыла финансовую отчётность B2B-платформы с 200+ партнёрами. Без единой строки традиционного кода.

Контекст: B2B-платформа и финансовая рутина

Я работаю продуктовым менеджером в B2B-платформе на стыке страхования и финансов. Мы агрегируем финансовые продукты для партнёров: банков, кредитных организаций, маркетплейсов. Каждый партнёр хочет видеть свою воронку: заявки, конверсии, выдачи, комиссию.

При 200+ активных партнёрах отчётность превращается в рутинный конвейер:

  • Ежедневные отчёты — каждый день партнёр ждёт цифры за вчерашний день
  • Месячные сверки — сотни строк сделок с разными процентами деления по поставщикам
  • Ad-hoc запросы — например, «покажи конверсию по продукту за две недели»
  • Юридические документы — генерация типовых договоров для новых партнёров

Это занимало 2–3 часа в день на двух человек. Классическая задача на делегирование — но делегировать было некому. Зато появился инструмент, способный самостоятельно работать с SQL, API и таблицами.

Не один агент — цепочка агентов

Важно: это не один универсальный бот. Это система специализированных агентов, каждый из которых решает конкретную задачу. В терминологии Claude Code каждый агент — это скилл (slash-команда) с чётко описанной логикой.

Агенты связаны общей инфраструктурой:

  • MCP-сервер для базы данных (MS SQL, read-only) — агент формирует SQL и получает данные
  • Google Sheets API — создание, запись и форматирование таблиц
  • Google Drive — хранение файлов и загрузка выгрузок
  • Таск-трекер — синхронизация с задачами команды
  • GitLab API — анализ активности разработчиков

Один агент генерирует финансовый отчёт, другой — делает месячную сверку, третий — собирает статистику по команде, четвёртый — транскрибирует встречи. Они не взаимодействуют напрямую, но работают в единой экосистеме.

Как работает самый частый скилл: финансовый отчёт

Менеджер вводит команду — название партнёра и период. Через 40 секунд в Google Sheets появляется готовый отчёт. За это время происходит:

1. Резолв контрагента
Агент знает, как сопоставить человеческое имя партнёра с внутренним идентификатором. Не нужно помнить UUID — достаточно короткого псевдонима.

2. Запрос к базе данных
Формируется SQL-запрос, строящий воронку: заявки → переходы → выдачи → комиссия. Запрос учитывает актуальные статусы сделок — в документации и реальных данных часто есть расхождения.

3. Агрегация
Данные группируются по дням, рассчитываются конверсии и суммы комиссий. Учитываются индивидуальные условия деления прибыли для каждого партнёра.

4. Запись и форматирование
Таблица создаётся или обновляется: заголовки, данные, итоги, числовые форматы, ширина колонок. Форматирование — строго после записи. Если делать одновременно, API может применить стили к пустым ячейкам.

5. Самопроверка
Агент перечитывает результат и сверяет с исходными данными. Это не перестраховка: Google Sheets API иногда теряет строки при batch-записи. Без верификации ошибки неизбежны.

Месячные сверки: когда одного агента мало

Ежедневный отчёт — относительно простая задача. Месячная сверка — сложнее.

У одного партнёра трафик может идти через 3–4 поставщика. У каждого — свой формат выгрузки, правила маппинга и проценты комиссии. Нужно:

  1. Загрузить файлы поставщиков из облака
  2. Сопоставить сделки с данными из нашей базы
  3. Рассчитать комиссии с учётом разных сплитов
  4. Сформировать итоговый лист с формулами
  5. Объединить всё в один документ с отдельными листами

Раньше одна сверка занимала целый день. Сейчас — команда с двумя параметрами и 3–5 минут ожидания.

Что ещё закрывает система

За три месяца агенты вышли за рамки отчётности:

  • Финансовый отчёт — воронка по одному партнёру
  • Дневной дайджест — отчёт по всем активным партнёрам
  • Месячная сверка — с расчётом по поставщикам и формулами
  • Генератор договоров — типовой договор для нового партнёра
  • Командный трекер — управление продуктовой командой
  • GitLab-аналитика — сравнение активности разработчиков по 17 репозиториям
  • Митинг-репорт — транскрипция встречи (600+ сегментов) → структурированный отчёт
  • Поиск кандидатов — подбор по параметрам

Итого: 17 скиллов, 9 MCP-серверов (SQL, Google Sheets, Drive, Calendar, Gmail, GitLab, Tracker, Telegram, GitHub). Ни одной строки Python, Go или TypeScript. Вся логика — в markdown-файлах с инструкциями для агентов.

Почему Claude Code, а не LangChain

Я пробовал разные подходы:

  • ChatGPT + Zapier — слишком примитивно, нет доступа к базе
  • LangChain / LangGraph — требует разработчика, долгий цикл итераций
  • Custom API + GPT-4 — работает, но каждое изменение = пересборка и деплой

Claude Code выиграл благодаря одному параметру: цикл обратной связи — 30 секунд. Написал инструкцию → протестировал → поправил → работает. Без деплоя, CI/CD или Docker. MCP-серверы дают прямой доступ к инфраструктуре, а скиллы — это просто текстовые файлы с бизнес-логикой.

Архитектура:

  • Claude Code — рантайм, «мозг»
  • MCP-серверы — мост к внешним системам (БД, Google, GitLab, Tracker)
  • Скиллы — markdown-файлы с инструкциями (бизнес-логика)
  • Google Sheets / Drive — слой представления для пользователей

Грабли, которые стоят вашего времени

Google Sheets API не атомарен.
Записали 100 строк — может оказаться 97. Правило: после записи обязательно перечитать и сверить. Без этого баги будут молча накапливаться.

Документация базы врёт.
MCP-сервер возвращает глоссарий, но реальные значения полей могут не совпадать. Мы потеряли день, пока не начали джойнить справочные таблицы напрямую.

Форматирование — отдельный этап.
Если запись и стилирование идут одновременно, API может отформатировать пустые ячейки. Сначала данные → проверка → потом визуал.

Контекст не бесконечен.
При обработке 200+ строк агент может потерять начальный контекст. Решение: агент ведёт лог каждого шага и периодически перечитывает его. Это внешняя память — странно, но работает.

Merge-коммиты дублируют статистику.
В GitLab API и feature-, и merge-коммиты считаются отдельно. Автогенерация (например, миграции ORM) может раздуть статистику на 20 000+ строк. Без фильтрации — цифры бессмысленны.

Алиасы людей не совпадают между системами.
Один разработчик может быть под разными именами в GitLab, трекере и почте. Агент хранит маппинг алиасов — без этого отчёты по команде из 11 человек не собрать.

Три вещи, которые я вынес

AI-агенты — инструмент менеджера, не разработчика.
PO, который понимает процесс, собирает рабочую автоматизацию быстрее, чем команда через цикл ТЗ → спринт → ревью → деплой. Потому что нет перевода с «бизнес-языка» на «код» и обратно.

MCP-серверы — это то, что превращает чат-бот в оператора.
Без доступа к БД и API агент может только генерировать текст. С MCP он становится полноценным участником процесса, работающим с теми же системами, что и живой сотрудник.

Верификация важнее генерации.
80% усилий ушло не на промпты, а на систему проверок. Каждый шаг проверяется: данные записались? формулы сходятся? формат корректный? Агент, который не проверяет свою работу, рано или поздно ошибётся молча.

Если вы менеджер и тратите часы на рутину с данными — начните с одного скилла. Автоматизируйте самый болезненный отчёт. Когда увидите, что задача на три часа делается за минуту — остальные 16 скиллов появятся сами.

Читать оригинал