Claude Agent SDK отличается от традиционных stateless API LLM тем, что поддерживает состояние разговора и выполняет команды в постоянной среде. Это руководство охватывает архитектуру, соображения по размещению и лучшие практики для развертывания агентов на основе SDK в производстве.
Для усиления безопасности сверх базовой изоляции — включая сетевые элементы управления, управление учетными данными и варианты изоляции — см. Безопасное развертывание.
Для безопасности и изоляции SDK должен работать внутри изолированной среды контейнера. Это обеспечивает изоляцию процессов, ограничение ресурсов, управление сетью и эфемерные файловые системы.
SDK также поддерживает программную конфигурацию песочницы для выполнения команд.
Каждый экземпляр SDK требует:
Зависимости среды выполнения
npm install -g @anthropic-ai/claude-codeВыделение ресурсов
Сетевой доступ
api.anthropic.comВ отличие от stateless вызовов API, Claude Agent SDK работает как долгоживущий процесс, который:
Несколько поставщиков специализируются на безопасных средах контейнеров для выполнения кода AI:
Для самостоятельно размещаемых вариантов (Docker, gVisor, Firecracker) и подробной конфигурации изоляции см. Технологии изоляции.
Создайте новый контейнер для каждой задачи пользователя, а затем уничтожьте его по завершении.
Лучше всего для одноразовых задач, пользователь может по-прежнему взаимодействовать с AI во время выполнения задачи, но после завершения контейнер уничтожается.
Примеры:
Поддерживайте постоянные экземпляры контейнеров для долгоживущих задач. Часто запускаются несколько процессов Claude Agent внутри контейнера в зависимости от спроса.
Лучше всего для проактивных агентов, которые действуют без ввода пользователя, агентов, которые обслуживают контент, или агентов, которые обрабатывают большое количество сообщений.
Примеры:
Эфемерные контейнеры, которые заполняются историей и состоянием, возможно, из базы данных или из функций возобновления сеанса SDK.
Лучше всего для контейнеров с прерывистым взаимодействием пользователя, которое запускает работу и завершается при завершении работы, но может быть продолжено.
Примеры:
Запустите несколько процессов Claude Agent SDK в одном глобальном контейнере.
Лучше всего для агентов, которые должны тесно сотрудничать. Это, вероятно, наименее популярный шаблон, потому что вам придется предотвращать перезапись агентами друг друга.
Примеры:
При размещении в контейнерах открывайте порты для связи с экземплярами SDK. Ваше приложение может открывать конечные точки HTTP/WebSocket для внешних клиентов, пока SDK работает внутри контейнера.
Мы обнаружили, что доминирующей стоимостью обслуживания агентов являются токены, контейнеры варьируются в зависимости от того, что вы подготавливаете, но минимальная стоимость составляет примерно 5 центов в час работы.
Это, вероятно, зависит от поставщика, разные поставщики песочниц позволят вам установить различные критерии для тайм-аутов неактивности, после которых песочница может выключиться. Вы захотите настроить этот тайм-аут на основе того, как часто вы думаете, что может быть ответ пользователя.
Claude Code CLI версионируется с помощью semver, поэтому любые критические изменения будут версионированы.
Поскольку контейнеры — это просто серверы, та же инфраструктура логирования, которую вы используете для бэкенда, будет работать для контейнеров.
Сеанс агента не будет истекать, но мы рекомендуем установить свойство 'maxTurns', чтобы предотвратить зацикливание Claude.