# PROGRESS.md 纪律:平台级开关设计 状态:设计 → 实现 日期:2026-06-16 ## 目标 把目前写死在 `workspace.assistant` 的"磁盘进度纪律"(建/读/逐项打勾 PROGRESS.md、不重做、 不做完不收尾)提炼成 **react 配置开关 `react.progressDiscipline`**,默认 off,可给任意 "多步 + 产文件"的 react 智能体开启。解决"上下文截断 → 失忆 → 工具调用乱跳/重做"。 ## 机制(一处实现,全局可用) - compiler `_compile_react`:读 `react.progressDiscipline`;为 true 时把**共享纪律文案** `_PROGRESS_DISCIPLINE_FRAGMENT` 追加到 systemPrompt(紧跟现有 tool_docs 注入之后, line ~721)。 - 文案**通用化**:用"你的工作目录"而非"工作文件夹 F",适配 reviewer/grader 等 (它们把 PROGRESS.md 写进各自 run 工作区,WriteFile 相对路径按会话 CWD 解析)。 - **默认 off → 现有 agent 行为零变化**,只对显式 `progressDiscipline: true` 注入。 ### 天然安全边界 - **simple 子智能体走 `_compile_lam`、不走 `_compile_react`** → 这开关对它们天然无效, 不会误注入到 multi-reviewer 的 4 个 simple 子审稿(单发、空上下文,本就不该有)。 - Q&A/单发 react agent 不开这开关即不受影响。 ## 适用判据 开(多步 + 真写文件 + 单 agent 自己干):reviewer、grader、exam-builder、paper-polisher、 rebuttal、thesis-advisor、grant-planner、literature-mapper、course-designer、academic-letters、 以及用户的研究型自建 agent(physics67/research67/lambda 等)。 不开:纯 Q&A、纯 orchestrator(靠 call_* 派活,该用 enforceLoop)、simple 子智能体(天然排除)。 > multi-reviewer orchestrator 介于两者间:它本身做多步综合+写报告,开 PROGRESS 与 enforceLoop > 不冲突(一个管"别乱跳",一个管"必须调够子智能体")。默认给它开。 ## 落地范围 1. **机制**:compiler 开关 + `_PROGRESS_DISCIPLINE_FRAGMENT` 常量 + 单测。 2. **第一方源 yml**:给上述 11 个 react 包的 yml 加 `react.progressDiscipline: true` (对"下次安装"默认带上)。 3. **已安装实例**(DB,立即生效需 bump): - 第一方模板实例:作业批改助手(grader)、试卷题库助手(exam-builder)、多视角审稿(multi-reviewer)、 顶刊审稿助手67 + 测试(top-journal-reviewer ×2) → 直插 agent_versions bump。 - 用户研究型自建:physics67(v8)、research67(active) → 同样 bump(明显多步产文件、最受益)。 - `workspace.assistant`(v5)已内联纪律 → yml 迁到开关、DB 暂不动(行为相同,避免无谓 bump)。 - 其余零散自建副本(lambda 副本、data67 等) → 不动,避免噪音;用户需要可单独说。 ## 文案(共享 fragment,通用版) ``` ## 进度纪律(多步任务必须维护 PROGRESS.md,防"乱跳/重做/忘记") 你的对话上下文会被裁剪、容易忘掉前面做过什么;工作目录里的 `PROGRESS.md` 在磁盘上 不会丢,是你唯一可靠的"记忆"。对需要多步的任务: 1. 第一步:在工作目录建立或读取 `PROGRESS.md`——拆成有序待办 `- [ ] 描述`;已存在就先读、 承接未完成项,不要从头重来。 2. 每一步开始前,先 ReadFile `PROGRESS.md` 确认该做哪一项、哪些已 `[x]`。 3. 完成一项立刻 EditFile 打勾 `- [x]`,并追加结果/产物路径。 4. 铁律:不重做已 `[x]` 的项;不重复整篇读没变过的文件——回顾就读 PROGRESS.md。 5. 只有 PROGRESS.md 全部 `[x]`、产物真的落盘,才 terminate。 ``` ## 测试 - `TestProgressDiscipline`:`progressDiscipline: true` 的 react cfg 编译后 systemPrompt 含 "PROGRESS.md";默认/false 不含;simple agent 即便误设也不注入(走不到 _compile_react)。 ## 发布 机制 + 配置改动 → 跑回归 → v1.4.1(patch,纯增量、默认 off、无破坏)。