Главная опасность ИИ-агента не в том, что он ошибется, а в том, что ошибку невозможно отличить от правильной работы: отчет выглядит одинаково убедительно в обоих случаях. Приемка строится в пять уровней. Сверка с источником: каждое число обязано иметь адрес, а итог печатается вместе со строками, из которых он собран. Контрольный набор из двадцати-тридцати задач с заранее известным ответом, обязательно с ловушками, где правильный ответ - не нашел. Вторая модель как проверяющий, но только с доступом к источнику и с вопросом подтверждается ли это текстом. Лог действий, без которого не отличить не нашел от не искал. И выборочная ручная проверка не случайных, а самых крупных и самых нетипичных случаев. Уверенная неправда лечится не уговорами, а конструкцией: запрет отвечать вне источника, обязательная ссылка и расчет чисел кодом, а не моделью.
Самая неприятная особенность работы с ИИ-агентом обнаруживается не сразу. Она в том, что правильно сделанная работа и качественно изображенная работа выглядят одинаково. Отчет складный, цифры на месте, формулировки уверенные. Отличить одно от другого на глаз невозможно, и именно поэтому приемка результата - отдельная задача, а не строчка в конце проекта.
Разберем пять уровней проверки, от самого дешевого к самому дорогому, и что делать, когда агент уверенно сообщает неправду.
Почему правдоподобно не значит сделано
Модель устроена так, что обязана выдать текст. Если данных не хватило, она не останавливается - она выдает наиболее правдоподобное продолжение. Это не сбой и не поломка, это нормальный режим работы инструмента, который вы применяете не по назначению, если ждете от него честного молчания без специальных мер.
Отсюда следует главный принцип приемки: проверять надо не текст, а связь текста с источником. Хорошо звучащий вывод не является доказательством ничего. Доказательством является возможность пройти от вывода назад к строке в выгрузке.
Есть несколько признаков, по которым имитация видна еще до глубокой проверки:
- в отчете нет ни одного исключения, ни одной оговорки, ни одного не удалось. Живые данные так не выглядят никогда;
- итоги подозрительно круглые, доли складываются ровно в сотню;
- на разных наборах данных получаются одинаковые формулировки выводов;
- работа выполнена быстрее, чем физически можно было прочитать источник;
- в результате нет ни одной ссылки на конкретный документ, файл или запрос.
Каждый признак по отдельности ничего не доказывает. Два и больше сразу - повод разбирать вручную.
Уровень 1: сверка с источником
Самый дешевый и самый действенный уровень. Он не требует ни второй модели, ни ручного труда, потому что работает арифметикой.
Правило первое: любое число обязано иметь адрес. Из какого файла, из какого столбца, за какой период, каким запросом получено. Число без адреса в приемке не рассматривается вообще, независимо от того, насколько оно похоже на правду.
Правило второе: агрегат без строк не показывать. Если агент вывел итог, он обязан рядом привести перечень позиций, из которых итог собран. Это одно требование закрывает большую часть проблем, потому что сочинить связный список из тридцати позиций, который еще и сойдется в сумме, у модели не получается - расхождение вылезает сразу.
Правило третье: машинные тождества на каждом прогоне. Их придумывают под задачу, но каркас всегда один:
- сумма частей равна заявленному итогу;
- количество строк на входе равно количеству обработанных плюс количество отброшенных;
- по каждой отброшенной строке есть причина отбраковки;
- пересечение периодов и категорий не дает двойного счета;
- контрольная величина, посчитанная двумя независимыми путями, совпадает.
Если хотя бы одно тождество не выполняется, результат не идет дальше. Не обсуждается, не интерпретируется, а возвращается на доработку. Это дисциплина, которая экономит недели.
Уровень 2: контрольный набор задач
Двадцать-тридцать задач, по которым правильный ответ известен заранее и записан человеком. Прогоняются после каждого изменения: поменяли формулировку задания, поменяли модель, добавили документы в базу - прогнали набор.
Что обязательно должно быть внутри набора, иначе он бесполезен:
- пять-семь ловушек. Задачи, где правильный ответ - не нашел, данных нет, вопрос некорректен. Без них вы измеряете только способность отвечать, но не способность отказываться;
- противоречивые данные. Два документа говорят разное. Правильное поведение - показать оба и сказать про противоречие, а не выбрать одно молча;
- пустой вход. Файл без строк, период без операций. Система обязана сообщить об этом, а не выдать нули как факт;
- редкие формулировки. Те самые случаи, на которых обычно и ломается.
Отдельное требование, которое звучит занудно, но экономит месяцы: набор составляют люди, а не сам агент. Метрика, которую система построила для проверки себя, физически не способна выдать результат все плохо. Такая проверка не измеряет качество, она измеряет уверенность в себе, а это разные вещи.
Хороший показатель зрелости набора - когда прогон время от времени показывает ухудшение. Если набор всегда зеленый, он просто слишком легкий.
Уровень 3: вторая модель как проверяющий
Идея рабочая, но только в узком варианте. Разберем, где она работает и где нет.
Не работает так. Взять ту же модель, дать ей готовый ответ и спросить, хороший ли он. Получите высокую оценку почти всегда. Модель не видит источника, оценивает связность текста и охотно соглашается с любой уверенной формулировкой.
Работает так. Проверяющему дают три вещи: исходный фрагмент источника, полученный ответ и один узкий вопрос - подтверждается ли каждое утверждение ответа этим текстом. Ответ ожидается по пунктам: подтверждается, не подтверждается, нет данных. Никаких оценок в баллах, никакого качества по десятибалльной шкале.
При такой постановке проверяющий ловит вполне конкретные вещи: утверждения, которых в источнике нет; числа, отличающиеся от источника; выводы, которые шире, чем данные под ними.
Чего он не ловит: ошибку в самом источнике, неверно выбранный источник и логическую ошибку, повторенную обеими моделями. Поэтому третий уровень дополняет первые два, а не заменяет их.
Разумная настройка: проверяющий работает на каждом ответе, а его вердикт не подтверждается автоматически поднимает случай в очередь на ручной разбор.
Уровень 4: лог действий
Агент должен оставлять след. Не красивый отчет для руководителя, а технический журнал того, что он реально делал:
- какие запросы отправил и в какие источники;
- сколько записей получил в ответ;
- что отбросил и по какому правилу;
- где не нашел ничего и что сделал дальше;
- сколько времени и сколько денег потратил на прогон.
Ценность лога в одной вещи: без него вы не отличите не нашел от не искал. Ответ в обоих случаях будет выглядеть одинаково спокойно, а причины совершенно разные, и лечатся они по-разному.
Второй смысл лога - расследование. Когда через месяц выяснится, что в одном отчете цифра неверная, вопрос будет не в том, кто виноват, а в том, повторялось ли это в других отчетах. Ответ на такой вопрос дает только журнал.
Уровень 5: выборочная ручная проверка
Самый дорогой уровень, поэтому его экономят неправильно: берут случайные пять процентов. Случайная выборка почти всегда попадает в типовые случаи, где система и так не ошибается.
Проверять надо не случайное, а рискованное. Практическая схема отбора:
- самые крупные по деньгам. Три-пять позиций с наибольшим влиянием на итог. Ошибка здесь стоит больше, чем во всей остальной выборке вместе;
- самые нетипичные. Все, что выбилось из привычного коридора: резкое отклонение, новая категория, непривычный формат входных данных;
- новые типы. Первый случай каждого нового вида - всегда вручную;
- то, где проверяющая модель сомневалась.
Такая выборка при том же объеме труда ловит в разы больше, чем случайная.
Что делать, когда агент уверенно врет
Уговоры не помогают. Формулировка отвечай только правду не меняет ничего, потому что модель и так считает свой ответ правдой. Лечится это конструкцией.
Разделить поиск и вывод. Сначала система находит фрагменты источника, потом отдельным шагом формулирует ответ строго из найденного. Если на первом шаге ничего не нашлось, второй шаг не запускается вовсе.
Запретить выходить за пределы переданного. Ответ строится только из того, что подано на вход, а не из общих знаний о мире. Общие знания - главный источник правдоподобной неправды про вашу компанию.
Сделать не нашел допустимым и правильным ответом. Пока честное признание считается неудачей, система будет сочинять. В контрольном наборе обязаны быть задачи, где не нашел - единственный верный вариант, и он должен засчитываться как успех.
Считать числа кодом, а не моделью. Любая арифметика, доли, суммы, темпы - это работа детерминированного расчета. Модель отлично формулирует и плохо считает. Ей отдают текст, а не калькуляцию.
Требовать ссылку в каждом ответе. Ответ без указания на первоисточник - это слух, за который никто не отвечает. Со ссылкой любой сотрудник проверяет утверждение за пятнадцать секунд, и система очень быстро перестает придумывать.
Отдельно про случаи, когда неправда уже дошла до клиента или до решения. Разбор строится не вокруг человека, а вокруг конструкции: какой уровень приемки должен был это поймать и почему не поймал. Если ни один из пяти не должен был - значит, нужен шестой, и его надо описать.
Регламент приемки на первый месяц
Схема, которую мы ставим по умолчанию. Она не идеальная, но живучая.
Дни с первого по пятый - сплошная проверка. Смотрится каждый результат. Задача не поймать ошибки, а собрать их коллекцию и понять, какого они типа.
Дни с шестого по четырнадцатый - двадцать процентов по правилу риска. Крупные, нетипичные, новые. Плюс машинные тождества на каждом прогоне.
Со второй недели - контрольный набор еженедельно. И обязательно после любого изменения.
С четвертой недели - пять процентов выборки плюс автоматика. Тождества на каждом прогоне, проверяющая модель на каждом ответе, ручной разбор всего, что она пометила.
Постоянно - метрика полноты. Доля случаев, где источник вообще ответил и данные пришли. Ее падение означает, что вы получаете правдоподобный отчет по неполным данным, а это опаснее честной ошибки.
К концу месяца у вас будет честная цифра качества по вашим задачам и понимание, какие типы случаев система закрывает сама, а какие всегда идут человеку.
Коротко о главном
Проверять надо не текст, а связь текста с источником. Правдоподобие ничего не доказывает.
Пять уровней: машинная сверка с источником и тождества, контрольный набор с ловушками, вторая модель с доступом к источнику и узким вопросом, журнал действий и выборочная ручная проверка по риску, а не случайная.
Уверенная неправда лечится конструкцией, а не инструкциями: разделить поиск и вывод, запретить выходить за пределы источника, сделать не нашел правильным ответом, считать числа кодом и требовать ссылку в каждом ответе.
И главное правило, которое стоит запомнить: агрегат без строк не показывать. Итог всегда печатается вместе с перечнем, из которого он собран.
Хочешь увидеть свои цифры так, как их видим мы?
Сделаем мини-отчет на твоих реальных данных за 1-2 рабочих дня. Три находки, конкретные суммы, разбивка по каждой строке в выгрузке. Бесплатно, без обязательств.
Открыть бот @aximaa_bot