ResearchPilot 第六阶段总结报告
一、阶段基本信息项目名称ResearchPilot——可追溯科研文献分析与实验复现辅助系统阶段版本V0.6.0实验复现与科研辅助开发分支建议feature/experiment-reproduction阶段状态代码开发完成模块语法检查和单元测试通过仍需在用户本地项目中完成真实论文、真实 DeepSeek API 和实际实验数据的最终联调验收。V0.6 不再拆分成多个小版本而是一次性完成以下五类能力实验复现信息抽取与缺失项诊断可编辑实验配置模板生成实验项目目录与代码骨架生成实验运行记录与结果对比实验复现总结报告生成二、阶段开发目标V0.5 已经能够完成多篇论文的联合检索、结构化证据矩阵、跨论文对比、共识冲突分析和完整研究报告生成。但“理解论文”与“复现实验”之间仍然存在明显距离。科研人员还需要回答论文究竟描述了哪些实验条件数据集、样本、预处理、模型和训练参数是否完整软件环境、硬件环境和随机种子是否给出哪些关键信息缺失如何把论文信息转换成可编辑配置文件如何建立统一的实验工程目录如何记录多次实验结果如何比较不同参数和随机种子如何判断当前复现工作是否达到验收条件如何生成完整的复现总结报告因此V0.6 的目标是把系统从“论文分析平台”进一步升级为“实验复现辅助平台”。需要特别说明V0.6 是实验复现辅助系统不是自动复现器。系统不会凭空补全论文没有报告的参数也不会自动实现论文专有算法更不会自动获得受限数据或直接执行不受控制的训练命令。三、第六阶段完整流程V0.5.2结构化证据矩阵 ↓ 选择需要复现的论文 ↓ 整理允许使用的原文证据 ↓ 抽取实验复现信息 ↓ 检查引用真实性和JSON结构 ↓ 计算信息完整度 ↓ 识别关键缺失项 ↓ 生成实验配置模板 ↓ 生成requirements、Conda、Docker和随机种子模板 ↓ 生成完整实验项目代码骨架 ↓ 研究人员在本地补全论文专有实现 ↓ 执行真实实验 ↓ 登记实验运行记录 ↓ 比较多次运行结果 ↓ 识别最佳运行和配置偏差 ↓ 生成实验复现总结报告四、实验复现信息抽取与缺失项诊断1. 模块文件src/experiment_reproduction.py2. 核心职责该模块从 V0.5.2 的结构化证据矩阵中选择论文并整理该论文可使用的真实原文证据。系统固定检查十二类复现信息研究任务与目标数据集与研究样本数据清洗与预处理方法、模型与算法训练流程与关键参数软件环境与依赖硬件与计算资源随机性与可重复设置基线、对照与消融实验评价指标与统计分析代码、数据与模型可获得性预期结果与验收标准每一项会被标记为明确部分明确缺失3. 引用约束抽取结果必须使用原文证据引用例如[论文1-第3页-文本块12]程序会检查论文序号是否存在页码和文本块是否属于该论文引用是否来自本次允许使用的证据是否出现未召回或虚构引用4. 结构和结果校验模块包含JSON 对象提取输出字段规范化状态值规范化引用标签规范化复现步骤规范化验证清单规范化关键缺失项统计引用真实性统计校验失败且启用自动修正时可以把错误信息反馈给 DeepSeek自动修正一次。5. 信息完整度系统分别统计全部复现要素完整度关键要素完整度明确项数量部分明确项数量缺失项数量关键缺失项数量当前复现准备度该分数只表示当前检索证据的信息充分程度不代表论文质量也不保证实验一定能够复现成功。6. 输出格式支持输出MarkdownHTMLCSVJSON五、可编辑实验配置模板1. 模块文件src/experiment_config.py2. 核心职责该模块将论文复现信息转换成结构化、可编辑的实验配置。生成内容包括experiment.jsonexperiment.yamlrequirements.txtenvironment.ymlDockerfile随机种子设置代码Windows PowerShell 运行命令Linux/macOS Shell 运行命令配置说明 Markdown3. 配置内容配置模板覆盖项目名称和实验名称任务类型数据路径数据处理设置模型名称和框架训练轮数Batch SizeLearning Rate优化器随机种子确定性设置评价指标输出目录日志目录论文报告参数待确认项原文引用4. 论文参数与默认参数边界系统会尽可能提取论文报告的参数但论文没有明确提供时只能使用空值默认值占位值待确认标记例如默认的 Epoch、Batch Size 和 Learning Rate 只是为了形成可运行模板不能写成论文原始参数。5. 可编辑能力前端允许用户直接编辑 JSON 配置并重新应用配置。系统会检查JSON 格式是否正确顶层是否为对象必需字段是否存在数值字段是否可转换自定义配置是否能与默认配置合并六、实验项目目录与代码骨架1. 模块文件src/experiment_scaffold.py2. 核心职责该模块根据实验配置生成可下载的完整工程 ZIP。生成目录示例researchpilot_experiment/ ├─ configs/ ├─ data/ ├─ notebooks/ ├─ outputs/ ├─ reports/ ├─ scripts/ ├─ src/ ├─ tests/ ├─ Dockerfile ├─ environment.yml ├─ requirements.txt ├─ run.ps1 ├─ run.sh ├─ README.md └─ .gitignore3. 生成的代码接口代码骨架包含配置加载全局随机种子设置数据准备接口模型构建接口训练接口评价接口命令行参数解析实验启动入口冒烟测试目录清单与文件清单4. 安全和可信边界生成的代码骨架不会伪造论文专有算法。涉及论文独有内容的位置会保留TODO研究人员必须根据论文全文补充材料官方代码官方数据作者说明补全真实实现。5. 设计意义这一模块解决的是“从论文信息到工程结构”的转换问题而不是自动完成全部模型研发。七、实验运行记录与结果对比1. 模块文件src/experiment_tracker.py2. 本地存储运行记录默认保存到data/experiment_runs.json建议加入.gitignore避免把本地实验数据提交到 GitHub。3. 支持的运行状态planned计划中running运行中completed已完成failed失败cancelled已取消4. 每条运行记录包含唯一运行 ID项目名称运行名称运行状态随机种子指标字典标签备注配置快照来源论文本地运行命令创建时间更新时间开始时间完成时间5. 数据写入方式模块使用本地 JSON 存储临时文件写入os.replace原子替换线程锁降低写入中断导致记录文件损坏的风险。6. 多次运行对比支持选择多个运行记录指定主指标设置指标“越高越好”或“越低越好”识别当前最佳运行比较不同随机种子比较不同参数检查完成状态导出 CSV生成 Markdown 对比结果删除错误运行记录7. 当前限制本地 JSON 适合个人项目、科研原型和毕业设计。正式多人企业环境建议升级为PostgreSQLMySQLSQLite 服务化存储实验跟踪平台例如 MLflow八、实验复现总结报告1. 模块文件src/experiment_report.py2. 核心职责该模块整合论文信息原文证据信息完整度关键缺失项实验配置实验运行记录多次运行对比最佳运行配置偏差结果验收标准风险和限制3. 配置偏差分析程序会扁平化计划配置和实际运行配置检查训练参数是否变化随机种子是否变化模型配置是否变化数据配置是否变化评价设置是否变化报告会列出计划设置与实际设置之间的差异。4. 总体复现状态系统会综合判断是否存在关键缺失项是否存在实验运行记录是否存在已完成运行是否能够进行多次运行对比是否有明显配置偏差并输出当前总体状态和风险提示。5. 输出格式支持MarkdownHTMLJSON报告还会提供诊断信息运行数量已完成运行数量配置偏差数量风险警告数量是否形成多运行对比关键缺失项数量九、前端集成1. 修改文件frontend/streamlit_app.py2. 页面结构V0.6 页面包括第一步实验复现信息抽取与缺失项诊断用户选择论文设置是否调用 DeepSeek是否自动修正最大输出 Token最大证据字符数生成复现信息清单。第二步至第五步通过多个页签提供实验配置模板项目目录与代码骨架实验运行记录与结果对比实验复现总结报告3. 页面联动只有完成实验复现信息抽取后后续功能才会开放。推荐顺序复现信息清单 → 实验配置 → 项目骨架 → 本地实验 → 运行记录 → 结果对比 → 总结报告十、新增和修改文件新增或完整覆盖的业务模块src/experiment_reproduction.pysrc/experiment_config.pysrc/experiment_scaffold.pysrc/experiment_tracker.pysrc/experiment_report.py前端文件frontend/streamlit_app.py测试文件tests/test_v06_modules.py说明文件README_V0.6.md替换说明.txt需要追加到.gitignore.txt十一、代码规模本次 V0.6 替换包约包含experiment_reproduction.py1261 行experiment_config.py699 行experiment_scaffold.py501 行experiment_tracker.py459 行experiment_report.py425 行streamlit_app.py5631 行test_v06_modules.py229 行检查范围总计约 9205 行 Python 代码其中前端文件还包含前几个阶段的功能。十二、测试结果已对当前 V0.6 完整替换包执行1. Python 语法检查python -m py_compile src\experiment_reproduction.py src\experiment_config.py src\experiment_scaffold.py src\experiment_tracker.py src\experiment_report.py frontend\streamlit_app.py结果通过2. 单元测试python -m unittest tests.test_v06_modules -v测试项test_config_generation_and_edittest_final_reporttest_scaffold_generationtest_tracker_and_comparison结果Ran 4 tests OK3. 当前未完成的真实联调当前测试能够证明Python 语法正确配置模板逻辑可运行代码骨架可生成运行记录和结果对比逻辑可运行总结报告可生成但尚不能替代用户本地的真实联调仍需检查与用户当前数据库结构是否完全兼容与 V0.5.2 真实证据矩阵是否完全兼容DeepSeek API 是否正常返回真实论文引用是否全部通过校验Streamlit 页面是否能完整加载下载的项目骨架是否能在用户环境中启动真实实验结果是否能正确登记和比较十三、验收测试建议测试一实验信息抽取选择一篇已完成证据矩阵的论文生成复现清单。确认十二类信息都有输出每项状态为明确、部分明确或缺失引用能对应真实页码和文本块关键缺失项合理不会编造论文未报告的参数测试二配置模板生成配置并下载JSONYAMLrequirements.txtenvironment.ymlDockerfile随机种子代码手动修改 JSON 后重新应用确认页面更新。测试三项目骨架下载项目 ZIP解压后检查目录完整配置文件存在入口代码存在TODO 标记清晰冒烟测试存在不包含虚构的论文专有模型实现测试四运行记录创建至少三次运行不同随机种子不同学习率不同评价指标结果检查JSON 文件成功保存运行记录能正常查询主指标排序正确最佳运行识别正确CSV 能正常下载测试五总结报告选择运行记录并生成报告。检查论文信息正确配置正确最佳运行正确配置偏差正确风险提示合理Markdown、HTML、JSON 均可下载十四、开发过程中解决的问题1. 论文信息不完整处理方式不强行补全标记为部分明确或缺失生成待确认问题在配置中保留默认值和待确认项2. 大模型可能输出无效 JSON处理方式提取 JSON 主对象规范化字段校验固定结构校验引用失败时自动修正一次3. 代码骨架可能被误认为真实复现代码处理方式明确标记工程骨架论文专有内容保留 TODOREADME 中写明适用边界不声称已实现论文全部算法4. 实验记录文件可能损坏处理方式临时文件写入原子替换线程锁结构校验异常信息封装5. 多次实验指标方向不同处理方式允许配置“越高越好”允许配置“越低越好”只对可转为数值的指标进行最佳运行计算十五、阶段成果V0.6 完成后ResearchPilot 已经形成以下闭环论文搜索 → PDF解析 → 文本切分 → 向量检索 → 单篇论文可追溯问答 → 多篇论文对比分析 → 共识与冲突识别 → 多论文研究报告 → 实验复现信息抽取 → 实验配置和工程骨架 → 实验运行记录 → 结果对比 → 实验复现总结报告系统已经不再只是论文问答工具而是覆盖了“文献发现、证据分析、跨论文研究、实验计划、运行记录和复现总结”的完整科研辅助流程。十六、当前不足真实训练仍需要研究人员在本地执行不会自动实现论文专有模型不会自动下载受限数据集论文表格、图片和公式中的参数利用仍有限配置参数抽取依赖论文文本质量DeepSeek 输出仍可能需要人工复核本地 JSON 运行记录不适合大型多人协作尚未接入 MLflow、Weights Biases 等实验平台尚未实现任务队列和异步训练尚未实现 GPU 资源调度尚未实现 Docker 容器自动构建与执行尚未形成标准化实验基准数据集当前测试以模块单元测试为主缺少完整端到端自动化测试十七、后续建议V0.6 完成并验收后应先完成更新 README提交feature/experiment-reproduction创建 Pull Request合并到main在main上执行最终测试创建v0.6.0标签发布 GitHub Release再进入 V0.7 LangGraph 多智能体工作流V0.7 可以将现有模块组织成多个智能体节点论文检索智能体PDF解析智能体证据检索智能体引用校验智能体多论文对比智能体实验复现规划智能体报告生成智能体质量审核智能体十八、一句话总结ResearchPilot V0.6 将论文中的实验描述转化为可检查、可编辑、可执行、可记录和可总结的复现工作流但始终保留证据边界不把默认配置或代码骨架伪装成论文原始实现。