跳至正文
小莱沃 247 篇手记
← 返回专题

AI 原生团队 · 02 / 设计

领域知识层:让已有知识被 AI Skill 正确使用

工程团队已经积累了大量知识:产品需求文档、工程规约、领域规约。 这些知识存在,但对 AI Skill 不可见

SERIES 14 / 43 AI 原生团队 查看完整内容地图

1. 问题

工程团队已经积累了大量知识:产品需求文档、工程规约、领域规约。
这些知识存在,但对 AI Skill 不可见。

结果是:Skill 输出在技术上正确,但违反了行业规则;修改了一个看似局部的变量,导致下游数据全部出错;不同开发者对同一业务概念的理解不一致。

没有显式建模的领域知识,会被 AI 用训练数据中的”通用假设”填充。


2. 三类领域知识

类型回答的问题变更频率
产品需求这个版本要做什么随迭代变化
工程规约怎么改才不会出问题较稳定
领域规约这个行业和项目的规则是什么极少变更

三类知识的共同特征:

  • 不可执行:本身不是 Skill,不能被调用
  • 边界性:定义什么可以做、什么不能做
  • 强制性:不是建议,是所有开发人员(包括 AI)必须遵守的基线

Skill 封装”怎么做”,领域知识定义”在什么边界内做”。


3. 在架构中的位置

原则(Principles)
  ↓
领域知识(Domain Knowledge)   ← 本层
  ↓
工作流(Workflow / 编排)
  ↓
Skill(执行单元)
  ↓
Prompt(实现细节)

领域知识不直接执行,而是在 Skill 运行时以上下文的形式注入。


4. 三类知识的作用与注入方式

4.1 产品需求

存放位置req: 体系(需求文档、验收标准、业务规则)

作用:告诉 Skill 为什么执行、服务于谁、什么是正确的输出。

缺失症状:Skill 生成的方案在技术上可行,但解决的不是真实的业务问题;验收标准对 AI 不可见,导致输出需要反复修改。

注入方式:按任务动态传入,将相关需求片段(目标、约束、验收标准)作为上下文传入。需求变更时,同步检查依赖该需求的 Skill。


4.2 工程规约

存放位置03-build/(逻辑边界说明、高危区域标注、架构约定、代码风格)

作用:定义什么可以改、什么不能乱改、改之前必须检查什么。工程规约不只是风格约定,更是防止危险修改的护栏。

这类规约包括:
逻辑边界:哪些模块或变量具有全局影响,修改前必须评估波及范围
修改前置条件:改动 A 之前必须验证 B,否则系统数据会出错
高危区域标注:某段逻辑是多处依赖的核心,改动必须同步通知相关方
数据一致性约束:某字段是系统单一数据源,不能绕过它建平行逻辑
代码风格约定:命名、格式、架构模式等团队约定

缺失症状:AI 修改了一个看似局部的变量,导致下游数据全部出错;生成的代码绕过了核心校验逻辑,埋下数据一致性风险;已被明确否决的架构模式被重复引入。

注入方式:分两部分——逻辑边界和高危区域作为强制上下文始终注入;代码风格按场景按需注入。


4.3 领域规约

存放位置:规约文档(如团队 Wiki、docs/specs/ 目录或专用规范文件)。存放位置不限形式,但必须是版本化、可共享的——不能只在个人记忆或口头约定中。

作用:定义正确性的边界。违反领域规约,输出本质上是错误的,而不只是质量问题。

这类规约包括:
– 行业规则(金融结算规则、医疗编码标准、合规要求)
– 项目固定约定(核心数据的业务含义、领域术语定义)
– 不随版本迭代改变的业务常识

缺失症状:Skill 产出在逻辑上自洽,但在业务上是错的;不同开发者对同一概念理解不同,导致系统行为不一致;问题出现时难以追查,因为错误不在代码层面,而在认知层面。

注入方式:强制静态注入,不可省略。

这里需要区分”存放”和”注入”:规约文档是存放位置,CLAUDE.md 或 Skill 的系统提示是注入机制。领域规约必须在 CLAUDE.md 中直接引用或内嵌关键内容,而不是在 Skill 执行时动态检索——动态检索依赖”恰好被查到”,无法保证始终生效。


5. 强制程度对比

类型缺失后果注入方式
产品需求做了不该做的功能按任务动态传入
工程规约触碰高危区域,系统数据出错逻辑边界强制注入;风格按需注入
领域规约输出原则性错误强制静态注入,不可省略

产品需求缺失,顶多做错功能;领域规约缺失,会做出原则性错误。

新成员入职、新 Skill 上线,第一步都是对齐工程规约和领域规约。两者发生变更时,必须通知所有相关方,而不只是更新文档。


6. 何时应该建模

满足以下三个条件时,说明这部分知识已成为系统的隐性依赖,应该显式文档化:

被多个人或 Skill 共享 + 影响输出正确性 + 当前靠人工记忆维护

反过来,如果某类知识只影响单个 Skill、变更极快、或已有其他系统管理,不必单独建模,直接在 Skill 的 Prompt 中处理即可。

发表评论