Паттерн этого цикла
Три события сходятся в одной точке. Брокерские компании открывают круглосуточную торговлю через агентов, где автономный процесс может размещать ордера вне рабочих часов человека. Розничные платформы открывают агентские пути оформления заказов, чтобы покупательский агент мог завершить покупку без нажатия кнопки подтверждения человеком. Рельсы стейблкоинов используются для оплаты агентского трафика по факту, превращая вызовы API в небольшие, частые и трудно обратимые переводы.
Каждое из этих изменений вводит агентов в транзакции, которые либо необратимы, либо дороги в откате. Исполненную сделку нельзя отменить. Совершённый перевод стейблкоинов окончателен. Завершённое оформление заказа попадает в цепочку исполнения, которая, возможно, уже отгрузила товар.
Вопрос о спорах уже задаётся с другой стороны. Банки и кредитные сервисы разрабатывают правила для агентов заёмщиков и покупателей, потому что им нужно знать, кто несёт ответственность, когда агент действует за пределами намерений принципала. Это не вопрос возможностей. Это вопрос разрешения споров.
Общий пробел — в квитанции. Сегодняшние квитанции описывают, что было куплено. Они редко описывают, какой агент действовал, по какому мандату и от чьего имени. Без этого у спора нет объекта. Продавец видит действительный платёж. Принципал видит несанкционированную покупку. Агент видит выполненную задачу. Нет общего протокола, который позволил бы третьей стороне вынести решение.
Что должна нести агентская квитанция
Агентская квитанция — это структурированная запись, создаваемая до расчёта. Это не строка лога и не маркетинговое подтверждение. Ей нужны три ссылки.
Ссылка на мандат
Мандат — это объём полномочий, предоставленных принципалом. Он должен содержать как минимум:
- потолок суммы, на транзакцию и на период;
- ограничение по классу продавцов, например продукты или канцелярские товары, но не подарочные карты;
- срок действия, после которого мандат недействителен;
- идентификатор принципала и идентификатор агента, владеющего мандатом.
Мандат — это то, что отличает агента, действующего в рамках полномочий, от агента, импровизирующего. Если мандат разрешает продукты до определённого потолка, покупка цифровых подарочных карт выходит за рамки независимо от суммы.
Ссылка на решение

Ссылка на решение фиксирует сравнение, которое выполнил агент, и выбранный им вариант. В шопинг-агенте это означает набор кандидатов, которые он оценил, и атрибуты, по которым он ранжировал. В торговом агенте это означает сигнал или политику, породившую ордер.
Ссылка на решение не обязана быть полной трассировкой. Она должна быть достаточной, чтобы проверяющий мог восстановить, почему выбран этот вариант, а не другой. Это разница между агентом, которого можно проверить, и агентом, которому можно только доверять.
Ссылка на расчёт
Ссылка на расчёт связывает квитанцию с рельсами. Она должна указывать:
- используемые рельсы: карта, банковский перевод или стейблкоин;
- окно отката, если оно есть, и его длительность;
- сторону, которая может инициировать откат, и условия, при которых она может это сделать.
Именно эту часть большинство команд опускает. Откат рассматривается как процесс поддержки, а не как поле протокола. Когда его нет в квитанции, он обсуждается после убытка, а это худшее время для переговоров.
Почему сохранённые карты и универсальные API-ключи здесь не работают
Сохранённые карты и долгоживущие API-ключи — это стандартные строительные блоки для агентских платежей, и они не работают по одной и той же причине: они не несут объёма полномочий на транзакцию.
Сохранённая карта — это учётные данные для аккаунта, а не для задачи. Как только агент получает её, одна компрометация или одна инъекция в промпт имеет неограниченный охват. Нет потолка суммы, нет ограничения по классу продавцов и нет срока действия, привязанного к задаче. Радиус поражения — это аккаунт.
Универсальные API-ключи имеют ту же форму. Они аутентифицируют агента в сервисе, но не выражают, что агенту разрешено делать в этом вызове. Ключ, который может купить что угодно, может купить не то.
Ни то, ни другое не может выразить ограничения по классу продавцов или временные окна. Карту можно заблокировать у продавца постфактум, но её нельзя выпустить для класса продавцов на фиксированное окно. Ключ можно ротировать, но ротация — это не объём полномочий.
Самое главное: ни то, ни другое не даёт продавцу способа отличить намерение принципала от интерпретации агента. Продавец видит авторизованные учётные данные. Он не может увидеть, намеревался ли принципал совершить эту покупку или агент переусердствовал в трактовке расплывчатой инструкции. Эта неоднозначность — место об

Правила проектирования для команд, выпускающих агентскую коммерцию
Следующие правила — не стандарт. Это рабочая позиция, и они несут компромиссы.
Выпускайте ограниченные, короткоживущие платёжные учётные данные на задачу
Сделайте учётные данные единицей отзыва. Задача получает учётные данные с потолком суммы, ограничением по классу продавцов и сроком действия, измеряемым в минутах или часах, а не в месяцах. Тогда отзыв — это одна операция над известным объектом, а не спешная возня по всему аккаунту.
Компромисс — операционный. Учётные данные на задачу умножают количество учётных данных в обращении, и им нужен путь выпуска, достаточно быстрый, чтобы не блокировать агента. Команды, которые не могут выпускать их в критическом пути, будут склонны расширять объём полномочий и удлинять срок действия, что возвращает проблему.
Требуйте структурированную квитанцию до вызова расчёта
Сначала определите схему квитанции и сделайте расчёт условным от неё. Если агент не может выдать действительную квитанцию, вызов расчёта отклоняется. Это переворачивает обычный порядок, где расчёт происходит, а логирование следует за ним.
Компромисс — задержка и режимы отказа. Строгий шлюз отклонит некоторые законные транзакции, когда квитанция искажена или сервис мандатов недоступен. Командам нужно определённое поведение для этого случая, и безопасное значение по умолчанию — закрыться при ошибке, а не рассчитаться и согласовать позже.
Определите путь отката на этапе проектирования
Укажите, кто может инициировать откат, в течение какого окна и кто несёт убытки, когда мандат агента был неоднозначным. Неоднозначность — это норма, а не крайний случай. Принципал, который говорит «займись моими покупками», не указал класс продавцов или потолок, и интерпретация агента не совпадёт с каждым ожиданием.
Компромисс — коммерческий. Чёткие пути отката переносят риск на сторону, которая лучше всего может его ограничить, а это часто платформа, а не принципал. Это бизнес-решение, но его лучше принять до первого спора, чем во время него.
Слой расчётов — это и есть продукт
Агентская коммерция не нуждается в очередном слое скидок или лояльности. Ей нужен слой расчётов, который создаёт квитанции с атрибуцией агента, обеспечивает соблюдение ограниченных мандатов и называет путь отката до того, как транзакция станет необратимой. Команды, которые это построят, выиграют не ценой. Они выиграют потому, что смогут ответить на единственный вопрос, который имеет значение, когда агент совершает транзакцию неправильно: кто несёт убытки и на основании каких доказательств.
