Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Алгоритмического агента научили закреплять удачные собственные решения в весах модели, а не заново подсовывать их в запрос при каждом шаге. В препринте Nanjing University и Huawei, который не проходил рецензирование и где все числа получили сами авторы, такой агент ускорил выбранные GPU-ядра в среднем в 8,27 раза относительно PyTorch Eager. Подход имеет смысл закладывать в архитектуру узкого алгоритмического агента, если он многократно решает задачи одного класса и получает проверяемую оценку результата.
Почему история решений может ухудшить поиск
Обычный эволюционный агент хранит несколько программ, выбирает подходящие образцы и просит замороженную LLM изменить или объединить их. Новые варианты проходят проверку, лучшие возвращаются в архив, после чего цикл повторяется. Так устроены, например, OpenEvolve и ShinkaEvolve.
Модель при этом не осваивает предметную область: знания остаются в запросе, а её веса не меняются. Если раннее рассуждение содержит ошибку, агент снова передаёт её модели вместе с программой и результатами проверки. Следующие варианты наследуют не только полезный код, но и неверное объяснение того, почему он работает.
В диагностических опытах Qwen3-8B зависела от предметных подсказок и без них хуже составляла допустимые программы. OpenEvolve и ShinkaEvolve на задачах размещения элементов чипа уступали прямой генерации той же базовой моделью. В разобранном авторами примере агент добавлял составное уменьшение шага обучения, из-за которого оптимизатор останавливался, но продолжал использовать ошибочную логику в следующих итерациях.
Работа связывает это с локальным застоем: собственный контекст модели повышает вероятность уже знакомых рассуждений, даже если они ведут в неверную область поиска. Увеличивать контекст в такой ситуации недостаточно — история становится частью проблемы.
Как отобранная популяция меняет веса модели
Предложенный метод PCPO сохраняет общий архив проверенных программ и использует его не только как память для запроса, но и как материал для обучения. Архив удаляет программы, которые отличаются лишь комментариями или оформлением, отсеивает недопустимый код и объединяет семантически близкие варианты. При отборе учитываются качество результата и отличие программы от уже сохранённых.
Обновление модели совмещает два режима. Сначала текущая версия модели генерирует свежие варианты и быстро учитывает обратную связь от их выполнения. Затем она периодически учится на лучших программах из общего архива, причём обновление ограничивают, чтобы старая выборка не слишком резко сдвигала модель.
Замысел опирается на цепочку небольших улучшений. Если обучение повышает вероятность уже найденной программы, оно может одновременно повысить вероятность близкой программы с небольшими изменениями. Тогда следующий полезный вариант становится проще сгенерировать, проверить и снова закрепить в весах.
Это условный результат, а не гарантия сходимости. Вывод требует, чтобы соседние программы оставались близки по вероятности до и после обновления. Он также не доказывает, что каждый следующий вариант окажется лучше или что агент вообще найдёт цепочку до оптимального алгоритма.
Когда архив стоит переносить в веса модели
Основной эксперимент посвящён расписаниям шага обучения для размещения элементов чипа. PCPO обучали на 4 проектах, а проверяли на 16. Базой служила Qwen3-8B; качество оценивали по суммарной длине соединений после размещения, где меньшее значение означает лучший результат.
PCPO улучшил исходный результат DREAMPlace в среднем на 1,54% и обошёл OpenEvolve, ShinkaEvolve, GPT-4o и Codex. С GPT-5.5 результат оказался сопоставимым: PCPO выиграл на обучающих проектах, но немного уступил на тестовых. Дополнительная проверка охватила 4 задачи KernelBench по написанию GPU-ядер, где метод занял лучшее среднее место среди сравниваемых подходов.
Эти результаты не означают, что любую цепочку запросов стоит заменить дообучением. PCPO требует исполняемых кандидатов и автоматической оценки, по которой можно ранжировать программы. Работа проверяет подход на размещении элементов и GPU-ядрах — в обоих случаях код можно запустить, измерить и отфильтровать без ручной разметки.
Для команды, которая строит такого агента, меняется граница между памятью и обучением. Вместо бесконечного роста запросов можно хранить компактный архив разнообразных решений, планировать периодические обновления весов и после обучения запускать модель без длинных рассуждений и набора примеров в контексте. Это особенно уместно для повторяющихся задач одной предметной области; для разовых или плохо измеримых задач работа не даёт основания усложнять систему контуром обучения.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



