О чём урок
Теперь мы поднимем наше использование инструментов на новый уровень! Мы предоставим Claude набор инструментов, из которых он сможет выбирать. Наша цель — создать простой чат-бот для поддержки клиентов вымышленной электронной компании TechNova. Он будет иметь доступ к простым инструментам, включая:
- get_user для поиска данных пользователя по email, имени пользователя или номеру телефона
- get_order_by_id для поиска заказа напрямую по его ID
- get_customer_orders для поиска всех заказов, принадлежащих клиенту
- cancel_order отменяет заказ по заданному ID заказа
Этот чат-бот будет довольно ограниченным, но он демонстрирует некоторые ключевые аспекты работы с несколькими инструментами.
Вот изображение, демонстрирующее пример взаимодействия с чат-ботом.
Вот еще одно взаимодействие с чат-ботом, где мы явно выводили сообщение каждый раз, когда Claude использует инструмент, чтобы было легче понять, что происходит за кулисами:
Вот диаграмма, показывающая поток информации для потенциального одного чат-сообщения:
важное примечание: этот чат-бот чрезвычайно прост и позволяет любому отменить заказ, если у него есть имя пользователя или адрес электронной почты пользователя, разместившего заказ. Эта реализация предназначена для образовательных целей и не должна быть интегрирована в реальную кодовую базу без изменений!
Прежде чем мы начнем работать с Claude, мы определим очень простой класс FakeDatabase, который будет хранить фейковых клиентов и заказы, а также предоставлять методы для взаимодействия с данными. В реальном мире чат-бот предположительно был бы подключен к одной или нескольким реальным базам данных.
Мы создадим экземпляр FakeDatabase:
Давайте убедимся, что наш метод get_user работает так, как задумано. Он ожидает, что мы передадим key, который является одним из следующих:
- "email"
- "username"
- "phone"
Он также ожидает соответствующее value, которое будет использоваться для выполнения базового поиска, надеемся, возвращая соответствующего пользователя.
Мы также можем получить список всех заказов, принадлежащих конкретному клиенту, вызвав get_customer_orders и передав ID клиента:
Мы также можем найти отдельный заказ напрямую, если у нас есть ID заказа:
Наконец, мы можем использовать…
План урока
- Использование нескольких инструментов
- Наша фейковая база данных
- Пишем наши инструменты
- Передача наших инструментов Claude
- Написание интерактивного скрипта
- Улучшения промпта
- Проблема, специфичная для Opus
- Финальная версия
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.