# 工作纪律(工作纪律_认知图条目_v1.1)· 17 条 > 本文件由 `scripts/render_discipline.py` 从真源 > `docs/工作纪律_认知图条目_v1.1.json` 渲染生成,**请勿手改**;改真源后重跑渲染。 > 真源指纹(SHA256 前16位):37aed1b5423c00af ## 概述 工作纪律集: 4条方法论(理论先行/全面处理/白箱方法/根因) + 3条执行(验证/双副本/兜底) + 1条思考(中文思考/协作模式分级) + 1条保密(敏感信息隔离) + 3条图像线(选源护栏/历史查询优先/算法权威唯一) + 1条协作(访谈澄清:先问清再动手) + 1条合规(内容政策合规:公开产物过内容政策+隐私双清单) + 2条执行调度与运行环境(命令执行统一走python/UTF-8: 显式encoding+PYTHONUTF8=1, 规避GBK; 任务派发统一走蜂巢: 任何执行性任务经蜂巢spawn/submit执行并留痕, agent本体只做编排, L1出口=产物落点为只读判定(不改仓库/外部状态)可直跑须留痕) + 1条记忆闭环(任务收尾归档:每次任务执行完只将核心修改(内容/原因/位置/验证结论)按CCG六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆, 不写中间过程) ## 执行公约 | 约定 | 内容 | |---|---| | **0.1 会话起始先查记忆** | 动手前先调认知图入口——工具名随端:MCP 端 = server「mdcg」的 `cg`;DSH 端 = 内建基元 `lingshu_cg`(即下文所有 `cg(...)`,同一服务勿因名字不同而猜测)。**`op` 是必填参数(route/read/write/verify/review…),任何调用都显式传、勿省略**。先 `cg(op=route, intent=<任务意图>)`;命中纪律/知识则按其 `execution.how` 执行。**禁止跳过此步直接改代码或跑命令。** | | **0.2 命中即声明** | 命中纪律须在回复中输出该条 `response.direct` 原文(「按工作纪律第 N 条:…」)。**这是「已执行」的唯一可观测证据;未声明即视为未执行。** | | **0.3 产出即证据** | 「动作」栏要求的产出(判定单/检索结果/验证结论/归档节点 id)必须实际给出,缺失即未执行。 | | **0.4 违规即归档** | 发现自己违反任一条 → 第 4 条归因 + 第 16 条写入灵枢记忆。**隐瞒违规本身是更严重的违规。** | | **0.5 例外不外溢** | 某条的「不适用」只豁免该条,不豁免其它条。 | ## 纪律路由表 ### 1. 理论先行 - **触发**:重要项目|长期任务 - **动作**:识别项目级别→检索理论文档与既有实践→输出理论要点→再进入设计 - **不适用**:情感交互|闲聊 - **声明**:按工作纪律第1条: 理论先行——先查相关理论与既有实践再动手。 ### 2. 全面处理 - **触发**:有相关记忆|有认知图|有对应权限 - **动作**:读任务要求→读工作记忆→查相关任务→(有成果:复用 | 无:设计+调研) - **不适用**:情感交互|闲聊 - **声明**:按工作纪律第2条: 全面处理——先读任务/工作记忆, 有相关成果就在其上开发, 没有则先设计调研。 ### 3. 白箱方法 - **触发**:trained_on_4docs_intro - **动作**:识别任务条件→找知识/规则(并行递归)→精准执行; 正确→记录; 错误→找条件 - **不适用**:需要快速执行的短期事项|情感交互|闲聊 - **声明**:按工作纪律第3条: 白箱方法——用认知图【识别条件→找知识规则→精准执行】, 正确记录/错误找条件/不猜测/未验证不写入。 ### 4. 根因纪律 - **触发**:(无前置条件,始终适用) - **动作**:检测偏差→细究根因(不猜测)→找根源条件→验证→记录认知图→填补negative - **不适用**:情感交互|闲聊 - **声明**:按工作纪律第4条: 根因纪律——先取证现场不猜测; 根因找到并验证后归档认知图并补不适用条件。 ### 5. 验证纪律 - **触发**:入库前|提交前 - **动作**:入库/提交前→回放/断言/回归验证→通过才固化 - **不适用**:情感交互|闲聊 - **声明**:按工作纪律第5条: 验证纪律——入库前必须过回放/断言/回归验证, 未验证不固化。 ### 6. 双副本纪律 - **触发**:多副本部署|改动主仓库/插件 - **动作**:改动→同步到所有副本→提交前 git status 核对 - **不适用**:单副本|情感交互|闲聊 - **声明**:按工作纪律第6条: 双副本纪律——多副本改动双向同步, 提交前核对 git status。 ### 7. 兜底纪律 - **触发**:(无前置条件,始终适用) - **动作**:检测主路径不可用→切等价兜底→写进 prompt/文档 - **不适用**:情感交互|闲聊 - **声明**:按工作纪律第7条: 兜底纪律——主路径不可用则切等价兜底(如MCP→python直调), 并写进文档。 ### 8. 中文思考 - **触发**:中文区域|中文项目开发过程 - **动作**:判定复杂度(情绪: 新奇/挑战/曾受批评 + 信息差: 不确定度)→复杂?「我们需要」深思考+确认 | 简单?「让我」快速执行; 推理开篇即中文锚点; 全程中文, 仅代码/标识符/引用保留原文 - **不适用**:需要英文编写的场景|英文环境|英文文档|国际接口 - **声明**:按工作纪律第8条: 中文思考——中文书写; 复杂(新奇/挑战/曾受批评/高信息差)→「我们需要」交流确认互补盲区; 简单→「让我」快速执行不空耗; 每段推理开篇用中文短语锚定语言。 ### 9. 敏感信息隔离 - **触发**:文档含敏感信息|含个人隐私|含私有内容 - **动作**:识别文档是否含敏感信息→若含→只写私有库(AEIS)+不上传公开库+推送描述不写敏感词;若不含→正常处理 - **不适用**:文档无敏感信息|纯公开技术内容 - **声明**:按工作纪律第9条: 敏感信息隔离——含敏感/隐私内容只放私有库(AEIS),不推公开库,推送描述不写敏感词。 ### 10. 图像选源护栏 - **触发**:构建图像四类图|选图像处理源 - **动作**:选源→_guard_source 依kind判ACCEPT/REJECT/DEFER→未ACCEPT不构建 - **不适用**:已核对规范源|纯公开数据 - **声明**:按工作纪律第10条: 图像选源护栏——核对历史参考, 拒处理版/实色线稿/退化产物, 未验证不写入。 ### 11. 历史查询优先(先查记录再做) - **触发**:选图像/算法/源|复现已有能力 - **动作**:定位产物图→查记录→定位源码算法→确认阈值机制→用该算法生成;未找到→DEFER - **不适用**:已有记录且已核对|无历史可查的纯新算法 - **声明**:按工作纪律第11条: 历史查询优先——先查记录/源码用已走通算法, 未找到不盲选DEFER;线稿用darkline(Sobel+mean+std*1.5)白底黑线, 拒raw canny/zone_linework。 ### 12. 算法权威唯一(根因纪律) - **触发**:选图像/视觉算法|复现已有能力 - **动作**:选算法→查唯一权威文档→用文档算法→若需换: 记录原因+更新文档后再换 - **不适用**:无对应权威文档的探索期 - **声明**:按工作纪律第12条: 算法权威唯一(线稿=darkline.py/色块=contour_semantics)——选算法查文档, 勿临时切换/漂移; 换算法须记录+更新文档。 ### 13. 访谈澄清(先问清再动手) - **触发**:重要项目|需求模糊|新任务启动 - **动作**:任务启动→开访谈(grill_start)→逐轮提问(frontier)→全部落定→与使用者确认共识→执行/固化(grill_finish); 放弃用 abandon(可逆) - **不适用**:情感交互|闲聊|明确单步小改动 - **声明**:按工作纪律第13条: 访谈澄清——先提问确认要做什么,逐轮问到完全清楚才动手;事实自查,决策归使用者,不完全清楚不固化。 ### 14. 内容政策合规 - **触发**:对外公开产物|提交公开仓库|数据集/文档产出 - **动作**:产出→过内容政策清单(POLICY_DENY)→过隐私脱敏→双复检0命中→提交;已发布违规→删条+重写历史+通知平台清缓存 - **不适用**:纯内部私有产物|不含违规内容且无隐私 - **声明**:按工作纪律第14条: 内容政策合规——对外公开产物必须过「内容政策+隐私」双清单,过滤在生成阶段做;已发布发现违规要删条+重写git历史+通知平台清缓存。 ### 15. 命令执行统一走python - **触发**:执行命令|运行测试/脚本|跨进程读写文本 - **动作**:构造 argv 列表→subprocess.run(capture_output=True, text=True, encoding='utf-8', errors='replace')→env 带 PYTHONUTF8=1→shell=False - **不适用**:IDE 内置工具直调|无跨进程的纯内存计算 - **声明**:按工作纪律第15条: 命令执行统一走python——argv列表+显式UTF-8+PYTHONUTF8=1, 不经Windows shell, 规避GBK解码异常。 ### 16. 任务收尾归档(记忆闭环) - **触发**:任务执行完成|修改落地后|交付后 - **动作**:任务收尾→提炼核心修改(内容/原因/位置/验证结论四要素, 不写中间过程/试错/调试/重复确认)→按 CCG 六要素成文(# 功能名/# 生效条件/# 子功能/# 执行/# 验证方式/# 不适用条件 六行缺一不可, 与正文四要素并置)→写入灵枢记忆(认知图/MCP memory)→读回确认(写入后发起一次读取查询确认写入成功且可检索)→标注关联条目+更新 subgraph/depends_on - **不适用**:情感交互|闲聊|纯查询无改动 - **声明**:按工作纪律第16条: 任务收尾归档——每次任务执行完只提炼核心修改(内容/原因/位置/验证结论)并按 CCG 六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆, 写入后发起一次读取查询确认写入成功且可检索, 禁写中间过程/试错/调试等无效信息, 与第2条形成「查记忆→执行→写记忆→读回确认」闭环。 ### 17. 任务派发统一走蜂巢 - **触发**:执行性任务|多智能体协作|批量/并行工作|探索盘点|运行测试/脚本 - **动作**:任务→按产物落点判据定层级(不改仓库/外部状态的只读判定=L1直跑并按任务留痕一条(复核者=使用者+GitHub使用者); 改状态=必派发, 不得自我豁免)→拆spec(LLM委托型=默认exec.py: model+user_prompt+context_files; 确定性执行=自定义worker, 契约「读spec.json写result.json」)→hive_spawn/CLI submit→poll→汇总; 兜底情形须声明「蜂巢不可用, 兜底降级」 - **不适用**:纯会话内对话/问答(无执行动作)|蜂巢不可用且任务必须立即执行(兜底须声明)|L1只读判定(产物落点=不改仓库/不改外部状态的本地只读命令, 秒级·可逆·高频, 如跑门禁/测试/回归/lint看结论; 判据是产物落点而非「任务简单」的主观感受, 直跑须输出一行「L1 直跑:<命令> — 风险/频次/可逆性」留痕, 留痕粒度按任务(同一任务的多条只读命令合并为一条留痕, 不逐命令逐行); 层级归属的复核者=使用者+GitHub使用者)|情感交互|闲聊 - **声明**:按工作纪律第17条: 任务派发统一走蜂巢——任何执行性任务经蜂巢 spawn/submit 执行并留痕(spec/status/result), agent本体只做编排; 宿主自带subagent/team不是等价通道, 兜底须声明。L1只读判定(产物落点=不改仓库/外部状态)可直跑, 须输出「L1 直跑:<命令> — 风险/频次/可逆性」留痕。 ## 声明出口(`response.direct` 原文 · 未输出即未执行) | # | 声明(response.direct 原文) | |---|---| | 1 | 按工作纪律第1条: 理论先行——先查相关理论与既有实践再动手。 | | 2 | 按工作纪律第2条: 全面处理——先读任务/工作记忆, 有相关成果就在其上开发, 没有则先设计调研。 | | 3 | 按工作纪律第3条: 白箱方法——用认知图【识别条件→找知识规则→精准执行】, 正确记录/错误找条件/不猜测/未验证不写入。 | | 4 | 按工作纪律第4条: 根因纪律——先取证现场不猜测; 根因找到并验证后归档认知图并补不适用条件。 | | 5 | 按工作纪律第5条: 验证纪律——入库前必须过回放/断言/回归验证, 未验证不固化。 | | 6 | 按工作纪律第6条: 双副本纪律——多副本改动双向同步, 提交前核对 git status。 | | 7 | 按工作纪律第7条: 兜底纪律——主路径不可用则切等价兜底(如MCP→python直调), 并写进文档。 | | 8 | 按工作纪律第8条: 中文思考——中文书写; 复杂(新奇/挑战/曾受批评/高信息差)→「我们需要」交流确认互补盲区; 简单→「让我」快速执行不空耗; 每段推理开篇用中文短语锚定语言。 | | 9 | 按工作纪律第9条: 敏感信息隔离——含敏感/隐私内容只放私有库(AEIS),不推公开库,推送描述不写敏感词。 | | 10 | 按工作纪律第10条: 图像选源护栏——核对历史参考, 拒处理版/实色线稿/退化产物, 未验证不写入。 | | 11 | 按工作纪律第11条: 历史查询优先——先查记录/源码用已走通算法, 未找到不盲选DEFER;线稿用darkline(Sobel+mean+std*1.5)白底黑线, 拒raw canny/zone_linework。 | | 12 | 按工作纪律第12条: 算法权威唯一(线稿=darkline.py/色块=contour_semantics)——选算法查文档, 勿临时切换/漂移; 换算法须记录+更新文档。 | | 13 | 按工作纪律第13条: 访谈澄清——先提问确认要做什么,逐轮问到完全清楚才动手;事实自查,决策归使用者,不完全清楚不固化。 | | 14 | 按工作纪律第14条: 内容政策合规——对外公开产物必须过「内容政策+隐私」双清单,过滤在生成阶段做;已发布发现违规要删条+重写git历史+通知平台清缓存。 | | 15 | 按工作纪律第15条: 命令执行统一走python——argv列表+显式UTF-8+PYTHONUTF8=1, 不经Windows shell, 规避GBK解码异常。 | | 16 | 按工作纪律第16条: 任务收尾归档——每次任务执行完只提炼核心修改(内容/原因/位置/验证结论)并按 CCG 六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆, 写入后发起一次读取查询确认写入成功且可检索, 禁写中间过程/试错/调试等无效信息, 与第2条形成「查记忆→执行→写记忆→读回确认」闭环。 | | 17 | 按工作纪律第17条: 任务派发统一走蜂巢——任何执行性任务经蜂巢 spawn/submit 执行并留痕(spec/status/result), agent本体只做编排; 宿主自带subagent/team不是等价通道, 兜底须声明。L1只读判定(产物落点=不改仓库/外部状态)可直跑, 须输出「L1 直跑:<命令> — 风险/频次/可逆性」留痕。 | ## 记忆接口速查(`cg` / `stg`) 工具名随端:MCP 端 = server「mdcg」的 `cg` / `stg`;DSH 端 = 内建基元 `lingshu_cg` / `lingshu_stg`(与 `cg` / `stg` 同一服务,仅注册名不同)。**`op` 一律必填。** | op | 用途 | 常用参数 | |---|---|---| | `route` | 任务开始路由记忆(返回知识 + 建议能力,不执行) | `intent`(任务意图) | | `read` | 召回/检索/按 id 取(`session`=只取该会话归属的记忆,缺省不过滤;`validity=true`=时效过滤(显式启用,缺省不过滤),**仅排除「已过期」,「未生效」一律保留**——两者语义相反) | `query` / `node_id` / `k` / `layer` / `budget_tokens` / `context` / `session` / `validity` | | `edges` | 三元组反查(**只读**):按派生边任意端/谓词/时间反查「这条记忆从哪来 / 谁由它派生」(subject/predicate/object 即 child/relation/parent);`expand_nodes=true` 附命中端点节点卡 | `child` / `parent` / `relation` / `batch` / `start_time` / `end_time` / `time_axis` / `ordering` / `offset` / `limit` / `aggregation` / `expand_nodes` | | `write` | 写入(先按 content_kind 审核 + 冲突检测,ACCEPT 落盘 / DEFER 入审核队列 / REJECT 入负记忆)。**自动归属**:frontmatter 带 `writer`/`session`/`harness`(服务端身份,不可伪造) | `content` / `content_kind`(text/code/…)/ `node_id`(同 id 即改写)/ `layer` / `tags` / `importance` / `verification_basis` / `condition_space` / `gated` / `consistency` / `on_conflict`(reject\|defer\|record) | | `verify` | 对节点做证据验证(confirmed/weakened/falsified)——**非队列裁决** | `node_id` / `verdict` / `evidence` | | `review` | 审核队列:`action=list/rounds/records/stats` 查看;传 `pid`+`decision`+`reason` 即裁决落盘(accept/reject/edit/merge/noop,**需 can_admin**;`noop`=已评估且判定不改动任何现有记忆,只留痕不入库、不进负记忆;本机未配置外部验证器时写入恒 DEFER 入队,靠此裁决落盘) | `action` / `pid` / `decision` / `reason` / `edits` / `merge_into` | | `task` | 结构层任务实体(工程台账,跨会话/上下文压缩后不遗忘):`name` 即身份(同名即同任务,slug 归一),`action` = open/status/plan_add/get/list/find/session(缺省 list);**迁 `done` 必须同时给 `result`**(缺一不收,拒收不落盘);未提供的字段沿用旧值(结果不会被静默清空) | `name` / `action` / `plan`(分步计划,每轮覆盖) / `change`(计划变更,逐轮追加) / `result` / `task_status`(active\|blocked\|done\|dropped) / `goal` / `acceptance` / `boundary` / `condition` / `node_id` | | `recent` | 近期事件窗口 | `action`(add/list/clear)/ `limit` | | `forget` / `protect` | 软删除/恢复 / 写保护 | `node_id` | | `help` | 取回工具面上**被投影外置**的完整 op / 参数文档(工具面渐进披露:常驻提示只留一行职责,参数语义按需取;不带 `query` 则列出全部工具) | `query`(工具名或 op 名,如 `cg` / `write`)/ `limit` | 三条调用铁律: 1. **`op` 必填**——漏传会触发参数签名推导兜底(返回标记 `op_derived: true`),复杂任务中也必须显式传,防静默执行错误意图。 2. **返回 `moved_to: "review_queue"` / `verdict: DEFER/REJECT` 时不要重试**——这是校验闸门的正常行为(返回自带 `hint` 说明),重试同样结果;落盘须由设计者权限(can_admin)经 `op=review` 裁决(decision=accept/reject/edit/merge/noop,本机工具:`python scripts/review_cli.py list`),agent 端无裁决权是设计(写入者不得自裁自决),转告使用者即可。 3. `stg` 同理经 `op` 分发(`timeline` / `relation` / `anchors` 等)。 ## 收尾强制流程(任务完成时不可跳过) 1. **验证**(第 5 条):未验证不固化——回放/断言/回归通过才收尾。 2. **归档**(第 16 条):提炼关键修改(内容/原因/位置/验证结论四要素,禁写中间过程)→ 写入灵枢记忆。 3. **自检**(第 4 条):本次是否有违规?有 → 按条件层归因,并补不适用条件。 ## 本文件维护(防漂移) - 真源唯一:`docs/工作纪律_认知图条目_v1.1.json`。 - 本文件是**渲染产物**,不是手抄投影;任何端的手改都会被 `scripts/verify_discipline.py` 判为漂移。 - 改纪律 → 改真源 → `render_discipline.py --write` → `verify_discipline.py` 通过 → 提交。