AI-агенты для написания кода хороши в создании новых проектов с нуля, но плохо справляются с платформами. Когда в мае мы выпустили первый навык Swell, мы объяснили почему: агент, который не знает соглашений платформы, либо изобретает свои собственные, что приводит к ошибкам во время выполнения, либо просит вас прописать каждое ограничение, что сводит на нет смысл использования агента.
Это касалось написания кода. Тот же провал становится еще серьезнее, когда агент работает с действующей системой. Коммерческая платформа — это не репозиторий, который агент может прочитать от начала до конца. Это работающий сервис со схемой, проверками и побочными эффектами. Все, что агент знает о нем, берется из документации, а документация устаревает. Агент делает предположение, предположение оказывается неактуальным, и запись завершается неудачей. Или, что еще хуже, она выполняется неправильно. Гадание — это и есть баг.
Мы считаем, что следующее поколение коммерческих систем будет создаваться и все чаще управляться агентами, работающими вместе с их владельцами. Победителями станут те платформы, которые агент может обнаруживать, проверять и с которыми может безопасно взаимодействовать во время выполнения. Это архитектурное свойство, а не функция, которую можно добавить позже. Сегодня мы опубликовали swell.is/ai, чтобы показать, как именно Swell создан для этого.
Что нужно агенту от платформы
Самоописание во время выполнения. Магазин на Swell может сообщить агенту свою схему:
Один вызов возвращает модели магазина: стандартные, настроенные продавцом и установленные приложениями, с типами полей, связями и более чем 750 описаниями полей. Этот слой документации не может устареть, потому что он генерируется из тех же определений, которые платформа применяет при каждой записи. Эндпоинт описан в нашем руководстве по настройке моделей.
Машиночитаемая обратная связь. Когда запись не проходит проверку, API возвращает объект ошибок, сгруппированный по полям, где каждая запись содержит код:
Коды, такие как REQUIRED, MINVAL и MAXVAL, указывают на конкретное поле и конкретное правило, которое не было соблюдено, поэтому агент исправляет свою полезную нагрузку самостоятельно, вместо того чтобы анализировать текст или обращаться к человеку. Обратная связь, на которую может реагировать машина, — это разница между циклом, который сходится, и тем, который зависает.
Инструментарий, который никогда не блокирует работу. Агент, управляющий CLI, зависает в тот момент, когда команда ожидает ввода. Swell CLI построен по четкому контракту: каждый интерактивный запрос имеет эквивалентный флаг, -y принимает значения по умолчанию вместо ожидания, а ошибки указывают на то, что было не так, и перечисляют допустимые варианты, обычно с правильным примером вызова. Коды выхода также являются частью контракта (успех, ошибка пользователя, системная ошибка), поэтому скрипт может отличить ошибку, которую можно повторить, от ошибки в полезной нагрузке, которую нужно исправить. Мы продолжаем внедрять этот контракт команда за командой и будем закрывать пробелы, пока каждая команда не будет ему соответствовать.
Защитные механизмы, делающие автономность структурной. Автономность полезна только тогда, когда радиус поражения ограничен архитектурой, а не политикой. В Swell команда swell app push развертывает приложение в тестовой среде; она не может получить доступ к продакшену. Развертывание в рабочем магазине — это отдельная явная команда, поэтому цикл по умолчанию, который запускает агент, никогда не затрагивает продакшен. Файлы конфигурации содержат опубликованную схему $schema, поэтому редакторы и CI обнаруживают ошибки до отправки, а платформа проводит повторную проверку перед применением. Приложение объявляет необходимые ему разрешения в файле swell.json, а продавцы контролируют, к чему оно может обращаться. Ничто из этого не зависит от того, насколько хорошо «ведет себя» агент. Кроме того, поверх этого структурного слоя находится человеческий контроль: приложения, опубликованные в Swell App Store, проходят проверку перед выпуском. «Безопасность для передачи агенту» — это свойство системы, а не надежда на модель.
API — это JSON-файл
В Swell большая часть того, что создает агент, — это конфигурация, а не код. Просто добавьте файл в каталог models/ вашего приложения:
Разверните его, и платформа сгенерирует REST-ресурс: эндпоинты, валидацию, связи и события создания/обновления/удаления, без необходимости писать код для эндпоинтов. Здесь нет каркаса, в котором агент мог бы допустить ошибку, потому что каркаса как такового нет.
Эта строка $schema указывает на реальный опубликованный URL. Вы можете проверить ее за тридцать секунд:
Это возвращает JSON Schema (черновик 2020-12), по которой проверяется каждый файл определения модели Swell. Один контракт обслуживает всех потребителей: ваш редактор выполняет автодополнение на его основе, CI проверяет его, люди просматривают файл как обычный diff, а агенты генерируют его. Соглашения, которые находятся вне схемы (структура файлов, цикл CLI, режимы сбоев, о которых стоит знать), упакованы как версионированные навыки Swell, начиная с приложений; навыки для Backend API и витрины магазина находятся в процессе внедрения.
Чем это не является
Существует отдельный, более громкий разговор об агентских платежах, протоколах для агентов, которые совершают покупки и платят от имени потребителей. Этот уровень еще не устоялся, и мы сегодня ничего по этому поводу не объявляем. Наша позиция проста: продавцы сохраняют свой процесс оформления заказа, а наша задача — сделать коммерческую систему за ним понятной для агентов, которые ее создают и эксплуатируют. Отдадим должное: команды, работающие над агентскими платежами, решают реальную проблему. Но это не та проблема, о которой идет речь в этой статье.
Ставка
Проще говоря: автором коммерческой интеграции вскоре станет агент с проверкой человеком. Платформы, разработанные с расчетом на человеческую память — прочитать документацию, запомнить соглашения, надеяться, что ничего не изменилось, — будут сопротивляться этому сдвигу. Платформы, которые описывают себя во время выполнения, сообщают об ошибках с машиночитаемой точностью и структурно ограничивают радиус поражения, будут только выигрывать от этого. Swell относится ко второму типу, и так было еще до того, как агенты смогли этим воспользоваться.
Попробуйте, это займет несколько минут. Создайте магазин, направьте на него своего агента и установите навык:
Затем попросите своего агента что-нибудь создать. Там, где он знает соглашения, он будет их использовать. Там, где не знает, он спросит магазин.










