Skip to content

Repository files navigation

⚠️ 使用本 Skill 前:先配置 MATLAB MCP

本 Skill 采用 MATLAB-first 规则:正式数值建模前,Codex 必须先调用 MATLAB MCP 检查连接、MATLAB 版本和必需工具箱;检查通过后,核心数值计算默认由 MATLAB 执行。

让 Codex 自动配置 MATLAB MCP(推荐)

在打开的 Codex 中发送下面这条中文指令:

请设置 MATLAB Agentic Toolkit,为 Codex 全局配置 MathWorks 官方 MATLAB MCP Core Server,自动检测本机 MATLAB,将 tool_timeout_sec 设为 600,Windows 下传递 WINDIR,并实际调用可用的 MATLAB MCP 能力验证连接、MATLAB 版本和已安装工具箱;如果工具名称不同,请按等价能力验证,不要因缺少某个固定名称而误判失败。

官方 Toolkit 会下载 MCP 程序、写入 Codex 的全局配置,并注册 MATLAB skills。完成后重新启动 Codex。

手动配置 Codex

Windows PowerShell

从官方发布页下载 matlab-mcp-core-server-win64.exe,放入固定目录后执行:

New-Item -ItemType Directory -Force -Path "$HOME\.matlab\agentic-toolkits\bin"
Move-Item "$HOME\Downloads\matlab-mcp-core-server-win64.exe" `
  "$HOME\.matlab\agentic-toolkits\bin\matlab-mcp-core-server.exe"
Unblock-File "$HOME\.matlab\agentic-toolkits\bin\matlab-mcp-core-server.exe"

codex mcp add matlab -- `
  "$HOME\.matlab\agentic-toolkits\bin\matlab-mcp-core-server.exe" `
  "--matlab-root=C:\Program Files\MATLAB\R2024b" `
  "--matlab-display-mode=desktop" `
  "--initialize-matlab-on-startup=true"

将示例中的 --matlab-root 替换为自己的 MATLAB 根目录,不要写到 bin 层。如果 codex mcp add 不可用,可在 %USERPROFILE%\.codex\config.toml 中手动添加:

[mcp_servers.matlab]
command = 'C:\Users\<用户名>\.matlab\agentic-toolkits\bin\matlab-mcp-core-server.exe'
args = [
  '--matlab-root=C:\Program Files\MATLAB\R2024b',
  '--matlab-display-mode=desktop',
  '--initialize-matlab-on-startup=true'
]
tool_timeout_sec = 600
env_vars = ['WINDIR']

tool_timeout_sec = 600 可避免较长的优化、仿真或测试过早超时;Windows 上如果要使用 Simulink,MathWorks 建议传递 WINDIR

macOS / Linux

下载对应平台的官方二进制文件并授予可执行权限,然后执行:

codex mcp add matlab -- \
  /absolute/path/to/matlab-mcp-core-server \
  --matlab-root=/absolute/path/to/MATLAB/R20XXx \
  --matlab-display-mode=desktop \
  --initialize-matlab-on-startup=true

配置后必须验证

  1. 重新启动 Codex。

  2. 在 Codex 中发送:

    请实际调用 MATLAB MCP 的环境与工具箱检测能力,报告 MATLAB 版本、连接状态和已安装工具箱;如果没有 detect_matlab_toolboxes 这个名称,请使用等价能力完成验证。
    
  3. 只有实际工具调用成功才算配置通过;仅看到 config.toml 条目不算通过。

  4. 如调用失败,先修复 MCP,不要让本 Skill 默认改用 Python 完成核心数值建模。


Math Modeling Solver

它可以帮助你完成:

  • 拆分题目、定义变量和约束;
  • 审计数据并选择合适的模型;
  • 编写、运行和检查 Python/MATLAB 代码;
  • 验证结果、绘制论文级图表;
  • 生成可复现的竞赛论文。

仓库还提供一个可直接导入的常用算法库,以及结果、运行、PoC、图表和审查登记表。

它强调一件事:重要结论必须有数据、代码、结果表、图、公式或可靠来源支持,不虚构结果。

Skill 入口

这是一个“总控 Skill + 三个专业 Skill”的 Skill Pack:

入口 用途
$math-modeling-solver 从题目开始,完成完整建模流程
$audit-modeling-evidence 检查数据、实验、复现和结论证据
$build-modeling-figures 生成和检查论文图表、模型架构图
$deliver-cumcm-paper 生成、编译和检查 CUMCM 论文

不知道从哪里开始时,只调用 $math-modeling-solver。已有结果后,再按需要调用三个专业 Skill。

安装

只安装总控 Skill

Windows PowerShell:

git clone https://github.com/YANG985-CMD/Math-Modeling-Solver.git `
  "$HOME\.codex\skills\math-modeling-solver"

macOS / Linux:

git clone https://github.com/YANG985-CMD/Math-Modeling-Solver.git \
  ~/.codex/skills/math-modeling-solver

安装完整 Skill Pack

git clone https://github.com/YANG985-CMD/Math-Modeling-Solver.git D:\src\Math-Modeling-Solver
uv run --project D:\src\Math-Modeling-Solver python `
  D:\src\Math-Modeling-Solver\scripts\install_skill_pack.py

更新已安装的 Skill Pack

先在仓库中拉取最新版本,再运行清理式更新:

git -C D:\src\Math-Modeling-Solver pull
uv run --project D:\src\Math-Modeling-Solver python `
  D:\src\Math-Modeling-Solver\scripts\install_skill_pack.py `
  --force --clean-update

--clean-update 只清理目标 skills 目录下本仓库管理的四个 Skill 目录,用来删除旧版本残留文件;普通 --force 只覆盖同名文件,会保留额外文件。

安装后重新启动 Codex,然后直接发送:

使用 $math-modeling-solver 解决这道数学建模题。
先拆分子问题、检查数据、建立基线,再比较候选模型。

完整建模工作流在正式计算前必须先检查 MATLAB 官方 MCP Core Server。只有用户明确要求 Python、MATLAB 无法恢复,或有经记录的库能力差距时,才允许用 Python 承担核心数值计算。

常用命令

初始化一个可审计的建模项目:

python "<SKILL_ROOT>/scripts/init_modeling_project.py" "<PROJECT_DIR>" \
  --mode formal --workflow-stage explore \
  --ambition-mode competitive --questions 3

审计数据集:

python "<SKILL_ROOT>/scripts/audit_dataset.py" INPUT.csv \
  --target LABEL --out-dir PROJECT_DIR/audit/dataset

审计整个项目:

python "<SKILL_ROOT>/scripts/audit_backend_contract.py" \
  "<PROJECT_DIR>/audit/backend-contract.json"
python "<SKILL_ROOT>/scripts/audit_innovation_portfolio.py" "<PROJECT_DIR>"
python "<SKILL_ROOT>/scripts/audit_modeling_project.py" "<PROJECT_DIR>"

如果已经启用了证据登记包,可追加 --with-evidence-bundle 做一次总审计。

创建并审计完整证据登记包:

python "<SKILL_ROOT>/scripts/init_evidence_bundle.py" "<PROJECT_DIR>"
python "<SKILL_ROOT>/scripts/audit_evidence_bundle.py" "<PROJECT_DIR>"

MATLAB 原生基线位于 assets/code/matlab/,其中熵权法、TOPSIS 和 GM(1,1) 已加入退化输入保护;正式使用仍需结合题目做验证。assets/code/python/modeling_algorithms/ 仅在已记录的 Python 后端或独立交叉检查中使用。遗传算法、粒子群等旧模板默认仍是实验起点,必须经过约束、预算和题型化验证。

结果要求

  • 不虚构数据、运行结果、指标、引用或图表结论;
  • 先运行简单基线,再增加模型复杂度;
  • 从题目结构、机理约束、验证方法和决策需求中生成创新候选,不用算法堆叠代替创新;
  • 每项创新必须说明基线缺口、作用机制、比较方案、证据产物和适用边界,通过验证后才能写入论文主线;
  • 区分探索结果、验证结果和最终冻结结果;
  • 把重要结论映射到可核验的证据;
  • 报告不确定性、失败情况和适用范围。

回归盲测结果:PNG · 可编辑 SVG。这只是当前题型回归基线,不代表最终泛化能力。

更新日志

v2.6.0(2026-08-11)

  • 删除表格预测的固定“模型动物园”清单;挑战者改为由已观察到的失效机制驱动,通常只比较一至两个不同机制;
  • MATLAB 预检改为能力识别,不再绑定唯一工具名;正式数值执行前形成后端合同,并按 MATLAB MCP → 本地非交互 MATLAB → 有理由的其他后端降级;
  • 初始化器新增 ambition_mode、创新组合和后端合同;总审计能够区分 passwarnfailedblocked
  • 创新候选、选择、公平比较、证据产物、结论边界和竞赛就绪评分进入可执行审计闭环;负结果允许降级,不再硬凑创新;
  • 按预测、解析/机理、精确优化、启发式优化、仿真和多目标任务分别规定验证证据,独立重跑不再被误写成泛化验证;
  • 加固 MATLAB 熵权、TOPSIS 和 GM(1,1) 模板的常量列、零范数、零方差和小样本边界;
  • 新增 contest-word 交付语义和安全的 --clean-update 更新方式。

v2.5.0(2026-08-01)

  • 将目标从“可运行建模”提升为“可信原创”:可靠基线仍是前提,但不能把基线直接当作竞赛终稿;
  • 新增问题表述、机理与数据融合、求解器、验证与不确定性、决策洞察等创新候选类型,并要求先筛选、再验证;
  • 为每项创新增加基线缺口、作用机制、公平对照、证据产物、失败信号和结论边界记录;
  • 新增竞赛就绪审查,重点检查贡献清晰度、数学深度、验证强度、决策价值、图表证据和可复现性;
  • 优秀论文只用于检查论证结构和证据角色,不允许因为某方法出现在优秀论文中就直接照搬。

v2.4.0(2026-07-28)

  • 将核心数值建模改为 MATLAB-first,不再因 Python 模板或常用库更熟悉而默认选择 Python;
  • 新增强制 MATLAB MCP preflight:正式计算前必须实际调用 detect_matlab_toolboxes,记录 MATLAB 版本、连接状态和任务所需工具箱;
  • 要求 MATLAB 通过预检后持有权威数值结果,Python 仅用于有理由的文档、转换、网络或库缺口任务;
  • 在 README 最前面增加 MathWorks 官方 MATLAB MCP 地址、Codex 自动配置指令、Windows/macOS/Linux 手动配置和验证步骤。

v2.3.1(2026-07-23)

  • 新增冠军—挑战者建模流程,将简单基线定位为性能下界,不再默认把首个可用模型作为最终方案;
  • 明确 sanity baseline、competitive baseline、current champion、challenger 和 final frozen champion 五类角色,以及候选模型的晋级与停止规则;
  • 增加基础、竞争和冲上限三档建模强度;识别“冲上限”“冲奖”“最高水平”等目标后,自动要求跨模型族挑战、系统调参与稳健性验证;
  • 对表格预测与不平衡分类补充强制挑战覆盖,要求将袋装树与提升树、正则线性模型、核方法或神经网络等候选方案进行公平比较;
  • 保持一个总控 Skill 与三个专业 Skill 的统一协作结构,并将冠军—挑战者规则纳入总控工作流。

v2.3.0(2026-07-20)

  • 增加可直接导入的统一算法库,覆盖评价、预测、优化、模拟和滚动验证基线;
  • 增加结果、PoC、运行、图表、数值诊断、审查和一致性登记表;
  • 增加冻结结果哈希、人审确认和跨文件证据审计。

v2.2.0(2026-07-20)

  • 将项目整理为一个总控 Skill 和三个专业 Skill;
  • 增加专业 Skill 的独立安装、资源同步检查和 CI;
  • 统一数据模式、工作流阶段、结果状态和交付配置。

v2.1.0(2026-07-19)

  • 增加语义契约、候选结果验证、鲁棒性检查和 CUMCM LaTeX 交付流程。

v2.0.0(2026-07-18)

  • 增加得分差距诊断、硬约束动作掩码、代理仿真一致性检查和 MATLAB 原生工作流。

目录

Math-Modeling-Solver/
├─ SKILL.md
├─ audit-modeling-evidence/
├─ build-modeling-figures/
├─ deliver-cumcm-paper/
├─ scripts/
├─ references/
├─ templates/
├─ assets/
└─ tests/

详细规则和参考资料见 SKILL.md

许可证

本项目采用 PolyForm Noncommercial License 1.0.0。个人学习、研究和实验可使用;商业使用需要事先取得授权。

如果你要从一道题一直做到可复现论文,直接从 $math-modeling-solver 开始。

About

数学建模 Agent Skill:拆题、数据审计、选模、Python/MATLAB 求解、鲁棒性验证、论文级 Python 制图、竞赛论文写作与可复现证据审计。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages