Q: What should go in the system prompt vs. the user prompt? – Hamel’s Blog - Hamel Husain
Хамель Хусейн отвечает на вопрос, что помещать в системный промпт, а что — в пользовательский. Главный совет: ничто не заменит эксперимента — тестируйте оба варианта (в идеале с evals) на своей модели и задаче, поскольку провайдеры и версии моделей по-разному обрабатывают типы промптов. Общее правило: статичные инструкции и определение роли — в системный промпт (идентичность, поведенческие ограничения, требования к формату вывода, постоянные указания), а динамический контент, примеры few-shot и детали конкретной задачи — в пользовательский. Системный промпт сравнивается с «конституцией» модели — правилами для всех запросов. Если различие неочевидно, лучше выбирать пользовательский промпт: он переносимее между моделями и проще в отладке.
Nothing beats experimentation. Test both approaches (ideally with evals) with your specific model and use case. Models handle system and user prompts differently, and these differences vary by provider and model version. Move instructions between prompts and measure which produces better results for your specific task.
Ничто не заменит эксперимента. Тестируйте оба подхода (в идеале с evals) на своей конкретной модели и сценарии использования. Модели по-разному обрабатывают системные и пользовательские промпты, и эти различия меняются от провайдера к провайдеру и от версии к версии. Перемещайте инструкции между промптами и измеряйте, какой вариант даёт лучшие результаты для вашей конкретной задачи.
General guidelines: Put static instructions and role definitions in the system prompt. Put dynamic content, examples, and task-specific details in the user prompt. Think of the system prompt as the model’s constitution—rules that apply across all requests. Include identity, behavioral constraints, output format requirements, and standing instructions: “You are a medical assistant. Never provide diagnoses. Always recommend consulting a healthcare provider.”
Общие рекомендации: Помещайте статичные инструкции и определения роли в системный промпт. Помещайте динамический контент, примеры и детали конкретной задачи в пользовательский промпт. Думайте о системном промпте как о конституции модели — правилах, которые применяются ко всем запросам. Включайте идентичность, поведенческие ограничения, требования к формату вывода и постоянные инструкции: «Ты — медицинский ассистент. Никогда не ставь диагнозы. Всегда рекомендуй обратиться к врачу».
The user prompt contains the actual task, relevant context, few-shot examples, and data to process. Documents for analysis, query-specific variations, and contextual information belong here. When the distinction feels unclear, prefer the user prompt. It’s more portable across models and easier to debug.
Пользовательский промпт содержит саму задачу, релевантный контекст, few-shot примеры и данные для обработки. Документы для анализа, вариации под конкретный запрос и контекстная информация — всё это сюда. Когда различие кажется неочевидным, отдавайте предпочтение пользовательскому промпту. Он более переносим между моделями и его проще отлаживать.
This article is part of our AI Evals FAQ, a collection of common questions (and answers) about LLM evaluation. View all FAQs or return to the homepage.
Эта статья — часть нашего AI Evals FAQ, сборника распространённых вопросов (и ответов) об оценке LLM. Посмотреть все FAQ или вернуться на главную.