ML Fundamentals

Промпты и 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-сервер