Почему AI-агенты ошибаются в финансах и как я это починил
Калькулятор всегда даёт правильный ответ. 2 + 2 = 4. Миллион раз подряд. Это детерминистическая система.
AI-модель — вероятностная. Она даёт правильный ответ в 90-97% случаев. Оставшиеся 3-10% — это не баги, которые можно пофиксить. Это фундаментальное свойство технологии. LLM генерирует наиболее вероятный следующий токен, а не вычисляет точный ответ.
Для написания текста 97% — отлично. Для финансовой консолидации — катастрофа.
Проблема: каскадное падение точности
Вот что происходит, когда несколько AI-агентов работают последовательно:
| Этап | Агент | Точность | Кумулятивная |
|---|---|---|---|
| 1 | Извлечение данных из отчётности | 92% | 92% |
| 2 | Классификация статей | 90% | 82.8% |
| 3 | Расчёт агрегатов | 95% | 78.7% |
| 4 | Консолидация | 90% | 70.8% |
| 5 | Генерация отчёта | 95% | 67.3% |
Пять агентов. Каждый работает на 90-95%. Итоговая точность — 67%. Каждый третий отчёт содержит ошибку. В финансах это неприемлемо.
Это не теоретическая проблема. Я столкнулся с ней при построении OpenClaw Finance — фабрики AI-агентов для финансовой аналитики и консолидации.
Почему промпт-инжиниринг не спасает
Первая реакция: “напишем лучше промпт”. Улучшили промпты, добавили few-shot examples, chain-of-thought reasoning. Точность отдельного агента выросла с 90% до 95%.
Кумулятивная точность 5 агентов: 0.95^5 = 77.4%. Лучше, но всё ещё каждый четвёртый отчёт с ошибкой.
Правила и промпты не могут превратить вероятностную систему в детерминистическую. Это как пытаться сделать из рулетки калькулятор — можно улучшить шансы, но нельзя гарантировать результат.
Решение: verification loops
Если нельзя сделать AI точным, можно сделать его проверяемым. Каждый этап pipeline проходит через цикл проверки:
Агент генерирует → скрипт проверяет → ошибка?
→ да → агент перегенерирует с feedback → скрипт проверяет снова
→ нет → следующий этап
Ключевое: проверка — не AI, а детерминистический скрипт. Сумма строк = итог? Дебет = кредит? Формат даты корректный? Это проверки, которые всегда дают однозначный ответ.
Три типа проверок
1. Математические инварианты. Сумма частей = целое. Дебет = кредит. Баланс сходится. Эти проверки абсолютные — либо правильно, либо нет.
def verify_balance(report):
assets = sum(report['assets'].values())
liabilities = sum(report['liabilities'].values())
equity = sum(report['equity'].values())
assert abs(assets - liabilities - equity) < 0.01, \
f"Balance doesn't balance: {assets} != {liabilities} + {equity}"
2. Структурные проверки. Все обязательные поля заполнены? Типы данных корректны? Значения в допустимых диапазонах?
def verify_structure(report):
required = ['revenue', 'cogs', 'gross_profit', 'opex', 'ebitda', 'net_income']
for field in required:
assert field in report, f"Missing: {field}"
assert isinstance(report[field], (int, float)), f"Not a number: {field}"
assert -1e12 < report[field] < 1e12, f"Out of range: {field}"
3. Кросс-валидация. Gross profit = revenue - COGS? EBITDA = gross profit - OPEX? Эти формулы известны заранее — AI не нужен для проверки.
def verify_formulas(report):
assert abs(report['gross_profit'] - (report['revenue'] - report['cogs'])) < 0.01
assert abs(report['ebitda'] - (report['gross_profit'] - report['opex'])) < 0.01
Retry loop с feedback
Когда проверка находит ошибку, AI не просто перегенерирует — он получает конкретный feedback:
"Ошибка: gross_profit (45.2M) != revenue (120.5M) - COGS (73.1M).
Ожидаемое значение: 47.4M. Исправь gross_profit."
Это не “попробуй ещё раз” — это точное указание что не так и какой ответ ожидается. Точность retry после такого feedback — 99%+.
Результат: от 67% к 99.5%
| Подход | Кумулятивная точность |
|---|---|
| 5 агентов без проверок | 67% |
| + улучшенные промпты | 77% |
| + verification loops | 99.5% |
Как 99.5%? Каждый агент проходит через verify → retry (max 3). Вероятность, что агент ошибётся 3 раза подряд после конкретного feedback — менее 0.1%. Пять таких агентов: 0.999^5 = 99.5%.
Архитектура OpenClaw Finance
5 специализированных агентов, каждый с verification loop:
| Агент | Задача | Проверка |
|---|---|---|
| Analyst | P&L, баланс, cash flow из сырых данных | Математические инварианты: баланс сходится, формулы верны |
| Forecaster | Прогноз на основе исторических данных | Диапазон значений, тренд-консистентность, baseline comparison |
| Portfolio | Распределение активов, ребалансировка | Сумма долей = 100%, risk limits, correlation constraints |
| Risk | Стресс-тестирование | Сценарии ≥3, VaR/CVaR формулы, Monte Carlo seed consistency |
| Reporter | Итоговый отчёт | Структура, кросс-ссылки на источники, формат |
DeepSeek R1-0528 как основная модель — quality reasoning на уровне GPT-4 при нулевой стоимости API. Docker-контейнеры для изоляции каждого агента. SQLite для хранения промежуточных результатов.
Уроки для любого AI-продукта
1. Считайте кумулятивную вероятность
Если ваш pipeline из N агентов, каждый с точностью P — итоговая точность P^N. При P=0.95 и N=3 это уже 85%. Для mission-critical задач — недостаточно.
2. Разделяйте генерацию и проверку
AI генерирует (вероятностно). Скрипт проверяет (детерминистически). Это разные инструменты для разных задач. Не просите AI проверять самого себя — он будет оправдывать свои ошибки.
3. Feedback > retry
“Попробуй ещё раз” — бесполезно. “Вот конкретная ошибка, вот ожидаемое значение” — работает. Чем конкретнее feedback, тем выше точность retry.
4. Не все задачи для AI
Если задача детерминистическая (сложить числа, проверить формулу) — используйте скрипт, не AI. AI — для задач, где нужно суждение: классификация, извлечение, интерпретация. Комбинация AI + скрипты > чистый AI.
5. Финансы — лакмусовая бумажка
Если ваша AI-архитектура работает в финансах (где ошибка = деньги), она работает везде. Финансы — самый жёсткий тест для AI-продуктов. Все остальные домены — проще.
Для корпораций
Я вижу, как компании внедряют AI в финансовые процессы без verification loops. Результат предсказуем: “AI иногда ошибается”, разочарование, откат к ручному труду.
Правильный подход:
- Определите математические инварианты вашего домена
- Напишите детерминистические проверки
- Оберните каждый AI-шаг в verify → retry loop
- Измеряйте кумулятивную точность, не точность отдельного шага
AI — не калькулятор. Но AI + verification loops = надёжная система. Разница — в архитектуре, а не в модели.
Но если умеючи — это x10 для финансиста
Всё сказанное выше — про то, как сделать AI надёжным. Но зачем вообще тащить AI в финансы, если скрипты работают?
Потому что скрипт не умеет:
- Прочитать 200 страниц отчётности на английском и извлечь ключевые метрики
- Сравнить структуру расходов с конкурентами из открытых данных
- Сгенерировать 5 сценариев стресс-тестирования на основе макроэкономических трендов
- Написать сопроводительную записку к отчёту для совета директоров
- Найти аномалию в 10 000 транзакций и объяснить её на человеческом языке
Финансист с правильно настроенной фабрикой агентов делает за день то, на что раньше уходила неделя. Не потому что AI умнее — а потому что рутина автоматизирована, а человек занимается тем, что делает лучше всего: принимает решения.
5 агентов × verification loops × экспертиза финансиста = порядок разницы в производительности.
Ошибки? Компенсированы. Скорость? На порядок выше. Качество аналитики? Выше, потому что финансист не тратит время на сбор данных.
Закажите корпоративную фабрику агентов
OpenClaw Finance — доказательство концепции. Но фабрика агентов строится под конкретную отрасль и конкретные процессы: ваши данные, ваши инварианты, ваши отчёты.
Что входит:
- Аудит финансовых процессов → определение зон автоматизации
- Проектирование агентов + verification loops под ваши инварианты
- Построение и деплой фабрики
- Обучение команды