Пишем цикл диалога с инструментами

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

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

О чём урок

В мире больших языковых моделей (LLM) таких как Claude, способность не просто генерировать текст, но и взаимодействовать с внешним миром, используя инструменты, открывает совершенно новые горизонты. Однако, зачастую, для выполнения сложной задачи Claude требуется не один, а несколько шагов взаимодействия с инструментами. Именно здесь на помощь приходят многошаговые диалоги с инструментами (multi-turn conversations with tools). Этот подход позволяет Claude последовательно вызывать различные функции, собирать информацию и обрабатывать ее, пока не будет готов окончательный, всеобъемлющий ответ для пользователя. Представьте себе Claude как умного ассистента, который может не только говорить, но и пользоваться компьютером. Если ему нужно узнать текущую погоду, он "открывает" приложение погоды (вызывает инструмент). Если ему нужно забронировать билет на самолет, он "открывает" сайт авиакомпании, вводит данные, проверяет наличие, а затем, возможно, "открывает" платежную систему. Каждый из этих шагов может потребовать отдельного взаимодействия с инструментом. Многошаговые диалоги позволяют Claude выполнять такие сложные цепочки действий, делая его гораздо более мощным и полезным. Ключевым моментом в управлении многошаговым диалогом является понимание того, когда Claude хочет использовать инструмент, а когда он готов дать окончательный ответ. Это определяется по полю stop_reason в ответе Claude. Когда Claude решает, что ему необходимо вызвать инструмент, это поле устанавливается в значение "tool_use". Это дает нам четкий сигнал о необходимости продолжить цикл диалога и выполнить запрошенные действия. Если же значение stop_reason отличается от "tool_use" (например, "end_turn" или "max_tokens"), это означает, что Claude завершил свою мысль, не требуя дополнительных инструментов, и его ответ готов для пользователя. Таким образом, проверка этого поля становится основным условием для выхода из цикла взаимодействия. Основная функция, управляющая диалогом с использованием инструментов, следует простому, но мощному шаблону. Она представляет собой бесконечный цикл, который продолжается до тех пор, пока Claude не предоставит окончательный ответ без запроса каких-либо инструментов.

План урока

  1. Реализация многошаговых диалогов с инструментами в Claude
  2. Обнаружение запросов на использование инструментов
  3. Построение цикла диалога
  4. Обработка множественных вызовов инструментов
  5. Формирование блоков результатов инструментов
  6. Масштабируемая маршрутизация инструментов
  7. Полный рабочий процесс: шаг за шагом

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

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