раздел 03

Ошибки и меньше - лучше

Два простых принципа, которые сильно поднимают надёжность агента: говорите ему понятно, что пошло не так, и не заваливайте его инструментами.

Ошибка - это подсказка для самокоррекции

Когда инструмент падает, он возвращает агенту сообщение об ошибке. И агент это сообщение читает. Если оно понятное, агент часто исправляется сам: меняет аргумент, пробует другой формат, зовёт другой инструмент.

Плохая ошибка
«Error 500» или «null pointer». Агент не понимает, что чинить, и просто сдаётся.
Хорошая ошибка
«Дата в неверном формате, нужен YYYY-MM-DD». Агент исправляет аргумент и повторяет.

Сообщение об ошибке - это инструкция «попробуй так». Чем конкретнее вы скажете, что не так и как надо, тем выше шанс, что агент починит себя сам.

Это часть большой темы про обратную связь и проверки: агент работает надёжнее, когда среда подсказывает ему, где он ошибся. Подробнее - в гайде Проверки для ИИ.

Меньше инструментов - лучше

Кажется, что чем больше инструментов у агента, тем он мощнее. На практике наоборот: когда инструментов слишком много, агент начинает путаться - выбирает не тот, дёргает лишнее, тратит время на перебор.

Что с этим делать:

  • Группировать. Если пять инструментов отличаются только параметром - сделайте один с этим параметром.
  • Убирать дубли. Два инструмента делают почти одно и то же - оставьте один.
  • Оставлять нужное. Под конкретного агента подключайте только то, что ему реально пригодится для его задач.

Хороший набор инструментов - маленький и без пересечений. Каждый инструмент закрывает свою задачу, и агент всегда однозначно знает, какой брать.

Коротко

  • Пишите понятные ошибки - агент исправляется по ним сам.
  • В ошибку добавляйте подсказку, что делать дальше.
  • Не давайте 50 инструментов: группируйте, убирайте дубли, оставляйте нужное.