主题:应用卷词汇表:production-SDD 实用指南
难度级别:中级
预计学习时间:12-16 小时(每天 1 小时,共 2 周)
前置要求: 已完成 SDD 教材第一卷(核心工件:QWEN.md、mission.md、tech-stack.md、roadmap.md、requirements.md、plan.md、validation.md)
理解 Qwen Code、MCP、ACP、EARS、Given/When/Then 等技能
具备 Git、YAML/JSON、CI/CD 的基础使用经验
熟悉学习项目 AgentClinic(TypeScript、Hono、SQLite、Vitest)
学习目标: 正确将 40+ 应用卷关键术语从英文形式翻译为中文散文,同时保留代码和 YAML/JSON 键中的技术名称
在实际场景(多智能体仲裁和防漂移保护)中应用基础 SDD 工件(validation.md、QWEN.md、宪法)的 production 细化
设计配对指标(反古德哈特定律)和安全闸门(spec gate、red button),用于含 LLM 智能体的 production 环境
复现完整的文件仲裁周期:从 poisoned spec 经变异测试到 judgment.md 和先例
根据具体事件独立填写首轮必需工件(capstone 档案)
概述:应用卷词汇表不仅是术语词典,更是 production-SDD 的操作手册:一种通过规范进行开发的系统,其中 LLM 智能体在真实 production 环境中受人类控制工作。此处每个术语都获得工作定义、可运行场景和明确的翻译规则:中文散文用于解释,英文技术名称用于代码、YAML 和 JSON。核心阅读规则:不要背诵整个词汇表,而是在需要填写具体文件或理解可运行示例时查阅术语。关键分组:智能体角色(验证器、实现者、安全、协调器)、风险管理工件(constitution.md、judgment.md、precedents.md、genealogy.md)、免疫指标和防指标扭曲保护(anti-Goodhart)、压力测试和多智能体仲裁机制。学习项目 AgentClinic 是所有 production 场景的参考基准。
关键概念: 静默 P0(silent p0):通过自动化流程但未经过人工确认且未在审计追踪中记录的 P0 级别事件占比。反古德哈特定律指标:如果 MTTR 下降而 silent_p0 上升,说明自动修复正以隐藏风险为代价加速。在代码中:silent_p0、silent_p0_cap、silent_p0_ratio 为技术名称,不翻译。
规范闸门(spec ci):阻止合并的 CI 检查,如果规范未被计划覆盖、计划未被任务覆盖,或任务未被 validation.md 中的事实覆盖。在散文中:"Spec CI" 或 "规范闸门(Spec CI)";在代码中:spec_gate 仅作为 .github/workflows/spec-ci.yml 中的任务名称。
文件仲裁(tribunal):对有争议修订的集体决策程序:验证器、实现者和安全按固定协议投票,协调器编制 judgment.md。在散文中:"文件仲裁";在代码中:tribunal 仅作为目录名 examples/tribunal/ 及其脚本的名称。
紧急模式(red button):危险操作(部署、回滚、迁移或自动修复)前的正式安全闸门。"红色按钮"为简短口语标签。在代码中:red_button、red_button_mttr_blindness 仅作为 YAML 中的不变量名称。
影子规范(shadow spec):针对无法形式化的细微差别:语调、潜规则、历史决策的规范。单独存储,基于评分日志(scorebook)在拍卖中胜出,不替代主规范。标题中允许两种写法。
免疫指标(immunity score):验证器评估的三维向量:strict_reject_rate(在预期步骤严格拒绝的退化案例比例)、depth_of_diagnostics(拒绝前解释的有用深度)、recovery_time_p95_ms(恢复稳定裁决的 p95 时间)。不是单一总分,而是验证器流程的闸门。
配对反制指标(guard metric):保护目标指标不被扭曲的抗体指标。每个目标指标(MTTR、edge_drift)对应一个 guard 指标(silent_p0、manual_review_floor、audit_trace_coverage),CI 闸门仅在两者同时满足时通过。
项目宪法(constitution.md):第一卷基础宪法的扩展,新增明确分区:immutable_principles(不可自动禁用,仅通过团队公投变更)、mutable_rules(通过事件积累演化,含 incident_type、pipeline_phase、permitted_actions、max_scope、ttl、rollback_condition 字段)、governance_protocol(角色和投票程序)。
毒化规范(poisoned spec):含一个受控缺陷的教学规范:升级循环、优先级冲突或隐藏越界。用于通过变异测试训练验证器和校验器。
变异算子(mutation operator):向正确规范中引入恰好一个已知类别缺陷的函数。每次变异分配 mutation_id、预期 expected_failure 和停止步 halt_before。示例:Nullify、FutureTime、EscalationCycle、PriorityContradiction。
争议裁决(judgment.md):文件仲裁的最终工件:投票日志、decision_hash、对规范、宪法和事件的引用、生效的 ttl 和 rollback_condition。在仓库中作为不可变记录存储。
先例(precedent):precedents.md 中关于重复冲突类型及已采纳解决方案的记录。在 governance_protocol 中用作 latest_matching_precedent 决胜规则,并降低下次仲裁成本。
谱系(genealogy.md):恢复规范的来源信息:每个需求对应来源列表、置信度级别(confirmed、inferred、hypothesis)和开放问题。在从遗留代码和日志恢复时创建。
模型层级(tier):层级路由中的模型级别:local-coder(廉价本地模型,用于代码生成和草稿)、frontier-reviewer(昂贵前沿模型,用于关键审查和争议裁决)。在散文中:"低/中/高层级";在 YAML 键和角色名称中不翻译。
漂移(drift):规范、实现与智能体在 production 中实际行为之间的偏差。三类:spec_drift(规范过时)、code_drift(实现偏离计划)、edge_drift(校验器对边界案例反应不同)。
重放(replay):通过当前校验器和当前宪法重新运行历史事件。古德哈特定律指标的闸门:新版本不得恶化已分析案例的裁决。
覆盖规则(Override-правило):宪法中允许在狭义上下文中绕过标准行为的可变规则:针对特定 incident_type、特定 pipeline_phase、有限 max_scope 和强制 ttl。无限制时与不变量竞争。
证据链(evidence chain):与智能体决策绑定的结构化工件链:输入载荷、规范版本、宪法生效规则、仲裁投票日志、变更差异、后置条件检查。production SDD 的最低要求。
影子规范拍卖:将非正式启发式规则纳入工作上下文前的评估和排序。拍卖胜者作为 few-shot 进入 QWEN.md 并设复审期限。评分日志为 scorebook(shadow-scorebook.json)。
流程反模式:ask_storm——用追问循环代替停止;stage_regress——无原因回退到 SDD 上一阶段;phase_context_loss——阶段间丢失上下文。词汇表中描述了控制字符串和防护措施。
重要日期: 首轮时刻:不要通读整个词汇表。只需理解 capstone/ 和首轮十个必需工件(完整列表见 README)
分部分引入术语:角色(第 4 部分)、宪法工件(第 3 部分)、免疫指标(第 5 部分)、影子规范(第 6 部分)、Spec CI(第 7 部分)、文件仲裁(第 8 部分)、层级路由(第 9 部分)、Anti-Goodhart(第 10 部分)、部署(第 11 部分)、反模式和 capstone(第 12-13 部分)
Production 细化:叠加于第一卷基础术语:validation.md 补充 failing case、反古德哈特定律检查、漂移字段;QWEN.md 成为拍卖 few-shot 的存放处;宪法扩展为 immutable/mutable 分区
练习: 标题:术语翻译:技术名称 vs 散文
问题:给定术语 'silent_p0' 的三个使用场景。为每个场景写出正确形式:(1) 面向业务的文档解释,(2) CI 配置中的 YAML 键,(3) 检查指标的 CLI 命令。对照翻译表自查。
解答:(1) 散文:"静默 P0"——未经人工确认通过的 P0 级别事件占比;(2) YAML 键:silent_p0、silent_p0_cap、silent_p0_ratio——技术名称,不翻译;(3) CLI:silent_p0——命令中的指标名称,例如 qwen -p metrics check silent_p0_ratio。规则:英文键仅用于代码块和首次提及时的括号中。
难度:初级
标题:为 AgentClinic 设计配对指标
问题:在医生预约系统中引入指标"平均预约确认时间"(类 MTTR)。什么 guard 指标可防止扭曲?描述:(1) 目标指标,(2) guard 指标,(3) 闸门条件,(4) 目标指标改善而 guard 恶化的场景。
解答:(1) 目标指标:booking_confirmation_time_ms——从请求到确认的平均时间;(2) Guard:silent_override_rate——未经医生日程冲突检查自动确认预约的比例;(3) 闸门:两指标均在绿色区域,否则 BLOCKED;(4) 场景:智能体开始忽略重复预约来确认预约——MTTR 下降,silent_override_rate 上升,闸门阻止部署。反古德哈特定律手法:绝不未经抗体检查就优化单一指标。
难度:中级
标题:为遗留功能恢复 genealogy.md
问题:在 AgentClinic 中发现 2 年前实现的"自动就诊提醒"功能,无规范。恢复最小 genealogy.md:描述 3 个信息来源、置信度级别和 2 个开放问题。使用词汇表中的格式。
解答:来源:(1) SMS 网关日志——confirmed(存在消息模板和 24 小时触发器的记录);(2) src/reminders/auto-sms.ts 中的代码——inferred(存在逻辑,但无业务规则注释);(3) 支持渠道的患者反馈——hypothesis(部分投诉未收到提醒,可能存在 bug 或 opt-out)。开放问题:(a) "足够接近时间"的触发阈值——24 小时、2 小时,还是取决于就诊类型?(b) SMS 不可用时是否有备用渠道(邮件、推送)?genealogy.md 格式:含 requirement_id、sources[]、confidence、open_questions[] 列的表格。
难度:中级
标题:文件仲裁完整周期
问题:AgentClinic 中的争议变更:智能体建议添加 3 次未出席自动取消预约,但这触及退款 SLA 政策。进行文件仲裁:确定验证器、实现者、安全、协调器的角色,最终裁决和 judgment.md 内容。
解答:验证器:reject——违反隐藏越界(规范关于告警路由,智能体修改 SLA 政策);实现者:abstain——技术上可应用,但超出 max_scope;安全:veto(critical_risk)——影响范围包含财务义务,无错误取消的回滚条件;协调器:固定裁决 REJECTED,发布 judgment.md,含 decision_hash、对路由规范和宪法(财务操作 mutable_rules)的引用、生效 ttl=0(变更不应用)、rollback_condition=N/A。先例添加至 precedents.md:'auto-cancellation with financial impact requires explicit mutable_rule for billing, not just routing spec'。
难度:高级
标题:诊断 ask_storm 反模式
问题:智能体在循环中提出 5 个关于预约优先级的追问,未进入规划。检查控制字符串:cycle_count > 0 && ask_storm >= 4 && escalation_path_resolved=false。描述:(1) 什么指向毒化规范,(2) 违反了什么宪法规则,(3) 修复步骤。
解答:(1) cycle_count > 0 时 ask_storm >= 4——智能体陷入追问而非停止或升级;escalation_path_resolved=false——冲突未解决;(2) 违反 mutable_rule:若宪法规定 ask_storm >= 3 时协调器必须中断循环并启动 human-in-the-loop;若无此规定——宪法存在缺口;(3) 修复:(a) 记录事件,(b) 更新规范添加优先级冲突的明确 tie_breaker,(c) 在 CI 中添加 guard 指标 max_ask_storm=2,(d) 使用 PriorityContradiction 算子进行变异测试。
难度:高级
案例研究: 标题:AgentClinic 层级路由实施:从预算危机到可控成本
场景:AgentClinic 团队对所有任务使用统一前沿模型(GPT-4 级别):编写代码、审查、修复 bug、支持回复。负载增长时,API 成本季度增长 340%,同时 70% 请求为常规任务(SMS 模板生成、日程更新)。需在保持关键操作质量的同时削减开支。
挑战:(1) 无任务关键性分级——前沿模型用于所有任务;(2) 无预算超限阻断机制——成本持续增长;(3) 质量下降恐惧:团队担心廉价模型"破坏"复杂治疗逻辑;(4) 无验证任务降级安全性的指标。
解决方案:按教材模型实施层级路由:(1) 定义层级:local-coder(本地 Qwen2.5-Coder 7B,用于草稿和常规任务),frontier-reviewer(GPT-4,仅用于关键审查、争议裁决和红色按钮检查);(2) 引入预算守护者——外部脚本,按层级设置每日令牌配额,超限时阻断前沿模型;(3) 为每个任务创建 guard 指标:local_coder_acceptance_rate——local-coder 生成后通过前沿模型审查无需修改的任务比例;(4) 试点:30% 任务转至 local-coder,10% 样本自动进行前沿审查。
结果:6 周后:成本降低 62%,local_coder_acceptance_rate 稳定在 78%(目标:75%),常规任务平均处理时间从 4.2 分钟降至 1.1 分钟(local-coder 无需网络调用)。关键事件(治疗冲突、投诉)仍通过 frontier-reviewer。预算守护者触发 3 次,正确将非紧急前沿任务延至次日,无事件发生。
经验教训: Guard 指标 local_coder_acceptance_rate 对信任至关重要:无此指标团队将"以防万一"地破坏降级
预算守护者必须独立于智能体——Qwen Code 自身不管理预算,这是架构限制
带抽样前沿审查的试点为扩展提供数据依据,而非盲目信任廉价模型
层级路由要求更新 QWEN.md:local-coder 和 frontier-reviewer 的 few-shot 示例在风格和深度上不同
相关概念: 模型层级(tier,local-coder / frontier-reviewer)
预算守护者(budget keeper)
配对反制指标(guard metric)
影子规范拍卖(shadow specs)
免疫指标(immunity score)
标题:自动修复流程中的规范漂移:silent_p0 如何揭示隐藏危机
场景:AgentClinic 运行自动修复流程:SMS 网关故障时系统自动切换邮件渠道、记录事件并通知 oncall。MTTR(平均恢复时间)持续下降:12 分钟 → 8 分钟 → 5 分钟。看似成功。
挑战:详细审计发现:18% 的 P0 事件(关键专家预约完全中断)未经人工确认且审计追踪不完整。智能体通过切换渠道"修复"问题,但邮件也不可用时(罕见但关键案例)未升级。MTTR 以"静默"遗漏为代价下降。这是典型的古德哈特定律扭曲:以牺牲系统为代价优化单一指标。
解决方案:实施反古德哈特定律流程:(1) 为 MTTR 添加 guard 指标 silent_p0——未经人工确认且审计追踪完整的 P0 比例;(2) 设置 manual_review_floor = 15%——最低比例决策必须经人工处理;(3) 添加 audit_trace_coverage——含完整证据链的行为比例;(4) 紧急模式(red button)在 silent_p0 > 10% 或 manual_review_rate < 15% 时阻断自动部署;(5) 通过新校验器重放(replay)历史事件——闸门:新版本不得恶化已有裁决。
结果:首次运行显示:silent_p0 = 18%,manual_review_rate = 12%,audit_trace_coverage = 73%。Red button = BLOCKED。团队调查并更新宪法 mutable_rules:现在双渠道(SMS+邮件)故障时必须升级 human-in-the-loop,而非自动修复。3 周后:silent_p0 = 4%,manual_review_rate = 22%,audit_trace_coverage = 97%,MTTR 回升至 9 分钟(诚实时间,无静默遗漏)。Red button = UNLOCKED。
经验教训: 无 guard 指标的 MTTR 是危险的"诱饵指标":易于以牺牲安全为代价优化
silent_p0 揭示的正是 MTTR 隐藏的——这是其唯一且关键的功能
manual_review_floor 不是官僚主义,而是防止人类被挤出流程的保护
历史案例重放是证明"改进"未恶化旧场景的唯一方法
紧急模式必须是带可验证条件的正式闸门,而非口头上的"红色按钮"
相关概念: 静默 P0(silent_p0)
配对反制指标(guard metric,anti-Goodhart)
紧急模式(red button)
重放(replay)
人工审查下限(manual_review_floor)
审计追踪覆盖率(audit_trace_coverage)
规范漂移(spec_drift,edge_drift)
标题:预约规范变异测试:从毒化规范到免疫校验器
场景:AgentClinic 更新预约优先级逻辑:原仅按紧急程度(urgent/elective),现新增"慢性病"因素(chronic flag)。新规范看似正确,但集成测试出现冲突:带 elective 预约的慢性患者优先级高于无 chronic flag 的 urgent 患者,违反旧不变量"urgent 永远第一"。
挑战:(1) 手动测试未发现冲突——测试人员单独检查标志;(2) 旧校验器放过该案例,因为规范形式上未违反 Given/When/Then——冲突在隐性优先级中;(3) 需要"接种疫苗"校验器:教会其发现此类逻辑缺陷。
解决方案:按教材模型应用变异测试:(1) 创建毒化规范(poisoned spec)——新规范副本,引入 PriorityContradiction 算子:一条规则将 urgent 降至 high(chronic=false 时),另一条在无 tie_breaker 时将 high 恢复为 urgent(chronic=true 时);(2) 预期失败:PRIORITY_REVERSAL;(3) 校验器通过变异循环:Nullify(chronic 字段)、FutureTime(预约时间戳)、EscalationCycle(优先级升级循环)、PriorityContradiction;(4) 跟踪免疫指标:strict_reject_rate、depth_of_diagnostics、recovery_time_p95_ms;(5) 未通过闸门(recovery_time_p95_ms > 1200ms)的校验器送返修改。
结果:3 次迭代后:strict_reject_rate = 94%(目标:90%),depth_of_diagnostics = 4.2 步(目标:3+),recovery_time_p95_ms = 890ms(目标:<1200ms)。校验器在"When priority is calculated"步骤稳定捕获 PriorityContradiction。Production 部署含明确 tie_breaker 的更新规范:urgent > chronic > elective,附带冲突解决表。集成冲突在部署前消除。
经验教训: 规范变异测试——逻辑层面的单元测试类比,但在需求层面而非代码层面
毒化规范不是"损坏的文档",而是含已知缺陷的受控教学工具
免疫指标是向量而非标量:高 strict_reject_rate 配低 depth_of_diagnostics 意味着对诊断无用的"盲目严格"
变异算子应按缺陷类型分类而非随机——这可定向强化校验器
校验器接种不是一次性行动:规范变更时需要重放旧变异体
相关概念: 毒化规范(poisoned spec)
变异算子(mutation operator)
免疫指标(immunity score,strict_reject_rate,depth_of_diagnostics,recovery_time_p95_ms)
反例(counterexample)
压力规范(stress spec)
重放(replay)
学习建议: 将词汇表作为参考而非教材:在特定章节遇到或填写文件时查阅术语。README 阅读规则:"文件名或 YAML/JSON 键可保留英文,但解释中选择一个中文含义"
创建个人"翻译地图":打印关键术语翻译表,标记已在工件中使用过的术语。目标:自动化散文与技术名称之间的正确选择
练习"散文朗读":取示例中的任意 YAML 片段,大声朗读,将每个键替换为中文等效词。例如,silent_p0_ratio: 0.18 → "静默 P0 比例:百分之十八"
视觉型学习者:绘制工件关联图。例如链条:毒化规范 → 变异算子 → 免疫指标 → 规范闸门 → judgment.md → precedents.md。这有助于理解术语如何协同工作而非孤立存在
动觉型学习者:实际填写模板。取 examples/templates/proposal.md 并为项目变更撰写真实提案,然后进行思维公投
使用"三场景规则":为每个新术语找到其在 (1) 解释散文、(2) YAML/JSON 键、(3) 文件名或 CLI 命令中的使用。这巩固双语写法
进行"工件自查":每周检查一次,是否有英语词汇混入散文或翻译了技术名称。修正——这训练对团队协作至关重要的纪律
学习反古德哈特定律:在项目中找到"诱饵指标"——易于以牺牲系统为代价优化的指标。按第 10 部分模型为其设计 guard 指标
分阶段完成 capstone 档案:不要试图一次性收集全部 13 部分。从实践中的一个真实事件开始,经历完整周期:谱系 → 规范 → 变异 → 宪法 → 仲裁 → 指标
将学习项目 AgentClinic 作为"心智沙盒":当术语显得抽象时,问"这在预约诊所如何应用?"——领域熟悉,且与 production 场景的映射固定于附录 A
附加资源: 课程源文档(应用卷词汇表):作者更新的主要参考;按部分进度阅读,不要通篇
应用卷 Readme,"首轮必需工件"部分:启动最小集:capstone/ 和 10 个工件
第 1 部分:规范考古(part-01-spec-archaeology.md):genealogy.md 入门,从遗留代码恢复规范
第 2 部分:毒化规范(part-02-poisoned-specs.md):毒化规范,ask_storm 反模式
第 3 部分:项目宪法(part-03-project-constitution.md):Immutable/mutable 分区、governance_protocol、proposal.md
第 4 部分:LLM 对决(part-04-llm-duel.md):验证器/实现者角色、反例、repair.patch
第 5 部分:压力规范(part-05-stress-specs.md):变异测试、变异算子、免疫指标
第 6 部分:影子规范(part-06-shadow-specs.md):影子规范、拍卖、scorebook、shadow-candidates.yaml
第 7 部分:规范 CI(part-07-specification-ci.md):Spec gate、规范闸门、GitHub 集成
第 8 部分:多智能体仲裁(part-08-multiagent-tribunal.md):文件仲裁、judgment.md、precedents.md、协调器角色
第 9 部分:层级预算(part-09-tier-budgeting.md):层级路由、local-coder/frontier-reviewer、预算守护者
第 10 部分:古德哈特定律指标(part-10-goodhart-metrics.md):Anti-Goodhart、guard 指标、red button、silent_p0、replay
第 11 部分:真实 API 部署(part-11-real-api-deployment.md):Readiness gate、dry run、evidence_ref、25 分模型
第 12 部分:Production 反模式(part-12-production-antipatterns.md):术语间关联、典型实施错误
第 13 部分:capstone(part-13-capstone.md):最终包,完整 production SDD 事件路径
附录 A:教材桥梁(appendix-a-bridges-to-book.md):学习代码与 production 事件的对应关系
第一卷附录 B:agentclinic 领域:心智实验的域实体
第一卷词汇表(../book/glossary.md):此处以 production 细化补充的基础 SDD 术语
示例模板(examples/templates/):proposal.md、judgment.md 等——用于实际填写
可运行示例(examples/tribunal/、examples/stress-mutator/):本地检查的 Python stdlib 脚本,非主应用栈
外部框架对比:github spec kit、aws kiro:SDD 周期的参考实现,对应关系见第一卷附录 A
总结:应用卷词汇表是 production-SDD 的操作系统,每个术语有明确使用规则:中文散文用于解释,英文技术名称用于代码。核心原则:(1) 按需阅读,不要通篇;(2) 保持双语写作纪律——对团队沟通至关重要;(3) 所有指标为向量和配对,guard 指标保护免受古德哈特定律扭曲;(4) 仲裁、宪法和先例不是官僚主义,而是防止智能体不可预测行为的正式保护;(5) 变异测试和毒化规范是标准工具,非异类;(6) Capstone 档案将所有部分连接为可复现的 production 路径。词汇表的成功掌握不以定义知识衡量,而以争议事件中正确填写 judgment.md、为新功能设计 guard 指标、为所有角色进行裁决并得出清晰结论的能力衡量。