Applied AI

Mathgic Studio数学建模 Agent 产品化

让数学建模,有迹可循。

生产公测已跑通 · 暂停开放
ReactTypeScriptAgent

Mathgic Studio 集成赛题解析、赛事配置、异步生成、阶段查询与 Word 交付,支持凭任务编号恢复进度。项目已完成真实生产全链路公测,现阶段暂停开放,计划扩展服务能力。

系统架构

前端采用 React、TypeScript 与 Vite,Supabase 承载任务记录和文件,Python Worker 执行耗时的模型调用。提交、查询与生成分离,任务执行不依赖浏览器持续连接。

模块核心职责
Workspace / workflow.ts赛题输入、赛事配置、方向判断与大纲生成
RealGenPanel文件上传、任务创建、状态轮询与成果下载
Supabasejobs 任务记录与输入、输出文件存储
Python Worker阶段执行、文档组装与状态回写

Mathgic Studio 建模流程与赛事入口

产品入口:统一组织赛事配置、赛题输入与任务流程。

输入解析与赛事路由

PDF 解析按需加载 pdfjs-dist 及其 Worker,逐页提取文字层,合并文本并归一化空白字符;扫描件识别不在此解析路径内。

contest 标识控制语言和章节模板。judgeTrack() 分别统计数据驱动与机理、优化信号,返回命中词、判断结果及依据;信号数量相同时,以数据附件线索判定。buildOutline() 接收赛事配置与判断结果,生成对应的论文骨架。

Mathgic Studio 国赛与美赛配置

赛事配置:同一标识驱动语言、章节与界面提示。

任务协议与状态流

前端生成 UUID,将赛题 PDF 和附件上传至任务输入目录,成功后一次写入 jobs。任务行保存赛事、题目文本和文件路径;Storage 保存文件内容。上传前限制单文件大小并清洗文件名,任一上传失败即停止提交。

输入解析 → 文件上传 → jobs(pending)
                     → Worker(running)
                       ├─ 上传成果 → done
                       └─ 记录错误 → failed

status 记录生命周期,stage 记录当前阶段。任务 ID 存入 localStorage,用于刷新后的恢复查询;非终态任务定时轮询,完成或失败后停止。

Mathgic Studio 赛题输入与流程演示

演示工作区用于呈现输入与流程;真实任务状态读取 jobs 记录。

阶段编排与模型调用

Worker 按创建时间顺序读取待处理任务,将前一阶段输出传入下一阶段,逐步形成分析、推导与文稿。

阶段输入与处理
P0 审题根据赛题与赛事类型拆解问题,确定模型候选和数据需求
P1 / P2基于题目与分析生成数据方案、纸面推导及灵敏度设计
P3 写作汇总前序上下文,按赛事语言生成 Markdown 论文
P4 组装扫描章节缺项、补写内容并转换为 Word

统一的 chat() 封装模型请求,配置从运行环境读取,支持超时控制、最多三次尝试和递增等待。最终异常写入任务失败状态,供前端查询。

公开 Worker 的 P4 负责结构扫描,python-docx 将标题、列表和段落映射为 Word 样式。求解代码执行、图表生成与精细排版由配套建模 Skill 另行组织,结构扫描与数值验证分别处理。

Mathgic Studio 五阶段工作流

阶段定义:明确输入、产物与推进条件。

交付与异常处理

Word 文件生成并上传成功后,Worker 才回写结果路径并将任务置为完成。前端按需申请有有效期的签名链接,任务查询仅返回状态与文件引用。

失败记录保留错误信息,重新提交创建新任务。公开实现采用顺序消费与请求级重试,通过任务 ID 关联输入、阶段、异常和成果。