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

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

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

О чём урок

Добро пожаловать в урок, посвященный завершающему этапу взаимодействия с инструментами Claude! В предыдущих разделах мы узнали, как Claude может определять необходимость использования внешних функций для выполнения задач, выходящих за рамки его собственных знаний. Теперь мы рассмотрим критически важный следующий шаг: как ваша система должна выполнить запрошенную функцию и, что не менее важно, как правильно отправить результаты обратно Claude. Этот процесс является ключевым для успешного использования инструментов, поскольку он предоставляет Claude необходимую информацию для формирования окончательного, точного и полезного ответа пользователю. Без этого этапа Claude не сможет завершить свою задачу, оставив пользователя без решения. Когда Claude определяет, что ему необходимо использовать инструмент, он немедленно сообщает об этом в своем ответе. Вместо обычного текстового сообщения вы получите специальный блок, который мы называем tool_use_block. Этот блок содержит всю информацию, необходимую для вызова вашей функции. Ваша задача начинается с извлечения этой информации. Типичный ответ Claude, требующий использования инструмента, будет содержать структуру, из которой вы можете получить доступ к tool_use_block. Например, если это первый блок в ответе, вы можете получить к нему доступ следующим образом: Внутри этого блока находится объект input, который содержит параметры, которые Claude хочет передать вашей функции. Вы можете извлечь их так: После того как вы получили input_params, которые обычно представляют собой словарь, вы можете вызвать свою функцию. Если ваша функция ожидает именованные аргументы, вы можете использовать оператор двойной звездочки (**) для распаковки словаря в эти аргументы. Например, если у вас есть функция get_current_datetime, которая не принимает аргументов или принимает их опционально: Важно помнить, что функция get_current_datetime (или любая другая функция, которую вызывает Claude) должна быть реализована вами в вашей системе. Claude лишь запрашивает ее выполнение, но не выполняет ее сам. После успешного выполнения вашей функции и получения результата, следующим шагом является отправка этого результата обратно Claude.

План урока

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

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

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

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