Разбираем блоки в ответе модели

Урок 35 из 92 курса «Разработка с Claude API»: официальный курс Anthropic Academy (Антропик) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

Кадр из видеоурока

О чём урок

В процессе разработки приложений с использованием API Claude вы, вероятно, уже привыкли к тому, что ответы модели представляют собой простой текстовый блок. Однако, когда вы начинаете использовать расширенные возможности Claude, такие как интеграция с внешними инструментами (tools), структура ответов модели значительно меняется. Вместо одного текстового блока Claude теперь может возвращать многоблочные сообщения (multi-block messages), которые содержат как обычный текст, так и информацию о вызове инструментов. Понимание и правильная обработка этих многоблочных сообщений является ключевым аспектом для создания мощных и интерактивных приложений, способных эффективно взаимодействовать с внешними системами и данными через Claude. Чтобы Claude мог использовать внешние инструменты, вам необходимо явно указать их в вашем API-запросе. Это делается с помощью параметра tools, который принимает список JSON schemas. Каждая схема описывает одну функцию, которую Claude потенциально может вызвать, включая ее имя, описание и параметры. Это позволяет модели "понять", какие действия она может предпринять и как их выполнить. Вот как может выглядеть структура такого запроса: В этом примере параметр tools содержит список, в котором находится get_current_datetime_schema. Это JSON schema, которая описывает функцию для получения текущей даты и времени. Когда Claude получает такой запрос, он анализирует сообщение пользователя и доступные инструменты. Если запрос пользователя соответствует функциональности одного из инструментов, Claude может решить его использовать. Когда Claude решает использовать инструмент, он возвращает сообщение от роли assistant, которое содержит несколько блоков в своем списке content. Это существенное отличие от простых текстовых ответов, с которыми вы, возможно, работали ранее. Многоблочное сообщение обычно включает в себя две основные части: Человекочитаемый текст: Это объяснение того, что Claude собирается сделать или уже делает. Например: "Я могу помочь вам узнать текущее время. Позвольте мне найти эту информацию для вас." Этот текст предназначен для пользователя и делает взаимодействие более естественным. Инструкции для вашего кода: Это структурированная информация о том, какой инструмент необходимо вызвать и какие параметры использовать.

План урока

  1. Обработка блоков сообщений при работе с инструментами Claude
  2. Выполнение API-запросов с поддержкой инструментов
  3. Понимание многоблочных сообщений
  4. Структура блока ToolUse
  5. Управление историей диалога с многоблочными сообщениями
  6. Полный цикл использования инструментов
  7. Адаптация вспомогательных функций

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Урок входит в темы

Полезные гиды