раздел 01

Имя и описание

Имя и описание - это первое, что видит агент. По ним он решает: подходит этот инструмент под задачу или нет. Поэтому здесь и кроется большая часть успеха.

Имя: глагол плюс объект

Хорошее имя сразу говорит, что инструмент делает. Простая формула - глагол плюс объект: что делаем и над чем.

search_orders
Понятно: ищет заказы. Агент сразу видит, для чего звать.
do_stuff
Ни о чём. Агент не поймёт, когда это использовать.
send_email
Глагол плюс объект. Отправить письмо - однозначно.
handler2
Техническое имя из кода. Агенту ничего не говорит.

Имя пишут на английском, в нижнем регистре, через подчёркивание: search_orders, read_file, get_weather. Это привычный для моделей формат.

Описание: что делает и когда использовать

Имя задаёт направление, а описание уточняет. Хорошее описание отвечает на три вопроса:

  1. Что инструмент делает.
  2. Когда его стоит использовать.
  3. Когда его использовать не нужно.

Третий пункт часто забывают, а он спасает от лишних вызовов. Если у агента два похожих инструмента, именно граница «а вот для этого бери другой» удерживает его от путаницы.

Описание - это инструкция для агента, а не комментарий для программиста. Пишите его так, будто объясняете коллеге, который видит инструмент впервые.

Пример: плохо и хорошо

Плохое описание:

search_orders: ищет заказы

Хорошее описание:

search_orders: Ищет заказы клиента по имени, email или номеру
телефона. Используй, когда клиент спрашивает про статус, состав
или дату своего заказа. НЕ используй для создания нового заказа -
для этого есть create_order.

Разница огромная. Во втором случае агент знает, по чему можно искать, в каких ситуациях звать инструмент и куда идти за созданием заказа.

Коротко

  • Имя - глагол плюс объект, понятное человеку.
  • Описание - что делает, когда использовать, когда не использовать.
  • Указывайте, какой инструмент брать вместо этого в спорных случаях.