Перейти к основному содержанию
Claude Agent SDK отличается от традиционных stateless API LLM тем, что он поддерживает состояние диалога и выполняет команды в постоянной среде. Это руководство охватывает архитектуру, соображения по размещению и лучшие практики развертывания агентов на основе SDK в производстве.
Для усиления безопасности сверх базового sandboxing (включая сетевые элементы управления, управление учетными данными и варианты изоляции), см. Безопасное развертывание.

Требования к размещению

Sandboxing на основе контейнеров

Для безопасности и изоляции SDK должен работать внутри sandboxed контейнерной среды. Это обеспечивает изоляцию процессов, ограничение ресурсов, сетевое управление и эфемерные файловые системы. SDK также поддерживает программную конфигурацию sandbox для выполнения команд.

Системные требования

Каждый экземпляр SDK требует:
  • Зависимости среды выполнения
    • Python 3.10+ для Python SDK или Node.js 18+ для TypeScript SDK
    • Оба пакета SDK включают собственный двоичный файл Claude Code для платформы хоста, поэтому отдельная установка Claude Code или Node.js не требуется для порожденного CLI
  • Выделение ресурсов
    • Рекомендуется: 1 ГБ ОЗУ, 5 ГБ диска и 1 ЦП (варьируйте это в зависимости от вашей задачи по мере необходимости)
  • Сетевой доступ
    • Исходящий HTTPS к api.anthropic.com
    • Опционально: доступ к MCP серверам или внешним инструментам

Понимание архитектуры SDK

В отличие от stateless вызовов API, Claude Agent SDK работает как долгоживущий процесс, который:
  • Выполняет команды в постоянной среде shell
  • Управляет файловыми операциями в рабочем каталоге
  • Обрабатывает выполнение инструментов с контекстом из предыдущих взаимодействий

Варианты поставщиков Sandbox

Несколько поставщиков специализируются на безопасных контейнерных средах для выполнения кода AI: Для самостоятельно размещаемых вариантов (Docker, gVisor, Firecracker) и подробной конфигурации изоляции см. Технологии изоляции.

Шаблоны развертывания в производстве

Шаблон 1: Эфемерные сеансы

Создайте новый контейнер для каждой задачи пользователя, затем уничтожьте его по завершении. Лучше всего для одноразовых задач, пользователь может по-прежнему взаимодействовать с AI во время выполнения задачи, но после завершения контейнер уничтожается. Примеры:
  • Исследование и исправление ошибок: отладка и разрешение конкретной проблемы с соответствующим контекстом
  • Обработка счетов: извлечение и структурирование данных из квитанций/счетов для систем бухгалтерского учета
  • Задачи перевода: перевод документов или пакетов контента между языками
  • Обработка изображений/видео: применение преобразований, оптимизаций или извлечение метаданных из медиафайлов

Шаблон 2: Долгоживущие сеансы

Поддерживайте постоянные экземпляры контейнеров для долгоживущих задач. Часто внутри контейнера работают несколько процессов Claude Agent на основе спроса. Лучше всего для проактивных агентов, которые действуют без ввода пользователя, агентов, которые обслуживают контент, или агентов, которые обрабатывают большое количество сообщений. Примеры:
  • Email Agent: отслеживает входящие письма и автономно сортирует, отвечает или предпринимает действия на основе содержимого
  • Site Builder: размещает пользовательские веб-сайты для каждого пользователя с возможностью живого редактирования, обслуживаемые через порты контейнера
  • High-Frequency Chat Bots: обрабатывает непрерывные потоки сообщений с платформ, таких как Slack, где критичны быстрые времена отклика

Шаблон 3: Гибридные сеансы

Эфемерные контейнеры, которые заполняются историей и состоянием, возможно, из базы данных или из функций возобновления сеанса SDK. Лучше всего для контейнеров с прерывистым взаимодействием пользователя, которое запускает работу и завершается при завершении работы, но может быть продолжено. Примеры:
  • Personal Project Manager: помогает управлять текущими проектами с прерывистыми проверками, поддерживает контекст задач, решений и прогресса
  • Deep Research: проводит многочасовые исследовательские задачи, сохраняет результаты и возобновляет исследование при возвращении пользователя
  • Customer Support Agent: обрабатывает билеты поддержки, охватывающие несколько взаимодействий, загружает историю билетов и контекст клиента

Шаблон 4: Одиночные контейнеры

Запустите несколько процессов Claude Agent SDK в одном глобальном контейнере. Лучше всего для агентов, которые должны тесно сотрудничать. Это, вероятно, наименее популярный шаблон, потому что вам придется предотвращать перезапись агентами друг друга. Примеры:
  • Симуляции: агенты, которые взаимодействуют друг с другом в симуляциях, таких как видеоигры.

Часто задаваемые вопросы

Как мне общаться с моими sandboxes?

При размещении в контейнерах откройте порты для связи с экземплярами SDK. Ваше приложение может открывать HTTP/WebSocket конечные точки для внешних клиентов, пока SDK работает внутри контейнера.

Какова стоимость размещения контейнера?

Доминирующей стоимостью обслуживания агентов являются токены; контейнеры варьируются в зависимости от того, что вы предоставляете, но минимальная стоимость составляет примерно 5 центов в час работы.

Когда мне следует выключать неактивные контейнеры в сравнении с их сохранением в горячем состоянии?

Это, вероятно, зависит от поставщика, разные поставщики sandbox позволят вам установить разные критерии для тайм-аутов неактивности, после которых sandbox может выключиться. Вы захотите настроить этот тайм-аут на основе того, как часто вы думаете, что может быть ответ пользователя.

Как часто мне следует обновлять Claude Code CLI?

Claude Code CLI версионируется с помощью semver, поэтому любые критические изменения будут версионированы.

Как мне отслеживать здоровье контейнера и производительность агента?

Поскольку контейнеры - это просто серверы, та же инфраструктура логирования, которую вы используете для backend, будет работать для контейнеров.

Как долго может работать сеанс агента перед истечением времени ожидания?

Сеанс агента не будет истекать, но рассмотрите возможность установки свойства ‘maxTurns’ для предотвращения зависания Claude в цикле.

Следующие шаги