6274 字
31 分钟
最新Deepseek V4 Pro数学建模SOLO工作流
2026-05-15
统计加载中…… 阅读:    访客: 统计加载失败
TIP

本文面向零编程、零论文、有数模基础人群,但你必须会基本的电脑操作,最好还自己弄过盗版资源和破解流程。

有数模基础指至少参加、完整走过流程并成功提交过一次的选手。本工作流通过脚本和AI自动化了很多内容,如果你完全不会手动进行这些过程的步骤,请谨慎使用,出问题不保修。

如果你有编程或论文基础,这个工作流会让你更加高效。

本文重点面向弱校一带二或零队友人群,需要你有较强的自学能力。

数学建模是一个团队比赛。一般来说,比起传统的”建模手/编程手/论文手”配置的表面工程多线程,有效的团队都是三人一起讨论建模、一起编程、一起同步写论文的。

当然我几乎没体验过这一点,上面的说法只是国赛大神们的自述与我的想法契合的部分而已。我今天要介绍的工作流是一个纯Solo、能稳定拿出有或无创新论文论文、基于便宜的dsv4、开销30R以内的工作流。适合我这样的二本臭上进拿来自救。

必须学习的东西#

1. 数学模型本身#

理解基本数学模型是创新的基础,也是看懂ai出的图的基础。对模型的了解直接决定你能否做出合适的创新。

2. Markdown格式#

这是生成式AI最常用的回复格式,它可以让AI改论文时大幅减轻上下文负担。

这是一种与Office Word(可视化型)和LaTeX(基本是一个自足的排版系统)完全不属于同一分支的富文本格式,严格来说它属于第三个分支:HTML分支。虽然HTML已经够简单了,但Markdown在此之上还要更加简单。关于Markdown的语法网上已有巨量成熟教程且学习基本不超过5min,此处不再赘述。

基本工具链#

1. Trae#

官方网站,记得无需特地下载国际版。总之下国内版最省心。

类似Cursor地,这本质上是一个AI辅助代码编辑器。这将是我们的主力战场。

主界面
主界面

TIP

如果你从来没碰过代码项目或者Trae或类似AI代码编辑器,这里有一些废话:

  • 代码项目都基于一个文件夹,编辑代码后都需要通过Ctrl+S保存,文件名后面的小白点指示了文件是否被动过。
  • IDE指集成开发环境,环境里有你能看到的文件展示区、编辑区等。Trae这类则是集成了AI的超级环境,在这个软件内,AI可以按需阅读所有他想看的文件(而无需手动复制给他),大幅提高效率,同时它还能自动运行代码、然后自己处理自己代码中和代码外无法运行的问题等。
  • Trae是基于VSCode开发的,继承VSCode插件体系,你可以添加包括Python插件在内的一系列插件提升使用体验,需要什么功能可以问问它。
  • Trae提供的Auto模型效果很差,高级模型通常需要等待,故此强烈建议添加自己的Deepseek API。 Deepseek V4是截止本文目前最便宜而能用的大模型(基于截止2026/05/31的2.5折),也是此工作流中唯一的付费节点。建议使用V4 Pro,没贵多少、但是为此强一点确实有必要。
  • 你可以点击此处前往DeepSeek开放平台注册充值获取。

添加自有API Key避免等待
添加自有API Key避免等待

完成效果
完成效果

  • Skill,指成一套的被压缩的提示词和脚本,AI能获取Skill的一小部分介绍并自行考量使用与否。当AI真的需要使用Skill中的流程时,它会自行获取Skill中的提示词、执行Skill中的代码。

工作区文件夹包含我们所有获得和途中收集、生成、需要记录的题目、思路、代码、图、论文等。它们分别在不同的文件夹里,形成一套规范,这套规范由AI遵守,避免混乱。

我配置了两个skill:

  • OpenAlex文献检索:自动定位相关论文,搜集引用所需信息。
  • 数学建模主技能:贯穿所有阶段的流水线。

这两个skill我会放在.trae下,它默认好像是会自动读取来着。

2. Typora#

Typora是一个Markdown编辑器,它最大的特点是可以将Markdown文章直接渲染成PDF,而且还支持自定义主题,甚至将自定义主题渲染出来。

我基于某一开源主题自改了一版用于数模论文的主题,可以直接预览论文格式。由于年代久远(一年多吧),原库难以检索,如有线索欢迎回复,我会积极遵循原库的License重新发布。

注意,Typora是一个付费软件。本站不提供任何关于破解软件的服务。

3. 辅助工具#

  • Cherry Studio:分担零碎任务,比如查证某个知识点、写一条 Excel 公式。专门设了一个技能,用来快速生成X-Mouse Button Control的配置宏

  • 个人实验室站点:这是我自建的一个小工具站,其中最常用的是剪贴板检查器,解决从Excel复制数据时出现的各种不可见字符问题。

  • X-Mouse Button Control:极其强大的鼠标宏工具,带有详尽的文档(英语的)和屏幕位置获取器。其最大优势在于宏可以通过代码描述。通过AI技能生成宏代码,那么对于某些难以自动化的重复性桌面操作(如Office下的重复型任务)也能全效工作。

工作区#

项目根目录下,我强制划分了这几个文件夹,杜绝最终版_改3_真的最终版 (4).docx问题。

project-root/
├─ doc/ # [不变] 给AI看的分阶段任务说明
├─ utils/ # [不变] 工具脚本与样式
├─ ques/ # [不改] 原始问题描述
├─ cit/ # [不改] 下载的论文、原始数据集
├─ code/ # 所有探索性代码与中间数据,不进入正式论文
│ ├─ raw/ # 探索阶段的 .py 文件,命名可随意如q1_v1.py
│ └─ q1/... # 最终冻结后的拆分代码,日后会直接进入论文附录
│ └─ img/ # 代码产出的图片目录,会直接用于论文正文
├─ text/ # 一切过程文本:分析、草稿、半成品、成品论文
│ ├─ raw/ # 模型分析与求解过程记录
│ ├─ paper/ # 生成论文的各个章节块及合并文件
│ ├─ appendix/ # 额外的附录,可以无
│ └─ frozen/ # 生成拼接好的Markdown形式论文和完整附录
└─ frozen/ # 脚本会自动在此文件夹中创建打包好的论文,参考资料,md5信息
  • doc, utils: 该文件夹存储一些执行文档以供AI阅读、一些工具代码以供AI使用。作为工作区的初始资源不变地存在。
  • ques, cit: ques存放题目原文件、提取的题目原文.md、原始附件等原始题目信息,不能跑题这件事是很重要的。cit存放引用的原数据、原论文,很多赛参考资料要求一起打包。
  • code: 所有题没有敲定方案(也就是没完全确定论文里要写什么)之前都要在code/raw/里写代码。这里可以让ai随意造次,反正最后也是它收拾。在敲定任一道题的方案后,我们可以让AI确定、提取最终的代码到code/qX/中,不要其他无关的代码。这里的代码应当是能跑通的最小代码。同时,这个文件夹也锁定的图。这个文件夹应当有数个最小代码和数个画图代码。画图代码以q*_draw_*py命名,这个规范使得画图代码不会流入论文正文。脚本会提取code/qX/中的代码作为最终论文的一部分。
  • text: 所有题没有敲定方案之前,依旧要在text/raw中进行结果的记录、思路的分析等。这包括之前都做过什么,结果如何。有助于敲定论文中对照分析的对象,也能让我们能看到它的模型思路。在text/paper中存在多个d_xxx.md,其中d是一个数字,表示该段落是论文的第几部分。这个数字可以但不建议使用小数,只有在临时起意插入段落且不想逐个重命名时可以启用,如4.5_敏感性分析.md

没搞懂?直接看流水线就完了↓

流水线#

阶段一:宏观建模#

你需要读题、讨论整道题目的类型、方案等。这个过程中记录大体的模型选型、可能性等。

对话例

[用户]

继续。问题3要求预测人口数量变化。预测函数首先要有函数。一个标准的人口拟合模型需要在问题2建立。大体上是人口=f(时间,*地区特性,*实行政策)。人口这个东西显然有很大惯性,我很想用微分方程去做这个事,但弄不好就会弄巧成拙。次选是决策树,决策树处理政策的0-1是比较好的。复合模型的话也可以用,但那样决策树可能要高度人工干预,不太纯,主观。最好今天能决定一个方向。基于问题1的分类,问题2要服务于问题3,问题4的预测模型实际上是问题3中预测模型针对政策的敏感性分析。各个政策作为参数恐怕不好。我认为实际上可以按政策深度分类。事实上,政策的实行和按指标的分类是有必然共同趋势的,所以问题一有一个必然优秀的解是基于基本指标,与当时实行的政策分类相同。

[AI]

你的思考越来越深入了。我来帮你系统梳理一下你提出的几个关键决策点:

  1. 人口模型的函数形式

……

  • 无政策 = 去掉政策影响项,仅保留自然趋势

……

你提到的几个方向,我帮你对比一下:

模型方向优势风险适合程度
微分方程(如Leslie矩阵)符合人口惯性特征,年龄结构自然纳入政策变量难以嵌入,处理0-1政策变量不自然⭐⭐⭐

……

| 结构化的差分方程模型 | 结合人口学经典方法,可嵌入政策参数 | 需要合理设定参数形式 | ⭐⭐⭐⭐⭐ |

……

结构化人口模型(差分方程/Leslie矩阵) + 政策参数调制,理由如下:

  1. 人口惯性是天然的一阶/二阶差分结构,微分/差分方程最自然
  2. Leslie矩阵能天然处理年龄结构,而年龄结构是人口预测的核心
  3. 政策可以作为矩阵元素的调制参数——比如生育政策影响出生率(矩阵第一行),教育/医疗政策影响存活率(矩阵对角线)
  4. 这样问题4的”有/无政策”就是开关调制参数,非常直观 你觉得这个方向怎么样?还是你更倾向于坚持微分方程的思路?

[用户]

你这个选型好,我基于你这个选型说……

那么现在所有问题的分析都差不多了。我们需要通过找出区域的一些特征进行分类完成问题1,题目指明了要“地区人口、人口性别、年龄、受教育情况、城乡人口和流动人口”。并且“基于第四次至第七次全国人口普查的主要数据”。我们选择的参数最好要能直接与人口的y,y’甚至y”相关。

……

决定一个城市发展速度的参数很多,但中国有大量城市……这反而造就了不界限分明的边界……

另外提一嘴,我不知道能不能进行类别状态机的构造,以此去拟合一些……

不包括整理数据,这个阶段的耗时一般在3小时左右。注意这时候的第一要事是读懂题目并分类,找到题目描述的矛盾点,假设等。

阶段二:逐个击破#

初始模型设计#

让AI建立模型描述和数学逻辑

针对每个子问题(或数据预处理),让AI给出具体的模型建立计划,记录为text/raw/问题一的建模与求解.md(或数据预处理.md,类似的文件)。不需要论文格式,只管把数学逻辑、计算步骤讲清楚。

TIP

如果你是模型高手,希望奖项拿高一点,你可以人工审视并注入“创新点”,或者干脆甩给他一篇非常新的优化方法、评价方法的论文。AI提出的模型往往中规中矩,日后的AI建模大赛,差异几乎都来自你的灵机一动。

这个步骤的结果最好人工审视一遍,因为它可能会在模型中使用一些拍脑袋参数或者子虚乌有的数据,然后你要让它改。改成超参数优化(某种参数搜索)或者查能引用的论文说明,抑或是直接就问它这是什么。但要注意,有些东西确实需要在跑出来之后才能继续改进。

探索性代码实现#

让AI根据计划生成初步代码,画出图,解释模型输出。

这个阶段,AI可以生成读取、数据处理、求解计算画图一体的、混乱不堪的代码,为的就是生成几张效果图给你看。你来评估这个模型得到的结果怎么样,然后挥鞭子让AI重做或者接受结果。

实际上这个阶段依旧可以修改模型,不如说有时候只有跑出结果、看到大体数据分布之后才能知道调整方向。

代码统一放在code/raw/q*_xxx.py,随时覆盖、随时重试。同时更新text/raw/*.md,记录所有模型、求解方法的结果,把所有关键数据、图表解释一并写入,形成一份“带数据的草稿”。

这个阶段的代码是混沌的,允许冗余、调试痕迹,目的只为快速试错。

TIP

在去年(2025),国内AI也不可能一次一个错不出地将代码全部写完,而今年上半年金模型频出,几乎可以完整排除不会代码的问题了。

(Python白学了.jpg)

Deepseek V4 Pro的代码能力足够强,以至于它可以自己完整地完成代码——模型的无缝互转工作,甚至和用户直接在模型层面上交流。

当然前提是你知道它要做的是什么模型。一定要问清楚,还要自己搞清楚。除非你能读懂代码,代码永远是最清楚的。

对话例

[AI]

……

最重要结论(对 Q3 的指向)

四类的因子作用模式完全不同——验证了我们不该用同一个模型拟合全中国:

  • 主流组:GDP 和老龄化是正负两极,标准经济-人口模型
  • 京沪组:生育端彻底熄火,全靠迁移,且出现天花板效应——Q3 需要饱和机制
  • 广东组:青年移民持续稀释老龄化,大专+比的负增量说明产业工人为主——Q3 需要强化迁移项
  • 西藏组:高自然增长率主导,老龄化压力最小——Q3 需保留高基出生率

图已保存到 img/ 下,你看看有没有需要调整的。要不要接着看 Q3?

[用户]

出生效应和迁移效应是算出来的?是否需要添加真实数据

[AI]

问得好。坦白说—— 目前的出生效应是估算的,不是真实数据 。

让我看看原始附件里有没有出生/死亡数据可以用。

……

(后面我手动去整理了数据。)

结果结晶#

当某个问题的结果令人满意,便进入沉淀环节。接下来由AI自行完成一个比较长的工作流。不出所料的话,对于每个小问做完这个你就该换对话清空上下文了。

AI会根据之前积累出来的模型记录、真实模型代码、画图代码、结论和数据结果,整理成三种文件:

  1. 提取模型本身的代码(模型代码

    • code/中创建q1/目录,创建洗净的模型代码code/q*/q*_model_*.py。这些代码不含弯路和不必要的注释,可执行最小化,将所有要为图服务的数据单独导出为.csv.npy等文件。这些代码执行纯粹计算。
  2. 提取模型本身的画图代码(画图代码

    • code/q1中创建洗净的图代码code/q*/q*_img_*.py。这些代码只使用模型代码所创建的。这些图的代码占比过于大且并不核心,不会被放入论文,但是会用于生成最终稿的图片
  3. 创建小问小结文件

    • 根据最终真实的模型和图配置、呈现(图里显示了什么有时可能需要你来描述),修正text/raw/*.md中的模型表述,并附上对结果的详尽解释。

    • 这份文件将成为它后续撰写完整论文的第一手成果总结,因此需要绝对完整,不仅要有模型的数学推导,还包括比如本次小问解决的所有产出文件、图列表解释等。这个小问至此就算解决了。

阶段三:完成论文#

这是最能体现AI工作流魔力的阶段。我们调用预先写好的skill,让AI按固定流程执行:

  1. 根据已有成果设计论文的章节分段预设。如问题重述+问题分析+模型假设+符号说明+问题一模型的建立与求解+问题二模型的建立与求解+问题三模型的建立与求解+问题四模型的建立与求解+问题五模型的建立与求解+模型优缺点+参考文献。这就是一个很标准的章节分布。我放弃了将所有问题放入同一个大章节(5.1问题一, 5.2问题二这样),因为分成多个大章节比较方便工作流。
  2. 整理所有引用到的文献,为这些文献预先编号,便于后续在各个内容小块中用数字进行引用。
  3. 按章节分段预设在text/paper/下生成各章节的.md文件,文件名带有数字前缀,如1_问题重述.md2_模型假设.md3_问题一求解.md等。这一步由AI自行调度Trae的taskboard完成。每个小节的文件隔离是避免AI在长单次输出(如整篇论文)时主动缩减内容,不仅看起来单薄而且真的可能忽略重要的东西。ps:这个环节其实还可以优化成并行的。
  4. 运行第一次构建脚本。附录独立成一个.md文件,和最大标题同级,避免Typora后续输出引用时把参考文献排到附录底部。这个过程完全由脚本完成。它机械地查找所有模型代码文件,读取。它还会添加text/appendix/下的每个文件(依旧但是是可选地使用/\d+_/开头命名,以保证顺序)作为额外附录(如大、长表)。自动编号后输出为text/frozen/Appendix.md。脚本还会将各章节的.md文件继续合并为text/frozen/Main.md。这就是两个你需要完整过目的文件了。

经过AI约一小时的苦战,现在你打开text/frozen/,看到两个完整整理好的论文。图片是经过路径修正的,一定是能引用到的。你需要另开一个文件,从头到尾检查整篇文章不合适的地方,然后进行记录。

NOTE

一个经验之谈是在最终检查时,不要找一个错就改一个错,而是从头到尾把问题全部记下来之后再一一修改,避免solo时注意力和流程分崩离析的问题。

WARNING

修改时需要找到text/paper/下对应章节的原文进行修改,修改后需要重跑上述4.的脚本。切勿直接修改text/frozen/Main.md

一般来说,你会遇到三类问题:

  • 表述问题,如大量使用破折号——、使用vs甚至「」导致的AI味。自己修改即可,无需浪费token
  • 图片问题,如文本遮挡、配色难以阅读、重复标题等。需要让AI修改源码中跑图的代码,重新生成图。一般最多就是改几行画图参数,也有大改的。如果能看懂代码,自己改也不是不行。
  • 论文问题,如某章节中某个关键论述、关键结果、图表未能呈现?Solo工作流下手写论文实在有点费时费力,更何况原文还不是自己写的,此时就只能让AI返稿;能通读并识别出论文严重结构性问题的人只能有你,所以你才需要把上面每个小问的解决步骤、原理理清。这是证明论文原创的根本。你也不想上台答辩就介绍我最好的朋友大D老师吧
NOTE

终端是所有操作系统执行程序的主要入口。在Trae中,打开方式如图所示

终端可以理解为,敲一行命令,回车执行,的地方。理论上,终端可以执行除了打瓦以外所有你在电脑上通过鼠标执行的操作(

在终端执行python utils/build.py以手动运行第一阶段构建。AI到时候也会这么做。当然前提是你已经安装了python。

阶段四:最终输出#

前提:论文已没有任何问题。

  1. 你用手打开Typora,选择预设的主题文件将Main.mdAppendix.md分别导出为Main.pdfAppendix.pdf。原目录原样导出即可。
  2. 运行第二次构建脚本。脚本会将两个pdf合并。如果你的学校要求在电子版前面再添加页面,还可以添加额外的第三个Prefix.pdf,脚本会自动识别。脚本还会自动添加连续页码,最终输出到frozen/[time]/我的论文.pdf。脚本还会将所有代码文件、原始数据集、引用论文等所有可能要塞进参考资料的文件打包放进我的参考资料.zip里。最后还会自动计算两个文件的md5,国赛会需要。当然不使用这个md5而是直接把文件拖进官方提交程序也是可以的。
frozen/
└─20260510_1345/
├─ 我的论文.pdf
├─ 我的参考资料.zip
└─ md5.txt
WARNING

第二次构建脚本导出的结果是最终品论文。如果你再发现论文原文问题,你需要:

  1. 再修改论文的片段
  2. 运行第一次构建流程
  3. 使用Typora手动构建拼接版论文,可能还要构建附录
  4. 运行第二次构建流程 非常麻烦。所以尽可能在最后进行论文的构建。

最后#

  • 本文没提到Python虚拟环境,是为新手运行简单考虑。实际上我本人也不怎么用虚拟环境。只有真的用torch这种库,有必要的时候才会用uv去创建。能弄明白的尽量还是弄,第一次的话就先跑起来再说。
  • 因为目前的工作流脚本有些问题,可能会过几天再开源,就先把这个文发了。要使用这个工作流,建议你先下载一个Git,方便fork仓库开箱即用。其次下载好Python,本工作流完全基于Python,日后若有matlab大佬相助,可能有支持的打算,但也还是会优先考虑AI集成。
  • 文首提到的30R是基于优惠价格和个人使用经验确定的。至于这个优惠,Deepseek官方文档曾经提到:

随着昇腾950超节点在2026年下半年的批量上市,V4-Pro模型的价格会大幅下降。

希望下次国赛之前能端上来吧,不然可能就要顶着v4-flash做了。

2026.05.15官网快照
2026.05.15官网快照

最新Deepseek V4 Pro数学建模SOLO工作流
https://blog.emumu.xyz/posts/2026-05-10-00/
作者
月宮絵夢
发布于
2026-05-15
许可协议
CC BY-NC-SA 4.0