Пишем функции-инструменты

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

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

О чём урок

При создании интеллектуальных приложений на базе больших языковых моделей (LLM), таких как Claude, часто возникает необходимость предоставить ИИ доступ к актуальной информации в реальном времени или возможность выполнять определенные действия во внешних системах. Сама по себе LLM обладает знаниями, полученными в процессе обучения, но не может, например, узнать текущую погоду, отправить электронное письмо или забронировать билет. Именно здесь на помощь приходят функции-инструменты (Tool Functions) – мощный механизм, позволяющий Claude взаимодействовать с внешним миром. Функции-инструменты — это обычные функции на языке Python (или любом другом языке, который вы используете для своего бэкенда), которые Claude может "вызывать", когда ему требуется дополнительная информация для помощи пользователю или когда необходимо выполнить какое-либо действие. Представьте, что Claude — это мозг, а функции-инструменты — это его руки и глаза, позволяющие ему видеть мир и действовать в нем. По своей сути, функция-инструмент — это обычная функция, которую вы пишете в своем коде. Например, если пользователь спрашивает: "Какое сейчас время в Нью-Йорке?", Claude понимает, что для ответа ему нужна актуальная информация, которой у него нет. Вместо того чтобы пытаться угадать, Claude генерирует "запрос на использование инструмента" (tool use request), который описывает, какую функцию он хотел бы вызвать (например, get_current_datetime) и с какими параметрами (например, location="New York"). Ваше приложение, выступающее в роли оркестратора, перехватывает этот запрос от Claude, выполняет соответствующую Python-функцию (например, get_current_datetime("America/New_York")), получает результат (например, "15:30:25") и передает его обратно Claude. Получив эту информацию, Claude может сформулировать точный и полезный ответ для пользователя: "Сейчас в Нью-Йорке 15:30:25". Этот механизм позволяет Claude: Получать данные в реальном времени (текущая дата/время, погода, курсы валют, новости). Выполнять действия (отправлять сообщения, создавать напоминания, управлять календарем, взаимодействовать с базами данных). Доступ к специализированным знаниям, которые не были включены в его обучающие данные (например, внутренняя документация компании, специфические API).

План урока

  1. Функции-инструменты (Tool Functions): Расширяем возможности Claude
  2. Что такое функции-инструменты и как они работают?
  3. Лучшие практики при разработке функций-инструментов
  4. Создание вашей первой функции-инструмента: Получение текущей даты и времени
  5. Интеграция функций-инструментов с Claude

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

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