TL;DR:
Если просить LLM подбирать варианты решения итеративно — с фидбеком после каждой попытки — модель ведёт себя как самообучающийся перебор: смотрит на историю попыток и результатов, и на основе неё предлагает следующую партию вариантов. По сути это цикл "предложи — оцени — учти результат — предложи снова", без всякого дообучения, чисто через диалог.
Модель неплохо справляется даже с абстрактными числовыми задачами (например, найти оптимальную точку в многомерном пространстве), но результат нестабилен. Если задачу "переодеть" — сменить оси, инвертировать шкалу, замаскировать диапазон — качество резко падает, особенно с ростом числа переменных и объёма партии предложений за раз. Причина: модель отчасти узнаёт знакомую форму задачи из обучения, как будто вспоминает ответ, а не считает его — и когда узнавание не срабатывает, начинает путаться.
Зато в задачах, которые можно описать смыслом — словами, а не голыми числами (в исследовании это подбор молекул через текстовую запись их структуры) — модель работает значительно лучше и экономичнее по числу попыток, чем в числовой оптимизации. И ещё один важный момент: если вести весь перебор в одном непрерывном диалоге, а не начинать заново каждый раз, качество заметно растёт — модель реально использует память о прошлых попытках для рассуждений.
Схема метода
ШАГ 1 (в одном диалоге): Дать модели контекст задачи + историю всех уже опробованных вариантов с их результатами
→ модель предлагает следующую партию новых вариантов
ШАГ 2 (вне диалога): Оценить каждый предложенный вариант реальным способом (тест, метрика, экспертная оценка)
→ добавить результат в историю
ШАГ 3: Повторить шаг 1 в том же диалоге, не открывая новый чат
→ до достижения лимита попыток или нужного результата
Пример применения
Задача: Маркетолог тестирует заголовки email-рассылки для интернет-магазина косметики. Бюджет — 5 раундов тестов по 5 заголовков, цель — максимизировать открываемость (open rate).
Промпт (первый раунд, дальше — в том же диалоге):
Помогаешь подобрать заголовок email-рассылки для интернет-магазина косметики,
чтобы максимизировать open rate.
Вот 5 заголовков и их open rate после теста на 1000 подписчиков:
1. "Скидка 20% только сегодня" — 18%
2. "Новинки для вашей кожи" — 12%
3. "Ваш подарок ждёт внутри 🎁" — 24%
4. "Обновление ассортимента" — 9%
5. "Последний день акции!" — 21%
На основе этих результатов предложи 5 новых заголовков,
которые могут дать более высокий open rate.
Кратко объясни, какие паттерны из удачных заголовков ты использовал.
Результат: Модель предложит новую партию заголовков с объяснением закономерностей (эмоджи, срочность, вопрос-подарок и т.п.). Дальше в этом же диалоге отправляешь результаты нового теста — и так по кругу. Важно: не открывать новый чат на каждой итерации, а продолжать один и тот же разговор.
Почему это работает
У LLM нет внутреннего калькулятора — она не «вычисляет» оптимум, а угадывает его по паттернам. В чисто числовых абстрактных задачах модель часто опирается на узнавание знакомой формы задачи из обучения, а не на реальный расчёт — и когда задачу маскируют, узнавание ломается, а с ним и качество.
Зато сильная сторона LLM — работа со смыслом. Вся её подготовка — это язык, поэтому когда объект оптимизации описан словами (текст письма, структура молекулы, дизайн-концепция), модель может рассуждать: «этот вариант сработал, потому что...», а не просто перебирать числа наугад.
Оптимизационный цикл через диалог использует именно эту сильную сторону: заставляет модель рассуждать над историей попыток в естественно-языковой форме — среде, которая ей ближе, чем голые числа. А ведение одного непрерывного диалога даёт модели возможность держать в голове всю историю рассуждений, а не терять контекст на каждом шаге.
Рычаги управления: - Размер партии вариантов за раз → чем больше вариантов просишь сразу, тем чуть хуже качество каждого. Для точности проси 1-2 варианта за итерацию, для скорости — можно больше. - Один диалог против новых чатов → всегда веди историю в одном непрерывном диалоге, не начинай заново. - Смысловая обёртка задачи → если можешь описать задачу через контекст и смысл, а не абстрактные числа — модель рассуждает заметно лучше. - Число итераций → больше раундов с фидбеком даёт лучший результат, но с падающей отдачей после 3-4 раундов.
Шаблон промпта
Мы подбираем {что оптимизируем}, чтобы максимизировать {метрика успеха}.
Вот варианты, которые мы уже попробовали, и их результат:
{вариант 1} — {результат 1}
{вариант 2} — {результат 2}
...
На основе этой истории предложи {число} новых вариантов,
которые могут показать лучший результат по {метрика}.
Кратко объясни, какую закономерность из прошлых результатов ты использовал.
Подставляй: что оптимизируешь (заголовок, цену, описание товара, скрипт продаж), метрику успеха (клики, конверсия, отклик), историю попыток с результатами, сколько новых вариантов нужно.
🚀 Быстрый старт — вставь в чат:
Вот шаблон итеративного подбора вариантов с фидбеком. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какую метрику ты оптимизируешь и как формулировать результаты тестов — потому что без чёткой метрики модель не сможет находить закономерности в истории попыток.
Ограничения
⚠️ Чисто числовые задачи без смысла: если оптимизируемый параметр — просто число без описания (курс, доза, координата), результат нестабилен, особенно когда переменных становится больше 3-4.
⚠️ Большие партии вариантов: чем больше вариантов просишь за раз, тем ниже качество каждого отдельного варианта.
⚠️ Эффект «узнавания»: если задача похожа на известную головоломку, модель может подставить готовый ответ из памяти вместо реального решения — тестируя LLM на своих задачах, избегай классических примеров.
⚠️ Против специализированных инструментов: в сравнении с узкоспециализированными системами, обученными конкретно под задачу, LLM в среднем расходует больше попыток на тот же результат — для критичных по бюджету задач специализированный инструмент выигрывает.
Ресурсы
Frank Hu, Shriram Chennakesavalu, David Graff — Prescient Design, Genentech. Тестировали модели Anthropic (Sonnet 4.6, Opus 4.8, Opus 5) на классических функциях оптимизации (Branin, Hartmann, Ackley, Rastrigin) и на молекулярном бенчмарке PMO (Practical Molecular Optimization).
