Loading...
    • Руководство разработчика
    • Справочник API
    • MCP
    • Ресурсы
    • Примечания к выпуску
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Модели и цены
    Обзор моделейВыбор моделиЧто нового в Claude 4.5Миграция на Claude 4.5Устаревшие моделиЦены
    Разработка с Claude
    Обзор функцийИспользование Messages APIКонтекстные окнаЛучшие практики промптирования
    Возможности
    Кэширование промптовРедактирование контекстаРасширенное мышлениеУсилиеПотоковая передача сообщенийПакетная обработкаЦитированияМногоязычная поддержкаПодсчет токеновEmbeddingsЗрениеПоддержка PDFFiles APIРезультаты поискаСтруктурированные выходные данные
    Инструменты
    ОбзорКак реализовать использование инструментовПотоковая передача инструментов с детализациейИнструмент BashИнструмент выполнения кодаПрограммное вызывание инструментовИнструмент управления компьютеромИнструмент текстового редактораИнструмент веб-выборкиИнструмент веб-поискаИнструмент памятиИнструмент поиска инструментов
    Agent Skills
    ОбзорБыстрый стартЛучшие практикиИспользование Skills с API
    Agent SDK
    ОбзорБыстрый стартTypeScript SDKTypeScript V2 (preview)Python SDKРуководство по миграции
    MCP в API
    MCP коннекторУдаленные MCP серверы
    Claude на сторонних платформах
    Amazon BedrockMicrosoft FoundryVertex AI
    Инженерия промптов
    ОбзорГенератор промптовИспользование шаблонов промптовУлучшитель промптовБудьте ясны и прямолинейныИспользуйте примеры (многошаговое промптирование)Дайте Claude подумать (CoT)Используйте XML-тегиДайте Claude роль (системные промпты)Предзаполните ответ ClaudeЦепочка сложных промптовСоветы по длинному контекстуСоветы по расширенному мышлению
    Тестирование и оценка
    Определение критериев успехаРазработка тестовых случаевИспользование инструмента оценкиСнижение задержки
    Усиление защиты
    Снижение галлюцинацийПовышение согласованности выходных данныхСмягчение взломовПотоковые отказыСнижение утечки промптовДержите Claude в образе
    Администрирование и мониторинг
    Обзор Admin APIAPI использования и затратClaude Code Analytics API
    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
    Инструменты

    Потоковая передача инструментов с детальной детализацией

    Использование инструментов теперь поддерживает потоковую передачу параметров с детальной детализацией, что позволяет разработчикам передавать параметры инструментов без буферизации и валидации JSON, снижая задержку при получении больших параметров.

    Использование инструментов теперь поддерживает потоковую передачу параметров с детальной детализацией streaming. Это позволяет разработчикам передавать параметры инструментов без буферизации / валидации JSON, снижая задержку при получении больших параметров.

    Потоковая передача инструментов с детальной детализацией доступна через Claude API, AWS Bedrock, Google Cloud's Vertex AI и Microsoft Foundry.

    Потоковая передача инструментов с детальной детализацией — это бета-функция. Пожалуйста, убедитесь, что вы оценили ваши ответы перед использованием в производстве.

    Пожалуйста, используйте эту форму для предоставления отзывов о качестве ответов модели, самом API или качестве документации — мы с нетерпением ждем ваших отзывов!

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

    Как использовать потоковую передачу инструментов с детальной детализацией

    Чтобы использовать эту бета-функцию, просто добавьте бета-заголовок fine-grained-tool-streaming-2025-05-14 к запросу использования инструмента и включите потоковую передачу.

    Вот пример использования потоковой передачи инструментов с детальной детализацией с помощью API:

    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: fine-grained-tool-streaming-2025-05-14" \
      -d '{
        "model": "claude-sonnet-4-5",
        "max_tokens": 65536,
        "tools": [
          {
            "name": "make_file",
            "description": "Write text to a file",
            "input_schema": {
              "type": "object",
              "properties": {
                "filename": {
                  "type": "string",
                  "description": "The filename to write text to"
                },
                "lines_of_text": {
                  "type": "array",
                  "description": "An array of lines of text to write to the file"
                }
              },
              "required": ["filename", "lines_of_text"]
            }
          }
        ],
        "messages": [
          {
            "role": "user",
            "content": "Can you write a long poem and make a file called poem.txt?"
          }
        ],
        "stream": true
      }' | jq '.usage'

    В этом примере потоковая передача инструментов с детальной детализацией позволяет Claude передавать строки длинного стихотворения в вызов инструмента make_file без буферизации для проверки того, является ли параметр lines_of_text действительным JSON. Это означает, что вы можете видеть поток параметров по мере его поступления, без необходимости ждать буферизации и валидации всего параметра.

    При потоковой передаче инструментов с детальной детализацией фрагменты использования инструментов начинают передаваться быстрее и часто бывают длиннее и содержат меньше разрывов слов. Это связано с различиями в поведении разбиения на фрагменты.

    Пример:

    Без потоковой передачи с детальной детализацией (задержка 15 сек):

    Chunk 1: '{"'
    Chunk 2: 'query": "Ty'
    Chunk 3: 'peScri'
    Chunk 4: 'pt 5.0 5.1 '
    Chunk 5: '5.2 5'
    Chunk 6: '.3'
    Chunk 8: ' new f'
    Chunk 9: 'eatur'
    ...

    С потоковой передачей с детальной детализацией (задержка 3 сек):

    Chunk 1: '{"query": "TypeScript 5.0 5.1 5.2 5.3'
    Chunk 2: ' new features comparison'

    Поскольку потоковая передача с детальной детализацией отправляет параметры без буферизации или валидации JSON, нет гарантии, что результирующий поток завершится действительной строкой JSON. В частности, если достигнута причина остановки max_tokens, поток может завершиться в середине параметра и может быть неполным. Обычно вам придется написать специальную поддержку для обработки случаев, когда достигнут max_tokens.

    Обработка недействительного JSON в ответах инструментов

    При использовании потоковой передачи инструментов с детальной детализацией вы можете получить недействительный или неполный JSON от модели. Если вам нужно передать этот недействительный JSON обратно модели в блоке ответа об ошибке, вы можете обернуть его в объект JSON, чтобы обеспечить правильную обработку (с разумным ключом). Например:

    {
      "INVALID_JSON": "<your invalid json string>"
    }

    Этот подход помогает модели понять, что содержимое является недействительным JSON, при этом сохраняя исходные неправильно сформированные данные для целей отладки.

    При обертывании недействительного JSON убедитесь, что вы правильно экранировали все кавычки или специальные символы в строке недействительного JSON, чтобы сохранить действительную структуру JSON в объекте-оболочке.

    • Как использовать потоковую передачу инструментов с детальной детализацией
    • Обработка недействительного JSON в ответах инструментов