
О чём урок
В процессе разработки приложений с использованием 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 собирается сделать или уже делает. Например: "Я могу помочь вам узнать текущее время. Позвольте мне найти эту информацию для вас." Этот текст предназначен для пользователя и делает взаимодействие более естественным. Инструкции для вашего кода: Это структурированная информация о том, какой инструмент необходимо вызвать и какие параметры использовать.
План урока
- Обработка блоков сообщений при работе с инструментами Claude
- Выполнение API-запросов с поддержкой инструментов
- Понимание многоблочных сообщений
- Структура блока ToolUse
- Управление историей диалога с многоблочными сообщениями
- Полный цикл использования инструментов
- Адаптация вспомогательных функций
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.