Перейти к содержимому
PD
ИИ-агенты

Основы промпт-инжиниринга для агентов

Что реально влияет на результат работы агента, как устроен системный промпт, почему описания инструментов важнее самого промпта и какие ошибки повторяются чаще всего.

Все статьи гида ИИ-агенты · 11

Промпт для агента отличается от промпта для чата. В чате результат - это текст, и его читает человек. У агента результат - это выбор действия, и его исполняет программа.

Что вообще влияет на результат

По убыванию значимости:

  1. Описания инструментов. По ним агент выбирает действие. Это главный рычаг, и он же чаще всего проработан хуже всего.
  2. Формат ответа. Явная схема с обязательными полями снимает половину проблем разбора.
  3. Критерий готовности. Без него агент останавливается, когда ему покажется достаточным.
  4. Правило поведения при недостатке данных. Не сказано - будет придумывать. Это поведение по умолчанию, а не сбой.
  5. Примеры, особенно граничные.
  6. Формулировки самого промпта. Влияют, но заметно меньше, чем принято думать.

Что не влияет: вежливость, восклицательные знаки, обещания награды, капслок. Это фольклор, который занимает контекст.

Структура системного промпта

Рабочая структура, которая закрывает большинство случаев:

Роль и задача. Одним абзацем: что за система, что она делает, для кого.

Что доступно. Короткий перечень инструментов с указанием, когда какой применять. Подробности - в описаниях самих инструментов, здесь только карта.

Правила решений. Как поступать в типовых ситуациях и, главное, в неоднозначных. Отдельно: что делать, когда данных не хватает. Это самый важный пункт, потому что без него модель заполняет пробел выдумкой.

Границы. Чего не делать никогда. С оговоркой: это поведение по умолчанию, а не гарантия. Настоящие ограничения живут в правах и в отсутствии инструментов - см. внедрение и guardrails.

Формат ответа. Явная схема. Требование «отвечай в JSON» без описания полей работает хуже, чем схема с их перечислением.

Примеры. Два-три, включая один, где правильный ответ - отказ или передача человеку.

Порядок имеет значение: важное в начале и в конце усваивается лучше, чем важное в середине длинного промпта.

Описания инструментов

Здесь сосредоточена основная работа, и здесь же чаще всего экономят.

Хорошее описание отвечает на четыре вопроса:

  • Что делает инструмент - одной фразой.
  • Когда применять. Конкретно: «когда в обращении есть номер заказа».
  • Когда не применять. Этот пункт пропускают чаще всего, и именно он предотвращает лишние вызовы.
  • Что вернётся, включая случай «ничего не найдено».

Плохое описание: «Работа с заказами». Агент будет вызывать этот инструмент всегда, когда в тексте встретится слово «заказ».

Хорошее: «Возвращает статус и состав заказа по его номеру. Применять, когда номер заказа известен. Не применять для поиска заказов клиента - для этого есть отдельный инструмент. Если заказ не найден, возвращает пустой результат, а не ошибку».

Второе правило: один инструмент делает одну вещь. Инструмент с параметром «режим» на пять значений - это пять инструментов, которые агент будет путать.

Частые ошибки

  • Ограничения только в промпте. «Не удаляй данные» - это пожелание. Уберите инструмент удаления.
  • Нет правила на случай нехватки данных. Модель заполнит пробел правдоподобным. Явно скажите: не хватает - остановись и сообщи.
  • Расплывчатый критерий готовности. «Обработай обращение» допускает десяток трактовок, и агент выберет самую простую.
  • Промпт растёт добавлением абзацев. Каждая проблема лечится ещё одним предложением, промпт распухает, противоречия накапливаются. Периодически его нужно переписывать целиком, а не дописывать.
  • Специфика клиента в общем промпте. Ломает других клиентов - см. слои промптов.
  • Изменения без проверки. Правка без набора примеров - это замена одной неизвестной точности на другую.

Практический минимум

Если делать только четыре вещи, делайте эти:

  1. Опишите инструменты так, чтобы понял человек, не видевший системы.
  2. Задайте явный формат ответа со схемой.
  3. Скажите, что делать при нехватке данных.
  4. Соберите двадцать примеров и прогоняйте их до и после каждой правки.

Как это масштабируется на несколько клиентов - слои вместо форков. Общая картина - гид по ИИ-агентам.

Вопросы и ответы

Что важнее для агента - промпт или инструменты?

Инструменты и их описания. Промпт задаёт рамку, но выбор конкретного действия агент делает по описанию инструмента. Расплывчатое описание даёт неверный выбор при любом качестве системного промпта.

Помогают ли вежливые формулировки и обещания вознаграждения?

Нет. Что действительно меняет результат: конкретность задачи, примеры правильного и неправильного, явный формат ответа и указание, что делать при недостатке данных. Всё остальное - фольклор, который тратит контекст.

Нужны ли примеры в промпте?

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

Ещё по теме