Комплаенс-агент: почему Stripe решила не нанимать 500 юристов, а построить ИИ-монстра
Финансовый комплаенс — это адская бюрократия. Миллионы транзакций, сотни регуляторов, десятки тысяч правил. Stripe обрабатывает платежи для миллионов компаний, и каждая транзакция должна пройти через сито AML (Anti-Money Laundering), KYC (Know Your Customer) и санкционного контроля. Ручная проверка одного подозрительного случая занимает до 40 минут. Умножаем на тысячи — получаем армию аналитиков, которые выгорают быстрее, чем ChatGPT устаревает.
В 2025 году Stripe пошла другим путём. Вместо расширения штата они развернули production-grade AI-агентов на базе ReAct-фреймворка, запущенных на Amazon Bedrock. Результат: 26% сокращения времени обработки кейсов, 96% полезности ответов, а главное — снижение operational burden на команду комплаенса в 4 раза. Как они это сделали? Давайте разберём архитектуру, грабли и реальные цифры.
Контекст: Stripe уже интегрировала AI в платёжные процессы — недавно мы писали про Stripe Link для AI-агентов и про платежи для агентов через Bedrock AgentCore. Комплаенс-агент — логичное продолжение этой экосистемы.
Архитектура, от которой у CISO потеют ладони: ReAct на Bedrock
Типичный AI-агент для чата — это "болтун". Ему скормили промпт, он выдал ответ. Но комплаенс требует действий: проверить транзакцию в базе данных, запросить документы у клиента, отправить отчёт в FinCEN. Просто генерации текста тут недостаточно.
Stripe выбрала ReAct (Reasoning + Acting) — паттерн, где LLM не просто генерирует ответ, а циклично рассуждает, выбирает инструмент, выполняет его и анализирует результат. Всё это завязано на Amazon Bedrock как оркестратор.
1 Модель: Claude 3.5 Sonnet (последняя версия на июнь 2026)
Stripe использует Anthropic Claude 3.5 Sonnet, развёрнутый на Bedrock. Почему не GPT-4o или Gemini 2.5? Во-первых, Claude показывает лучшую точность на задачах, требующих следования инструкциям и работы с контекстом до 200K токенов. Во-вторых, Bedrock позволяет запускать модель в выделенном тенанте, без смешивания данных с другими клиентами — критично для финансовой приватности.
2 Инструменты: не просто вызов API
У агента есть набор инструментов — не API-функций в классическом смысле, а безопасных обёрток над внутренними сервисами Stripe:
- TransactionLookup — поиск транзакции по ID или параметрам (сумма, дата, гео).
- CustomerProfile — получение полного профиля клиента (KYC-статус, история).
- SanctionsCheck — пробив по спискам OFAC, EU, UK.
- DocumentRequest — автоматический запрос недостающих документов через Stripe Connect API.
- CaseUpdate — запись действий в систему управления кейсами (Salesforce для комплаенса).
Каждый инструмент имеет строгую спек-схему входных/выходных параметров и описание на естественном языке. Модель обучается выбирать инструмент на основе семантики запроса. Пример конфигурации инструмента в Bedrock Agent:
{
"name": "TransactionLookup",
"description": "Поиск транзакции по любому из полей. Возвращает JSON с деталями.",
"parameters": {
"transaction_id": { "type": "string", "description": "UUID транзакции" },
"merchant_id": { "type": "string", "description": "ID мерчанта" },
"amount_range": { "type": "object", "properties": { "min": {"type": "number"}, "max": {"type": "number"} } }
},
"required": [],
"return": {
"type": "object",
"properties": {
"status": { "type": "string" },
"risk_score": { "type": "number" },
"flags": { "type": "array", "items": { "type": "string" } }
}
}
}
3 Планировщик: декомпозиция задачи
Главное ноу-хау Stripe — task decomposition. Вместо того чтобы агент сам додумывал каждый шаг, система сначала разбивает запрос аналитика (например, "Проверь транзакцию 123 и клиента ABC на санкции") на подзадачи: найти транзакцию, получить профиль клиента, пробить оба по санкционным спискам, сформировать отчёт. Этот план вычисляется отдельным лёгким классификатором (не LLM, а традиционный ML-моделью на базе BERT, дообученной на логах действий человеков-аналитиков).
Такой подход резко снижает количество галлюцинаций — агент не выдумывает шаги, ему дают готовый маршрут. Если же классификатор не может разложить задачу (новый тип кейса), агент сам использует ReAct-цикл, но с пониженным уровнем доверия.
Человек в петле: когда агент зовёт папу (и это нормально)
В финансовом комплаенсе ошибка стоит миллионов долларов штрафа. Stripe встроила Human-in-the-loop (HITL) на трёх уровнях:
- Pre-flight approval — если агент хочет выполнить действие, которое меняет статус клиента (например, заблокировать счёт или запросить юридические документы), он не делает это сам. Он формирует черновик запроса и отправляет его на подтверждение реальному compliance officer через внутренний интерфейс.
- Escalation triggers — если уверенность модели в решении ниже 85% (измеряется по логитам или вспомогательному классификатору), кейс автоматически эскалируется человеку.
- Аудит — каждое действие агента логируется: какой промпт, какой инструмент, какой ответ, какой офицер подтвердил. Это обязательно для соответствия SOX и GDPR.
Важно: Не путайте HITL с "агент всегда ждёт человека". В Stripe агенты работают автономно для рутинной проверки (например, транзакции малого номинала, которые проходят по всем фильтрам). HITL срабатывает только на этапе принятия решения, которое имеет юридические последствия.
Цифры не врут: 26% времени, 96% полезности — что за агрегаты?
Stripe опубликовала внутренние метрики за первый квартал 2026 года (данные из технического блога). Вот что они замеряли:
| Метрика | Значение | Комментарий |
|---|---|---|
| Среднее время обработки кейса | с 38 минут до 28 минут (снижение на 26%) | Учтено только время, пока агент активен; ожидание подтверждения человека исключено. |
| Полезность (helpfulness rate) | 96% | Доля случаев, где сгенерированный ответ или действие были корректны и полезны (оценено экспертами). |
| Автономность | 78% кейсов решены без участия человека | Остальные 22% требовали эскалации или pre-flight approval. |
| Галлюцинации (ложные срабатывания) | 0.3% | Измеряются как количество раз, когда агент предложил неверное действие, которое не было отменено HITL. |
26% сокращения времени звучит скромно, но это в среднем. Для сложных мульти-инструментальных кейсов (например, проверка корпоративного клиента с сотнями транзакций) агент сокращает время в 3-4 раза. А 96% полезности — это уровень старшего аналитика. Stripe достигла такой точности благодаря комбинации task decomposition и кастомного RAG-слоя на базе векторной базы Pinecone, куда загружены все внутренние политики, регуляции и прецеденты.
Грабли, на которые наступила Stripe (и наступите вы)
Даже у таких инженерных монстров, как Stripe, были провалы. Вот три основных, о которых они рассказали на конференции re:Invent 2025:
Грабля 1: Агент "забывал" контекст на длинных цепочках
ReAct-цикл может растянуться на 10-15 шагов. Стандартный контекст Claude 3.5 Sonnet — 200K токенов, но когда на каждом шаге добавляются результаты вызовов инструментов, окно быстро забивается. Stripe пришлось внедрить prompt caching (Bedrock поддерживает кэширование системного промпта и истории диалога, снижая latency на 40% и экономя токены). Но главное — они добавили механизм "compression step", где агент периодически резюмирует выполненную работу в краткую заметку и сбрасывает предыдущие детали.
Грабля 2: Инструменты возвращали слишком сырые данные
TransactionLookup мог вернуть JSON с 50 полями. Модель путалась. Решение: каждому инструменту добавили опциональный параметр fields, чтобы агент запрашивал только нужные поля. А на стороне инструмента встроили препроцессор, который фильтрует и агрегирует данные в человекочитаемый формат.
Грабля 3: Человек в петле стал узким местом
В первые недели агенты отправляли на pre-flight approval каждый чих. Compliance officer захлебнулись уведомлениями. Пришлось обучить классификатор приоритетов: срочные эскалации (подозрение на отмывание) идут в отдельный канал, а простые запросы документов — в фоновую очередь с ответом "в течение часа".
Что дальше: агент как полноценный compliance officer?
Stripe не планирует увольнять аналитиков — они переквалифицируются в супервайзеров агентов. Компания уже тестирует мульти-агентную архитектуру, где специализированные агенты (AML-агент, KYC-агент, санкционный агент) общаются между собой через Bedrock Agent Collaboration. И да, они интегрируют это с Stripe Link — агент сможет не только проверять, но и инициировать возврат средств или блокировку счёта через платёжный токен (про это мы писали в статье о Sapiom).
Главный урок для всех, кто строит агентов в регулируемых отраслях: без task decomposition ваша система будет галлюцинировать, без HITL — нарушать закон, а без реальных метрик — оставаться хайпом. Stripe показала, что production-grade — это не про крутой промпт, а про надёжную архитектуру, где каждый компонент критичен.
Кстати: Если вы думаете, что AI-агенты в финансах — это только Stripe, посмотрите на кейсы Klarna и HSBC, а также на то, как Sun Finance заставил AI читать паспорта. Тренд очевиден — 2026 стал годом зрелых AI-агентов в финтехе.
Если вы решитесь внедрять такие агенты — начинайте с малого: выберите один рутинный процесс (например, мониторинг транзакций малой суммы), измерьте текущее время, постройте прототип на Bedrock и добавьте HITL. И никогда не доверяйте агенту удаление данных — даже если он умоляет.
А вы уже сталкивались с AI-комплаенсом? Расскажите в комментариях — обсудим грабли.