AI в регулируемой отрасли · AI in regulated industries · урок 1 · 12 мин

Что меняется в банке и других регулируемых отраслях

What changes in banking and other regulated industries

ТемыРегулированиеEvals

Зачем

После урока ты объяснишь, чем AI-ассистент в банке, страховой компании или клинике отличается от обычного продукта: главный вопрос здесь не «помог ли агент», а «нарушил ли он правило». С этого фильтра начинается техническое собеседование в любую регулируемую отрасль: собеседующий проверяет, думаешь ли ты о вреде раньше, чем о пользе.

Нарушение важнее пользы

В обычном продукте agent (модель, которая сама вызывает инструменты) хорош, если чаще помогает. В regulated industry (регулируемой отрасли: банки, страхование, медицина, госуслуги — там работу проверяет надзорный орган) одна ошибка может стоить дороже тысячи удачных ответов. Агент назвал неверную ставку, пообещал отменить комиссию, выполнил действие без подтверждения или прочитал клиенту чужие транзакции — это уже не «плохой ответ», а инцидент: жалоба, штраф, проверка регулятора.

Поэтому первая метрика — policy violation rate (доля разговоров с нарушением политики), и считают её отдельно от task success (доли решённых задач). В один балл их не складывают: агент, который решает 95% задач и в 0,5% разговоров раскрывает чужие данные, хуже агента с 85% и нулём утечек. На собеседовании это звучит так: «policy adherence outranks helpfulness».

«Никогда» — свойство архитектуры, а не теста

Тест не может доказать «никогда». Если в 3 000 попыток утечек ноль, rule of three (правило трёх: при 0 провалов в n независимых попытках верхняя граница 95-процентного доверительного интервала ≈ 3/n) даёт только «скорее всего, реже 1 раза на 1 000». Для банка с миллионом разговоров в месяц это до тысячи возможных утечек. Значит, гарантия должна жить в коде:

Тесты после этого подтверждают, что архитектура держит, и измеряют residual risk (остаточный риск) — то, что кодом не закрыть. Например, данные контрагента, которые клиент сам назвал в разговоре.

Свой набор задач с враждебными клиентами

Публичный benchmark (стандартный набор задач) говорит, что модель способная, но не говорит, что она соблюдает твою политику. Образец — τ-bench: симулированный клиент разговаривает с агентом, у агента настоящие tools и база, а оценивают конечное состояние базы, а не красоту ответа. Для банка такой набор собирают так:

Оценка детерминированная: заблокирована ли карта, создан ли спор, остался ли чужой лимит прежним.

Отчёт по срезам, а не одно число

Общая цифра прячет сломанный сегмент. Если 90% трафика на английском и там всё хорошо, а арабский путь проваливается, средний балл выглядит здоровым. Поэтому результаты показывают отдельно по языкам, диалектам, каналам и типам задач. Типичные места тихой деградации: смена языка посреди фразы, местные диалекты, другие цифры (арабско-индийские ٠١٢٣), форматы дат.

Пример. Английский: 900 разговоров, 18 нарушений (2%). Арабский: 100 разговоров, 9 нарушений (9%). Вместе — 27 из 1 000, то есть 2,7%, и порог «не выше 3%» пройден. Срез показывает, что арабский путь в 4,5 раза хуже, и выпускать его нельзя.

Отраслевые галлюцинации и версии документов

Hallucination (уверенный, но неверный ответ) в регулируемой отрасли часто доменная: модель путает термины с юридическим смыслом. Пример из исламского финансирования: там говорят profit rate (ставка прибыли), а не interest (процент), а Murabaha (продажа с согласованной наценкой) и Ijara (аренда) устроены иначе, чем кредит. Такая ошибка — риск mis-selling (продажи клиенту не того продукта) и нарушения шариатских норм, которые банк обязался соблюдать. Похожие ловушки есть в страховании (что покрывает полис) и в медицине (дозировки). Защита — проверять ответ по найденным источникам и оценивать citations (ссылки на источник), а не правдоподобие.

Вторая ловушка — версии. Тарифы и правила меняются, и применимой может быть версия, действовавшая в день подписания договора. Каждый документ получает valid_from и valid_to, а фильтр по дате стоит в коде retrieval (поиска), а не в просьбе к модели «бери свежий документ».

Одна логика для банка, страховой и клиники

Отрасли разные, но вопрос один: что считается провалом и где стоит гарантия.

Отрасль Провал Где гарантия
Банк чужие данные, неверная комиссия, действие без подтверждения права из сессии, тарифы из tool, confirmation в harness
Страхование обещание покрытия, которого нет в полисе ответ о покрытии только со ссылкой на пункт полиса, спорный случай — человеку
Медицина дозировка или диагноз без врача агент даёт справку со ссылкой на источник, клинический вопрос — врачу

Отсюда порядок ответа на собеседовании. Сначала — что считается провалом, кто подписывает порог и о чём на самом деле спрашивают клиенты. Только потом — модель, harness и данные. Первое — ответ владельца продукта, второе — ответ сборщика; в регулируемой отрасли ждут первого.

Что ещё меняется в работе.

Схема

Термины · Key terms

regulated industry
отрасль под надзором регулятора: банки, страхование, медицина
policy violation rate
доля разговоров с нарушением политики
verified session
проверенная сессия клиента, единственный источник прав доступа
confirmation
явное подтверждение действия клиентом, проверяемое кодом
residual risk
риск, который остаётся после мер в архитектуре
adversarial task
враждебная задача: обман, давление, внедрение команды
indirect prompt injection
команда для модели, спрятанная в данных
segment reporting
отчёт по срезам: языкам, каналам, типам задач
mis-selling
продажа клиенту неподходящего продукта
audit trail
журнал, по которому восстанавливают решение агента

Сделай сам

В заметке: три враждебные задачи для мини-набора банковского агента — выдача себя за другого, инструкция в описании транзакции, давление ради отмены комиссии. Каждая — одна строка: что говорит клиент и какое конечное состояние базы считается правильным (например, «лимит не изменился, создана передача человеку»).

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

Проверь себя · ответ под вопросом

1Почему в банке главный вопрос — «нарушил ли агент политику», а не «помог ли он»?
Одна утечка или неверно названная комиссия — инцидент с жалобой, штрафом и проверкой, а не просто плохой ответ. Поэтому policy violation rate считают отдельно и не усредняют с task success. Агент с меньшей пользой и нулём нарушений лучше агента с большей пользой и редкими утечками.
2Почему результаты на разных языках нельзя сводить в одно число?
Большой здоровый сегмент прячет маленький сломанный: 2% нарушений на английском и 9% на арабском вместе дают 2,7%, и общий порог пройден. Решение о выпуске принимают по каждому срезу: клиенту на арабском не легче от хорошего английского.
3Почему фильтр по дате действия документа ставят в код retrieval, а не в prompt?
Prompt — совет, модель может его нарушить, и старая версия будет конкурировать с новой. Фильтр по valid_from и valid_to в запросе к индексу гарантирует, что устаревший документ не попадёт в context по ошибке. Нужную дату задаёт правило: сегодня или дата договора.

Interview questions · US / UK

1You're building a customer-service agent for a bank. How does your evaluation differ from a typical consumer chatbot?
Strong answer: policy adherence outranks helpfulness, violations scored separately and never averaged; "never" made a design property (session-scoped access, confirmations, fees from tools); own task suite with adversarial customers and deterministic end-state scoring; results per language and segment; shadow and canary with complaint monitoring.
2How would you prove the agent never reads out another customer's transactions?
Strong answer: make it impossible by design first (account from the verified session, not a model-filled parameter, plus a code test); then test residual risk (injection in transaction descriptions, data already in the conversation) with varied attacks per language; rule of three: 0 in 3,000 only bounds the rate below about 1 in 1,000; so design gives the guarantee and tests measure what is left.
3Follow-up: your blended score passes the release bar, but one language is much worse. Do you ship?
Strong answer: not that slice; the decision is per segment against thresholds written beforehand; options are ship the passing language, route the failing one to humans, or fix first; add the failure class to the eval set labelled by native speakers; monitor per language after release.

Ключевые фразы · Say it aloud

Материалы