MAKER框架
通过SPRT投票、红旗和微代理编排实现零误差远程LLM执行
    
## ⚠️ 实验性-不用于生产 这是一个研究实验,而不是生产软件。 - 目的:验证和探索研究论文中的主张 零错误解决百万步LLM任务 (Meyerson等人,2025) - 目标:实施MAKER算法,发现替代方法,测试零误差LLM执行的边界 - 状态:积极研究-可能永远无法达到生产准备状态 - 使用风险自负:API将发生变化,结果是实验性的,不适合关键应用
MAKER(具有K-margin Error Reduction的大规模分解代理过程)是一个Rust实现,探索LLM代理中基于数学的纠错。它通过基于SPRT的投票、红旗验证和m=1微代理分解来测试零错误执行。
基于: 零错误解决百万步LLM任务 (Meyerson等人,2025)
问题
即使每步准确率为99%,1000步任务的成功率也只有0.004%。MAKER算法旨在通过对数成本缩放将其转化为95%以上的可靠性。
此实现探讨了该主张在实践中是否成立。
| 任务长度 | 初始成功率 | MAKER成功率 | MAKER成本扩展 |
|---|---|---|---|
| 7个步骤 | 93% | 99%+ | 21个样本 |
| 1023步 | 0% | 95%+ | ~6138个样本 |
| 1M步 | 0% | 95%+ | Θ(s ln s) |
快速开始
作为Rust库
use maker::core::{calculate_kmin, MockLlmClient, VoteConfig, vote_with_margin};
// Calculate required k-margin for your task
let k = calculate_kmin(
0.85, // p: per-step success probability
0.95, // t: target task reliability
1_023, // s: total steps (10-disk Hanoi)
1, // m: steps per agent (must be 1)
).unwrap();
// Run error-corrected voting
let client = MockLlmClient::constant("correct_answer");
let config = VoteConfig::default();
let result = vote_with_margin("What is 2+2?", k, &client, config).unwrap();
println!("Winner: {} ({} samples)", result.winner, result.total_samples);作为MCP服务器
# Build and run
cargo build --release
cargo run --bin maker-mcp添加到您的Claude Code MCP配置中:
{
"mcpServers": {
"maker": {
"command": "/path/to/maker-mcp",
"args": [],
"env": {
"OPENAI_API_KEY": "your-key",
"ANTHROPIC_API_KEY": "your-key"
}
}
}
}运行Demos
看 验证演示 下面是详细的文档和结果。
验证演示
这些演示验证了MAKER针对不同任务类型的纠错能力。
河内演示(examples/hanoi_demo.rs)
目的:验证MAKER在需要算法思维的多步骤推理任务中的表现。
# 3-disk Hanoi (7 steps) with OpenAI
cargo run --example hanoi_demo -- --disks 3 --provider openai
# 5-disk Hanoi (31 steps) with strict mode (halt on first error)
cargo run --example hanoi_demo -- --disks 5 --provider openai --strict
# With ensemble (multiple providers)
cargo run --example hanoi_demo -- --disks 3 --provider openai --ensemble
# Mock mode for CI/testing
MAKER_USE_MOCK=1 cargo run --example hanoi_demo -- --disks 10 --accuracy 0.85关键标志:
| 标志 | 描述 |
|---|---|
--disks N | 磁盘数量(1-20) |
--provider | LLM提供者: ollama, openai, anthropic |
--model | 模型名称覆盖 |
--strict | 在第一个错误时停止(真零错误模式) |
--ensemble | 启用多提供商集成 |
结果 (gpt-5-mini):
- 31/31步骤(5盘) 0个错误 使用少镜头+思维链提示
- 每步平均约2.7个样本
- p_hat收敛到0.950(目标可靠性)
关键发现:原始提示在步骤2失败(系统推理错误)。很少有镜头示例+思维链提示将系统性错误转化为投票可以纠正的随机错误。
算术演示(examples/arithmetic_demo.rs)
目的:在具有真正随机错误(计算错误)的任务上验证MAKER。
# 20 problems with OpenAI
cargo run --example arithmetic_demo -- --problems 20 --provider openai
# 50 problems with higher difficulty
cargo run --example arithmetic_demo -- --problems 50 --provider openai --difficulty 3
# Strict mode with reproducible seed
cargo run --example arithmetic_demo -- --problems 50 --provider openai --strict --seed 42
# Mock mode for CI/testing
MAKER_USE_MOCK=1 cargo run --example arithmetic_demo -- --problems 100 --accuracy 0.90关键标志:
| 标志 | 描述 |
|---|---|
--problems N | 要解决的问题数量 |
--difficulty 1-5 | 数字大小(10^难度) |
--provider | LLM提供者 |
--strict | 第一次出错时停止 |
--seed N | 可再现的问题生成 |
结果 (gpt-5-mini):
- 50/50的问题通过以下方式纠正 0个错误
- 平均每个问题2.7个样本
- 处理加法、减法、乘法
关键发现:随机计算错误可通过投票有效纠正。这验证了MAKER的核心前提——投票纠正随机错误。
______________________________________________________________________
研究发现
我们的验证实验揭示了关于MAKER适用性的重要见解:
制造商可以纠正什么
| 错误类型 | 示例 | 是否可纠正? | 为什么 |
|---|---|---|---|
| 随机误差 | LLM偶尔会误算73-38✅ 是 | 独立错误通过投票取消 | |
| 迅速推理 | 河内,枪击案很少 | ✅ 是 | 将系统误差转换为随机误差 |
MAKER无法更正的内容
| 错误类型 | 示例 | 是否可纠正? | 为什么 |
|---|---|---|---|
| 系统误差 | 法学硕士无法解释河内的原因❌ 否 | 所有样本均以相同的方式失败 | |
| 知识缺口 | LLM不知道算法 | ❌ 否 | 投票就错误答案达成共识 |
关键洞察
MAKER纠正随机错误,而不是系统推理失败。 如果法学硕士在某项任务中一直失败,投票将就错误的答案达成共识。及时的工程设计(少数镜头示例,思维链)对于将系统故障转化为投票可以纠正的随机错误至关重要。
观测精度
| 任务 | 模型 | 每步精度 | 样本/步 |
|---|---|---|---|
| 算术(难度3) | gpt-5-mini | ~95% | 2.7 |
| 河内(少量射击+CoT) | gpt-5-mini | ~95% | 2.7 |
| 河内(原始提示) | gpt-5-mini | \ Meyerson,E.,Qiu,X.,&Lehman,J.(2025)。 *零错误解决百万步LLM任务*. arXiv:2511.09030 |
参考文献
- Meyerson,E.等人(2025)。 *零错误解决百万步LLM任务*. arXiv:2511.09030
- 人类学。 (2024). *引入模型上下文协议*. anthropic.com
- 瓦尔德,A.(1945)。 *序列分析*(SPRT基础工作)
许可证
麻省理工学院-见 许可证
