672 次工具调用满分通关:MiMo-V2.5 Pro 从零写完整编译器

672 次工具调用满分通关:MiMo-V2.5 Pro 从零写完整编译器

从零写一个编译器,是计算机专业课程里最复杂的项目之一。它要求你同时理解词法、语法、中间代码、目标架构和性能优化——而且每一个环节的错误都会传导到后续阶段。

MiMo-V2.5-Pro 把这个项目从头到尾自己做完了,没有人类接管,没有中途崩溃,拿到了满分。

项目背景

北大 SysY 编译器课程要求用 C 语言实现一个完整的编译器,支持一个简化版的 C 语言子集(SysY),编译目标为 RISC-V 汇编。

这不是写一个脚本工具——你需要处理五个阶段的完整流水线:

  1. 词法分析:将源代码分解为 token 流
  2. 语法分析:构建抽象语法树(AST)
  3. 中间代码生成:从 AST 生成三地址码
  4. RISC-V 后端:将中间代码翻译为 RISC-V 汇编
  5. 性能优化:寄存器分配、指令调度、死代码消除

任何一个阶段的 bug 都会导致最终生成的汇编无法运行。而且五个阶段之间存在复杂的接口约定,需要全局理解。

MiMo-V2.5-Pro 的成绩

指标
用时4.3 小时
工具调用次数672 次
得分233/233 满分
中断次数0
人类接管0

672 次工具调用意味着什么?如果每次调用平均需要几秒钟的推理和工具执行,那意味着模型在数小时的持续工作中,保持了决策的一致性和上下文的连贯性。

为什么这是一个重要的里程碑

大多数 Agent 模型在几十轮工具调用后就开始出问题——忘记之前的变量名、搞混函数签名、在模块之间引入不一致的接口约定。这是”上下文衰减”问题。

MiMo-V2.5-Pro 在 672 次调用中保持了 233/233 的满分,说明:

  • 记忆能力:能在超长任务中维持早期决策的准确性
  • 推理稳定性:不会因为任务长度而降低推理质量
  • 接口一致性:五个阶段的接口约定完全正确,没有传导错误

这意味着它”自主完成人类专家数天甚至数周的高难度工作”这个宣称,至少在这个级别的工程任务上是成立的。

对比视角

编译器的编写通常需要一个学期的时间——学生从词法分析开始,逐步完成每个阶段,中间会遇到无数 bug 和调试。MiMo-V2.5-Pro 在 4.3 小时内完成,不是因为写得更快,而是因为它不需要”调试-修改-再调试”的循环——672 次调用中保持了足够高的准确率。

当然,这是一个标准化的课程项目,有明确的评分标准。但它验证了一个关键能力:长周期、多阶段、强依赖关系的工程任务,Agent 模型可以自主完成。

来源