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

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

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

О чём урок

В процессе работы с искусственным интеллектом Claude, особенно при использовании его функциональности для взаимодействия с внешними инструментами (tool functionality), вы столкнетесь с новой структурой ответов. В отличие от простых текстовых сообщений, которые вы, возможно, видели ранее, Claude теперь может возвращать многоблочные сообщения (multi-block messages), содержащие как обычный текст, так и информацию об использовании инструментов. Эта эволюция значительно расширяет возможности Claude, позволяя ему не только генерировать текст, но и динамически взаимодействовать с внешними системами, базами данных или API для выполнения сложных задач. Понимание того, как обрабатывать эти новые типы сообщений, является ключевым для создания мощных и адаптивных приложений на базе Claude. Чтобы дать Claude возможность использовать внешние инструменты, вам необходимо включить специальный параметр tools в ваш вызов API. Этот параметр принимает список JSON-схем, которые подробно описывают функции, доступные для вызова Claude. Каждая схема определяет имя функции, ее описание и параметры, которые она принимает. Вот как может выглядеть структура запроса, включающего параметр tools: В этом примере get_current_datetime_schema — это JSON-схема, которая описывает функцию для получения текущей даты и времени. Когда вы отправляете такой запрос, Claude анализирует его и, если сочтет нужным, решит использовать описанный инструмент для выполнения задачи пользователя. Когда Claude решает использовать инструмент, он возвращает сообщение от ассистента (assistant message) с несколькими блоками в списке content. Это существенное отличие от простых текстовых ответов, с которыми вы работали ранее. Многоблочное сообщение обычно содержит: Человекочитаемый текст, объясняющий, что Claude собирается делать или уже сделал (например, "Я могу помочь вам узнать текущее время. Позвольте мне найти эту информацию для вас"). Инструкции для вашего кода о том, какой инструмент вызвать и какие параметры использовать. Эта информация содержится в специальном блоке типа tool_use. Блок tool_use включает в себя: Уникальный ID для отслеживания вызова инструмента. name — имя функции, которую нужно вызвать (например, "get_current_datetime").

План урока

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

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

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