Официальный пример Claude Commerce Agents нельзя сразу отправлять в продакшен: используйте его как каркас для прототипа, а запуск начинайте только после поэтапной приёмки каталога, авторизации, оплаты, записей, памяти и реальных терминалов. Это подходит командам, которым нужен быстрый интерфейс shopping agent или merchant agent, но не готовая торговая система.
Кому стоит читать эту проверку: разработчикам, подключающим поиск, сравнение и корзину к существующему магазину; платформенным командам, которые хотят разрешить агенту менять запасы, цены или акции; тестировщикам, которым нужно подтвердить работу Safari, iOS, настольного браузера и удалённой среды.
Последняя проверка материалов выполнена 3 сентября 2026 года по официальному репозиторию, инженерным документам и описанию границ безопасности. Следующее обновление понадобится после новых коммитов, изменения статуса Managed Agents или пересмотра документации по оплате, авторизации и развёртыванию.
Сначала отделите демонстрацию от торговой платформы
Главная ошибка — воспринимать reference blueprint как готовый интернет-магазин. Официальный репозиторий описывает shopping agent для покупателей и merchant agent для сотрудников. В него входят навыки, контракты инструментов, защитные ограничения, примеры интерфейсов и несколько способов запуска. Но содержимое демонстрации намеренно ограничено.
В официальном описании прямо сказано: примеры используют вымышленные компании, товары и людей; код не оформляет заказ, не списывает средства и не меняет активные карточки товаров. Вызов checkout только передаёт корзину хост-приложению, а изменения merchant agent остаются в промежуточном состоянии до подтверждения человека. Бизнес-правила, авторизация и соответствие требованиям остаются ответственностью команды внедрения. (README официального репозитория)
Есть и ещё одна граница: репозиторий обозначен как reference implementation и не обещает постоянное сопровождение. Поэтому его нельзя использовать как единственный источник эксплуатационных гарантий.
Перед написанием интеграционного кода зафиксируйте отдельную матрицу ответственности:
- модель формирует рассуждение и предложения;
- цикл Agent управляет последовательностью вызовов;
- skills задают инструкции и предметные сценарии;
- StorefrontBackend и MerchantBackend возвращают бизнес-данные;
- MCP-сервис предоставляет отдельный канал к вашим системам;
- платёжная система подтверждает сделку;
- хост-приложение и браузер выполняют пользовательский переход и показывают результат.
Если команда не может назначить владельца для каждого слоя, решение о запуске должно быть отрицательным.
Достоверность каталога требует серверного источника
Модель не должна самостоятельно дополнять название товара, цену, наличие, условия возврата или размер комиссии. Даже хороший ответ может оказаться устаревшим через секунду после изменения склада или тарифа.
В blueprint интерфейс StorefrontBackend должен связывать агента с каталогом, корзиной, заказами и политиками магазина. Для товаров с вариантами отдельно учитываются семейство товара и конкретный вариант: размер, цвет или другая опция могут иметь собственные идентификаторы, цену и остаток. (Руководство по подключению backends)
Проверяйте не текст ответа, а происхождение каждого значения:
- товар найден серверным поиском;
- идентификатор существует в текущем сеансе;
- выбранный вариант действительно доступен;
- цена относится к нужному рынку и аккаунту;
- обязательные сборы сформированы сервером;
- карточка не смешивает данные семейства и варианта;
- ответ при тайм-ауте явно сообщает о невозможности подтвердить факт.
Встроенная защита ограничивает добавление в корзину товарами, которые были возвращены каталогом или уже присутствуют в корзине. Для UI-полезной нагрузки записи также должны присоединяться к серверным объектам; неподтверждённые идентификаторы отбрасываются. Это полезная базовая защита, но она не заменяет ваши правила доступа и актуальности. (Документ о правилах безопасности)
Сохраните доказательства приёмки:
- запрос на товар с несколькими вариантами;
- ответ при нулевом остатке;
- изменение цены между поиском и открытием карточки;
- товар, удалённый во время диалога;
- задержку каталога и серверную ошибку;
- запрос одного покупателя с токеном другого покупателя.
Последний тест особенно важен. Правильная сессия должна быть связана с субъектом на сервере. Идентификатор пользователя не должен передаваться моделью как свободный аргумент инструмента.
Корзина не означает готовую оплату
В торговом потоке есть три разных этапа:
- агент собирает состав корзины;
- хост формирует переход к оформлению;
- платёжная система создаёт и подтверждает сделку.
Claude Commerce Agents покрывает только первые два этапа. Официальное руководство указывает, что checkout может вести на маршрут вашего приложения, на страницу размещённого оформления или на отдельные страницы продавцов в маркетплейсе. URL добавляется после вызова модели и не передаётся через неё.
Перед передачей пользователя на оплату сервер обязан заново проверить:
- состав корзины;
- цены и скидки;
- стоимость доставки;
- обязательные налоги и сборы;
- адрес и регион;
- доступность товара;
- ограничения аккаунта;
- срок действия удержания товара.
Модель не должна видеть платёжный токен, номер карты или секретный идентификатор платёжного провайдера. Ей достаточно получить безопасный статус: «переход создан», «нужна авторизация», «цена изменилась» или «оформление недоступно».
Если хост не получил подтверждение статуса, поток должен остановиться. Нельзя просить агента «предположить», что платёж прошёл. Нельзя показывать пользователю успешный заказ только потому, что браузер открыл страницу оформления. В системе должны существовать отдельные события для начала checkout, возврата из платёжной страницы, подтверждения заказа и отмены.
Приёмка не пройдена, если после сетевого сбоя повторный запрос создаёт второй заказ, если цена меняется без уведомления или если возвращённый браузером статус не совпадает с серверным статусом заказа.
Записи merchant agent должны проходить через контроль хоста
Merchant agent может анализировать показатели, работать с карточками, остатками, ценами и кампаниями. Но безопасный режим — не прямое изменение базы, а цепочка «прочитать — подготовить diff — проверить — согласовать — применить».
В официальной реализации запись сначала помещается в staging. При применении проверяются идентификаторы, происхождение объекта, лимиты изменения цены, глубина акции, объём пополнения и защищённые поля. При включённом require_host_approval применение разрешено только после отметки, которую установил хост. Само подтверждение в сообщении чата не считается заменой серверной отметки. (Документ о контроле записей)
Для каждого изменения сотрудник должен увидеть:
- исходное и новое значение;
- полный список затронутых SKU или кампаний;
- источник аналитического вывода;
- область действия — магазин, рынок, склад или продавец;
- лимиты, с которыми сравнивался запрос;
- предполагаемое время применения;
- способ отмены;
- идентификатор операции.
Недостаточно показать короткое резюме вроде «агент рекомендует поднять цену». Такое резюме скрывает масштаб и может не показать, что затронуты разные рынки или варианты одного товара.
Проверьте пять опасных случаев:
- повторная отправка одной и той же операции;
- изменение после устаревшего чтения;
- частичная ошибка при массовой записи;
- попытка изменить защищённое поле;
- отсутствие отмены после применения.
Идемпотентность должна быть частью backend-контракта. Ключ операции связывается с сессией и содержимым корзины или изменения. На практике вам также понадобится серверный журнал результата, чтобы повторный запрос возвращал прежний статус, а не запускал действие заново.
Память и кэш могут смешать покупателей
Память торгового агента полезна для предпочтений, истории диалога и контекста корзины. Но эти данные нельзя хранить одним неразделённым слоем.
Разнесите минимум четыре категории:
- предпочтения покупателя;
- текущая корзина;
- контекст конкретного заказа;
- аналитика и рабочие записи продавца.
Для каждой категории задайте владельца, срок хранения, право чтения, право удаления и связь с аккаунтом. В официальной реализации факт памяти ограничивается ключом до 64 символов и значением до 200 символов; также применяются фильтры, категории и операции удаления. Эти ограничения полезны как техническая база, но не являются вашей политикой хранения персональных данных.
Проведите последовательные тесты:
- войдите под покупателем A и сохраните предпочтение;
- завершите сессию и войдите под покупателем B;
- проверьте, что память A не появилась в ответе B;
- восстановите прерванную сессию;
- измените префикс кэша;
- отправьте два параллельных запроса;
- удалите аккаунт и подтвердите удаление связанных фактов.
Отдельно различайте явные сведения и выводы модели. Если пользователь сказал, что предпочитает определённый размер, это одно. Если модель решила, что пользователь «вероятно» интересуется дорогими товарами, это другое. Второй тип данных нельзя автоматически считать подтверждённым профилем.
В README отдельно указано, что кэширование можно проверять по cache_read_input_tokens: нулевое значение на втором ходе может означать изменение префикса. Это не просто оптимизация. Изменение префикса способно повлиять на состояние, стоимость запроса и воспроизводимость длинного диалога.
Оценка должна включать интерфейс и сбои
Одного удачного показа недостаточно. В репозитории предусмотрены проверки стиля, тесты, сборка веб-приложений, пробные развёртывания и smoke-сценарии. Для производственной приёмки этого всё равно мало: ваши API, браузер, идентификация и платёжный маршрут отличаются от демонстрационных.
Составьте набор задач из пяти групп:
- поиск и сравнение товаров;
- рекомендация замены при отсутствии;
- вопрос о заказе и возврате;
- предупреждение о запасе;
- контролируемая запись продавца.
Для каждой задачи сохраняйте:
- исходный ввод;
- применённую конфигурацию;
- вызовы инструментов;
- серверные ответы;
- решения gate;
- итоговый UI;
- события авторизации;
- время ожидания;
- результат ручной проверки.
Минимальная техническая матрица должна включать Python 3.11+ и Node 22 для запуска официальных демонстраций, если вы проверяете исходную структуру без адаптации. В README также указаны четыре вертикальных примера и отдельные порты storefront и portal для каждой из них. Эти параметры подтверждают способ запуска примера, но не являются требованиями вашей будущей платформы. (Инструкция быстрого запуска)
Проверяйте не только API:
- Safari на macOS;
- мобильную страницу на iOS;
- настольный браузер;
- изменение ориентации и размера окна;
- обновление страницы на этапе checkout;
- обрыв сети во время инструмента;
- восстановление долгой сессии;
- выход из аккаунта в другой вкладке;
- две одновременные сессии разных покупателей;
- ручную передачу диалога оператору.
Браузерный агент сталкивается с отдельным классом рисков: страница может содержать скрытые инструкции, изменённую разметку или вредоносный текст. Отдельные рекомендации по защите браузерных сценариев указывают, что переходы по URL, заполнение форм, нажатие кнопок и загрузка файлов создают дополнительные поверхности для prompt injection. Поэтому проверка интерфейса должна включать недоверенный контент, а не только красивый happy path. (Материал о защите браузерных сценариев)
План приёмки Claude Commerce Agents по этапам
Используйте следующую последовательность. Она помогает не смешивать готовность модели с готовностью торговой системы.
- Заморозьте контракт данных. Опишите поля товара, варианта, цены, остатка, заказа, возврата и аккаунта. Для каждого поля назначьте серверный источник.
- Свяжите сессию с субъектом. Аутентификация должна завершаться до запуска Agent. Смена аккаунта должна создавать новую проверяемую сессию.
- Ограничьте инструменты. Оставьте только необходимые чтения. Все записи выключите до появления approval surface.
- Подключите тестовый backend. Уберите реальные платёжные и складские операции. Возвращайте контролируемые ответы на отсутствие товара, тайм-аут и изменение цены.
- Добавьте идемпотентность. Повтор одного события не должен создавать новый заказ или повторять изменение.
- Соберите набор регрессионных задач. Записывайте tool calls, серверные результаты и экранный результат для каждого сценария.
- Проверьте память и кэш. Тестируйте аккаунты, восстановление, параллельные запросы и удаление.
- Проведите браузерную приёмку. Подтвердите Safari, iOS, настольный браузер, обрыв и ручное вмешательство.
- Разделите решение по режимам. Не выдавайте один общий статус «готово». Shopping read-only, checkout handoff и merchant writes должны иметь отдельные вердикты.
- Назначьте владельца инцидента. Зафиксируйте, кто блокирует оплату, отключает запись, очищает память и расследует неправильный ответ.
Для разработки каркаса можно применять Claude Agent SDK или Claude Code, но это не переносит ответственность за идентификацию и бизнес-правила на SDK. SDK меняет способ запуска Agent, а не владельца платежей и данных. README показывает три режима: Messages API, Agent SDK и Managed Agents; на всех путях часть защитных правил проходит через общий исполнитель инструментов, однако конфигурация и эксплуатационные границы всё равно требуют отдельной проверки. (Описание режимов запуска)
Условия перехода от прототипа к запуску
Выбирайте режим по фактам, а не по впечатлению от демонстрации:
- Если каталог, аккаунты и цены подтверждаются сервером, но оплаты ещё нет — выбирайте только read-only пилот.
- Если checkout передаёт пользователя в ваш защищённый контур, но нет подтверждённого события оплаты — оставляйте режим handoff без заявления об успешном заказе.
- Если merchant agent формирует diff, а хост проверяет права и ставит approval mark — разрешайте ограниченные записи на тестовом наборе.
- Если отсутствуют откат, идемпотентность или аудит — возвращайтесь к режиму только чтения.
- Если Safari, iOS или восстановление после обрыва не проверены — не называйте поток готовым к продакшену.
- Если не определены срок хранения памяти и процедура удаления — блокируйте персонализацию.
- Если MCP-сервис доступен без аутентифицирующего шлюза — не открывайте его за пределами изолированной среды.
Итоговая таблица должна выглядеть примерно так:
| Режим | Что разрешено | Обязательные условия | Когда откатываться |
|---|---|---|---|
| Только чтение | Поиск, сравнение, ответы по политике | Серверные данные, авторизация, регрессия каталога | Ошибка происхождения товара или смешение сессий |
| Ограниченный checkout | Корзина и переход на хост-оформление | Повторная проверка цены, адреса, наличия и статуса | Неподтверждённый платёж или повторный заказ |
| Ограниченные merchant-записи | Staging и утверждённые изменения | Полный diff, права, лимиты, аудит, откат | Обход approval или неидемпотентная запись |
| Полный продакшен | Реальные покупатели и операции | Браузерная матрица, мониторинг, инцидентный план | Любой критичный провал без безопасной блокировки |
Если текущая реализация построена вокруг обычного серверного приложения или Linux-окружения, её слабое место часто появляется не в модели, а на последнем шаге: Safari, мобильный checkout, восстановление сессии и параллельная работа требуют реального изолированного терминала. Локальная машина разработчика не показывает проблемы разных разрешений, чистого профиля, сетевого обрыва и одновременных пользователей. Собственная постоянная инфраструктура, в свою очередь, избыточна для короткого этапа приёмки и создаёт расходы на содержание, доступы и очистку окружения.
Для временного тестового контура аренда Mac через vmzig может быть рациональнее: вы получаете отдельную macOS-среду для Safari-проверок, мобильных сценариев через удалённый доступ и повторяемых сессий, не превращая рабочий ноутбук разработчика в общий стенд. Это не заменяет долгосрочную инфраструктуру для постоянной тяжёлой нагрузки и не решает требования к физическим интерфейсам, но хорошо подходит для проверки торгового Agent перед ограниченным запуском. Начните с матрицы каталога, заказов, согласований и браузеров. Если для неё не хватает воспроизводимой macOS-среды, заранее определите отдельные тестовые аккаунты, правила очистки и лимиты параллельных сессий.
Частые вопросы
Можно ли подключить Claude Commerce Agents к настоящему интернет-магазину без серьёзной доработки?
Нет. Репозиторий даёт каркас shopping agent и merchant agent, но не заменяет вашу авторизацию, бизнес-правила, платёжный контур, хранение персональных данных и эксплуатационный мониторинг. Начинайте с тестового каталога и режима чтения. Реальное оформление заказа подключайте только после отдельной проверки серверных подтверждений, идемпотентности и восстановления после сбоя.
Как защитить покупателя от ошибочной цены или выдуманного товара?
Цена, наличие, варианты и обязательные сборы должны приходить из доверенного серверного метода, а не из ответа модели. Перед показом карточки сервер повторно проверяет идентификатор, рынок, аккаунт и актуальность данных. Для приёмки сохраните тесты на изменение цены, отсутствие товара, неверный вариант и тайм-аут каталога.
Что должен подтвердить сотрудник перед изменением цены или запаса?
Он должен увидеть полный diff, список затронутых товаров, старые и новые значения, источник данных, лимиты и ожидаемый эффект. Подтверждение в чате не считается достаточным. Запись сначала создаётся в staging, затем проходит серверную проверку прав и только после этого применяется. Повторная отправка должна быть безопасной, а изменение — отменяемым.
Есть ли в Claude Commerce Agents готовая оплата и вход пользователя?
Нет. В демонстрационном коде checkout заканчивается передачей корзины хост-приложению или защищённой странице оформления. Платёжные реквизиты модель не получает. Аутентификацию, связывание сессии с покупателем, права продавца и защиту MCP-маршрутов реализует команда внедрения.
Какие браузеры и устройства нужно проверить перед запуском торгового агента?
Минимальная матрица должна включать Safari на macOS, мобильную страницу на iOS, настольный браузер, восстановление после обрыва и одновременные сессии разных пользователей. Проверяйте не только API, но и отображение карточек, переход к checkout, повторную отправку событий, ручное вмешательство и очистку состояния после выхода из аккаунта.
Удалённый узел vmzig M4
Проверьте торговые сценарии в реальной среде с vmzig
Арендуйте удалённый Mac в vmzig для проверки браузерных сценариев, авторизации и оформления заказов.