Math Modeling AI Agent Flow

AI Agent workflow for mathematical modeling competitions (CUMCM 国赛 / MCM-ICM 美赛). Solver → Paper → Finalizer → Growth. 数学建模全流程 AI 助手。

为数学建模比赛准备的四阶段 AI Skills。 从拿到赛题,到建模、论文、提交检查,再到赛后复盘。


🔍 主要特性

打比赛往往会遇到以下这些事:

队友彻底摆烂,建模、代码、论文突然全压到你一个人身上;

第一次参赛,题目每个字都认识,连起来却不知道第一步该干什么;

网上搜了一大堆提示词和模板,发现又麻烦又难用;

问 AI 问出十几套模型,每套都说得头头是道,却不知道哪套真的值得往下做;

模型终于跑完,又开始和格式、公式、图表、文风、语法死磕;

熬到提交前最后几个小时,还要面对另一个问题:

现在文件夹里的这些东西,到底能不能放心交?

这些都是我自己打数学建模时想解决的问题。

所以,我把一场比赛拆成了四个 Skills:

Solver → Paper → Finalizer → Growth

Solver 帮你把题做明白。 Paper 把模型和结果整理成一篇能讲清楚的论文。 Finalizer 在提交前检查数字、附件和最终版本。 Growth 在比赛结束后,把这三天真正学到的东西变成下一次还能用的经验。

四个 Skill 可以单独使用,也可以通过阶段交接一路接着跑下去。


Solver — 先把题做明白

Solver 负责建模阶段:

读题 → 发散方案 → 查证 → 选择模型 → 求解 → 验证 → 攻击结果 → 交接

拿到一道题以后,它会先保留多条可能的建模路线,再通过数据、约束、文献和实际求解结果逐步收敛。

得到一个候选答案以后,检查还没有结束。

Solver 会继续追问:

  • 参数的数量级合理吗?
  • 约束真的全部满足了吗?
  • 换一组初值还成立吗?
  • 有没有局部最优?
  • 有没有被忽略的经典失败模式?
  • 主动寻找这个答案的漏洞以后,它还能站得住吗?

通过验证的关键结果会被整理成明确的结果与证据,再交给 Paper 使用。

这样下一阶段拿到的就是一份已经整理过的建模成果。


Paper — 把做出来的东西讲明白

模型能跑,只解决了比赛的一半问题。

Paper 读取 Solver 已经确认的结果,把:

问题
 ↓
假设
 ↓
模型
 ↓
算法
 ↓
结果
 ↓
结论

整理成一条能够顺着读下去的论文主线。

它会重点处理几类很常见的问题:

公式已经改了,正文还在解释旧模型;

程序跑出了新结果,论文里还留着昨天的数字;

图表和正文说的是两件事;

模型本身没问题,论文却没把“为什么这样做”说明白。

因此,Paper 会让正文、公式、图表、算法和最终结果沿着同一份已确认事实继续展开。

Solver 负责把结果做出来,Paper 负责把过程讲清楚。


Finalizer — 提交之前,把所有东西重新查一遍

数学建模最后几个小时,经常死在一些特别小的问题上:

旧结果还留在正文里;

论文里的数字和附件对不上;

图已经换了,图注没换;

支撑材料漏了文件;

最终版、终稿版、终稿最新版同时躺在一个文件夹;

三个人都觉得“这个应该有人检查过了”。

Finalizer 专门负责这个阶段。

它会围绕最终提交物检查:

关键数字、正文、图表、附件、文件完整性和版本一致性。

确认过的内容进入冻结状态,发现冲突的地方继续追溯来源。

直到你能够回答一个很简单的问题:

我现在准备提交的这些文件,彼此说的是同一件事。


Growth — 打完比赛,把经验留下来

比赛结束以后,文件通常都会留下来。

比如一份 PDF。

几百行甚至几千行代码。

一堆图表。

几十轮 AI 对话。

还有虚假的收获感

过一个月再回头看,却经常只记得自己熬过夜。

Growth 会读取前三个阶段留下来的过程,把比赛重新拆开:

  • 当时为什么选择这个模型?
  • 哪一步判断做对了?
  • 哪些结果有充分证据,哪些只是刚好运气不错?
  • 时间主要浪费在哪里?
  • 哪些错误下一场比赛还可能重新出现?
  • 哪些数学、算法和写作知识值得比赛结束后继续补?
  • 下一次遇到类似问题,第一步应该怎么做?

我希望最后留下的不只是一份赛后总结。

还有把一次比赛整理成下一次可以继续使用的经验。


四个 Skill 怎么接起来?

每个阶段解决一个明确的问题,并把确认过的信息交给下一阶段。

                     Math Modeling Skills

赛题
 │
 ▼
Solver
思路发散 / 模型选择 / 求解 / 验证 / Self-Attack
 │
 │ 结果 + 证据 + Handoff
 ▼
Paper
论文结构 / 公式 / 图表 / 结果解释
 │
 │ Paper Handoff
 ▼
Finalizer
关键数字 / 附件 / 版本 / 一致性检查
 │
 ▼
最终提交
 │
 ▼
Growth
复盘 / 知识缺口 / 失败模式 / 下一次行动

长任务最容易出现的问题之一,是上下文越来越多以后,早期事实开始发生漂移。

所以四个 Skill 各自保存清晰的阶段目标,并通过 Handoff 传递已经确认的信息。


这套工作流怎么做判断?

先发散,再收敛

Solver 会先保留多个候选方向,再通过查证、求解和验证逐步淘汰。

第一个能跑通的模型只是候选方案。

验证自己初步结果的正确性

得到候选解以后,Solver 会主动寻找失败模式、异常参数、约束漏洞和局部最优。

一个经得住攻击的结果,比一句“结果合理”更有价值。

让关键事实有明确来源

关键结果通过阶段产物继续传递。

Paper 和 Finalizer 都围绕已经确认的数据工作,减少同一个指标在代码、论文和聊天记录里出现多个版本。

给比赛设置停止条件

比赛时间有限。

当模型已经达到当前证据能够支持的可信程度以后,工作重心会逐步转向论文、验证和最终提交。

该冻结的结果就冻结。


Quick Start

四个 Skill 可以分别安装。直接交给你的agent叫他帮你安装即可。(Claude code,codex等均可使用)

Solver

npx skills@latest add mantou6666/Math-Modeling-Agent-Flow --skill math-modeling-solver --global --yes

Paper

npx skills@latest add mantou6666/Math-Modeling-Agent-Flow --skill math-modeling-paper --global --yes

Finalizer

npx skills@latest add mantou6666/Math-Modeling-Agent-Flow --skill math-modeling-finalizer --global --yes

Growth

npx skills@latest add mantou6666/Math-Modeling-Agent-Flow --skill math-modeling-growth --global --yes

安装后,你可以从当前最需要解决的问题开始:

刚拿到赛题          → Solver
模型已经完成        → Paper
论文基本完成        → Finalizer
比赛已经结束        → Growth

也可以从 Solver 开始,沿着完整流程一路运行:

Solver → Paper → Finalizer → Growth

使用边界

这些 Skills 可以辅助建模、验证、论文整理、提交检查和赛后复盘。

它们不会替你承担最终判断。

数学模型是否成立、数据是否可靠、引用是否真实、结论是否能够解释,都需要参赛者自己确认。

不同比赛对 AI 工具的允许范围也不同。正式使用前,请阅读对应赛事当年的规则。

最终提交的每一个模型、数字、引用和结论,都应该是你自己能够解释的内容。

如果连自己都说不清楚,就不要交。


修改与二创

本项目使用 MIT License。

如果你希望调整工作流、修改 Skill 行为或者做成更适合自己的版本,可以直接 Fork 后自行修改和发布。


为什么做这个项目?

最开始,我只是想把自己打数学建模时反复遇到的问题解决掉。

做着做着,我发现很多时间其实消耗在一些非常具体的地方:

AI 给出了太多方向,却没人负责收敛;

模型已经更新,论文还在引用旧结果;

任务跑了几十轮以后,前面的事实开始慢慢漂移;

得到一个不错的答案以后,很少有人继续主动找它的问题;

比赛结束以后,踩过的坑跟着聊天记录一起被忘掉。

于是这些问题一个个变成了现在的四个 Skills。

Solver 管建模。

Paper 管论文。

Finalizer 管提交。

Growth 管真正学到了什么。

最后分享一句我很喜欢的话:

我们不是一定要先成长再开始。

我们也可以选择在开始中成长。


⭐️ 如果这套四阶段流程帮到了你

这套工具完全开源(MIT License),是一个大学生熬夜手搓出来的。

如果你觉得「先发散 → 再收敛 → 再攻击自己的结果」这套思路救了你的命,或者准备比赛时想把它接着用下去,欢迎在 GitHub 右上角顺手点个 Star ⭐️。

你的每一个 Star,都是这个牛马大学生继续更新这套工具的燃料。