跳到主内容
@wquguru
精选88r/LocalLLaMA(Reddit)技巧与观点

Memdoor团队解题工作流:5个Qwen3.8-27B模型击败Fable 5

Memdoor: A team of 5 Qwen3.8-27B models beats Fable 5 on LiveCodeBench Hard

原文
发到 X
推荐理由

做Agent和工程落地的同学必看,这套无代码YAML配置的小模型多智能体协作流程,用极低成本实现了超越单一大模型的复杂任务处理能力,值得直接拿来压测你的链路。

team-solve

Five small models solve a programming problem together: a planner, two ideators, a solver and a manager, plus a repair worker. Each starts from a fresh context and talks only through files on disk. A script that runs the samples decides success, not a model. It is the method of GVS5H (Lee, 2026), written as a Memdoor workflow: eight YAML files, no code, no model named.

五个小模型协同解决一个编程问题:一个规划器、两个构思者、一个求解器和一个管理者,外加一个修复工人。每个模型都从全新的上下文开始,仅通过磁盘上的文件进行通信。决定成功与否的是运行示例的脚本,而非模型本身。这是 GVS5H 的方法(Lee, 2026),以 Memdoor 工作流的形式编写:八个 YAML 文件,无代码,未命名任何模型。

The result

结果

The authors' harness rebuilt on the same model, Qwen3.8-27B, with their prompts, loop and 128K reply cap. The first ten problems of their LiveCodeBench Hard list, five passes each, graded on every hidden test with their corrected grader:

作者在同一模型 Qwen3.8-27B 上重建了测试框架,使用他们的提示词、循环逻辑和 128K 回复上限。对其 LiveCodeBench Hard 列表中的前十个问题,每个问题尝试五次,并使用他们修正后的评分器对每个隐藏测试用例进行评分:

passthis workflowauthors' harnessFable 5, one call
110 / 1097
210 / 10108
310 / 101010
410 / 1098
59 / 10107
mean9.89.68.0
pass本工作流作者的框架Fable 5,单次调用
110 / 1097
210 / 10108
310 / 101010
410 / 1098
59 / 10107
mean9.89.68.0

The authors' two columns are the regraded result files in their repository, the numbers in their paper. Our column is bench/results/parity-5pass/: all 50 runs, each with every request and reply, the program, the grader's output and the cost. A run took a median of 40 minutes and $0.39; the 50 cost $35.79.

作者的两列数据是其仓库中重新评分的结果文件,即其论文中的数字。我们的一列是 bench/results/parity-5pass/:包含全部 50 次运行,每次运行均包含所有请求和回复、程序代码、评分器的输出以及成本。单次运行的中位时间为 40 分钟,成本为 0.39 美元;50 次运行的总成本为 35.79 美元。

What this does and does not show:

此结果展示与未展示的内容:

  • Ten problems, five passes, not the authors' 100. On a sample this small, 9.8 and 9.6 are the same number. The claim is parity with their harness, not a gain on it.
  • The contests date from spring 2025 and the model may have seen them in training. Contamination cannot be ruled out, for any column.
  • Fable 5's column is one call per problem, from the authors' files. It was not run in this harness.
  • The loop sees only the public samples; the score is the hidden tests.
  • The model ran on OpenRouter, not a local machine.
  • The one lost problem: the manager invented a wrong counterexample and the team rewrote a correct program. Twice elsewhere a correct program was overwritten and then recovered. Both gaps are the authors' loop, kept as is.
  • 十个问题,每个问题五次尝试,而非作者的一百个。在如此小的样本量下,9.8 和 9.6 并无实质差异。此处声称的是与作者框架持平,而非超越。
  • 竞赛始于 2025 年春季,该模型可能在训练过程中见过这些题目。对于任何一列数据,都无法排除污染的可能性。
  • Fable 5 的一列数据来自作者的文件,每个问题仅调用一次。它并未在此框架中运行。
  • 循环仅能看到公开样本;分数基于隐藏测试用例。
  • 模型在 OpenRouter 上运行,而非本地机器。
  • 唯一失败的问题:管理者编造了一个错误的反例,团队随后重写了一个正确的程序。在其他两处,正确的程序曾被覆盖后又恢复。这两个差距均归因于作者的循环逻辑,此处保持原样。

The parity check (every request byte for byte against their code), the hosts, the changes it took and the first run's findings are in NOTES.md.

逐字节比对请求与作者代码的校验结果、主机信息、所需的更改以及首次运行的发现,详见 NOTES.md。

Run it

运行它

代码 · 9 行
curl -fsSL https://memdoor.ai/install.sh | bash
memdoor connect openrouter        # or anthropic, openai, gemini, chatgpt
# or no key: memdoor connect local   (Ollama, llama.cpp, vLLM, LM Studio; Ollama needs a 32K window, not its 4K default)
git clone --depth 1 https://github.com/guregodevo/memdoor
mkdir -p ~/.memdoor/workflows
cp -r memdoor/examples/workflows/team-solve ~/.memdoor/workflows/
mkdir my-problem && cd my-problem
cp -r ../memdoor/examples/workflows/team-solve/sample/* .    # task.md + tests/1.in … 5.out
memdoor workflow run team-solve --wait   # exit 0 when every sample passes

For your own problem, replace task.md and put paired tests/N.in / tests/N.out beside it. The program is solution.py, read from stdin, compared to the samples with diff; it needs Python 3 and bash. /workflow in memdoor tui draws the run live.

针对你自己的问题,替换 task.md,并在其旁边放置配对的测试文件 tests/N.in 和 tests/N.out。程序为 solution.py,从标准输入读取,使用 diff 与样本进行比较;需要 Python 3 和 bash。memdoor tui 中的 /workflow 可实时绘制运行过程。

The steps name no model: whatever /model is pinned to answers, a local one included (how to connect one). To change a role, change its prompt in steps/.

步骤中未指定具体模型:无论 /model 指向哪个模型(包括本地模型,如何连接见相关说明)均可回答。若要更改角色,请修改 steps/ 目录下的对应提示词。

How it works

工作原理

代码 · 2 行
plan ──┬── ideate-a ──┬── solve ── test ── review ── repair ── verify
       └── ideate-b ──┘
stepkindreadswrites
planagenttask.mdplan.md, notes.md
ideate-a, ideate-bagent, in parallelthe plana proposal each: the most direct provable algorithm, and one from another family
solveagentboth proposalssolution.py, the decision in notes.md
testcommandtests/test-output.log (never fails the run)
reviewagentthe test outputrepair instructions in notes.md
repairagentthe instructionsa fixed solution.py, or nothing
verifycommandtests/the verdict: a nonzero exit fails the run
步骤类型读取写入
计划智能体task.mdplan.md, notes.md
构思-a, 构思-b智能体,并行计划各提出一个方案:最直接的、可证明的算法,以及来自另一个家族的算法
求解智能体两个方案solution.py, notes.md 中的决策
测试命令tests/test-output.log(绝不会导致运行失败)
审查智能体测试结果notes.md 中的修复指令
修复智能体指令修复后的 solution.py,或无操作
验证命令tests/判决结果:非零退出码会导致运行失败

Every agent prompt says "fresh context, read the files, do not rely on chat". The paper credits that ledger discipline for the gain. Each step is one YAML file in steps/, in the format of mario, the engine underneath; requires: is the DAG.

每个智能体的提示词都写着“上下文是新的,请读取文件,不要依赖聊天记录”。论文将这一账本纪律归功于性能的提升。每个步骤都是 steps/ 目录下的一个 YAML 文件,采用 mario(底层引擎)的格式;requires 字段表示有向无环图(DAG)。

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

相似阅读

关联信息,但可能不是同一事件