Промпты и GPT
Промпт — текстовая инструкция языковой модели; GPT (Generative Pre-trained Transformer) — семейство моделей, которые её выполняют.
Что такое промпт
Промпт (prompt) — текст, который вы подаёте языковой модели на вход: вопрос, инструкция, данные для обработки или всё сразу. Это единственный способ управлять моделью без дообучения, поэтому от формулировки промпта результат зависит сильнее, чем от чего-либо ещё.
Технически никакой «команды» модель не получает. Она видит последовательность токенов и предсказывает наиболее вероятное продолжение. Промпт — это не приказ, а начало текста, которое делает нужный ответ самым вероятным продолжением.
Отсюда следует главное правило: модель продолжает то, на что похож ваш промпт. Расплывчатый вопрос порождает расплывчатый ответ не потому, что модель ленится, а потому что таково типичное продолжение расплывчатого текста.
GPT — расшифровка
GPT = Generative Pre-trained Transformer, «генеративный предобученный трансформер». Каждое слово — характеристика:
- Generative — порождает новый текст, а не выбирает из готовых вариантов
- Pre-trained — предобучена на большом корпусе текста заранее
- Transformer — построена на архитектуре трансформера
GPT — это конкретное семейство моделей OpenAI, но в разговорной речи слово давно стало нарицательным для любой LLM. Llama, Qwen, Mistral, DeepSeek устроены по тем же принципам, хотя формально к линейке GPT не относятся.
Структура промпта: роли
Современные чат-модели получают не сплошной текст, а последовательность сообщений с ролями:
{
"messages": [
{"role": "system", "content": "Ты — технический писатель. Отвечай кратко, без вступлений."},
{"role": "user", "content": "Объясни, что такое TTFT."}
]
}
- system — правила поведения на весь диалог: роль, тон, формат, ограничения
- user — то, что говорит пользователь
- assistant — предыдущие ответы модели; так модель «помнит» диалог
Никакой памяти у модели нет — на каждом запросе вся история отправляется заново. Диалог существует только в вашем коде.
Приёмы, которые работают
| Приём | Суть | Когда применять |
|---|---|---|
| Роль | «Ты — опытный DBA» | Задать угол зрения и лексику |
| Few-shot | Показать 2–3 примера «вход → выход» | Нужен конкретный формат |
| Chain-of-thought | «Рассуждай пошагово» | Логика, вычисления, многошаговые задачи |
| Разделители | Данные в ``` или XML-тегах | Отделить инструкцию от данных |
| Явный формат | «Верни JSON с полями a, b» | Ответ пойдёт в код |
| Позитивная формулировка | «Пиши кратко» вместо «не пиши много» | Почти всегда |
Два приёма дают наибольший прирост на практике. Few-shot — потому что один пример нужного вывода заменяет абзац описаний. Разделители — потому что без них модель не отличает вашу инструкцию от обрабатываемых данных, и текст пользователя внутри промпта может быть прочитан как команда (prompt injection).
Формулировка «не делай X» работает плохо: чтобы её выполнить, модели приходится сначала представить X. Описывайте желаемое, а не запрещённое.
Параметры сэмплирования
Промпт задаёт содержание, параметры — степень свободы при выборе очередного токена:
- temperature — 0 даёт предсказуемые повторяемые ответы (извлечение данных, код), выше — разнообразие (тексты, идеи)
- top-p — ограничивает выбор минимальным набором самых вероятных токенов
Если нужен стабильный разбор документов — снижайте temperature, а не переписывайте промпт в пятый раз.
Промпт стоит денег
Промпт — это токены, а токены — деньги и время:
- Длина промпта и ответа ограничена контекстным окном. За его пределами модель текст просто не видит.
- Разбор промпта (prefill) определяет TTFT — задержку до первого токена. Длинный system prompt = медленный старт.
- Если у запросов общее начало (system prompt, инструкции, документ), prompt caching переиспользует его разбор. Отсюда правило: стабильная часть — в начало промпта, переменная — в конец.
- На русском тот же текст занимает в 2–3 раза больше токенов, чем на английском.
Когда промпта уже мало
Промптинг решает большинство задач, но не все. Если модель стабильно ошибается в доменной специфике, а промпт разросся до страницы примеров — дешевле сделать fine-tuning или LoRA. Если модели не хватает знаний о ваших данных — нужен поиск по документам (AI-поиск), а не более настойчивая формулировка. Если ответ должен строго соответствовать схеме — надёжнее structured outputs, чем просьба «верни валидный JSON».
Связанные термины
- LLM — модель, которая исполняет промпт
- токен — единица, в которой измеряется промпт
- контекстное окно — предел длины промпта и ответа
- temperature — управление предсказуемостью ответа
- prompt caching — экономия на повторяющейся части промпта
- fine-tuning — что делать, когда промптинга не хватает
Готовы запустить GPU-задачу?
Запустить GPU-сервер