
Ещё пару лет назад промпт-инжиниринг выглядел как подбор удачного заклинания: "а давай добавим think step by step, "а давай попросим быть аккуратнее" и о приправим xml-тегами".
Сегодня это типовая задача оптимизации в условиях чёрного ящика.
Уже 2026 год и современные LLM одновременно:
чувствительны к формулировкам;
дороги по токенам;
нестабильны между версиями;
плохо прощают ручную настройку на глазок.
Промпт -> это не текст, а параметр модели, и оптимизировать его нужно алгоритмически, а не интуитивно.
Ниже — краткий обзор основных подходов. Как они формализуются, где про них почитать и почему на них стоит обратить внимание.

1. Как вообще формализуется оптимизация промптов
Все подходы сводятся к поиску аргумента, максимизирующего функцию в дискретном пространстве:
Где f — это не только точность (accuracy), но и стоимость, формат (JSON compliance) и латентность.
Главные инженерные барьеры:
Отсутствие градиентов: Мы не можем сделать
loss.backward(), так как API — это чёрный ящик.Смерть лог-вероятностей (Logprobs): Большинство современных API (OpenAI, Anthropic) либо скрывают лог-пробы, либо делают их бесполезными для сложных рассуждений. Это убило методы типа AutoPrompt.
Комбинаторный взрыв: Пространство вариантов текста бесконечно.
Решения делятся на три класса: эволюционные, программные и генеративно-эвристические, .
2. Эволюционные методы

MetaPrompt и TextGrad
Подход, основанный на "текстовых градиентах. https://github.com/zou-group/textgrad
Раз мы не имеем доступа к весам, мы используем критику LLM как градиент.
Forward Pass (ответ) -> Loss (оценка судьи) -> Backward Pass (текстовая критика) -> Update (правка промпта).MetaPrompt: Реализует цикл
Generate -> Critique -> Refine. Отлично подходит для исправления проблем с JSON-схемами или стилем.
HRPO — Hierarchical Reflective Prompt Optimizer
Оптимизация серого ящика с анализом корневых причин. Вместо исправления каждой ошибки отдельно, HRPO кластеризует ошибки (например, «модель путает даты в 30% случаев») и вносит системные правки в промпт. Это снижает дрейф промпта.. https://arxiv.org/abs/2305.17126
Как работает:
Батчевый прогон;
Сбор неудач;
Кластеризация ошибок;
Точечные мутации.
Исправляется класс ошибок и файндинги, а не отдельный кейс.

GEPA: Эволюция с Парето-фронтиром
Генетические алгоритмы, адаптированные для текста.
Как работает:
Рефлексивная мутация: Вместо случайной замены слов, LLM анализирует почему предыдущий промпт ошибся (анализ трейсов) и предлагает осмысленное исправление;
Парето-оптимизация: GEPA ищет не один «лучший» промпт, а набор (фронтир). Например: один промпт дает 95% точности, но длинный и дорогой; второй — 93%, но дешевый и быстрый. Оба сохраняются в популяции.
Результат: Превосходит RL-методы, требуя в 35 раз меньше вызовов API.
Ссылки на почитать: Paper (GEPA) | Opik Docs
2. Программные

DSPy — программирование вместо текста
Это смена парадигмы. Ты больше не пишешь промпты. Ты описываешь:
сигнатуры;
модули;
ограничения;
связи между шагами.
DSPy сам компилирует это в оптимальные инструкции. https://arxiv.org/abs/2310.03714, https://github.com/stanfordnlp/dspy. Кстати неплохо разбрано тут https://habr.com/ru/articles/882864/.
Вместо "“Answer the question carefully”
Retrieve → Reason → Answerconstraint: output_schema
Используются MIPRO и MIPROv2 (https://dspy.ai/api/optimizers/MIPROv2/):
байесовская оптимизация;
совместная оптимизация всей цепочки;
учёт стоимости токенов.
По сути это компилятор для LLM-программ. Вместе с Opik выходит 9.5 из 10.
Нюанс
Кстати, без граунд тру датасета и метрик с ивалами DSPy превращается в извращенный способ писать промпты. Помните это. Иначе не лучше GigaChat.
APE — Automatic Prompt Engineer
Старая, но попрежнему используемая штука. LLM сама генерирует инструкции, сама же их прогоняет и сама выбирает лучшие. https://arxiv.org/abs/2211.01910
Максимизация лог-правдоподобия правильных ответов:
max_p E_{(x,y)} logP(y | x, p)
Как работает:
Генерируется N кандидатов инструкций;
Они прогоняются по датасету;
Считается метрика;
Лучшие идут в следующий раунд
Обычный search + evaluation loop, только вместо параметров текст. Где APE хорош:
классификация,
извлечение информации,
задачи с чёткой автоматической метрикой.
Где ломается:
высокая дисперсия,
быстрый оверфит,
плохой перенос между доменами.
3. Генеративно-эвристические

OPRO — Optimization by PROmpting
Здесь начинается инженерная магия. Мы не оптимизируем промпт напрямую. Мы даём модели историю прошлых попыток:
[prompt₁ → score₁, prompt₂ → score₂, prompt₃ → score₃]
и просим предложить следующий, который будет лучше. https://arxiv.org/abs/2309.03409
Фактически in-context learning используется как оптимизатор.
Почему это работает:
LLM хорошо улавливают тренды;
умеют экстраполировать улучшения;
не требуют доступа к логпробам.
Топвая инструкция в свое время
“Take a deep breath and work on this problem step by step”
была найдена именно через OPRO и стабильно обгоняла классический CoT.
Минусы будут:
нестабильность;
высокая стоимость;
нужен жёсткий контроль за репрезентативность.
Где применять
reasoning-задачи;
математика и логика;
когда нет доступа к модели.
4. Самообучающиеся промпты (простенькое)
STaR, ReST
Просто оставлю ссылки, при��ожу для кругозора, они не работают почти. STaR: https://arxiv.org/abs/2203.14465. ReST: https://arxiv.org/abs/2304.06263
5. Сравнительный обзор
Метод | Датасет | Метрика | Стоимость | Стабильность | Продакшен | Когда применять |
|---|---|---|---|---|---|---|
APE | Да | Да | Средняя | Низкая | Ограниченная | Простые задачи |
OPRO | Да | Да | Высокая | Низкая | Низкая | Reasoning |
DSPy | Да | Да | Средняя | Высокая | Высокая | RAG, агенты |
MetaPrompt | Нет | Нет | Низкая | Средняя | Средняя | Быстрый буст |
HRPO | Да | Желательно | Средняя | Очень высокая | Высокая | Продакшен |
GEPA | Да | Да | Очень высокая | Средняя | Низкая | Offline |
STaR / ReST | Да | Да | Высокая | Высокая | Средняя | Свои модели |
6. Рецепт как выстрелить себе в ногу

Оптимизация без валидации: Самая частая ошибка. Промпт-оптимизаторы (особенно OPRO и APE) находят "хаки" — формулировки, которые работают на тестовом датасете, но ломаются на реальных данных. Всегда имейте отложенную выборку и граунд тру датасет;
Дрейф моделей: Промпт, идеально вылизанный под
gpt-4-o, может деградировать наgpt-5.1. Оптимизированные промпты хрупкие. Делайте аля CI/CD для промптов. При смене версии модели запускайте перекомпиляцию/хот реалоад проекта и проверяйте;Гниение контекста : В длинных контекстах (например, Gemini 2.5 Pro) оптимизированные инструкции могут теряться. Использовать техники типа цепочек и оптимизировать звенья цепи отдельно помогает лишь частично на данный момент.
7. Почему открыть Google AI Studio и попросить улучшить промпт не работает
Да потому что это не оптимизация, а перефразирование.
В таком режиме LLM:
не видит метрики;
не знает, что считать успехом;
не видит распределения ошибок;
не платит за токены!!!!
Она оптимизирует правдоподобие текста, а не качество решения.
Без цикла Generate → Evaluate → Compare → Select улучшения не существует.
Именно поэтому такие промпты:
хуже обобщаются;
ломаются при смене модели;
дороже в продакшене;
нравятся авторам телеграм каналов про ИИ.
8. Главная мысль

Переход совершён. Если вы пишете промпты руками в 2026 году — вы занимаетесь кустарным производством в эпоху конвейеров. Используйте готовые фреймворки (DSPy, TextGrad), настраивайте пайплайны оценки и перестаньте гадать на кофейной гуще.
Если делаете ИИ-шку, ну поставьте вы себе prompt-base любой и observability. Есть куча связок вроде Agenta + LLM Studio + Langfuse\Opik.