任务 ID: task-researcher-review-20966  |  文件: session.md  |  最后修改: 2026-02-24 16:18:02

评审报告 — Researcher Workspace 设计

评审人: Ai.Rev 日期: 2026-02-24

总体评价

通过(有少量中等/轻微问题需确认)

整体设计结构清晰、职责边界明确,工具分层策略合理,去重机制和迭代控制逻辑完整。没有发现严重的逻辑错误或数据丢失风险。以下问题建议修复或确认。


问题列表

🔴 严重问题(必须修复)

无。


🟡 中等问题(建议修复)

1. HEARTBEAT.md 清理任务被注释掉,实际不会执行

位置: HEARTBEAT.md

# find /root/.openclaw/workspace-researcher/sessions/ -name "*.md" -mtime +30 -delete

清理命令前有 # 注释符,意味着 sessions/ 目录的 30 天 TTL 清理永远不会触发。AGENTS.md 和 SKILL.md 多次提到"HEARTBEAT 清理",但实际上 HEARTBEAT 是个空文件。

影响: sessions/ 目录将无限积累,久而久之可能占用大量空间,也与设计文档描述不符。

建议: 取消注释,使清理命令实际生效;或者改为在 HEARTBEAT 任务区中注册一个 cron 任务。


2. AGENTS.md 中"每次 Session 必做"第4步与 SKILL.md 描述存在轻微逻辑脱节

位置: AGENTS.md § 每次 Session 必做,第4步:

执行去重检查(读 research SKILL.md § 去重检查流程)

但下一步(第5步)是:

读对应模式的执行策略(research SKILL.md § Search 模式 或 § Research 模式)

问题:去重检查(第4步)内部的"有相关报告,已过时"分支,会触发"执行完整搜索",即直接进入 Search/Research 模式的执行——但此时第5步的"读执行策略"还没发生。顺序意味着 Agent 在读完执行���略之前就已经开始搜索了。

影响: 低风险,因为 SKILL.md 本身包含完整流程,Agent 可能在去重检查内部自然触发;但对于刚上线的 Agent 来说可能造成"先行动后读规则"的困惑。

建议: 将第5步(读执行策略)移到第4步之前,或在第4步备注"如判断需要重搜索,先完成第5步再执行"。


3. Fact Check 流程缺少"更新 MEMORY.md 报告索引"步骤

位置: SKILL.md § Fact Check 流程

4. 验证通过 → 更新报告 updated 字段 → 返回现有报告

AGENTS.md 第"输出规范"节强调:

生成报告后,更新 MEMORY.md § 已有报告索引

但 Fact Check 流程(复用报告,非新建)更新了报告的 updated 字段后,没有明确指示同步更新 MEMORY.md 中的"有效期至"字段。如果 MEMORY.md 索引中的"有效期至"不随 updated 更新,下次去重检查可能误判为过时。

建议: 在 Fact Check 流程第4步后补充:

  1. 更新 MEMORY.md § 已有报告索引 中对应行的 有效期至 字段(按 freshness_type 重新计算)

🟢 轻微问题/建议(可选改进)

4. MEMORY.md 中过时判断符号乱码

位置: SKILL.md § 去重检查流程

过时判断依据(见 AGENTS.md § 过时判断依据):news=7日 / technical=6月 / academic=1年

实际渲染结果显示 news=7 后接乱码(原文为 news=7日,可能是编码问题)。建议改为纯 ASCII 描述或统一使用 7d / 6mo / 1yr,避免编码渲染问题。


5. IDENTITY.md 未提及"失败快速上报"在日常描述中的体现

位置: IDENTITY.md § 工作原则

IDENTITY 已有"失败快速上报"原则,但没有描述失败上报的对象是谁(爱衣)。对于刚上线的 Ai.Res,这个原则只靠 AGENTS.md 的安全规则覆盖。

建议:IDENTITY.md § 工作原则 末尾加一句:

上报对象始终是 agent:main:main(爱衣),不独立决策。


6. sessions/ 路径在 SKILL.md 和 AGENTS.md 中都是硬编码绝对路径,未来迁移成本高

位置: 多处

SKILL.md 的去重检查、清理命令里都使用 /root/.openclaw/workspace-researcher/... 绝对路径。如果将来 workspace 路径变更,需要手动批量修改多个文件。

建议(低优先级): 在 MEMORY.md 顶部定义路径变量说明(注释),或至少在 SKILL.md 开头注明"本文件路径均以 /root/.openclaw/workspace-researcher/ 为根",方便未来维护。


7. Research 模式"超轮次处理"与 AGENTS.md 安全规则措辞不一致

SKILL.md(Research 模式 § 迭代控制):

超轮次处理:仍有大量缺口时,停下来 sessions_send 给爱衣说明情况,由主人决定是否继续

AGENTS.md(Ask first):

Research 模式 3 轮后知识缺口仍大量存在(> 5 个高优先级缺口)

AGENTS.md 用"> 5 个高优先级缺口"作为阈值,SKILL.md 只说"大量缺口",没有给出数量界定。两文件措辞不完全一致,Agent 阅读 SKILL.md 时可能不知道阈值是 5 个。

建议: SKILL.md 的迭代控制部分补充阈值:

超轮次处理:若 3 轮结束后仍有 > 5 个高优先级缺口,停下来 sessions_send 给爱衣说明情况


亮点

  1. 工具分层策略设计优秀。 AGENTS.md 只引用 SKILL.md,不写死命令,SKILL.md 更新自动生效——这种间接引用设计降低了维护成本,是同类 Agent 设计中少见的好实践。

  2. 去重机制完整且合理。 有 Fact Check 旁路(未过时直接复用)、过时判断依据明确按主题类型分级(7天/6个月/1年),避免了盲目重搜。

  3. 知识缺口分析设计好。 明确要求"必须写出具体问题内容,不能只说'需要更多信息'"——这种约束防止了 Agent 产出模糊、无法追踪的缺口列表。

  4. Fallback 机制完整。 MEMORY.md 同时提供工具速查命令和完整执行流程,SKILL.md 完全不可用时 Agent 仍可独立工作,鲁棒性好。

  5. 输出规范详细。 session log 格式和 report frontmatter 都有完整模板,新上线的 Agent 可以直接照搬,不需要猜测格式。

  6. HEARTBEAT.md 有重启续接任务区。 考虑了 Gateway 重启场景,体现了对运维中断的设计意识(即使目前为空)。


结论

Researcher workspace 设计整体完善,逻辑自洽,可操作性强。主要风险点是 HEARTBEAT 清理任务被注释(问题1)Fact Check 后未更新 MEMORY 索引有效期(问题3),建议优先修复这两项。其余问题均为轻微一致性改进,可按需处理。

结论:可以上线,建议在首次实际任务前修复问题1和问题3。