Що таке системний промпт (system prompt)?
Системний промпт — це постійна інструкція, яку модель отримує перед початком діалогу: її роль, правила поведінки, тон, формат відповідей і заборони. Він діє на все листування, на відміну від звичайного повідомлення користувача.
У системний промпт виносять те, що не має змінюватися від запиту до запиту: «ти консультант інтернет-магазину, відповідаєш лише за нашим каталогом, не обіцяєш знижок, за відсутності даних пропонуєш звʼязатися з менеджером».
Системний промпт займає місце в контекстному вікні й оплачується токенами при кожному запиті, тому його тримають компактним. Він також не є захистом: на нього можна вплинути спеціально складеним повідомленням користувача, тому справді критичні обмеження треба ставити на рівні коду та прав доступу.
Де застосовується
У продуктах системний промпт задає характер помічника: ким він себе вважає, якою мовою відповідає, якого обсягу дає відповіді, що робити за браку даних і яких тем уникати. Користувач його не бачить, але саме він визначає поведінку сервісу.
В агентах роль ще ширша: сюди потрапляють опис доступних інструментів, правила їх вибору, межі допустимих дій і вимога питати підтвердження перед незворотними операціями. Тому системний промпт зберігають у репозиторії і змінюють так само обережно, як код.
Приклад
Те саме питання про повернення товару отримує різні відповіді: без системного промпту — загальний переказ законодавства; з інструкцією «ти оператор магазину, відповідай за нашим регламентом, за відсутності даних пропонуй звʼязатися з підтримкою» — конкретна і застосовна відповідь.
Часті запитання
Чим системний промпт відрізняється від звичайного повідомлення?
Він задається один раз і діє на весь діалог, а користувацькі повідомлення змінюються від репліки до репліки. Модель ставиться до нього як до правил роботи, а не до поточної задачі, і враховує його при кожній відповіді.
Що варто вміщувати в системний промпт?
Роль і задачу помічника, мову й тон спілкування, формат відповідей, межі компетенції, поведінку за браку даних і заборони. Конкретні факти щодо задачі туди не пишуть — їх передають у повідомленні користувача або підтягують пошуком.
Чи може користувач обійти системний промпт?
Спроби такого роду існують і іноді спрацьовують, тому інструкції не можна вважати захистом. Справжні обмеження ставлять на рівні коду: що саме дозволено викликати, до яких даних є доступ і які дії потребують підтвердження.
Чи впливає його довжина на вартість?
Так, він надсилається в кожному запиті й тарифікується як вхідні токени. За високого навантаження це помітна стаття витрат, тому незмінну частину промпту кешують засобами провайдера, а сам текст тримають компактним і без повторів.