Skip to content

v2.1.0 — 沟通交流格式契约(下发—自检—核验—退回闭环)

Choose a tag to compare

@abbaababa abbaababa released this 06 Nov 04:42
· 10 commits to main since this release

2.1.0 — 2026-11-06

建立主 Agent 与部门人员之间的统一沟通交流格式契约:派活时随任务附带同一份格式要求,部门人员提交前照此自查,主 Agent 收件后照同一份格式核验,不合规立刻退回并附逐条问题,通知其重新检查格式后全盘重交。

一、这次要解决的问题(说人话版)

以前主 Agent 给部门人员派活,只讲「要做什么」,没讲「结果按什么格式交」。于是同一种误会反复发生:活干完了,但交上来的回执缺证据、缺复盘、少验收条目,主 Agent 只能打回,来回折腾。

2.1.0 把「交付格式」本身变成双方共同遵守的契约:

  • 派活时,格式要求跟着任务一起发下去(不是事后才说)。
  • 部门人员交结果前,先自己照着这份格式逐条检查,全合规了才交。
  • 主 Agent 收到后用同一份格式逐条核验;只要有一条不合规,立即退回,并写清是哪几条、为什么不合规。
  • 部门人员重交时,会看到具体的退回原因,只补缺口,不用把整件事重做。

二、九条格式要求(F1–F9)

编号 要求 为什么需要
F1 结果块用规定的起止标记包起来 主 Agent 才能准确切出结果正文,不会把说明文字当成结果
F2 状态只能是 done / blocked / partial 防止自造状态,导致机器无法判断
F3 三阶段(规划、执行、验证)都要写 证明是「想过、做过、验过」,不是只有结论
F4 说「通过」的验收项必须附证据 没有证据的「通过」不算通过
F5 验收条目数不少于计划里要求的条数 防止漏答要求
F6 产物条目格式合法(类型为文件/网址/备注,内容非空) 让「产物在哪」可被机器核对
F7 复盘四项(问题、弯路、解决、防再犯)各至少一条 经验能沉淀,下次少踩坑
F8 报「受阻」必须写清卡在哪 主 Agent 才能给出有效指示,而不是干等
F9 不得编造 诚信底线;由三阶段门禁与人工复核兜底

三、落地位置(可核对)

环节 代码位置 行为
下发 src/comm-format.ts#renderCommFormatSpec → src/plan.ts#buildChildPrompt 末尾 每个子任务提示都附带九条规范与「提交前自查(强制)」指令
自检 同上(提示词内强制指令) 部门人员提交前逐条对照
核验 src/comm-format.ts#checkCommFormatCompliance → src/plan.ts#adjudicateResult 主 Agent 用同一份规范逐条核验 F1–F8
退回 adjudicateResult 返回 blockedKind:'comm-format' 不合规即判受阻,退回通知写明逐条不合规项
重交 src/runtime.ts#executeSubtask 的 lastFailure 注入 退回原因随下次激活回到子提示词,只补缺口不重做

四、验证

  • npm run check(tsc --noEmit)退出码 0。
  • npm test:578 条用例,pass 578 / fail 0。
  • 新增 tests/workplan-comm-format.test.ts:F1–F8 逐条拒收、合规放行、退回通知文案、requirePhases:false 兼容边界。
  • 既有 1 条用例按新契约前移:tests/workplan-evidence-contract.test.ts 的 C-19 由「空证据 pass 降级 unverified 仍算完成」改为「按 F4 退回 blocked/comm-format」。
  • 同时保留 2.0.5 草案的规划器 JSON 结构修复(括号/逗号/截断恢复),规划入口不再因一个字符的结构瑕疵整体降级。

五、发布渠道

  • npm:dsh-workplan@2.1.0
  • GitHub Release:v2.1.0,附 dsh-workplan-2.1.0.tgz
  • 制品校验:
    • sha256 0f015202575999b4be428bd55f2349f676a88ad48c605727cbd6e8494c9ac261
    • sha1(与 npm registry 一致)afc59da063e210f03eb0424b00da6e594f8536eb

六、边界(不夸大)

  • 只拦「即将判完成」的路径。解析失败、验收缺口、三阶段缺失已被更早的门禁拦下,保留原有更具针对性的诊断。
  • requirePhases:false(历史回放 / 明确关闭新契约)不追溯否决旧日志里按当时规则合法的完成记录。
  • F6 只校验产物声明是否合法,是否必须交付文件由各子任务的验收标准决定,避免把写作类任务误判为不合规。
  • F9 不做自动判定:编造检测需要语义理解而非结构校验,写成提示词级诚信约束,由三阶段门禁与人工复核承担。