Что такое системный промпт?

Системный промпт - это способ предоставить контекст, инструкции и рекомендации Claude перед тем, как представить ему вопрос или задачу. Используя системный промпт, вы можете подготовить почву для разговора, указав роль Claude, личность, тон или любую другую релевантную информацию, которая поможет ему лучше понять и ответить на ввод пользователя.

Системные промпты могут включать:

  • Инструкции и цели задачи
  • Черты личности, роли и рекомендации по тону
  • Контекстная информация для ввода пользователя
  • Ограничения креативности и руководство по стилю
  • Внешние знания, данные или справочные материалы
  • Правила, рекомендации и ограничения
  • Стандарты и требования проверки вывода

Преимущества использования системных промптов

Включение хорошо продуманных системных промптов может значительно улучшить производительность Claude и качество вывода. Некоторые ключевые преимущества включают:

  1. Улучшенная ролевая игра и согласованность персонажей: Когда вы назначаете Claude определенную роль или личность через системный промпт, он может более эффективно поддерживать этот персонаж на протяжении всего разговора, демонстрируя более естественные и креативные ответы, оставаясь в образе.
  2. Повышенное соблюдение правил и инструкций: Системные промпты могут помочь Claude лучше понимать и следовать рекомендациям, что снижает вероятность выполнения запрещенных задач, вывода ограниченного контента или отклонения от данных инструкций.
  3. Улучшенное понимание контекста: Предоставляя релевантную справочную информацию или справочные материалы в системном промпте, вы можете улучшить понимание Claude ввода пользователя и позволить ему генерировать более точные и учитывающие контекст ответы.
  4. Настраиваемое форматирование вывода: Системные промпты могут использоваться для указания желаемых форматов вывода, таких как заголовки, списки, таблицы или блоки кода, гарантируя, что ответы Claude структурированы и представлены наилучшим образом, соответствующим вашим потребностям.

Важно отметить, что хотя системные промпты могут повысить надежность и устойчивость Claude к нежелательному поведению, они не гарантируют полной защиты от jailbreaks или утечек. Однако они обеспечивают дополнительный уровень руководства и контроля над выводом Claude.


Как использовать системные промпты

Чтобы использовать системные промпты с Messages API, установите параметр system на желаемый текст системного промпта. Вот пример вызова API:

Python
import anthropic

client = anthropic.Client(api_key="YOUR_API_KEY")

response = client.messages.create(
    model="claude-2.1",
    system="Отвечай только на испанском.", # <-- системный промпт
    messages=[
        {"role": "user", "content": "Привет, Claude!"} # <-- пользовательский промпт
    ]
)

print(response.message)

Для получения дополнительной информации обратитесь к нашей документации по Messages API.

Примечание: Вы также можете использовать системные промпты в Console, но не на claude.ai.


Методы промптинга

Вы можете применять те же методы промптинга, которые вы бы использовали в пользовательском промпте, к системному промпту. Например, вы можете:

  1. Указать форматирование вывода: Предоставьте примеры ответов или инструкции для желаемых шаблонов вывода в системном промпте, чтобы направлять поведение Claude.
  2. Предоставить документы, руководства и справочные материалы: Включите релевантную информацию или RAG контент в системный промпт, чтобы помочь Claude генерировать более информированные и точные ответы.
  3. Использовать XML-теги, особенно для структурирования длинных документов: Используйте XML-теги для организации вашего системного промпта на разделы для улучшения ясности. При включении нескольких или длинных документов в системный промпт вы можете использовать многодокументный XML-формат, чтобы помочь Claude лучше понять и использовать предоставленную информацию.

Часто задаваемые вопросы

Как мне узнать, когда использовать системный промпт, а когда пользовательский?

Промптинг - это эксперимент, поэтому мы рекомендуем попробовать оба варианта! Но в целом, вы можете рассматривать системные промпты как пространство для предоставления руководства об общем взаимодействии с Claude, а user ход как часть самого взаимодействия или когда у вас есть только одноразовая задача, которую вы хотите выполнить.

Как я могу преобразовать свои существующие промпты только для пользователей в системные промпты?

Чтобы преобразовать ваши промпты только для user в системные промпты, просто переместите любой контент, который не является частью ввода пользователя, в параметр system в Messages API. Это может включать инструкции по задачам, рекомендации по личности, справочные материалы или любую другую контекстную информацию, которая помогает подготовить почву для разговора. Мы рекомендуем вам экспериментировать, чтобы увидеть, что лучше всего работает в каком поле.

Где я могу использовать системные промпты?

Системные промпты в настоящее время доступны для использования с моделями Claude 3 и Claude 2.1 через наш API, Console, API Amazon Bedrock и API Google Cloud Vertex AI. В настоящее время они не поддерживаются на claude.ai.

Делают ли системные промпты мои промпты защищенными от jailbreak или утечек?

Хотя Claude уже очень устойчив к jailbreak и нежелательному поведению благодаря своим методам обучения (например, RLHF и Constitutional AI), системные промпты могут еще больше улучшить способность Claude следовать инструкциям и рекомендациям. Однако они не гарантируют полной защиты от jailbreak или утечек.