Loading...
    • Руководство разработчика
    • Справочник API
    • MCP
    • Ресурсы
    • Примечания к выпуску
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Модели и цены
    Обзор моделейВыбор моделиЧто нового в Claude 4.5Миграция на Claude 4.5Устаревшие моделиЦены
    Разработка с Claude
    Обзор функцийИспользование Messages APIКонтекстные окнаЛучшие практики промптинга
    Возможности
    Кэширование промптовРедактирование контекстаРасширенное мышлениеУсилиеПотоковая передача сообщенийПакетная обработкаЦитированияМногоязычная поддержкаПодсчет токеновEmbeddingsЗрениеПоддержка PDFFiles APIРезультаты поискаСтруктурированные выходные данныеДополнение Google Sheets
    Инструменты
    ОбзорКак реализовать использование инструментовЭффективное использование инструментов по токенамПотоковая передача инструментов с детализациейИнструмент BashИнструмент выполнения кодаПрограммное вызывание инструментовИнструмент компьютерного управленияИнструмент текстового редактораИнструмент веб-выборкиИнструмент веб-поискаИнструмент памятиИнструмент поиска инструментов
    Навыки агента
    ОбзорБыстрый стартЛучшие практикиИспользование навыков с API
    Agent SDK
    ОбзорTypeScript SDKPython SDKРуководство по миграции
    Руководства
    Потоковый вводОбработка разрешенийУправление сеансомСтруктурированные выходные данные в SDKРазмещение Agent SDKИзменение системных промптовMCP в SDKПользовательские инструментыПодагенты в SDKКосые команды в SDKНавыки агента в SDKОтслеживание затрат и использованияСписки задачПлагины в 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
    Руководства

    Потоковый ввод

    Понимание двух режимов ввода для Claude Agent SDK и когда использовать каждый

    Обзор

    Claude Agent SDK поддерживает два различных режима ввода для взаимодействия с агентами:

    • Режим потокового ввода (По умолчанию и рекомендуется) - Постоянная интерактивная сессия
    • Ввод одного сообщения - Одноразовые запросы, которые используют состояние сессии и возобновление

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

    Режим потокового ввода (Рекомендуется)

    Режим потокового ввода является предпочтительным способом использования Claude Agent SDK. Он предоставляет полный доступ к возможностям агента и обеспечивает богатый интерактивный опыт.

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

    Как это работает

    Преимущества

    Загрузка изображений

    Прикрепляйте изображения напрямую к сообщениям для визуального анализа и понимания

    Сообщения в очереди

    Отправляйте несколько сообщений, которые обрабатываются последовательно, с возможностью прерывания

    Интеграция инструментов

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

    Поддержка хуков

    Используйте хуки жизненного цикла для настройки поведения в различных точках

    Обратная связь в реальном времени

    Видите ответы по мере их генерации, а не только финальные результаты

    Постоянство контекста

    Поддерживайте контекст разговора через несколько оборотов естественным образом

    Пример реализации

    import { query } from "@anthropic-ai/claude-agent-sdk";
    import { readFileSync } from "fs";
    
    async function* generateMessages() {
      // Первое сообщение
      yield {
        type: "user" as const,
        message: {
          role: "user" as const,
          content: "Проанализируй эту кодовую базу на предмет проблем безопасности"
        }
      };
      
      // Ждем условий или пользовательского ввода
      await new Promise(resolve => setTimeout(resolve, 2000));
      
      // Продолжение с изображением
      yield {
        type: "user" as const,
        message: {
          role: "user" as const,
          content: [
            {
              type: "text",
              text: "Просмотри эту диаграмму архитектуры"
            },
            {
              type: "image",
              source: {
                type: "base64",
                media_type: "image/png",
                data: readFileSync("diagram.png", "base64")
              }
            }
          ]
        }
      };
    }
    
    // Обработка потоковых ответов
    for await (const message of query({
      prompt: generateMessages(),
      options: {
        maxTurns: 10,
        allowedTools: ["Read", "Grep"]
      }
    })) {
      if (message.type === "result") {
        console.log(message.result);
      }
    }

    Ввод одного сообщения

    Ввод одного сообщения проще, но более ограничен.

    Когда использовать ввод одного сообщения

    Используйте ввод одного сообщения когда:

    • Вам нужен одноразовый ответ
    • Вам не нужны вложения изображений, хуки и т.д.
    • Вам нужно работать в среде без состояния, такой как lambda функция

    Ограничения

    Режим ввода одного сообщения не поддерживает:

    • Прямые вложения изображений в сообщениях
    • Динамическую постановку сообщений в очередь
    • Прерывание в реальном времени
    • Интеграцию хуков
    • Естественные многооборотные разговоры

    Пример реализации

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // Простой одноразовый запрос
    for await (const message of query({
      prompt: "Объясни поток аутентификации",
      options: {
        maxTurns: 1,
        allowedTools: ["Read", "Grep"]
      }
    })) {
      if (message.type === "result") {
        console.log(message.result);
      }
    }
    
    // Продолжение разговора с управлением сессией
    for await (const message of query({
      prompt: "Теперь объясни процесс авторизации",
      options: {
        continue: true,
        maxTurns: 1
      }
    })) {
      if (message.type === "result") {
        console.log(message.result);
      }
    }
    • Обзор
    • Режим потокового ввода (Рекомендуется)
    • Как это работает
    • Преимущества
    • Пример реализации
    • Ввод одного сообщения
    • Когда использовать ввод одного сообщения
    • Ограничения
    • Пример реализации