В Memdoor воспроизвели метод GVS5H: Qwen3.8-27B набрала 9,8 из 10 на LiveCodeBench Hard

В Memdoor воспроизвели метод GVS5H: Qwen3.8-27B набрала 9,8 из 10 на LiveCodeBench Hard

В репозитории Memdoor опубликован пример team-solve: мультиагентная обвязка для задач по программированию, написанная как рабочий процесс Memdoor. Пять ролей (планировщик, два генератора идей, решатель, менеджер) и исправляющий работник стартуют каждый с чистого контекста и общаются только через файлы на диске. Успех решает не модель, а shell-скрипт, который прогоняет программу на примерах из условия. Это метод статьи GVS5H (Lee, 2026), название которой в источнике передано так: пять моделей Qwen3.8-27B сравнялись с Fable 5 на LiveCodeBench Hard.

Автор примера пересобрал метод с точными промптами авторов на Qwen3.8-27B (лимит ответа 128K, их цикл и промпты). Взяли первые десять задач из списка LiveCodeBench Hard авторов, по пять проходов; каждая программа проверена на всех публичных и скрытых тестах их исправленным грейдером. Итог: средний балл 9,8 из 10 по пяти проходам против 9,6 у собственной обвязки авторов и 8,0 у одного только Fable 5. Решено 49 из 50 запусков. Колонки авторов взяты из заново оценённых файлов результатов их репозитория (q38_multiagent_pN, fable5_single_pN). Все 50 запусков опубликованы в bench/results/parity-5pass/: каждый запрос и ответ, программа, полный вывод грейдера, стоимость каждого вызова и хост, который его обслужил, а также все попытки, не попавшие в зачёт.

Стоимость: 50 засчитанных запусков обошлись в $35,79 (15,3 млн выходных токенов), вместе с 16 попытками, прерванными по таймеру, остановленными для правки или поставленными на паузу, $38,77. Типичный запуск занимал около 40 минут времени модели (медиана; самый долгий, 4 часа) и стоил $0,39.

Автор сам перечисляет оговорки. Это десять задач и по пять проходов, а не 100 задач, как у авторов метода. Соревнования проходили с 29 марта по 6 апреля 2025 года, модель могла видеть их при обучении, поэтому утечку исключить нельзя. Колонка Fable 5, один вызов на задачу из файлов авторов, в этой обвязке он не запускался. Цикл видит только публичные примеры, а балл считается по скрытым тестам.

Отличие от оригинала, хост. У авторов была собственная vLLM в FP8, здесь всё шло через OpenRouter, а не на локальной машине. Провайдеров опрашивали в порядке Modal, CoreWeave, Parasail, Wafer, пока Modal не замедлился до 14 токенов/с; дальше использовали только FP8-хосты. Всего 203 вызова обслужил Modal, 27, CoreWeave, 115, Wafer; Modal не публикует свою точность. Три запуска перенесли на другой хост посреди прогона, сохранив готовые шаги. Совпадение с оригиналом по запросам проверяет lib/test_parity.py: он прогоняет multiagent_solve авторов и этот рабочий процесс на одной скриптованной модели и сравнивает каждый запрос побайтно (четыре случая, все совпали). Температуры (план 0,3, идеи 0,4, менеджер и работник 0,2), top_p 0,95, top_k 20, лимит 128K и до 10 раундов воспроизведены.

Файлы рабочего процесса написал сам агент-кодер Memdoor по описанию метода (25 октября 2026), вручную их никто не писал. Главная трудность была в тексте задачи: первая версия писала собственный файл условия вокруг каждой задачи, и модель на 27B планировала хуже, чем по точному тексту LiveCodeBench от авторов (план для arc196_c: 0 из 2 против 2 из 2). Для этого в Memdoor добавили четыре изменения: ответ из рассуждений модели, если текста нет; параметры top_p/top_k в строке модели; mark_cutoff для ответа, оборванного на лимите; вызов с собственным четырёхчасовым таймером.

Где система теряла баллы. В пятом проходе abc399_e (32 из 44 скрытых тестов) программа первого раунда была верной, но менеджер выдумал контрпример с неверным ожидаемым ответом, команда переписала решение, и новая программа прошла примеры, которые этот случай не покрывают. В четвёртом проходе arc196_c и arc196_d программа, проходившая все скрытые тесты, была затёрта поздним раундом, потому что менеджер не написал «готово»; обе задачи вернули верную программу до конца цикла (arc196_d, на 8-м раунде, arc196_c, на последнем вызове), это два самых дорогих запуска: $3,44 и $4,24. Обе проблемы, по словам автора, чинятся без смены метода (сверять контрпример менеджера с перебором на малых входах; сохранять последнюю программу, прошедшую примеры), но в опубликованные числа правки не входят.

В README есть и инструкция запуска: установка Memdoor, подключение провайдера (OpenRouter, Anthropic, OpenAI, Gemini, ChatGPT или локальные Ollama, llama.cpp, vLLM, LM Studio), копирование папки team-solve и команда memdoor workflow run team-solve --wait. Решение пишется в solution.py, читает stdin и сверяется с примерами через diff; нужны Python 3 и bash. Шаги модель не называют: отвечает та, что выбрана в /model. Схема: plan, затем две параллельные ветки ideate-a и ideate-b, далее solve, test, review, repair, verify. Каждый шаг, один YAML-файл. Раунд исправления один, человека в цикле нет. Каждый промпт агента требует «свежий контекст, читай файлы, не полагайся на чат»; статья, как передаёт источник, связывает прирост именно с этой дисциплиной записей. На демонстрационной задаче (подсчёт подстрок из a, b, c с равным числом каждой буквы, до 200 000 символов) прошли 8 шагов из 8 и 5 примеров из 5; решение работает за 0,04 с при N = 200 000.

Ключевые факты

  • Метод GVS5H (Lee, 2026) пересобран как рабочий процесс Memdoor на Qwen3.8-27B: пять ролей плюс исправляющий работник, у каждого свежий контекст, общение только через файлы, успех решает shell-скрипт на примерах.
  • На первых десяти задачах LiveCodeBench Hard по пять проходов средний балл 9,8 из 10 (49 из 50 запусков решены) против 9,6 у обвязки авторов и 8,0 у одиночного Fable 5.
  • 50 запусков стоили $35,79 (15,3 млн выходных токенов), с прерванными попытками, $38,77; медиана запуска, около 40 минут и $0,39.
  • Оговорки автора: 10 задач вместо 100, утечку данных обучения исключить нельзя, Fable 5, один вызов из файлов авторов, а не в этой обвязке, хост OpenRouter вместо собственной vLLM в FP8.
  • Потери баллов: контрпример менеджера с неверным ответом (abc399_e) и затирание верной программы поздним раундом (arc196_c, arc196_d); правки для обеих проблем описаны, но в числа не входят.

Почему это важно

Источник утверждает, что обвязка из ролей с чистым контекстом и файловым журналом на небольшой открытой модели Qwen3.8-27B догоняет и на этих десяти задачах обгоняет одиночный вызов Fable 5. Ценность этого примера в воспроизводимости: опубликованы все 50 запусков с запросами, ответами, программами, выводом грейдера и стоимостью, а совпадение запросов с оригиналом проверяется тестом. Результат касается только LiveCodeBench Hard и только первых десяти задач.

Кому это важно

Тем, кто строит многошаговые агентные цепочки для кода и хочет понять, насколько дисциплина «свежий контекст плюс файлы на диске» помогает на небольшой модели. Также тем, кто запускает такие циклы на OpenRouter или локально (Ollama, llama.cpp, vLLM, LM Studio) и хочет знать реальную стоимость: медиана $0,39 за запуск.

Как это применить

Пример можно запустить самому: установить Memdoor, подключить провайдера (или локальную модель без ключа), скопировать папку team-solve в ~/.memdoor/workflows/ и выполнить memdoor workflow run team-solve --wait в каталоге с task.md и парами tests/N.in и tests/N.out. Решение пишется в solution.py, нужны Python 3 и bash. Шаги не привязаны к модели: отвечает та, что выбрана через /model. Для своей задачи заменяют task.md и тесты. Автор отмечает, что промпты генераторов идей теперь не называют методы демонстрационной задачи, чтобы не сбивать другие задачи.

Можно ли доверять

Это сторонняя воспроизводимая сборка, а не независимая проверка авторами GVS5H: в источнике нет заявления, что они подтвердили результат. Данных мало: десять задач и по пять проходов, а не 100 задач; о значимости или разбросе разницы 9,8 против 9,6 источник ничего не сообщает. Сравнение с Fable 5, команда против одного вызова из файлов авторов, а не в одинаковых условиях. Автор сам указывает, что задачи датируются 29 марта, 6 апреля 2025 и модель могла видеть их при обучении. Плюс в том, что все запуски, включая непринятые попытки, опубликованы, а в данных правились только локальные пути.

Риски и подводные камни

Контрпримеры менеджера могут быть неверными: так проходной вариант abc399_e перезаписали ошибочным, а примеры из условия это не поймали. Верная программа может быть затёрта поздним раундом, если менеджер не сказал «готово». Оба дефекта автор считает исправимыми, но правки в числа не вошли. Хост отличается от оригинала: OpenRouter с несколькими провайдерами, один из них (Modal) не публикует точность, и он замедлялся до 14 токенов/с. Время и цена сильно разнятся: самый долгий запуск шёл 4 часа, два самых дорогих стоили $3,44 и $4,24.

«свежий контекст, читай файлы, не полагайся на чат»

— фраза, которая стоит в каждом промпте агентов рабочего процесса team-solve (README примера в репозитории Memdoor)