Описываем инструменты через JSON Schema

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

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

О чём урок

В мире больших языковых моделей (LLM), таких как Claude, способность не просто генерировать текст, но и взаимодействовать с внешним миром — это мощный шаг вперед. Эта способность называется "использованием инструментов" (tool use). Представьте, что Claude может не только ответить на вопрос "Какая сейчас погода в Париже?", но и фактически вызвать функцию, которая получит актуальные данные о погоде из внешнего API. Чтобы Claude мог это сделать, ему нужно точно знать, какие инструменты доступны, что они делают и как их использовать. Именно здесь на сцену выходят схемы инструментов (tool schemas). Схема инструмента — это, по сути, подробная инструкция или "руководство пользователя" для Claude, описывающее вашу функцию. Она сообщает модели, какие аргументы ожидает ваша функция, каково ее назначение и когда ее следует вызывать. Без такой схемы Claude не сможет понять, как правильно взаимодействовать с вашим кодом, что делает ее неотъемлемой частью разработки с использованием возможностей tool use. Прежде чем углубляться в схемы инструментов, важно понять основу, на которой они строятся: JSON Schema. Это не специфическая для AI технология, а широко используемая спецификация для описания структуры и валидации данных в формате JSON. Она существует уже много лет и применяется в самых разных областях для обеспечения целостности и предсказуемости данных, позволяя разработчикам определять, как должны выглядеть JSON-данные. Сообщество разработчиков AI приняло JSON Schema, потому что это удобный и стандартизированный способ описания параметров функций и валидации входных данных. Она позволяет четко определить типы данных (строка, число, булево), обязательные поля, форматы и другие ограничения, которые должна соблюдать функция. Это обеспечивает предсказуемость и надежность при передаче данных между Claude и вашими инструментами. Полная спецификация инструмента, которую Claude использует для понимания и вызова вашей функции, состоит из трех ключевых частей: Четкое, описательное имя для вашего инструмента: Это уникальный идентификатор, который Claude будет использовать для ссылки на вашу функцию. Например, "get_weather" или "get_current_datetime".

План урока

  1. Схемы Инструментов: Как Научить Claude Использовать Ваши Функции
  2. Что Такое JSON Schema?
  3. Основные Компоненты Спецификации Инструмента
  4. Написание Эффективных Описаний
  5. Простой Способ Генерации Схем: Используйте Claude!
  6. Реализация Схемы в Коде
  7. Добавление Типовой Безопасности (Type Safety)
  8. Заключение

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

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