Основы

Системный промпт для личного ИИ: что писать и чего не писать

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

Типичная эволюция системного промпта выглядит так. Первая версия — три строки, работает. Ассистент делает что-то не то — вы добавляете правило. Ещё раз — ещё правило. Через месяц там полторы тысячи токенов, ассистент выполняет примерно половину написанного, и непонятно, какую именно половину.

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

#Зачем это нужно и когда не нужно

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

#Что понадобится

  • Список из пяти-семи последних случаев, когда ответ вас не устроил. Конкретных, а не «слишком вежливо вообще».
  • Понимание, что каждая строка промпта тратит окно контекста в каждом запросе.
  • Готовность выбрасывать правила, а не только добавлять.

#Шаг 1. Поймите, почему длинный промпт хуже короткого

Три механизма, из-за которых объём вредит.

Инструкции конкурируют. Модель не исполняет список правил как программа — она порождает наиболее вероятное продолжение с учётом всего написанного. Чем больше требований, тем меньше веса у каждого. Компактная модель на пару миллиардов параметров обычно удерживает два-три требования из семи.

Правила противоречат друг другу. «Отвечай кратко» и «всегда приводи пример» конфликтуют. Вы этого не замечаете, потому что писали их в разные дни, а модель разрешает конфликт случайным образом.

Промпт занимает контекст в каждом запросе. Полторы тысячи токенов инструкций — это полторы тысячи токенов, не доставшихся вашей памяти и вашему вопросу. Что такое окно контекста и как оно расходуется — в справке про контекстное окно.

#Шаг 2. Возьмите шаблон с бюджетом

Бюджет в токенах — не строгий норматив, а способ заставить себя выбирать. Ориентиры ниже даны для промпта, который должен работать и на компактной модели.

Секция Бюджет Что туда идёт
Роль и отношение 20–40 токенов кто вы для ассистента и он для вас
Тон 30–60 2–3 требования к манере, не больше
Формат ответа 40–80 длина, структура, где вывод
Запреты 30–60 3–5 конкретных «не делай»
Контекст о вас 60–120 чем занимаетесь, что важно
Пример желаемого ответа 80–150 один короткий образец
Итого 260–510

Полтысячи токенов — верхняя граница промпта, который ещё исполняется целиком. Всё, что сверх, вы пишете скорее для себя.

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

#Шаг 3. Напишите первую версию из своего списка проблем

Не с чистого листа и не из чужого шаблона. Возьмите те пять-семь случаев из подготовки и превратите каждый в одно правило. Если из семи случаев получилось семь правил — оставьте пять самых частых: остальные два вы всё равно не получите.

Правило пишется в терминах наблюдаемого поведения, а не намерения. «Будь полезным» ненаблюдаемо. «Не начинай ответ с повторения вопроса» — наблюдаемо и проверяемо.

#Шаг 4. Проверьте на десяти вопросах

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

Меняйте по одному правилу за проверку. Два изменения сразу — и вы не узнаете, какое сработало.

#Проверка результата

Промпт готов, если выполняются четыре условия:

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

Если после этого поведение всё ещё не то, следующий шаг — не удлинять промпт. Либо менять модель на более крупную, либо, если разрыв касается устойчивой манеры, думать про дообучение — но сначала прочитайте про пресеты характера и то, что каждая строка меняет, в статье как настроить характер ИИ.

#Семь антипаттернов

  • Роман о себе. Три абзаца биографии в промпте. Контекст о вас нужен в объёме, который влияет на ответы: чем занимаетесь и что для вас важно. Остальное — в память, а не в инструкцию.
  • Правило на каждый случай. Промпт растёт после каждого неудачного ответа и никогда не сокращается. Раз в месяц вычёркивайте то, что не проверяли.
  • Взаимоисключающие требования. «Кратко» и «с примерами», «формально» и «по-дружески». Модель выберет случайно.
  • Ненаблюдаемые указания. «Будь умным», «думай глубже», «старайся». Ничего не меняют, но тратят токены.
  • Заглавные буквы и восклицания как усилители. «ВСЕГДА отвечай кратко!!!» работает не лучше обычного текста. Усиливает не капслок, а пример.
  • Требования к фактической точности. «Не выдумывай» не устраняет выдумки: это не то, чем управляет промпт. Против них работает подстановка проверяемых источников.
  • Копирование чужого промпта целиком. Чужой промпт написан под чужие проблемы и чужую модель. Берите структуру, но правила — свои, из своего списка.

Более широкая рамка — что вообще относится к работе с формулировками запроса, а что нет — в справке про промпт-инжиниринг и в определении системного промпта.

#Что может пойти не так

  • Промпт работает на одной модели и не работает на другой. Нормально: разные модели по-разному следуют инструкциям. Проверяйте после каждой смены модели.
  • Ассистент выполняет правило в начале диалога и забывает к концу. Признак того, что промпт конкурирует с длинным контекстом. Сократите промпт или начните новый диалог. Почему середина длинного контекста используется хуже краёв — в разборе потери в середине контекста.
  • После правки промпта сломалось то, что работало. Вы поменяли два правила сразу либо новое противоречит старому.
  • Ответы стали короткими до бесполезности. Требование краткости без указания, что должно остаться. Добавьте, что именно обязано быть в ответе.
  • Промпт не применяется вовсе. Проверьте, что он сохранён и что вы не в режиме, где используется другой набор инструкций.

Общая рамка категории — в разборе что такое личный ИИ.

#Частые вопросы

#Сколько токенов допустимо в системном промпте?

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

#Почему модель игнорирует часть моих правил?

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

#Что писать: «ты» или «вы»?

Что вам удобнее — на исполнение это не влияет. Влияет другое: последовательность. Смешение обращений внутри одного промпта иногда даёт смешение в ответах.

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

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

#Промпт заменяет дообучение?

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

#Вывод

Системный промпт — не список пожеланий, а бюджет. Пятьсот токенов, пять правил, один пример, ноль противоречий — такая конструкция исполняется. Полторы тысячи токенов и пятнадцать правил — не исполняется, и хуже того, вы не знаете, какая часть работает.

Если вы давно не перечитывали свой промпт целиком — начните с этого. Скорее всего, половину можно вычеркнуть без потерь, а ответы после этого станут лучше.

Хотите ИИ, который помнит вас?

Persona держит контекст между чатами и работает на вашем железе — если развернуть её у себя и подключить локальную модель.

Создать аккаунт