Всем привет, меня зовут Никита Кулин, я руковожу RnD командой Лаборатории Компьютерных Технологий (CT-Lab) Университета ИТМО. В этой статье мы представляем CoolPrompt - фреймворк автоматической оптимизации промптов (автопромптинга), который предлагает полный пайплайн оптимизации от постановки задачи до оценки результатов новых промптов. 

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

  • Формализация системных промптов под конкретные задачи

  • (Полу-)автоматическая генерация разметки

  • Формализация описания оценки llm-as-a-judge метрики

  • Промптинг под агентные системы

Теперь рассмотрим CoolPrompt подробнее.

Архитектура и процесс работы

CoolPrompt включает в себя: автоподбор задачи и метрики, использование от open-source до проприетарных LLM моделей, генерацию синтетического датасета и таргета при отсутствии разметки, обратную связь по результатам оптимизации. Фреймворк представляет 3 метода оптимизации промптов: два собственных итеративных алгоритма автопромптинга - ReflectivePrompt и DistillPrompt, один подход мета-промптинга HyPE для быстрой оптимизации

Схема работы и архитектура CoolPrompt
Схема работы и архитектура CoolPrompt

Рассмотрим, из чего состоит и как работает наш фреймворк. Архитектура состоит из следующих компонент:

  • PromptTuner - основной интерфейс фреймворка

  • Evaluator - модуль оценки эффективности промптов

  • PromptOptimizer - модуль промпт-оптимизаторов.

  • PromptAssistant - отдельный llm-ассистент для генерации синтетического датасета (Synthetic Data Generator), детекции типа задачи (Task Detector) и обратной связи по оптимизации

Теперь рассмотрим пошагово ход работы. 

  1. Пользователь предоставляет начальный промпт для инициализации, а также указать параметры PromptTuner: тип задачи, ллм, датасет, метрику, метод оптимизации и т.д.

  2. Необъявленные параметры PromptTuner автоматически определяются.

  3. Если в оптимизации нет входного датасета, исходя из промпта генерируется синтетический датасет для оптимизации и оценки промптов. Далее датасет разделяется на трейн и тест.

  4. После происходит процесс оптимизации промпта взависимости от выбранного одного из трех подходов: HyPE, ReflectivePrompt, DistillPrompt.

  5. Финальный промпт оценивается на тестовой выборке.

  6. На выходе пользователь получает финальный промпт, значения метрик и обратную связь по результатам оптимизации. 

Методы оптимизации промптов и примеры работы

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

HyPE

HyPE (Hypothetical Prompt Enhancer — «Усилитель Гипотетических Промптов») — это собственный подход мета-промптинга для быстрого адаптивного улучшения промптов, который предлагает LLM сгенерировать гипотетический инструктивный промпт, решающий ту же задачу, что и исходный запрос пользователя. 

Подход использует изначальный промпт и формулировку проблемы вместе со внутренними знаниями LLM об эффективных паттернах промпта, чтобы создать гипотетический промпт готовую за один прямой проход. Идея HyPE мотивирована методом HyDE, который синтезирует гипотетический документ для улучшения процесса поиска в RAG системах.

Пример работы HyPE на модели qwen3-4b-instruct:

Изначальный промпт

Write an essay about autumn

Промпт после HyPE

You are an expert writer and seasonal observer tasked with composing a rich, well-structured, and vividly descriptive essay on the theme of autumn. Your goal is to create a coherent, engaging, and insightful piece that captures the essence of the season through sensory detail, natural observation, and cultural reflection.

Begin by describing the key physical and environmental characteristics of autumn: the transformation of foliage, the gradual cooling of temperatures, the crispness of the air, and the quiet rhythm of nature as leaves fall. Use specific, evocative language to convey sight, sound, smell, and touch—such as the rustle of dry leaves, the golden light filtering through trees, or the earthy scent of damp soil after rain.

Integrate cultural and human elements of autumn, including harvest festivals (e.g., Thanksgiving, Halloween, harvest fairs), traditional foods (e.g., apples, pumpkins, squash), and seasonal rituals that reflect humanity’s connection to nature. Reflect on the emotional tone of autumn—its melancholy, nostalgia, abundance, and transition—offering thoughtful insights into how people perceive and respond to the season’s changes.

Structure your essay with a clear narrative arc: open with a vivid scene or sensory moment, develop through observations and reflections, and conclude with a broader philosophical or emotional takeaway about the value of seasonal change, impermanence, and balance in life.

Write in clear, natural prose that is accessible and immersive. Avoid generic statements; instead, ground your writing in specific details and personal or universal reflections. Ensure the essay is comprehensive, thoughtful, and inspiring—offering readers not just a description of autumn, but a deeper appreciation for its beauty and significance in both the natural world and human experience.

Maintain a consistent tone that is reflective yet lively, poetic yet grounded. Do not include any code, technical jargon, or irrelevant content.

ReflectivePrompt

ReflectivePrompt — это многоитеративный метод эволюционной оптимизации промптов, основанный на идее рефлексивной эволюции. Используя концепции текстового градиента и само-рефлексии, метод демонстрирует выдающиеся результаты в различных областях задач автоматического промптинга. Для работы метода требуются следующие данные: набор данных, описание целевой проблемы и начальный промпт пользователя. 

Принцип работы следующий:

  • Сначала генерируется и семплируется популяция промптов по начальному промпту

  • Производятся операции кратко-срочные рефлексии и скрещивания популяции. 

  • Используя текущие кратко-срочные рефлексии, обновляются долго-срочная рефлексии и элитарная мутация генерирует новые промпты кандидаты.

  • После новые промпты оцениваются и отбираются для следующей эпохи.

Подробнее про ReflectivePrompt.

Пример работы ReflectivePrompt на модели t-tech/T-lite-it-1.0:

Изначальный промпт

Please perform Sentiment Classification task.

Промпт после ReflectivePrompt

Could you please help me with the Sentiment Classification task?
I would appreciate it if you could provide a prompt that effectively solves this problem.

DistillPrompt

DistillPrompt — это многоитеративный алгоритм автоматической оптимизации промптов, не использующий градиенты (gradient-free) и основанный на итеративной дистилляции промптов и на технике промптинга Tree-of-Thoughts. Метод c помощью LLM применяет перефразирование, встраивание дистилляции знаний о задаче из тренировочной выборки (не few-shot), сжатие промптов и финальную агрегацию промежуточных промптов. Подробнее про DistillPrompt.

Пример работы DistllPrompt на модели t-tech/T-lite-it-1.0:

Изначальный промпт

Classify sentence sentiment

Промпт после DistillPrompt

Identify the sentiment of each sentence in the provided text. Indicate the sentiment as positive, negative, or neutral.

Синтетическая генерация датасета

Одной из трудностей этапа промпт-инжиниринга - это отсутствие или недостаточность разметки для оценки промптов, что в реальности встречается часто. Поэтому мы предлагаем генерацию синтетического датасета с помощью LLM при отсутствии оригинального датасета. Под генерацию датасета была составлена отдельная промпт-инструкция и протестированная на различных моделях. 

Проведенные эксперименты на различных датасетах показывают сопоставимое качество оптимизации промптов между оригинальной и синтетической разметками. 

Бенчмаркинг

Мы собрали аналогичные открытые решения по автоматической оптимизации промптов и провели сравнительные эксперименты по эффективности решения задачи.

CoolPrompt по сравнению с другими фреймворками демонстрирует выше и сопоставимую эффективность подбора промпта.

Ограничения фреймворка

Из текущих ограничений фреймворка:

  • LLM должны уметь генерировать структурированный вывод по инструкции. 

  • На данный момент доступны общие метрики классификации (accuracy, F1-macro) и генерацию текста (bleu, rouge, bertscore, EM (Exact Match), G-Eval)

    • В планах у нас расширить набор метрик на более специализированные (к примеру, под оценку генерации кода)

  • Под специализированные домены (биология, медицина, юриспруденция) желательно брать LLM-ки, осведомленные в конкретные специализации.

Заключение

В этой статье мы рассказали о нашем фреймворке для автоматической оптимизации промптов - CoolPrompt и его возможностях. Также мы показали, что это один из открытых сильных инструментов для упрощения и автоматизации промпт-инжиниринга.

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

В ноябре мы будем презентовать CoolPrompt на AI Journey 2025 в постерной сессии, поэтому сможем пообщаться поподробнее о фреймворке, увидимся!

Ссылки на CoolPrompt

Авторы

Никита Кулин (@mrcoolinhabr)

Виктор Журавлев

Артур Хайруллин (@arkhairullin)

Алена Ситкина (@a-ct-seal)

Эрнест Дягин