ROI поискового агента для KYC: baseline, target, guardrail

ROI поискового агента для KYC считают до разработки, а не после пилота: цель разбивается на три числа - baseline, target и guardrail, и через 90 дней сравнивается с ними. Ниже шаблон из публикации Tavily, перенос той же тройки на проверку российского контрагента и код, которым эти числа считаются на срезAI.

Виталий Болгар7 мин чтенияKYCROI агентакомплаенспоисковые APIсрезAI
ROI поискового агента для KYC: baseline, target, guardrail
Схема KYC-онбординга корпоративного клиента: проверка компании, владения и риска
Онбординг корпоративного клиента - это сбор доказательств, и именно он растягивает сроки.

Что не так с задачей "внедрить агента в KYC"

Два банка строят одного и того же KYC-агента на одной архитектуре и одних моделях. Банк A описывает цель так: "использовать агентный ИИ для модернизации KYC". Банк B фиксирует три числа. Сократить срок вывода корпоративного клиента с 90 до 30 дней. Закрывать низкорисковые кейсы без аналитика. Не увеличить число пропущенных санкционных совпадений. Через 90 дней банк B показывает сдвиг по срокам и влияние на качество. Банк A может предъявить только то, что агент что-то делает.

Сценарий с двумя банками в разборе Tavily о ROI автор называет иллюстративным: он собран из наблюдений за клиентами, а не из протоколов замеров.

Ставки в финсервисе растут: в годовом отчёте Goldman Sachs за 2025 год client onboarding/KYC назван первым среди шести направлений, которые в программе One Goldman Sachs 3.0 описаны как готовые к перестройке. Сложное здесь не в модели. Аналитик проверяет компанию, прослеживает владение и контроль, сверяет с перечнями, присваивает риск-рейтинг и документирует источники. Провалы чаще живут в слое извлечения: устаревшие данные, шум в контексте, потерянные ссылки. Модель - только мозг, и её замена редко спасает проект.

Три числа: baseline, target и guardrail

Baseline описывает, как процесс работает сегодня и в чём измеряется. Target задаёт измеримый результат с долей и сроком. Guardrail очерчивает то, что не должно ухудшиться по пути. Этой тройки хватает, чтобы согласовать бюджет и защитить его на защите.

КритерийПример из публикацииВаш проект
Baseline90 дней на онбординг корпоративного клиентаЧто происходит сегодня и чем это измерено
Target30 дней; 80% низкорисковых кейсов без аналитикаКакой измеримый результат нужен бизнесу
GuardrailНи одного лишнего пропущенного санкционного совпаденияЧто не должно стать хуже
Сигнал принятияАналитики соглашаются с решением агента вместо ручной перепроверкиКакое поведение покажет доверие к агенту
ВладелецРуководитель KYC-операцийКто отвечает за результат
Точка решенияВторая фаза только при достигнутом target и удержанном guardrailПри каких условиях продолжаем, пауза или масштаб

Последние три строки шаблона обычно пропускают. Если аналитики переделывают решения агента вручную в 40% кейсов, то target по объёму выполнен, а принятия нет - и пилот закрывают. На первом прогоне об этом легко забыть: цифры сходятся, а команда всё равно перепроверяет руками.

Где ещё искать ценность, кроме сэкономленного времени

Время - метрика номер один у заказчиков, но не единственная. В том же бизнес-кейсе имеет смысл замерить один-два пункта из четырёх.

  • Capacity: объём, который команда проходит без найма новых людей.
  • Consistency: одинаковый набор доказательств на один и тот же запрос у разных аналитиков.
  • Coverage: сколько компаний из хвоста вы теперь проверяете, а раньше не доходили руки.
  • Cost per decision: полная стоимость закрытого кейса, включая токены.

Как те же три числа выглядят для российского контрагента

Замерьте, сколько рабочих дней уходит на проверку одного контрагента сейчас и какая часть этого срока уходит на поиск и раскладку документов. Это baseline. Дальше задайте срок закрытия низкорискового кейса и долю таких кейсов без участия аналитика - это target. Два guardrail для Рунета отличаются от санкционного списка как такового.

  • Ни одна запись из реестра недобросовестных поставщиков не пропущена: проверяйте совпадения на странице реестра и фиксируйте дату снимка.
  • Каждая строка итогового отчёта сохраняет ссылку на источник и дату выгрузки, иначе аудит не пройдёт.
КритерийсрезAITavily
GAIA-бенчмарк87,3%, второе место91,2%, первое место
Внедрения в финсервисепубликаций пока малоразборы BMO и компаний Fortune 500
Поиск по реестрам Рунетаглубокая индексация Рунетав публикации упор на англоязычные источники
Цена запроса0,10 ₽в прочитанной публикации не указана

Схема не сработает, если риск-рейтинг у вас присваивает человек по внутренней скоринговой модели. Тогда агент закрывает сбор доказательств, а решение остаётся за аналитиком - и target надо ставить по сроку, а не по доле автоматических кейсов. Я бы не советовал брать baseline из квартальной отчётности: там срок считается от заявки до подписи, а внутри сидят недели ожидания документов от самого клиента, которые агент не сокращает.

Проверьте baseline на своей выборке: 0,10 ₽ за запрос, 100 ₽ начисляются при регистрации - это около 1000 запросов на отладку.

Начать бесплатно

Код: как посчитать baseline и guardrail за один прогон

Диаграмма агентного пайплайна: поиск и дистилляция стоят до этапа анализа моделью
Поиск и дистилляция данных идут первыми, модель получает уже отобранные поля.

Агент считает те же три числа, что и человек, только быстрее. Поиск отбирает источники, извлечение оставляет поля, проверка находки ставит точку перед выгрузкой в отчёт. Схема вызовов и лимиты описаны в документации, цены - в разделе тарифов.

python
import os
import requests MCP_URL = "https://srezai.ru/docs
HEADERS = { "Authorization": "Bearer " + os.environ["SREZAI_API_KEY"], "Content-Type": "application/json",
} def call_tool(name, arguments): payload = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": name, "arguments": arguments}, } response = requests.post(MCP_URL, headers=HEADERS, json=payload, timeout=60) response.raise_for_status() return response.json()["result"] CASE = "ООО Ромашка, ИНН 7701234567" # 1. Отбор источников: реестр недобросовестных поставщиков и карточка компании
hits = call_tool("web_search", { "query": "реестр недобросовестных поставщиков " + CASE, "num": 10,
}) # 2. Дистилляция: в контекст уходят поля, а не весь текст страниц
fields = call_tool("extract", { "urls": [item["url"] for item in hits["results"][:3]], "schema": {"company": "string", "rnp_match": "boolean", "source_url": "string?"},
}) # 3. Валидация утверждения перед выгрузкой в отчёт
check = call_tool("verify_claim", { "claim": CASE + " отсутствует в реестре недобросовестных поставщиков",
}) # 4. Guardrail на размеченном наборе кейсов
rows = load_cases_with_ground_truth()
missed = [r for r in rows if r["rnp_in_registry"] and not r["agent_found_rnp"]]
with_source = [r for r in rows if r["agent_source_url"]]
print("пропущено записей РНП:", len(missed))
print("кейсов со ссылкой на источник:", round(len(with_source) / len(rows), 3))

Метрики до и после: что показывать через 90 дней

МетрикаBaselineЦель или ограничение
Срок онбординга корпоративного клиента90 дней30 дней - target
Доля низкорисковых кейсов без аналитика0%80% - target
Пропущенные записи РНП в выборке из 500 кейсов20 - guardrail
Кейсы со ссылкой на источник в отчёте100%не ниже 100% - guardrail
Стоимость закрытого кейсасчитается вручную0,10 ₽ за запрос плюс токены модели

Using Tavily as a data retrieval utility enabled the uniformity of retrieval results across different investigator actions at BMO.

- Ashutosh Sinha, Managing Director, ERPM Data and AI Technology, BMO

Три совпадения на выборке из 500 кейсов выглядят мелочью, но именно они закрывают пилот: guardrail считают на размеченном наборе с заранее известным ответом, а не на живом потоке. Прогон на срезAI открывает страницы дешевле часа работы аналитика. При latency p50 976 мс выборку в 500 кейсов можно прогнать за один рабочий день, а данные хранятся в России.

Что такое baseline, target и guardrail простыми словами?

Baseline - это сегодняшнее состояние процесса в измеримых единицах. Target - куда вы хотите прийти, с долей и сроком. Guardrail - граница, за которую нельзя заходить по пути.

Сколько стоит прогон такого агента?

0,10 ₽ за запрос, а 100 ₽ начисляются при регистрации. Этого хватает примерно на 1000 запросов при отладке. Бесплатный план ограничен 200 запросами в сутки.

Можно ли получить первое число до пилота?

Считается на исторических данных, даже без пилота. Возьмите сто закрытых кейсов и замерьте, сколько времени ушло на каждый.

Что делать, если guardrail не удержан?

Смотрите слой извлечения: даты снимков, релевантность отобранных страниц и наличие ссылки на источник в каждой строке отчёта.

Нужен ли агент, если проверка контрагента уже автоматизирована?

Тогда считайте не срок, а охват: сколько компаний из хвоста вы сейчас пропускаете и сколько сможете проверять после запуска.

Кто отвечает за результат проекта?

Владельца выбирают до старта.

Свой веб-доступ для агента: поиск, чтение страниц и извлечение данных по одному ключу.

Читайте также