基于 Skill 机制的文档维护与防腐化

📅 2026/8/11 2:18:56
基于 Skill 机制的文档维护与防腐化
思想源:面向Skills编程用领域知识工程驱动 Code Agent程序员小牛一、双重痛点知识断层困住人与AI复杂业务项目长期存在两大核心困境根源均指向未系统化管理的领域知识。研发重构中的知识断层:大型项目迭代多年后旧业务流程、特殊分支逻辑、字段处理规则仅留存于老员工脑海配套文档要么缺失、要么内容滞后一旦负责人员变动业务逻辑便彻底断档重构时大半精力都消耗在梳理模糊历史逻辑上。AI编码工具在复杂工程中效能受限:当下Code Agent能高效完成简单修复与小型需求但面对耦合度高、存量噪声代码多的大型项目时极易失效多年迭代遗留大量废弃逻辑形成信息干扰多条产品线代码交织改动一处极易引发连锁影响数十万行代码中仅少量为高频变更热代码其余均为无效干扰项。这让AI开发陷入低效循环开发者反复手动指定文件、补充业务背景多次需求间重复输入相同规则生成代码常不符合隐性业务约束来回返工。比如商品浏览统计接口通用AI会默认增加用户去重逻辑却不知产品刻意保留重复访问数据作为推荐特征隐性业务知识无法被模型持久记忆。二、Skill面向AI设计的分层结构化知识载体Skil是什么?简单来说他就是给 Agent 看的“文档”。AI 可以以此进行推理逻辑、分层按需加载依靠渐进式披露机制解决Token浪费与信息过载问题。分为三层加载单元元数据常驻读取百字以内包含模块名称、适用场景用于AI快速路由匹配判断当前需求是否需要读取该Skill主文件触发加载需求匹配后读取控制在3000字内承载模块核心业务、流程、变更规范引用详情延迟加载接口定义、数据表结构、细分流程等冗余细节仅在模型判定需要时调取。整套知识体系搭建三层认知架构贴合AI从全局到细节的推理路径全局约束层AGENTS.md Rule项目专属文档AGENTS.md承载项目架构、统一业务术语Rule为通用开发规范、自定义校验规则可多仓库复用AI接收需求后优先读取完成模块定位模块核心层Skill主文件单一业务模块对应一份Skill明确模块适用边界、业务规则不变量、核心代码链路、修改风险清单核心升级点是业务知识与代码显式映射标注每条规则对应的文件、函数、流程节点避免AI自主推理产生偏差知识匹配准确率提升至90%以上细节补充层引用资源存储细分技术细节按需加载不占用基础上下文。知识体系建设并非一次性工作而是持续迭代的知识工程。初期仅简单记录业务概念知识与代码相互割裂模型需自行匹配关联升级映射机制后实现从“告知模型知识”到“指导模型使用知识”的转变且Skill随需求持续迭代优化。简单示例--- name: xunzhi-agent-domain description: AI-Meeting 通用 Agent 业务知识 Skill。用于处理通用 Agent 会话创建、SSE 聊天、历史消息、会话归属、Agent 属性管理、文件上传与业务场景绑定当需求命中 /api/xunzhi/v1/agents/**、/api/xunzhi/v1/agent-properties/** 或通用 Agent 会话行为时使用。 --- # xunzhi-agent-domain 当需求属于“通用 Agent 会话层”而不是面试专属链路时使用这个 Skill。 ## 使用顺序 - 先看 references/module-map.md分清通用 Agent 和面试 Agent 的边界。 - 再看 references/session-flow.md确认建会话、聊天、分页、结束的调用链。 ... ## 关键入口 - admin/src/main/java/com/hewei/hzyjy/xunzhi/agent/api/AgentController.java - admin/src/main/java/com/hewei/hzyjy/xunzhi/agent/api/AgentFileController.java ... ## 必守约束 - sessionId 不是展示字段它是会话主键语义历史查询必须做归属校验。 - 通用 Agent 会话和面试主链路要保持边界清晰。 ... ## 参考资料 - references/object-dictionary.md - references/module-map.md ...三、四层防腐机制解决知识腐化核心风险知识体系最大隐患并非建设成本而是知识腐化过时规则会让AI带着确定错误生成代码错误逻辑持续扩散危害远大于无知识可用。为此团队搭建四层自动化防腐链路覆盖存量偏差、知识缺失、增量变更、长期遗漏全场景反向校验存量修复零额外成本AI读取Skill后比对真实代码若发现业务描述与代码现状冲突自动产出差异校验报告与修改建议人工确认后Agent直接更新对应Skill。依托AI读写代码的固有流程在日常开发中持续修正存量过期知识。沟通补充知识生长低损耗开发遇Skill未覆盖的业务盲区时开发者与AI沟通补充隐性规则对话结束后AI自动提炼新增知识并写入对应模块。将文档沉淀嵌入开发沟通流程避免传统模式下需求结束后无人补文档的通病。Commit前置校验增量防控自动化卡点代码提交前自动解析变更Diff匹配知识更新触发规则若代码改动影响业务流程、字段、接口AI生成精准的Skill更新方案人工评审通过后自动同步知识把代码与知识变更绑定在同一流程杜绝知识更新拖延。基线全量巡检兜底防线低频高覆盖代码合并至主干基线、版本发布后执行全量巡检批量校验代码锚点、接口路由、数据表结构与Skill描述一致性统计知识覆盖完整度统一修复长期积累的遗漏偏差。四层机制分工明确、互补闭环反向校验处理存量旧知识沟通补充实现知识新增Commit校验阻断增量腐化基线巡检兜底长期遗漏让Skill形成自我修正、持续完善的活态知识体系。四、为什么不用SDD、MCP、RAG团队日常以中小型需求为主几百行代码改动往往要撰写数百行一次性规范文档开发者精力被消耗在临时spec维护上不适用于持续迭代的存量复杂项目。二者核心价值存在本质差异SDD为单次需求产出临时规范使用后即废弃Skill沉淀全项目通用领域知识长期复用、越迭代越完善具备复利价值。SDD仅适合从零搭建、无存量代码的全新项目无历史逻辑冲突规范可一次性完整落地而长期迭代的存量工程维护一套统一、可映射代码的Skill体系投入产出比更高。这并非完全否定SDD仅区分场景使用全新独立项目采用SDD存量复杂业务项目以Skill知识工程为核心。早期阿里团队曾尝试MCP协议对接内部云文档解决该问题却存在两大硬伤一是存量文档大量过时错误知识直接误导AI二是文档无结构化分层海量内容一次性加载极易撑爆模型上下文窗口信息过载导致模型注意力分散输出准确率难以保障。Skill在知识更新层面上要比RAG快更多无需进行向量化、进数据库。写在最后Code Agent通用能力决定开发下限仓库领域知识的完整度与准确度决定开发上限。