Loading...
    • Разработка
    • Администрирование
    • Модели и цены
    • Клиентские SDK
    • Справочник API
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Разработка с Claude
    Обзор возможностейИспользование Messages APIОбработка причин остановки
    Возможности модели
    Расширенное мышлениеАдаптивное мышлениеУсилиеБыстрый режим (бета: предварительный просмотр)Структурированные выходные данныеЦитированияПотоковые сообщенияПакетная обработкаРезультаты поискаПотоковые отказыМногоязычная поддержкаЭмбеддинги
    Инструменты
    ОбзорКак работает использование инструментовИнструмент веб-поискаИнструмент веб-загрузкиИнструмент выполнения кодаИнструмент памятиИнструмент BashИнструмент управления компьютеромИнструмент текстового редактора
    Инфраструктура инструментов
    Поиск инструментовПрограммный вызов инструментовДетальная потоковая передача инструментов
    Управление контекстом
    Контекстные окнаСжатиеРедактирование контекстаКэширование промптовПодсчёт токенов
    Работа с файлами
    Files APIПоддержка PDFИзображения и зрение
    Навыки
    ОбзорБыстрый стартЛучшие практикиНавыки для предприятийНавыки в API
    MCP
    Удалённые MCP-серверыMCP-коннектор
    Инжиниринг промптов
    ОбзорЛучшие практики промптингаИнструменты промптинга в Console
    Тестирование и оценка
    Определение успеха и создание оценокИспользование инструмента оценки в ConsoleСнижение задержки
    Укрепление ограничений
    Снижение галлюцинацийПовышение согласованности выводаЗащита от джейлбрейковСнижение утечки промптов
    Ресурсы
    Глоссарий
    Примечания к выпуску
    Claude Platform
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Определение агента

    Политики разрешений

    Управление выполнением инструментов агента и MCP.

    Was this page helpful?

    • Типы политик разрешений
    • Установка политики для набора инструментов
    • Разрешения набора инструментов агента
    • Разрешения набора инструментов MCP
    • Переопределение политики для отдельного инструмента
    • Ответ на запросы подтверждения
    • Пользовательские инструменты

    Политики разрешений определяют, выполняются ли инструменты на стороне сервера (встроенный набор инструментов агента и набор инструментов MCP) автоматически или ожидают вашего подтверждения. Пользовательские инструменты выполняются вашим приложением и контролируются вами, поэтому на них политики разрешений не распространяются.

    Все запросы к Managed Agents API требуют бета-заголовка managed-agents-2026-04-01. SDK устанавливает бета-заголовок автоматически.

    Типы политик разрешений

    ПолитикаПоведение
    always_allowИнструмент выполняется автоматически без подтверждения.
    always_askСессия генерирует событие session.status_idle и ожидает события user.tool_confirmation перед выполнением.

    Установка политики для набора инструментов

    Разрешения набора инструментов агента

    При создании агента вы можете опционально применить политику ко всем инструментам в agent_toolset_20260401 с помощью default_config.permission_policy:

    default_config — необязательный параметр. Если вы его не укажете, набор инструментов агента будет включён с политикой разрешений по умолчанию — always_allow.

    Разрешения набора инструментов MCP

    По умолчанию наборы инструментов MCP используют политику always_ask. Это гарантирует, что новые инструменты, добавленные на MCP-сервер, не будут выполняться в вашем приложении без подтверждения. Чтобы автоматически одобрять инструменты с доверенного MCP-сервера, установите permission_policy в записи mcp_toolset.

    Значение mcp_server_name должно совпадать с name, указанным в массиве mcp_servers.

    В этом примере подключается MCP-сервер GitHub и его инструментам разрешается выполняться без подтверждения:

    Переопределение политики для отдельного инструмента

    Используйте массив configs для переопределения политики по умолчанию для отдельных инструментов. В этом примере весь набор инструментов агента разрешён по умолчанию, но перед выполнением любой bash-команды требуется подтверждение:

    Ответ на запросы подтверждения

    Когда агент вызывает инструмент с политикой always_ask:

    1. Сессия генерирует событие agent.tool_use или agent.mcp_tool_use.
    2. Сессия приостанавливается с событием session.status_idle, содержащим stop_reason: requires_action. Идентификаторы блокирующих событий находятся в массиве stop_reason.requires_action.event_ids.
    3. Отправьте событие user.tool_confirmation для каждого из них, передав идентификатор события в параметре tool_use_id. Установите result в значение "allow" или "deny". Используйте deny_message для объяснения отказа.
    4. После разрешения всех блокирующих событий сессия переходит обратно в состояние running.

    Подробнее об обработке событий читайте в руководстве по потоку событий сессии.

    Пользовательские инструменты

    Политики разрешений не применяются к пользовательским инструментам. Когда агент вызывает пользовательский инструмент, ваше приложение получает событие agent.custom_tool_use и несёт ответственность за принятие решения о его выполнении перед отправкой обратно user.custom_tool_result. Полный процесс описан в разделе Поток событий сессии.

    agent=$(curl -fsSL https://api.anthropic.com/v1/agents \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      -d '{
        "name": "Coding Assistant",
        "model": "claude-sonnet-4-6",
        "tools": [
          {
            "type": "agent_toolset_20260401",
            "default_config": {
              "permission_policy": {"type": "always_ask"}
            }
          }
        ]
      }')
    agent=$(curl -fsSL https://api.anthropic.com/v1/agents \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      -d '{
        "name": "Dev Assistant",
        "model": "claude-sonnet-4-6",
        "mcp_servers": [
          {"type": "url", "name": "github", "url": "https://mcp.example.com/github"}
        ],
        "tools": [
          {"type": "agent_toolset_20260401"},
          {
            "type": "mcp_toolset",
            "mcp_server_name": "github",
            "default_config": {
              "permission_policy": {"type": "always_allow"}
            }
          }
        ]
      }')
    tools='[
      {
        "type": "agent_toolset_20260401",
        "default_config": {
          "permission_policy": {"type": "always_allow"}
        },
        "configs": [
          {
            "name": "bash",
            "permission_policy": {"type": "always_ask"}
          }
        ]
      }
    ]'
    # Разрешить выполнение инструмента
    curl -fsSL "https://api.anthropic.com/v1/sessions/$SESSION_ID/events" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      -d '{
        "events": [
          {
            "type": "user.tool_confirmation",
            "tool_use_id": "'$AGENT_TOOL_USE_EVENT_ID'",
            "result": "allow"
          }
        ]
      }'
    
    # Или отклонить с объяснением
    curl -fsSL "https://api.anthropic.com/v1/sessions/$SESSION_ID/events" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      -d '{
        "events": [
          {
            "type": "user.tool_confirmation",
            "tool_use_id": "'$MCP_TOOL_USE_EVENT_ID'",
            "result": "deny",
            "deny_message": "Don'\''t create issues in the production project. Use the staging project."
          }
        ]
      }'