AWS представляет Pizza Bot: open source-инбокс для фоновых ИИ-агентов
AWS представила Pizza Bot — приложение для самостоятельного развёртывания, предназначенное для задач ИИ, которые продолжаются, пока пользователи занимаются чем-то ещё. Оно организует завершённые результаты и ожидающие решений задачи во входящих сообщениях в стиле электронной почты. Более ранние версии использовались более чем 2 000 сотрудниками Amazon и поддерживали подготовку к встречам, составление электронных писем, сводки Slack, внесение данных в CRM и исследования. Публичное приложение было заново создано как проект с открытым исходным кодом.
Доступно для развёртывания: да. Pizza Bot предлагает настольные сборки для macOS, Windows и Linux, а также клиенты для браузера и терминала, подключаемые к локальному или автономному бэкенду. Его код распространяется по лицензии Apache 2.0.
Входящие для асинхронной работы
Pizza Bot разделяет задачи на Все — историю обсуждений; Непрочитанные — завершённую работу, ожидающую проверки; и Действие — работу, приостановленную в ожидании одобрения или ответа. Пользователи могут организовывать обсуждения по папкам и просматривать делегированных исполнителей на панели активности. Задачи можно запускать вручную, по расписанию cron или через вебхуки.
Сервер отвечает за планирование. После простоя пропущенные интервалы cron приводят к 1 запуску для наверстывания, а не к воспроизведению каждого пропущенного интервала. Срабатывания триггеров сохраняются надёжным образом.
Принцип работы среды выполнения
Приложение использует DeepAgents и LangGraph для выполнения с сохранением состояния. API-сервер Hono отвечает за выполнение и хранение данных среды выполнения. Клиенты Electron и браузерные клиенты используют общий интерфейс React, а все клиенты взаимодействуют с сервером через HTTP и события, отправляемые сервером. Контрольные точки LangGraph сохраняют состояние обсуждений и паузы для одобрения; отдельные базы SQLite хранят общую для разных обсуждений память и метаданные приложения. Переподключившиеся клиенты могут воспроизводить буферизованные события.
Закрытие обсуждения или отключение клиента не останавливает работающий сервер. Однако выход из настольного приложения останавливает встроенный сервер и завершает активные запуски. Контрольные точки сохраняют обсуждение, но выполняющийся шаг может быть потерян. Для продолжения работы после выхода из настольного приложения требуется постоянно работающий бэкенд.
Навыки, инструменты и средства контроля одобрения
Pizza Bot поддерживает Amazon Bedrock, Anthropic, Google Gemini, OpenAI, OpenRouter и Ollama. Перед запуском задач настройте провайдера в разделе Settings > Providers.
Агент располагает операциями с временными файлами и изолированным интерпретатором JavaScript без доступа к сети или файловой системе хоста. Он может делегировать задачи через task, если доступны готовые исполнители навыков. Слой файловой системы отдельно поддерживает явные разрешения для папок и постоянную память.
Серверы MCP предоставляют внешние инструменты. Каждый файл SKILL.md определяет инструкции исполнителя и область доступа к инструментам. Навык становится доступным для вызова только при наличии объявленных зависимостей. Поддерживаются существующие конфигурации .mcp.json, совместимые с Claude Code, а плагины объединяют навыки с серверами MCP.
Авторы навыков настраивают interruptOn и allowedDecisions, чтобы требовать одобрения для определённых инструментов. В зависимости от этой политики пользователи могут одобрить действие, изменить предлагаемые аргументы или отклонить действие. Эти элементы управления необходимо настроить для соответствующих инструментов.
Интерактивное объяснение
Запустите приведённый ниже иллюстративный рабочий процесс пользовательского навыка. Сравните постоянно работающий бэкенд со встроенным настольным сервером, закройте клиент во время выполнения и одобрите, измените или отклоните предлагаемое действие. Время анимации приведено в иллюстративных целях; внешние действия не выполняются.
Запустите подготовку исследовательской справки, а затем закройте настольное приложение, пока она выполняется.
Подготовка исследовательской справки
Пользовательский навык блокирует свой инструмент публикации с помощью interruptOn.
publish_brief({title: "Research brief"})
Предлагаемый заголовок
Настольное приложение закрыто
Откройте настольное приложение, чтобы просмотреть его входящие.
Основные выводы
- Входящие для фоновых агентов: Pizza Bot организует историю задач в разделе «Все», завершённую работу — в разделе «Непрочитанные», а запросы на одобрение или ввод данных — в разделе «Действие». Задачи поддерживают ручные триггеры, cron и вебхуки.
- Постоянное выполнение с DeepAgents и LangGraph: Контрольные точки сохраняют состояние обсуждений и паузы для одобрения. Задачи продолжаются после отключения клиента, пока бэкенд остаётся запущенным.
- Несколько провайдеров моделей: Pizza Bot поддерживает Amazon Bedrock, Anthropic, Google Gemini, OpenAI, OpenRouter и локальные модели через Ollama. Настроенные провайдеры и инструменты могут получать данные задач.
- Навыки с ограниченной областью доступа и настраиваемое одобрение: Серверы MCP предоставляют инструменты, а файлы
SKILL.mdопределяют специализированных исполнителей. Политики для отдельных инструментов позволяют пользователям одобрять, изменять или отклонять предлагаемые действия. - Самостоятельное размещение и возможность развёртывания: Доступны код по лицензии Apache 2.0, настольные сборки и варианты с автономным бэкендом. Каждый каталог данных SQLite поддерживает 1 процесс бэкенда.
Ознакомьтесь с техническими подробностями и репозиторием на GitHub. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с более чем 150 тыс. участников и подписаться на нашу рассылку. Постойте! Вы есть в Telegram? Теперь вы также можете присоединиться к нам в Telegram.
Хотите сотрудничать с нами в продвижении своего репозитория на GitHub, страницы на Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.