Отличия от размещённого сервиса
Узнайте, какие функции есть только у самостоятельно размещаемого Claude Managed Agents, каких функций размещённого сервиса у него нет, какие работают иначе, а каким сначала нужна настройка сервера.
Самостоятельно размещаемый сервер Claude Managed Agents имеет тот же API, что и размещённый сервис Managed Agents от Anthropic, за исключением различий, описанных на этой странице. В таблицах указано, что делать в каждом случае. Ознакомьтесь с ними, прежде чем переносить приложение на ваш сервер. Из размещённого сервиса ничего не копируется, включая историю сеансов. Создайте своих агентов, навыки, учётные данные хранилища и хранилища памяти заново на вашем сервере.
Функции, которые есть только у вашего сервера
| Функция | Что она делает | Как её настроить |
|---|---|---|
| Выбор поставщика инференса | Сервер может отправлять вызовы модели облачному поставщику или в ваш собственный шлюз моделей вместо Claude API. | Поставщик инференса |
| Единый вход | Пользователи вызывают сервер с токеном от вашего поставщика удостоверений OpenID Connect. Сервер назначает каждому вызывающему роль на основе групп в токене. Ключ API сервера продолжает работать. | Единый вход |
| Ваш собственный менеджер секретов | Сервер может хранить секрет для каждых новых учётных данных хранилища в вашем менеджере секретов вместо собственной базы данных. | Менеджер секретов |
| Подтверждение личности агента | Сервер может подписывать кратковременный токен и отправлять его вместе с вызовами агента к серверу MCP. Сервер MCP или шлюз проверяет токен по открытым ключам, которые вы публикуете. | Подтверждение личности агента |
Недоступные функции
| Функция | Что происходит | Что делать вместо этого |
|---|---|---|
| Облачные окружения | Существуют только окружения self_hosted. Запрос облачного окружения возвращает ошибку 400. | Разверните самостоятельно размещаемые «workers» (воркеры) для каждого окружения. |
| Остальная часть Claude API, например Messages API и Models API | Сервер её не обслуживает. Вызовы SDK к /v1/messages и /v1/models возвращают ошибку 404. | Отправляйте такие запросы в Claude API или вашему поставщику из клиента, который не направлен на ваш сервер. |
| Ресурсы сеанса типа «файл» и Files API | Сервер отклоняет ресурсы file, а /v1/files не существует. Ресурсы memory_store работают. | Поместите файлы в рабочий каталог воркера. См. Передача данных в сеанс и из него. Чтобы показать модели изображение или PDF, отправьте его как base64 в сообщении. |
Учётные данные хранилища mcp_oauth | Сервер отклоняет их при создании, поскольку у него нет потока OAuth для обновления токена. | Сохраните токен как учётные данные static_bearer. Обновите учётные данные новым токеном до истечения срока действия старого. |
Готовые навыки docx, pdf, pptx и xlsx | Сервер отклоняет агента, который их объявляет. Существуют только загруженные вами навыки. | Скачайте их исходный код из репозитория навыков и загрузите их как пользовательские навыки. |
| Развёртывания по расписанию и сны | У сервера нет маршрутов для них. | Запускайте сеансы из собственного планировщика, например задания cron. Для снов замены нет. |
| Вебхуки | Сервер не отправляет вебхуки, поэтому воркер, который запускается по вебхуку, никогда не запустится. | Отслеживайте сеанс через его «event stream» (поток событий) или получайте список его событий. Держите воркеры запущенными, чтобы они могли выполнять опрос. |
Функции, которые работают иначе
| Функция | Что отличается | Что делать |
|---|---|---|
| Claude Console | Claude Console на platform.claude.com не показывает, что находится на вашем сервере. | Используйте консоль на вашем сервере. |
| Вызовы инструментов | Ходы модели в сеансе выполняются, даже когда ни один воркер не опрашивает окружение сеанса. Затем первый вызов инструмента ожидает без ошибки, пока его не выполнит воркер. | Если сеанс остановился на вызове инструмента, убедитесь, что какой-либо воркер опрашивает окружение этого сеанса. |
| Хранилища памяти | API реализован полностью. Каждое подключённое хранилище копирует в песочницу и записывает изменения обратно воркер, а не сервер. См. Хранилища памяти в самостоятельно размещаемых песочницах. | Запускайте воркеры, используя последнюю версию ant, с доступным для записи каталогом /mnt/memory. |
| Загрузки пользовательских навыков | Сервер не распаковывает zip-архив. Загрузка архива возвращает ошибку 400 с текстом SKILL.md not found in uploaded files. | ant apply и вспомогательная функция files_from_dir из Python SDK работают без изменений. В остальных случаях загружайте файлы навыка как отдельные части и начинайте имя файла каждой части с папки навыка, например my-skill/SKILL.md. |
| Мультиагентная оркестрация | Агент может делегировать задачи только перечисленным вами субагентам. Динамические рабочие процессы, советник и субагенты, которых агент определяет сам, недоступны. Сервер принимает блок multiagent, только если его type равен coordinator. В примерах на странице «Мультиагентная оркестрация» для type задано значение multiagent_20261001, которое возвращает ошибку 400. Блок, в котором есть настройка advisor, тоже возвращает ошибку 400. | Задайте для multiagent значение {"type": "coordinator", "agents": [...]}. Перечислите в agents от 1 до 20 агентов. Каждая запись имеет одну из форм предопределённого агента. |
| Ресурсы сеанса репозиторий GitHub | Сервер отклоняет ресурсы github_repository, пока вы не перечислите их хосты Git в его настройках. Сервер не обнаруживает навыки в каталоге .claude/skills репозитория, поэтому прикрепляйте навыки к агенту. | См. Репозиториям Git нужна запись в списке разрешённых. |
| Серверы MCP | Сервер подключается только к хостам MCP, которые вы перечислили в его настройках. | См. Серверам MCP нужна запись в списке разрешённых. |
| Веб-инструменты | Инструменты web_search и web_fetch отключены, пока вы не включите их в настройках сервера. | См. Веб-инструментам нужна настройка сервера. |
Учётные данные хранилища environment_variable | Сервер отклоняет их, пока вы не включите шлюз исходящего трафика — прокси между вашими песочницами и интернетом. | См. Учётные данные переменных окружения. Без шлюза предоставьте своей песочнице нужные ей учётные данные CLI и API с помощью собственных инструментов. |
| Результаты пользовательских инструментов | Сервер отправляет модели весь текст результата пользовательского инструмента. Если результат слишком велик для «context window» (контекстного окна) модели, сервер всё равно отвечает кодом 200, после чего сеанс завершается событием session.error. | Сокращайте длинные результаты в своём клиенте перед отправкой. |
| Результаты инструментов MCP | Сервер обрезает результат, размер которого превышает значение его настройки mcp.max_result_bytes (по умолчанию 100 KiB). Он сообщает модели, что результат был обрезан, а остальная часть теряется. Размещённый сервис тоже обрезает длинные результаты, но для сеанса в облачной песочнице может сохранить полный результат в файл. | Чтобы изменить ограничение, задайте mcp.max_result_bytes в файле настроек. |
| Изображения и документы, отправленные по URL | Сервер принимает блок image или document с источником url, но модель его никогда не видит, и ошибки при этом нет. То же происходит с блоком image с источником file. | Отправляйте данные как base64 или, в случае документа, как text. |
Статус сеанса rescheduling | Сервер повторяет вызов модели, завершившийся ошибкой по временной причине, и сообщает о каждой попытке в потоке событий, как и размещённый сервис. Между попытками статус сеанса остаётся running, поэтому фильтру statuses[]=rescheduling не соответствует ни один сеанс. | Узнавайте о повторных попытках из потока событий. |
| Метаданные сеанса при использовании шлюза моделей | Если в настройке сервера inference.credentials.assertion.forward_metadata перечислены ключи метаданных сеанса, обновление, которое добавляет, удаляет или изменяет один из них, возвращает ошибку 400. | Задайте эти ключи при создании сеанса. Описание этой настройки см. в разделе Краткосрочные токены шлюза. |
Функции, которым нужна настройка сервера
Каждая из этих функций отключена или отклоняет все хосты, пока вы не измените файл настроек сервера.
Серверам MCP нужна запись в списке разрешённых
Сервер подключается только к серверам MCP, хосты которых вы перечислили в mcp.allowed_hostnames в его файле настроек:
mcp:
allowed_hostnames:
- mcp.example.comХосты сопоставляются точно, без подстановочных знаков и без поддоменов, а по умолчанию список пуст. Пока хост сервера MCP не внесён в список, ваш сервер отказывается сохранять агента, который его указывает.
Серверу MCP внутри вашей частной сети не нужен туннель MCP. Укажите его URL в определении агента, как описано в разделе Коннектор MCP, и добавьте его хост в «allowlist» (список разрешённых). К URL применяются два правила:
- Он должен использовать
https, если только сервер MCP не находится на адресе loopback. - Если его хост — это имя, которое разрешается только в частные или зарезервированные адреса, ваш сервер по умолчанию отказывается подключаться. Выберите решение, подходящее для вашего случая:
| Ваш случай | Решение |
|---|---|
Адрес находится в 10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16, и вы управляете DNS-записями этого имени | Сохраните имя и также перечислите его в mcp.private_hostnames в файле настроек. |
| Любой другой случай | Используйте IP-адрес вместо имени — и в URL, и в списке разрешённых. Сертификат сервера MCP должен содержать этот адрес. |
Репозиториям Git нужна запись в списке разрешённых
В размещённом сервисе сеансы, использующие самостоятельно размещаемые песочницы, не могут иметь ресурсы github_repository. На вашем сервере — могут. Сервер отклоняет эти ресурсы, пока вы не перечислите их хосты Git в его файле настроек. Агенты могут отправлять изменения только в перечисленные вами ветки:
git:
allowed_hostnames:
- github.com
allowed_push_refs:
- refs/heads/agent/Обратите внимание на следующее:
- URL: Хост не обязательно должен быть
github.com, но URL должен использовать HTTPS. - Токен: Токен, который отправляет ваш клиент, никогда не попадает в песочницу, поскольку трафик Git проходит через ваш сервер, который и добавляет токен.
- Ветки: Агентам не сообщается список веток, поэтому укажите ветку в своей подсказке.
- Принудительная отправка: Сервер не отклоняет «force push» (принудительную отправку), поэтому агент может перезаписать любую перечисленную вами ветку. Чтобы запретить принудительную отправку, защитите ветку на своём хосте Git.
В разделе Доступ к GitHub показан запрос и описано, как заменить токен. Если клонирование завершается ошибкой, сеанс получает событие session.error с указанием причины. Чтобы проверить отправку, найдите ветку на своём хосте Git. Журнал сервера сообщает ok даже для отправки, которую ваш хост отклонил.
Веб-инструментам нужна настройка сервера
Инструменты web_search и web_fetch по умолчанию отключены. Чтобы включить их, добавьте следующее в файл настроек сервера:
web_tools:
enabled: trueЕсли задана только эта настройка, применяются собственные списки доменов и ограничение на содержимое каждого агента, как и в размещённом сервисе.
Чтобы ограничить инструменты для всех агентов, задайте web_tools.allowed_domains, web_tools.blocked_domains или web_tools.max_content_tokens. Каждая из этих настроек также включает инструменты. Сервер отказывается сохранять агента, который запрашивает больше, чем разрешают эти настройки. Например, он отклоняет агента, который разрешает домен за пределами web_tools.allowed_domains или задаёт большее ограничение на содержимое. Если такой агент уже существует, он не сможет запустить сеанс, пока вы его не обновите.
Пока инструменты отключены, то, что происходит с агентом, зависит от записей web_search и web_fetch в его наборе инструментов:
| В наборе инструментов есть | Что происходит |
|---|---|
| Ни одной записи ни для одного из инструментов | Агент работает без этих инструментов, и никакая ошибка об этом не сообщает. |
Запись, которая только отключает свой инструмент, например {"name": "web_fetch", "enabled": false} | То же самое. |
| Запись, которая оставляет свой инструмент включённым или задаёт для него списки доменов, ограничение на содержимое или местоположение | Сервер отказывается сохранять агента или запускать для него сеанс. |
Набор доступных веб-инструментов также зависит от вашего поставщика инференса.
Различия, зависящие от вашего поставщика инференса
Некоторые функции работают только при определённых значениях настройки сервера inference.provider. В таблице показано, что происходит при других значениях. В некоторых из этих случаев ошибка не возвращается.
Строки web_search и web_fetch применяются после того, как вы включите веб-инструменты. До этого ни один из этих инструментов не работает ни у одного поставщика.
| Функция | Работает, когда inference.provider равен | При других значениях | Что делать |
|---|---|---|---|
Инструмент web_search | anthropic, vertex, foundry | Сервер никогда не предлагает этот инструмент модели. Агенты по-прежнему сохраняются и запускаются и по-прежнему содержат этот инструмент в списке, но модель не может его вызвать. | Дайте агенту пользовательский инструмент или сервер MCP, который выполняет поиск. |
Инструмент web_fetch | anthropic, foundry | То же, что и для web_search. | Дайте агенту пользовательский инструмент или сервер MCP, который загружает страницы. |
inference_geo | anthropic | Сервер отказывается сохранять агента, который его задаёт. | Удалите inference_geo из агента. |
Быстрый режим (speed: "fast") | Зависит от поставщика и от модели агента | Агент, который его задаёт, должен пройти две проверки. При сохранении агента: В каталоге моделей сервера модель агента должна быть указана как поддерживающая быстрый режим. В противном случае сервер отказывается сохранять агента. На каждом ходе: Если поставщик не поддерживает быстрый режим для этой модели или развёртывания, ход завершается ошибкой. | Удалите speed из агента. См. Модели, поддерживающие быстрый режим. |
При anthropic сервер по умолчанию запрашивает резервный вариант на стороне сервера Claude API. Тогда, когда классификатор безопасности отклоняет запрос, на него может ответить другая модель Claude, возможно, менее мощная. Модель выбирает Anthropic, и ни одно событие не сообщает о смене, но при чтении сеанса отображается ID этой модели. Чтобы отключить резервный вариант, задайте inference.model_fallback: false. У других поставщиков такой запрос завершает ход с отказом.
В документации вашего поставщика указано, какие модели и регионы поддерживают каждую функцию. Пользовательские инструменты, инструменты MCP и инструменты, которые выполняет ваш воркер, одинаковы у всех поставщиков.
Модели, поддерживающие быстрый режим
По умолчанию в каталоге моделей сервера четыре модели указаны как поддерживающие быстрый режим: Claude Opus 5.5, Claude Opus 5, Claude Opus 4.8 и Claude Opus 4.6. Для Claude Opus 4.6 Claude API принимает запрос, но выполняет его со стандартной скоростью. Следующие значения inference.provider являются исключениями:
foundry: В каталоге указана только Claude Opus 5.5.gatewayсformat: vertex-raw-predict: В каталоге не указано ни одной модели.vertex: В каталоге не указано ни одной модели, и никакая настройка этого не меняет.
Чтобы изменить перечень моделей в каталоге, см. Записи моделей.
Если вы уже используете самостоятельно размещаемые песочницы
Программное обеспечение воркера то же самое, поэтому ваши воркеры могут подключаться к вашему серверу. В разделе Запуск собственных воркеров перечислены три значения для процесса, выполняющего опрос, и что нужно изменить в первую очередь. Воркер, который запускается по вебхуку, здесь не работает.
Эта страница была полезной?