Пока агент только читает, его ошибка — это неверный ответ, который человек замечает и поправляет за минуту. Как только у агента появляется право записи, та же ошибка становится документом в учётной системе: остатки уехали, взаиморасчёты изменились, отгрузка ушла по неверной строке. Меняется не вероятность ошибки, а то, во что она превращается, и именно из этого строится набор ограничителей.

Разговор о том, насколько хороша модель, здесь бесполезен. Ошибаться она будет всегда, вопрос в доле; а самый частый отказ агента с правом записи вообще не связан с моделью — это повтор запроса после обрыва связи, из которого рождаются дубли документов. Поэтому идемпотентность в этом списке стоит выше, чем качество ответов.

Ниже — восемь ограничителей, которые ставятся до выдачи права записи, разбор идемпотентности на пальцах с ценой одного эпизода дублей, требования к служебной учётной записи агента, две модели работы и правило выбора между ними, порядок ввода в эксплуатацию через теневой режим и три ситуации, где право записи не выдают вообще. Общий список из двенадцати необратимых операций, которые не отдаются агенту ни при какой настройке, разобран отдельно в материале про необратимые действия ИИ-агента.

Восемь ограничителей до выдачи права записи

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

ОграничительЧто он закрываетПризнак, что он есть
1Отдельный служебный пользователь агентаНевозможность понять, кто внёс изменение: агент, интеграция или администраторВ журнале документа автор — именная запись агента, а не общая учётная запись обмена
2Роль на конкретные виды документовРасползание прав: агент, которому дали «доступ на запись», пишет куда достанетВ роли перечислены виды документов, всё остальное недоступно на уровне прав
3Запрет проведения и удаленияИзменение остатков и взаиморасчётов без участия человекаПопытка провести документ из-под учётной записи агента возвращает отказ
4Лимит операций в час и стоп-кранЦикл в логике, который создаёт сотни документов за минутыПревышение лимита останавливает запись и отдаёт задачу человеку, а не подстраивается
5Статус «черновик» по умолчаниюПопадание неверного документа в учёт до проверкиУ документов агента есть отдельный статус, по которому их можно отфильтровать
6Ключ идемпотентностиДубли при повторе запроса после сбоя связиПовторный запрос с тем же ключом возвращает прежний документ, а не создаёт новый
7Журнал с прежними значениямиНевозможность разобрать, что и почему изменилосьПо каждому действию видно: что сделано, по какому запросу, что было до, кто подтвердил
8Кнопка откатаРучной разбор последствий вместо возврата состоянияДействие второго класса возвращается одной операцией по записи журнала

Четвёртый пункт — единственный, который читатели обычно предлагают ослабить: «зачем лимит, если агент делает шестьдесят документов в день». Затем, что цикл в логике создаёт не шестьдесят, а шестьсот, и делает это за четыре минуты. Лимит в 40 операций в час на потоке в 60 документов в день срабатывает только при аномалии — и именно поэтому его срабатывание считается событием, а не помехой.

схема процессаii-agent-s-pravom-zapisi-v-uchetnuyu-sistemu--01
Путь документа от запроса агента до проведения: черновик, ключ идемпотентности, человек

Схема слева направо. Блок «Запрос агента» → блок «Проверка ключа идемпотентности» с двумя выходами: вниз «ключ уже был — вернуть прежний документ, новый не создавать» и вправо «новый ключ». Далее «Проверка лимита: 40 операций в час» с ответвлением вниз «превышен — стоп-кран, задача человеку». Далее «Создание документа в статусе черновика» → закрытые ворота «Проверка человеком» → «Проведён». Под всей цепочкой сквозная полоса «Журнал: что, по какому запросу, что было до, кто подтвердил» со стрелкой вверх в блок «Откат». Чертёжный стиль, подписи по-русски.

Ворота стоят на проведении, а не на создании: агент создаёт, проводит человек

Идемпотентность: почему повтор запроса рождает дубли

Что это значитКлюч идемпотентности

Уникальный признак операции, который агент передаёт вместе с запросом. Система запоминает его и при повторном запросе с тем же ключом не выполняет операцию заново, а возвращает результат первой. Ключ собирается из содержания операции — например, из номера входящего документа, даты и идентификатора контрагента, — а не генерируется случайно: иначе повтор придёт с новым ключом и смысл потеряется.

Механика отказа выглядит так. Агент отправил запрос на создание приходной накладной, система документ создала, но ответ не дошёл — оборвалась связь, истёк таймаут, перезапустился сервис. Агент видит ошибку и делает единственное разумное в такой ситуации: повторяет запрос. В учётной системе появляется второй такой же документ. Оба выглядят настоящими, оба содержат корректные данные, и по отдельности к ним нет никаких претензий.

Обнаруживается это не сразу. Пока документы не проведены, они не влияют ни на что; после проведения остатки начинают расходиться с фактическими, но расхождение растёт постепенно. В модельном разборе — поток 60 документов в день, из них дублируются около 40 за сутки, проблема замечена на третьи сутки, то есть накопилось 120 дублей.

Один эпизод дублей: 120 документов, обнаружено на третьи сутки
Разбор и сторнирование: 120 документов × 6 минут = 12 ч бухгалтера × 844 ₽10 128 ₽
Пересчёт остатков по затронутым позициям: 8 ч кладовщика × 550 ₽4 400 ₽
Отгрузки, ушедшие по неверному остатку: 6 заказов × 3 500 ₽ потерь на заказе21 000 ₽
Разбор причины и правка обмена: 5 ч инженера × 3 000 ₽15 000 ₽
Итого50 528 ₽ за один эпизод. Ключ идемпотентности — 12 часов работы, 36 000 ₽, ставится один раз
Сторно, а не удаление

Разбирать дубли удалением нельзя, даже если формально права позволяют. Удалённый документ уносит с собой историю, и через месяц восстановить картину «что именно поехало» становится нечем. Правильный порядок: остановить запись стоп-краном, выбрать все документы служебного пользователя агента за подозрительный период, сторнировать дубли и только потом разбираться с причиной. Именно поэтому третий ограничитель запрещает агенту не только проведение, но и удаление.

Служебный пользователь: именной, отдельный, с узкой ролью

Агент работает под собственной учётной записью, и это не формальность. Заведение отдельной технической записи — 4 часа работы инженера, 12 000 ₽; ещё около двух часов уходит на роль, ограниченную конкретными видами документов. Без такой записи разбор одного спорного изменения превращается в гадание, и подробный расчёт этой разницы приведён в материале про права доступа ИИ-агента к системам.

  • Отдельно от учётной записи обмена. Если агент пишет под тем же пользователем, что и регулярный обмен с CRM, в журнале документа они неразличимы. При разборе инцидента это означает, что подозрение падает на оба контура сразу и проверять придётся оба.
  • Отдельно от учётной записи администратора. Права администратора у агента отменяют все остальные ограничители: роль, запрет проведения и лимиты обходятся, потому что администратору можно всё. Это тот же принцип, что и для людей, — право выдаётся операции, а не должности.
  • Раздельные права на чтение и на запись. Читающая часть агента ходит одной учётной записью, пишущая — другой. Ошибка в логике при общем доступе приводит к записи туда, куда агент собирался только заглянуть.
  • Имя, по которому понятно, что это агент. Не `service1` и не `robot`, а запись с описанием: что за агент, какой процесс обслуживает, кто на вашей стороне отвечает за его лимиты. Через год это единственное, что позволит понять, зачем запись существует, — и не попасть в категорию сервисных записей без владельца.

Две модели работы и правило выбора

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

ПараметрАгент готовит черновик, проводит человекАгент проводит сам в узком классе
Класс документовЛюбой из согласованного перечняОдин-два вида, полностью типовых, с жёсткой проверкой полей
Что строится дополнительноЭкран подтверждения и очередь черновиков с фильтромПостконтроль выборкой и суточная сверка счётчиков
Разумный потокОт 30–50 операций в деньОт 150 однотипных операций в день
Цена одной ошибкиПравка черновика, минутыСторно, пересчёт остатков, разбор с контрагентом
Сколько подтверждений у человекаПо числу документов — за этим следят отдельноНоль ежедневно, выборка раз в неделю
Когда выбираютЦена ошибки высокая, поток средний, документы разнородныеПоток высокий, документ однообразный, ошибка дешёвая и обратимая

У первой модели есть предел, о котором надо знать заранее: подтверждение перестаёт быть контролем, когда его становится больше 20–30 в день на одного человека. Дальше сотрудник нажимает «провести», не читая, и формальный контроль есть, а фактического нет. Если расчёт даёт больше — либо сокращается класс документов, отдаваемых агенту, либо часть из них переводится во вторую модель, где вместо подтверждения работает выборочный постконтроль.

сравнениеii-agent-s-pravom-zapisi-v-uchetnuyu-sistemu--02
Две модели работы агента: черновик с подтверждением человека и проведение с постконтролем

Сравнение в две колонки. Левая «Черновик, проводит человек»: поток от 30–50 операций в день, любой согласованный вид документа, экран подтверждения, цена ошибки — правка черновика; внизу предупреждение «не больше 20–30 подтверждений в день на человека». Правая «Проводит сам, узкий класс»: поток от 150 однотипных операций в день, один-два вида документов, выборочный постконтроль и суточная сверка, цена ошибки — сторно и пересчёт остатков. Между колонками вертикальная стрелка снизу вверх с подписью «переводят по одному виду документов, а не целиком». Чертёжный стиль, подписи по-русски.

Порог между моделями — не зрелость агента, а поток и однородность документов

Ввод в эксплуатацию и три числа, за которыми смотрят

Право записи не выдаётся одним движением в день запуска. Порядок из четырёх шагов растягивается на шесть-восемь недель, и каждый следующий шаг делается только после того, как предыдущий дал измеримый результат.

  1. 1
    1. Тестовый контур на обезличенных данных

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

  2. 2
    2. Теневой режим на боевых данных: две недели без записи

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

  3. 3
    3. Один вид документа с черновиком

    Право записи выдаётся на один вид документа — обычно самый типовой и самый массовый. Остальное остаётся в теневом режиме. Здесь же впервые включаются лимит и стоп-кран, и здесь же проверяют, что стоп-краном умеет пользоваться ваш сотрудник, а не только подрядчик.

  4. 4
    4. Расширение по результатам, а не по календарю

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

  • Доля документов, поправленных человеком после агента. Целевой уровень — ниже 10 % к четвёртой неделе. Выше 20 % на третьей неделе означает, что вид документа выбран неудачно или данные для него живут не в той системе.
  • Число откатов в неделю. Больше трёх — расширение класса документов останавливается до разбора причин. Ноль откатов при заметной доле правок тоже сигнал: значит, ошибки ловят руками и не фиксируют, и статистика перестаёт быть достоверной.
  • Срабатывания лимита операций в час. Чаще одного раза в неделю — ищут цикл в логике, а не поднимают лимит. Поднятие лимита в ответ на его срабатывание — самый распространённый способ незаметно отключить четвёртый ограничитель.
графикii-agent-s-pravom-zapisi-v-uchetnuyu-sistemu--03
График доли правок после агента по неделям: с 22 процентов до 6 при пороге 10 процентов

Двухосевой график за восемь недель. По горизонтали — недели с 1 по 8, по вертикали — проценты от 0 до 25. Нисходящая линия «доля документов с правками после агента» по точкам: 22, 18, 14, 11, 9, 8, 7, 6. Горизонтальная штриховая линия на отметке 10 % с подписью «порог: к четвёртой неделе ниже». Вертикальная засечка между второй и третьей неделей с подписью «конец теневого режима, включена запись по одному виду документа». Область выше порога до пятой недели залита штриховкой. Чертёжный стиль, подписи по-русски.

Целевое число одно: к четвёртой неделе доля правок должна уйти ниже 10 %

Сам контур ограничителей — это работа, которая обязана стоять в смете отдельной строкой. Если её там нет, значит, её не делали. Ставка инженера в расчёте — 3 000 ₽/час.

Контур ограничителей для агента с правом записи в учётную систему
Служебный пользователь и роль на конкретные виды документов: 6 ч18 000 ₽
Статус черновика по умолчанию, запрет проведения и удаления: 10 ч30 000 ₽
Ключ идемпотентности и защита от повторов: 12 ч36 000 ₽
Лимит операций в час и стоп-кран для вашего сотрудника: 6 ч18 000 ₽
Журнал с прежними значениями и кнопка отката: 14 ч42 000 ₽
Теневой режим две недели и разбор расхождений: 8 ч24 000 ₽
Итого56 часов, 168 000 ₽ разово плюс 4 800 ₽/мес на выборочный контроль — 4 ч в месяц по 1 200 ₽

Три ситуации, где право записи не выдают

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

  • Документы, влияющие на закрытый период. Всё, что меняет взаиморасчёты, себестоимость или отчётность за уже закрытый месяц. Откат здесь невозможен по существу: даже сторно оставляет след, а данные, на которых уже приняты решения и сданы отчёты, изменить задним числом нельзя.
  • Деньги наружу и платёжные реквизиты. Платёжные поручения, возвраты, изменение банковских реквизитов контрагента. Агент готовит пакет документов, решение принимает человек. Это не вопрос доверия к модели: ошибку в реквизитах не откатывает никто, кроме получателя платежа.
  • Справочники-хозяева. Номенклатура с ценами, контрагенты, склады. Ошибка в справочнике не остаётся в одном документе — она тиражируется на все будущие. Агент может предложить создание новой позиции, но создаёт её человек, и это единственный случай, где мы советуем оставить ручной ввод даже при большом потоке.

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

Право записи стоит не столько, сколько стоит модель, а столько, сколько стоит возможность вернуть всё как было.