При развертывании приложения на основе LLM с использованием Claude, ваши API-вызовы обычно будут состоять из двух типов контента:

  • Фиксированный контент: Статические инструкции или контекст, которые остаются неизменными при множественных взаимодействиях
  • Переменный контент: Динамические элементы, которые меняются с каждым запросом или разговором, такие как:
    • Пользовательский ввод
    • Извлеченный контент для генерации с дополнением из базы знаний (RAG)
    • Контекст разговора, например история учетной записи пользователя
    • Системные данные, такие как результаты использования инструментов, полученные из других независимых вызовов Claude

Шаблон промпта объединяет эти фиксированные и переменные части, используя заполнители для динамического контента. В Anthropic Console эти заполнители обозначаются {{двойными скобками}}, что делает их легко идентифицируемыми и позволяет быстро тестировать различные значения.


Когда использовать шаблоны промптов и переменные

Вы всегда должны использовать шаблоны промптов и переменные, когда ожидаете, что какая-либо часть вашего промпта будет повторяться в другом вызове Claude (только через API или Anthropic Console. claude.ai в настоящее время не поддерживает шаблоны промптов или переменные).

Шаблоны промптов предлагают несколько преимуществ:

  • Согласованность: Обеспечивают последовательную структуру ваших промптов при множественных взаимодействиях
  • Эффективность: Легко заменять переменный контент без переписывания всего промпта
  • Тестируемость: Быстро тестировать различные входные данные и крайние случаи, изменяя только переменную часть
  • Масштабируемость: Упрощают управление промптами по мере роста сложности вашего приложения
  • Контроль версий: Легко отслеживать изменения в структуре вашего промпта с течением времени, следя только за основной частью промпта, отдельно от динамических входных данных

Anthropic Console активно использует шаблоны промптов и переменные для поддержки функций и инструментов для всего вышеперечисленного, например:

  • Генератор промптов: Определяет, какие переменные нужны вашему промпту, и включает их в выводимый шаблон
  • Улучшатель промптов: Берет ваш существующий шаблон, включая все переменные, и сохраняет их в улучшенном шаблоне, который он выводит
  • Инструмент оценки: Позволяет легко тестировать, масштабировать и отслеживать версии ваших промптов, разделяя переменную и фиксированную части вашего шаблона промпта

Пример шаблона промпта

Давайте рассмотрим простое приложение, которое переводит текст с английского на испанский. Переведенный текст будет переменным, поскольку вы ожидаете, что этот текст будет меняться между пользователями или вызовами Claude. Этот переведенный текст может быть динамически получен из баз данных или пользовательского ввода.

Таким образом, для вашего приложения-переводчика вы можете использовать этот простой шаблон промпта:

Translate this text from English to Spanish: {{text}}

Следующие шаги