TL;DR
PromptBridge — фреймворк для переноса промптов между разными LLM (например, с GPT-4o на Claude или Llama). Работает в два этапа: сначала калибровка — на небольшом наборе задач оптимизируются промпты для обеих моделей (исходной и целевой) через MAP-RPE (итеративная рефлексивная оптимизация с количественной оценкой). Затем перенос — LLM анализирует пары оптимальных промптов и извлекает паттерны трансформации. Для новой задачи система применяет эти паттерны, чтобы адаптировать промпт исходной модели под целевую.
Исследователи обнаружили явление Model Drifting — промпт, оптимальный для одной модели, часто работает хуже на другой, даже если вторая модель сильнее. Пример: промпт, дающий 99.39% на GPT-5, даёт лишь 68.70% на Llama-3.1-70B, хотя оптимальный промпт для Llama достигает 79.47%. Причина — модели тренируются на разных данных, с разными токенизаторами, ролевыми тегами и методами выравнивания. GPT не знает про роль ipython, которую использует Llama 3 для работы с инструментами. DeepSeek и Qwen тренировались на других языковых распределениях, чем Mistral.
PromptBridge решает проблему через извлечение переносимого знания из калибровочных задач. Вместо ручной переписывания промптов или полной реоптимизации для каждой модели, система учится систематическим паттернам — как структура, форматирование и стиль промпта должны меняться при переходе между моделями. На тестовых задачах это знание применяется без доступа к данным задачи (zero-shot адаптация).
Схема метода
ЭТАП 1: КАЛИБРОВКА (для набора alignment tasks)
Для каждой калибровочной задачи:
Исходная модель:
Промпт₀ → MAP-RPE (итерации рефлексии + оценка) → Промпт*исходный
Целевая модель:
Промпт₀ → MAP-RPE (итерации рефлексии + оценка) → Промпт*целевой
MAP-RPE — это island-based эволюция промпта: - Модель выполняет промпт на тестовых примерах - Получает количественные метрики (точность + поведенческие оценки) - Reflection-модель анализирует результаты и предлагает улучшенный промпт - Цикл повторяется до сходимости - Популяция из нескольких "островов" промптов для избежания локальных оптимумов
ЭТАП 2: ИЗВЛЕЧЕНИЕ ПАТТЕРНОВ
Mapping Extractor (LLM) анализирует пары:
[(Промпт*исходный₁, Промпт*целевой₁),
(Промпт*исходный₂, Промпт*целевой₂),
...]
→ Извлекает паттерны трансформации
→ Формирует "мост" между моделями
ЭТАП 3: ПРИМЕНЕНИЕ (для unseen tasks)
Промпт_исходный (новая задача) + Паттерны трансформации
↓
Adapter Model (LLM)
↓
Промпт_адаптированный для целевой модели
Всё происходит через запросы к LLM, без обучения весов.
Пример применения
Задача: Ты используешь GPT-4o для разбора резюме кандидатов — промпт настраивался месяцами, работает идеально. Компания переходит на Llama 3.1 из-за приватности данных. Старый промпт на Llama работает хуже — пропускает ключевые навыки, структура ответа ломается.
Промпт для создания "моста" между моделями:
Я переключаюсь с GPT-4o на Llama-3.1-70B-Instruct.
Вот 3 задачи, где я оптимизировал промпты для обеих моделей:
ЗАДАЧА 1: [описание]
Промпт для GPT-4o: [текст]
Промпт для Llama-3.1: [текст]
ЗАДАЧА 2: [описание]
Промпт для GPT-4o: [текст]
Промпт для Llama-3.1: [текст]
ЗАДАЧА 3: [описание]
Промпт для GPT-4o: [текст]
Промпт для Llama-3.1: [текст]
Проанализируй эти пары и опиши систематические различия:
1. Как меняется структура инструкций?
2. Какие форматирования работают для Llama, но не для GPT?
3. Какие роли или теги специфичны для Llama?
4. Как меняется стиль формулировок?
Сформулируй правила трансформации промпта с GPT-4o на Llama-3.1.
Результат:
Модель выдаст структурированный список паттернов: "Llama лучше реагирует на пронумерованные шаги", "Используй роль <|python_tag|> для структурированного вывода", "Избегай сложносочиненных предложений — Llama обработала их как отдельные инструкции", "Добавь явные разделители --- между секциями".
Затем для адаптации твоего промпта разбора резюме:
Вот правила трансформации промптов с GPT-4o на Llama-3.1:
[вставить извлеченные правила]
Теперь адаптируй этот промпт для Llama-3.1:
[твой промпт для разбора резюме]
Применив правила трансформации, создай оптимизированную версию.
Модель применит паттерны и выдаст адаптированный промпт с правильной структурой для Llama.
Почему это работает
LLM не универсальны — они интерпретируют промпты через призму своих тренировочных данных, токенизатора и выравнивания. GPT-4o тренировалась на одних инструкциях, Llama — на других. Llama 3 ввела специальную роль ipython для tool-calling, которой нет в GPT. Qwen и DeepSeek видели другие языковые распределения. Один и тот же промпт активирует разные паттерны в разных моделях.
Сильная сторона LLM — выявление структурных паттернов в текстовых данных. Если дать модели примеры "как промпт должен выглядеть для модели A" и "как для модели B", она извлечёт правила трансформации: изменения в форматировании, ролевых тегах, стиле инструкций, уровне детализации. Это не требует доступа к весам или внутренней механике моделей — только сравнение текстов.
PromptBridge использует это для обхода дрифта: вместо ручной адаптации каждого промпта под новую модель, система один раз учится на небольшом наборе задач (10-20 примеров достаточно) и затем применяет извлечённые паттерны к любым новым промптам. Это zero-shot перенос — новая задача не требует реоптимизации, система просто применяет правила трансформации.
Рычаги управления:
- Размер калибровочного набора (alignment tasks) → 5-10 задач для грубой адаптации, 20+ для точной. Больше задач = лучше покрытие разных типов промптов.
- Итерации MAP-RPE → 3-5 итераций для быстрой калибровки (экономия токенов), 10+ для максимального качества.
- Количество "островов" в MAP-RPE → 1 остров = быстрее, но риск локального оптимума. 3-5 островов = лучше разнообразие промптов.
- Детализация извлечённых правил → попроси Mapping Extractor дать 3 ключевых паттерна (быстро) или 10+ детальных правил (точнее адаптация).
- Adapter Model → можешь заменить автоматическое применение на ручное: просто читай правила и сам корректируй промпт (если хочешь контроль).
Шаблон промпта
Для извлечения паттернов (Mapping Extractor)
Я переключаюсь с {исходная_модель} на {целевая_модель}.
Вот {N} задач, где я оптимизировал промпты для обеих моделей:
ЗАДАЧА 1: {описание_задачи_1}
Промпт для {исходная_модель}:
{промпт_исходный_1}
Промпт для {целевая_модель}:
{промпт_целевой_1}
---
ЗАДАЧА 2: {описание_задачи_2}
Промпт для {исходная_модель}:
{промпт_исходный_2}
Промпт для {целевая_модель}:
{промпт_целевой_2}
---
[повтори для всех калибровочных задач]
---
Проанализируй эти пары промптов и опиши систематические различия при переходе с {исходная_модель} на {целевая_модель}:
1. **Структурные изменения:** как меняется организация инструкций (списки, секции, иерархия)?
2. **Форматирование:** какие разделители, теги, символы работают лучше?
3. **Специфичные конструкции:** какие роли, теги или команды есть в {целевая_модель}, но нет в {исходная_модель}?
4. **Стиль формулировок:** как меняется длина предложений, директивность, уровень детализации?
5. **Паттерны вывода:** как меняются инструкции по формату ответа?
Сформулируй чёткие правила трансформации промпта с {исходная_модель} на {целевая_модель}.
Заполни:
- {исходная_модель}, {целевая_модель} — названия моделей (GPT-4o → Llama-3.1, Claude → GPT-4o, etc.)
- {N} — количество калибровочных задач (рекомендуется 5-20)
- {описание_задачи_i} — краткое описание задачи (1-2 предложения)
- {промпт_исходный_i}, {промпт_целевой_i} — оптимальные промпты для каждой модели
Для адаптации промпта (Adapter)
Вот правила трансформации промптов с {исходная_модель} на {целевая_модель}:
{извлеченные_правила}
---
Теперь адаптируй этот промпт для {целевая_модель}, применив все правила трансформации:
ИСХОДНЫЙ ПРОМПТ ({исходная_модель}):
{промпт_для_адаптации}
---
АДАПТИРОВАННЫЙ ПРОМПТ ({целевая_модель}):
[примени все правила и создай оптимизированную версию]
Заполни:
- {извлеченные_правила} — вывод из первого шага (паттерны трансформации)
- {промпт_для_адаптации} — твой промпт, который нужно адаптировать под целевую модель
🚀 Быстрый старт — вставь в чат:
Помоги адаптировать мои промпты для новой модели. Я переключаюсь с [исходная модель] на [целевая модель].
Сначала я дам тебе 3-5 примеров задач, где промпты работают хорошо на обеих моделях.
Ты извлечёшь паттерны трансформации.
Затем применишь эти паттерны к моим рабочим промптам.
Задавай вопросы, если нужны уточнения.
[вставить шаблон "Для извлечения паттернов" выше]
LLM спросит про калибровочные задачи и их промпты — это нужно для обучения "мосту" между моделями. Если у тебя нет готовых оптимизированных промптов для обеих моделей, попроси LLM помочь с MAP-RPE (см. секцию "Адаптации").
Ограничения
⚠️ Требует калибровочные данные: Метод не работает "из коробки" — нужно сначала собрать 5-20 задач с оптимизированными промптами для обеих моделей. Это может занять несколько часов ручной работы или требовать доступа к обеим моделям одновременно.
⚠️ Качество зависит от покрытия: Если калибровочные задачи сильно отличаются от рабочих (например, калибровали на коде, а применяешь к креативному письму), адаптация может быть неточной. Извлечённые паттерны должны отражать специфику твоих задач.
⚠️ Не заменяет тестирование: Адаптированный промпт — это гипотеза, не гарантия. В исследовании улучшение было значительным (27-39% на некоторых бенчмарках), но всё равно нужно проверить на реальных данных перед продакшном.
⚠️ Ограничено способностью Mapping Extractor: Если используешь слабую модель для извлечения паттернов, она может упустить тонкие различия между моделями. Исследователи использовали GPT-4o и o3 как Extractor — с более слабыми моделями результат может быть хуже.
Как исследовали
Команда проверила гипотезу на 7 LLM (GPT-4o, o3, o4-mini, Claude-3.5-Sonnet, Gemini-2.0-Flash, Llama-3.1-70B, DeepSeek-V3) и 8 бенчмарках — от генерации кода (HumanEval, MBPP) до работы агентов (SWE-Bench, Terminal-Bench). Для каждой пары моделей они измеряли transfer gap — разницу между "перенёс промпт напрямую" и "оптимизировал промпт для новой модели с нуля".
Сначала зафиксировали масштаб проблемы: промпт GPT-5, дающий 99.39% на HumanEval для GPT-5, даёт лишь 68.70% на Llama-3.1-70B (при том что оптимальный промпт для Llama достигает 79.47%). Дрифт 10+ процентных пунктов — норма, не исключение, даже между моделями одного семейства (GPT-4o → o3).
Затем проверили PromptBridge: взяли 10-20 калибровочных задач, оптимизировали промпты для обеих моделей через MAP-RPE (5-10 итераций рефлексии на задачу), извлекли паттерны трансформации, применили к новым задачам. Результат удивил даже авторов: на SWE-Bench (реальные GitHub issues) точность выросла на 27.39% при переходе на o3, на Terminal-Bench (работа с командной строкой) — на 39.44%. Это не просто "стало лучше" — это разница между "не работает" и "работает".
Почему такой эффект? Оказалось, что модели систематически расходятся в мелочах, которые критичны: Llama ожидает пронумерованные шаги там, где GPT понимает prose-инструкции; Claude лучше работает с явными разделителями секций; DeepSeek требует более директивных формулировок. Каждое такое расхождение — это 2-5% точности. PromptBridge автоматизирует то, что опытные инженеры делали вручную — A/B тестирование промптов при миграции.
Особенно ценно: метод не требует обучения (training-free), работает с любыми моделями через API, а калибровка на 10 задачах переносится на сотни других. Ключевой инсайт — паттерны трансформации переносимы внутри типа задач: если научился адаптировать промпты для code generation, это работает на новых coding-задачах без реоптимизации.
Адаптации и экстраполяции
🔧 Техника: Ручная MAP-RPE без инфраструктуры
Оригинальная MAP-RPE требует код для автоматизации итераций. Но принцип можно применить вручную в чате:
Я оптимизирую промпт для задачи: {описание_задачи}.
Вот текущий промпт:
{текущий_промпт}
Вот примеры выполнения (3-5 штук):
Пример 1: [вход] → [вывод модели] → [что не так]
Пример 2: [вход] → [вывод модели] → [что не так]
...
Проанализируй паттерны ошибок и предложи ОДНО конкретное улучшение промпта.
Не предлагай несколько вариантов — выбери лучшее изменение.
Объясни:
1. Какую проблему решает изменение
2. Почему это изменение сработает
3. Новая версия промпта
После получения новой версии — тестируй на 3-5 новых примерах, повтори цикл. Это ручная реализация рефлексивной оптимизации. Остановись после 5-7 итераций или когда улучшения перестанут быть значительными.
Эффект: Систематическая оптимизация вместо хаотичного "попробую переформулировать". Модель сама выявляет паттерны и предлагает целенаправленные изменения.
🔧 Техника: Экспресс-калибровка на 3 задачах
Полная PromptBridge требует 10-20 калибровочных задач. Для быстрой адаптации можно использовать минимальную версию:
Я переключаюсь с {исходная_модель} на {целевая_модель}.
У меня есть 3 примера, где промпты отличаются:
1. Задача: {краткое описание}
{исходная_модель}: {промпт}
{целевая_модель}: {промпт}
2. Задача: {краткое описание}
{исходная_модель}: {промпт}
{целевая_модель}: {промпт}
3. Задача: {краткое описание}
{исходная_модель}: {промпт}
{целевая_модель}: {промпт}
Какие 3 ГЛАВНЫХ паттерна различий ты видишь?
Фокусируйся на структурных и форматных изменениях, не на содержании.
Теперь адаптируй мой промпт: {промпт_для_адаптации}
Эффект: Жертвуешь полнотой ради скорости. Для 80% случаев 3 задачи покроют основные различия. Если адаптация не сработала — добавь ещё 2-3 примера из проблемных зон.
🔧 Техника: Обратный мост (целевая → исходная)
PromptBridge работает в одну сторону (исходная → целевая). Но можно создать двунаправленный мост:
После извлечения правил трансформации (исходная → целевая), попроси:
Ты извлёк правила трансформации с {исходная_модель} на {целевая_модель}.
Теперь сформулируй ОБРАТНЫЕ правила — как трансформировать промпт с {целевая_модель} обратно на {исходная_модель}.
Используй ту же структуру анализа:
1. Структурные изменения
2. Форматирование
3. Специфичные конструкции
4. Стиль формулировок
5. Паттерны вывода
Применение: Если компания А/В тестирует разные модели, можно быстро переключаться туда-обратно без потери качества промптов. Или если временно переходишь на другую модель (из-за rate limits, downtime), а потом возвращаешься.
🔧 Комбинация: PromptBridge + Multi-Persona Reflection
Усиль извлечение паттернов через множественные перспективы:
Я переключаюсь с {исходная_модель} на {целевая_модель}.
Вот пары промптов: [примеры]
Проанализируй различия с трёх точек зрения:
**Системный архитектор:** Как меняется структура и организация инструкций?
**Лингвист:** Как меняется язык, синтаксис, стиль формулировок?
**Поведенческий аналитик:** Как меняются ожидания модели относительно формата ответа и workflow?
Затем синтезируй общие правила трансформации из всех трёх перспектив.
Эффект: Более глубокий анализ различий, меньше риск упустить неочевидные паттерны. Особенно полезно для сложных multi-agent систем, где промпты имеют много слоёв (роли, workflow, форматирование).
Ресурсы
PromptBridge: Cross-Model Prompt Transfer for Large Language Models
Yaxuan Wang, Quan Liu, Zhenting Wang, Zichao Li, Wei Wei, Yang Liu, Yujia Bao
University of California, Santa Cruz; Center for Advanced AI, Accenture
Код будет доступен на GitHub: PromptBridge
Связанные работы упомянутые в исследовании: - AlphaEvolve (Novikov et al., 2025) — эволюционная оптимизация через рефлексию, вдохновение для MAP-RPE - GEPA (Agrawal et al., 2025) — рефлексивная оптимизация с Pareto-балансом - DSPy (Khattab et al., 2024) — автоматизация дизайна multi-module LLM систем - Chain-of-Thought prompting (Wei et al., 2022) — фундаментальная техника улучшения reasoning
