ИИ ИИшка Про
Гайды

Системный промпт: как превратить правила ИИ в контракт

AI-редакция

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

Опишите функцию, а не характер

Начните с результата. Формулировка «ты — редактор черновиков поддержки» полезнее, чем «будь умным и профессиональным». Добавьте аудиторию, канал и ограничение длины: подготовить ответ до 900 знаков для внутреннего менеджера, выделить неизвестные поля и отметить места ручной проверки.

Опишите один маршрут. Инструкция, которая одновременно ищет документы, пишет письмо, меняет CRM и публикует текст, слишком широка для тестирования. Разделите извлечение фактов, проверку и действие на отдельные этапы или промпты.

Назначьте источники истины

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

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

Сделайте формат проверяемым

Структура должна помогать редактору, а не украшать ответ:

факты из входа:
неизвестно:
предложение:
основание:
риски:
что проверяет человек:

Разрешите значение «нет данных», если поле отсутствует. Жёсткий JSON используйте только там, где приложение проверяет схему программно. Укажите, что делать при невалидном типе или лишнем поле: исправить формат, задать уточняющий вопрос или отказаться.

Запишите ограничения как условия

Каждое правило должно быть наблюдаемым: «не называй цену, если поле price отсутствует», «цитируй источник для фактического вывода», «не отправляй письмо без подтверждения адресата». Просьба «будь осторожным» не даёт тестируемого поведения.

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

Отделите данные от стабильных правил

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

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

Пример рабочего каркаса

Роль: редактор внутренних черновиков поддержки.
Цель: подготовить ответ до 900 знаков и один следующий вопрос.
Источники: поля входа и документы со статусом «действующий».
Запреты: не придумывать цену, срок, юридический вывод или скидку.
Формат: факты / неизвестно / основание / черновик / проверка человека.
Остановка: нет обязательного поля, конфликт версий или запрос вне области.

Каркас не заменяет серверные проверки. Цена, роль пользователя и идентификатор записи должны приходить из приложения, а не из текста, который модель может неверно интерпретировать.

Постройте тестовую матрицу

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

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

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

Версии и откат

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

Фиксируйте фактическую модель, параметры, библиотеку и дополнительные системные поля интерфейса. При смене модели тест запускайте заново: одинаковый текст не гарантирует одинаковое поведение.

Приватность и границы инструкции

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

Если последствия ошибки высоки, добавьте независимую проверку, preview и подтверждение человеком. Промпт не исправит плохой индекс, неверный расчёт или слишком широкие права функции.

Чек-лист выпуска

  1. Роль описана через функцию, аудиторию и результат.
  2. Источники истины и порядок приоритетов перечислены.
  3. Формат допускает «нет данных» и проверяется программно при необходимости.
  4. Ограничения выражены условиями, а этапы разделены.
  5. Данные пользователя передаются отдельно от стабильных правил.
  6. Тесты покрывают конфликты, инъекции, формат и новые вопросы.
  7. Версия, модель, параметры и причина изменения записаны.
  8. Секреты исключены, а для рискованных действий предусмотрено подтверждение.

Редакционный прогон перед сменой инструкции

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

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

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

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

Гайды Как ограничить ИИ-агента: бюджет шагов, тайм-аут и безопасная остановка Практическая инструкция для агента с браузером, кодом или файлами: задаём пределы до запуска, ловим цикл и сохраняем состояние для разбора. Гайды Как проверить сетевые границы ИИ-агента до доступа к рабочим системам Пошаговая проверка белого списка, DNS, журналов, секретов и ручного подтверждения — на безопасном стенде, без атак на чужую инфраструктуру. Гайды Как обезличить рабочий документ перед загрузкой в нейросеть: практический маршрут Не просто удалить имя, а найти идентификаторы в тексте, таблицах, свойствах файла и изображениях, проверить замену и сохранить полезность документа. Гайды Как проверить код тремя ИИ-ролями: исследователь, критик и верификатор Практический маршрут многоагентной проверки небольшого репозитория без сотни агентов, доступа к продакшену и ложного ощущения безопасности.
Опубликовано: 18 июля 03:46 · Обновлено: 5 сентября 2026
← На главную