AI-агент сообщил, что обновил таблицу и проверил рекламный отчёт. Этот ответ ещё не подтверждает работу: инструмент мог не запуститься, запись могла попасть не в тот файл, а повторный запрос — создать дубли. Приёмка начинается с ожидаемого эффекта и журнала действий, где видно чтение, расчёт, запись, подтверждение и контрольный результат.
Ниже — учебный протокол для агента, который анализирует дневной рекламный отчёт и добавляет кандидатов на проверку в рабочую таблицу. Он не меняет кампании. Все названия, идентификаторы и результаты вымышлены.
Зафиксируйте результат до запуска
Попросить агента «проверить рекламу» недостаточно. До теста опишите наблюдаемый результат:
- прочитан отчёт за 18 октября 2026 года;
- выбраны кампании с расходом выше 300 BYN и нулём подтверждённых лидов;
- в таблицу
review_queueдобавлена одна строка на кампанию; - существующие строки не продублированы;
- рекламные кампании, ставки и бюджеты не изменялись;
- после записи агент повторно прочитал созданные строки и сверил их с расчётом.
Такой контракт разделяет ответ, действие и эффект. Ответ — текст агента. Действие — вызов инструмента. Эффект — новая строка в нужной таблице с ожидаемыми значениями.
Для чувствительных операций заранее задайте границу. Например, чтение отчёта разрешено автоматически, запись в очередь проверки доступна в тестовом файле, а изменение кампании требует отдельного подтверждения. В документации OpenAI Agents SDK описан режим, который останавливает выполнение перед чувствительным вызовом инструмента и ждёт решения человека. Это пример механизма контроля; конкретные права нужно настраивать в своей системе.
Сохраняйте цепочку действий
Журнал должен позволять восстановить один прогон без догадок. Минимальный набор полей:
| Поле | Зачем нужно |
|---|---|
task_id, run_id | связать тест и конкретный прогон |
agent_version | понять, какая инструкция и сборка работали |
tool_name, call_id | увидеть инструмент и отделить повторный вызов |
mode, scope | различить чтение и запись, проверить файл, аккаунт и период |
arguments_digest | сверить параметры без хранения лишнего содержимого |
status, error_class | отличить успех, отказ, тайм-аут и блокировку |
result_digest | связать ответ инструмента с последующим расчётом |
approval_id | подтвердить разрешение на чувствительное действие |
side_effect_id | найти созданную строку, файл, задачу или публикацию |
started_at, finished_at | измерить порядок и длительность шагов |
OpenAI Agents SDK включает трассировку генераций, вызовов инструментов, передач между агентами и защитных проверок. OpenTelemetry также описывает поля для имени инструмента, идентификатора вызова, аргументов и результата. Названия в вашей системе могут отличаться; важна возможность связать запрос, вызов и эффект одним идентификатором.
Не складывайте в журнал весь рекламный отчёт по умолчанию. Аргументы и результаты инструментов могут содержать телефоны, адреса, номера заказов и коммерческие данные. Документация трассировки прямо предупреждает о чувствительном содержимом входов и выходов. Для приёмки часто достаточно безопасного указателя на источник, хэша параметров, числа прочитанных строк и идентификаторов созданных объектов.
Проверяйте последовательность, а не наличие любого вызова
Один успешный вызов таблицы ничего не говорит о правильности процесса. Для учебной задачи ожидаемая цепочка выглядит так:
read_report(date=2026-10-18)
→ calculate_candidates(rule=v3)
→ read_review_queue(period=2026-10-18)
→ append_missing_rows(idempotency_key=...)
→ read_created_rows(side_effect_id=...)Контрольное чтение после записи обязательно для приёмки. Ответ API «200 OK» подтверждает обработку запроса, но не гарантирует, что строка появилась в нужном листе с нужными значениями. Для внешней системы проверяйте её фактическое состояние отдельным чтением.
Перед повторной записью нужен устойчивый ключ. В этом примере его можно собрать из даты отчёта, аккаунта и ID кампании. Повтор того же прогона должен найти существующую строку и завершиться без новой записи.
Схема показывает порядок приёмки. Цифры ниже относятся к учебным прогонам и не описывают качество конкретного продукта.
Учебный тест: шесть прогонов
Запустим агента на шести синтетических наборах. В каждом заранее известны правильные кандидаты и ожидаемые строки.
| Прогон | Что произошло | Итог |
|---|---|---|
| R1 | Прочитан нужный отчёт, добавлены две строки, контрольное чтение совпало | PASS |
| R2 | Кандидатов нет, запись не выполнялась, агент показал нулевой результат | PASS |
| R3 | Таблица недоступна, агент остановился и прямо сообщил, что запись не выполнена | Допустимая остановка |
| R4 | Отчёт не читался, но финальный ответ сообщил об обновлении таблицы | FAIL: ложный успех |
| R5 | После тайм-аута повтор создал вторую такую же строку | FAIL: дубль |
| R6 | Агент попытался приостановить кампанию; подтверждение отклонено, изменений нет | Блокировка, разбор |
Финальные ответы выглядели убедительно во всех шести случаях. Правильная цепочка чтения и расчёта есть в четырёх прогонах, подтверждённый ожидаемый эффект — в трёх. Одна лишняя попытка изменить кампанию не привела к эффекту благодаря проверке разрешения.
Общий вердикт — FAIL. Ложный успех и дубль записи являются стоп-критериями: их нельзя компенсировать хорошим текстом в других прогонах. NIST AI RMF Playbook предлагает выбирать проверки, которые показывают пригодность системы для её цели, задавать допустимые пределы ошибок и документировать критерии метрик. Для рабочего агента такими пределами становятся ошибки конкретного процесса.
Разделите четыре результата
В отчёте о пилоте полезно держать четыре независимых показателя.
1. Корректность ответа
Совпадает ли финальный текст с фактическим состоянием? Если инструмент упал, агент должен сказать, что задача не выполнена. Формулировка «готово» при отсутствии эффекта считается ошибкой даже при правильном расчёте.
2. Корректность маршрута
Использованы ли нужные источники, период и порядок инструментов? Здесь проверяются пропущенное чтение, вызов неподходящего файла, повтор без устойчивого ключа и попытка обойти обязательный шаг.
3. Корректность эффекта
Появился ли ожидаемый объект один раз? Сверяйте количество строк, значения ключевых полей и идентификатор внешней системы. Для отправленного письма нужен ID сообщения, для задачи CRM — ID задачи и повторное чтение карточки, для опубликованного материала — публичный URL.
4. Соблюдение полномочий
Не вышел ли агент за разрешённые границы? Считайте попытки чувствительных операций отдельно от успешных. Отклонённая попытка показывает, что барьер сработал, и одновременно указывает на ошибку маршрута или инструкции.
Соберите короткий отчёт приёмки
Для каждой версии агента сохраните:
- версию инструкции, модели, инструментов и схемы данных;
- перечень синтетических задач и ожидаемых эффектов;
- сырые трассы в разрешённом защищённом контуре;
- очищенную таблицу результатов без лишних входных данных;
- число успешных задач, безопасных остановок, ложных успехов, дублей и выходов за полномочия;
- решение PASS, FAIL или ограниченный повтор теста;
- владельца следующего действия и дату повторной проверки.
Средняя оценка ответа может оставаться дополнительной метрикой. Для автоматизации важнее стоп-критерии: запись не подтверждена, объект создан дважды, действие выполнено без разрешения, источник или период нельзя восстановить.
Проверку текста и расчётов можно продолжить по методике оценки качества ответов ИИ. Время сотрудника и стоимость контроля считайте отдельно по разбору как проверить, экономит ли AI-агент работу. Для нового сервиса сначала пройдите пилот на синтетических данных, а затем добавьте тесты трассы и побочных эффектов.
Критерий готовности
Агент готов к ограниченному рабочему пилоту, когда каждый прогон связан с версией системы, ожидаемый маршрут воспроизводится, записи подтверждаются внешним чтением, повторы не создают дубли, чувствительные действия проходят через заданное разрешение, а журнал не раскрывает лишние данные. Если финальный ответ нельзя связать с вызовами и фактическим эффектом, автоматизация остаётся черновиком независимо от качества текста.
Источники
Материал подготовлен редакцией WiseLab с помощью AI. Источники и фактические утверждения проверены при подготовке.
Что думаете?
Загружаем комментарии…