公众号:@鸢飞鱼游 | 专栏:AI as Dasein | 📧 winson_dasein@163.com
> 本内容版权归@鸢飞鱼游所有,未经允许任何单位或个人也可使用(若有帮助,欢迎署名)、复制或以任何其他方式使用本文全部或部分。
AI 团队资产治理框架
一、核心哲学
1.1 唯一铁律
> 资产沉淀不下来的头号原因,不是缺纪律,是对所有资产用了同一种分发方式。
把"能装的"和"只能连的"混为一谈,让所有东西都走"本地安装+手动拼装"这条路,是一切低效和分叉的根源。先把资产分好类,再选分发方式,80% 的沉淀难题会自动消解。
1.2 三个底层认知
| 认知 | 说明 |
|---|---|
| 分发方式决定治理难度 | 资产该"装"还是该"连",不是技术偏好,是架构决策。选对了,分叉、版本漂移、环境重复搭建的问题会自然消失;选错了,花再多力气推流程都补不回来。 |
| 一处更新处处生效靠架构,不靠自觉 | 同步必须是默认行为,而不是需要人时时提醒的纪律。把资产做成有版本的依赖或远程服务,同步就会变成自动的;依赖人自觉回推,必然失败。 |
| 联邦优于合并 | 多团队协作时,把所有知识库合并成一个大中心库基本走不通。让各组保留自治权,同时通过统一发现层和接口调用实现能力流动,才是可持续的方案。 |
1.3 核心公式
资产分类(能装的 vs 只能连的)
× 分发方式选择(依赖安装 vs 共享服务)
× 治理机制(版本锁定 + 漂移检测 + 联邦发现)
= AI 团队能力的组织级复用
二、完整执行流程
Phase 1:资产盘点与分类
目标:搞清楚团队里到底有哪些 AI 资产,哪些值得投入精力管理。
Step 1.1:用三条标准筛资产
一个东西能被当作资产来经营,必须同时满足三条:
| 标准 | 含义 | 判断方法 |
|---|---|---|
| 创建花了成本 | 不是随手写的,是花时间/数据/算力打磨出来的 | 问:重新创建它要花多久?超过 1 小时就值得管 |
| 能跨人跨任务复用 | 不是一次性的,能在不同场景中反复使用 | 问:除了创建者,至少还有 2 个人能用吗? |
| 随时间积累会增值 | 用得越多、积累越多,价值越高 | 问:用了半年后,它比刚创建时更好用吗? |
只满足第一条的(比如某次一次性的 prompt 调试记录)是消耗品,不是资产。别在消耗品上花治理精力。
检验标准:能同时勾选三条的才进入资产清单。
Step 1.2:按优先级给资产排座次
资源有限时,先做 P0,再做 P1。P0 做不好,后面的全白搭。
| 优先级 | 资产类型 | 是什么 | 为什么这么排 |
|---|---|---|---|
| P0 | 评测集 / Eval | golden 用例、回归集、打分标准、评测脚本 | 没有 Eval,其他资产的好坏无从判断。换模型、改 prompt 都不敢动。它是 AI 的测试套件,也是最被低估的一类。 |
| P0 | 知识 / 上下文资产 | 领域知识库、RAG 语料、项目背景、结构化事实 | 模型和 prompt 可替换,知识不可。别人拿不到的领域知识决定 Agent 的上限。 |
| P1 | 能力资产 | 封装好的 skill、工具、MCP server | Agent 能做什么,复用价值最直观。 |
| P1 | Agent 定义与编排 | 角色提示词、子 agent 定义、工作流 | Agent 怎么组合起来干活。 |
| P2 | 记忆 / 轨迹数据 | 历史任务记录、人工纠正、反馈 | 单条没价值,攒起来是飞轮,同时喂养下一版 Eval 和知识库。 |
| P3 | 提示词模板 | prompt 片段、few-shot 例子 | 单个价值最低、迭代最快,但极便宜,顺手沉淀即可。 |
关键认知:Eval 尤其反直觉——有价值的评测集,装的是那些能把好答案和坏答案区分开的用例。一个所有模型都能过、或者都过不了的用例,信息量为零。
检验标准:输出一份团队资产清单,每项标注类型、优先级、当前状态(散落/已集中/已服务化)。
Phase 2:分发方式选择——最关键的一步
目标:为每类资产选择正确的分发方式,这是整个框架最核心的决策点。
Step 2.1:做二分类——能装的 vs 只能连的
这是这篇文章最核心的判断框架:
| 维度 | 能装的(无状态能力) | 只能连的(有状态 / 重资产) |
|---|---|---|
| 典型例子 | skill、prompt、agent 定义、规则 | 连数据库或内网的工具、知识库、检索服务 |
| 本质特征 | 轻、无运行时状态、可以拷贝到本地独立运行 | 重、有运行时状态、依赖共享数据源或计算资源 |
| 正确的分发方式 | 安装:做成有版本的依赖,用包管理器拉 | 连接:部署成一份共享服务,远程调用 |
| 一键复用方式 | 一条命令从 registry 拉取 | 加鉴权、拿到接口地址,本地什么都不用装 |
| 会不会分叉 | 会,需要单独治理(见 Phase 4) | 天然不会,因为没有本地副本可以偏离 |
判断方法:问自己一个问题——"这个东西,能不能在本地独立跑起来,不依赖任何共享服务?"
- 能 → 能装的,用依赖方式分发
- 不能 → 只能连的,用服务方式分发
Step 2.2:处理混用错误
大部分团队的卡点,是把"只能连的"错当成"要装的"来处理。典型症状:
| 错误做法 | 正确做法 |
|---|---|
| 每个人在本地各装一份知识库、各建索引 | 架一个共享检索服务,所有 Agent 查同一来源 |
| 每个人本地写一份连数据库的脚本 | 部署一份共享的数据访问服务,团队拿到 API 地址 |
prompt 散落在各人 .cursor/rules/ 里 |
集中到 Prompt Registry,版本化管理 |
检验标准:检查资产清单中的每一项,确认它被归入了"安装"或"连接"两个类别之一,没有遗漏。
Phase 3:跨团队协作设计
目标:多组共存时,设计能力流动的架构,避免合并陷阱。
Step 3.1:识别是否需要联邦
如果你的团队只有一个人或者一个小组,跳过这个 Phase。出现以下情况时进入:
- 有 2 个以上的专业小组(前端组、后端组、客户端组等)
- 各组有自己的领域知识库和专属工具
- 组间需要互相调用能力
Step 3.2:执行联邦三原则
| 原则 | 做什么 | 怎么做 |
|---|---|---|
| 命名空间 + 所有权 | 每个组拥有自己的命名空间 | 像包管理的 scope:frontend/search-skill、backend/db-query-tool。谁拥有谁维护,出了问题找得到人。 |
| 统一发现层,而非统一存储层 | 不合并各组的知识库,在它们上面架一层路由 | 用户提问时,系统把问题分发到正确那个组的知识库,或跨库混合检索。存储照旧分散,只有入口是统一的。 |
| 组间靠接口调用,而非复制代码 | 一组要用另一组的能力,调接口 | 前端组要用后端组的某个能力,就调后端组暴露出来的服务接口。不需要理解内部实现,不需要抄代码。 |
联邦的目标:让能力流动,不是让所有东西归到一处。
检验标准:每个组有明确的命名空间前缀、有至少一个对外暴露的接口、有跨组调用能力的实际案例。
Phase 4:防分叉治理
目标:让中心版本永远比本地副本好用,从根本上消除分叉动机。
Step 4.1:理解分叉的根因
人为什么在本地魔改而不推回中心?答案很朴素:在本地随手改一刀的摩擦力,比把改动提交回中心的摩擦力更低。 人都是走阻力最小的路。
治理方向不是喊纪律,而是翻转这个摩擦力的对比。
Step 4.2:执行四个防分叉杠杆
| 杠杆 | 做什么 | 具体操作 |
|---|---|---|
| 杠杆一:让回推更省事 | 降低贡献回中心的摩擦力 | 给资产配好自动分配的 reviewer、提交模板、自动化校验。贡献回中心变成几分钟就能搞定且不会搞砸的事。参考:GitHub PR 模板 + CI 自动校验 + 自动分配 reviewer。 |
| 杠杆二:配置替代复制粘贴 | 提供扩展点,让人用配置定制而不是拷贝改源码 | 如果用户说"我只想改一点点",资产本身应该提供参数、覆盖项、组合点。这跟用插件扩展软件而不去改它源码是同一个道理。参考:Microsoft APM 的 apm.yml 声明式配置。 |
| 杠杆三:服务化消除分叉土壤 | 让分叉在物理上就变难 | 知识库和工具做成共享服务,本地根本没有副本可供分叉。你没法像 fork 一个文件那样 fork 一个服务。参考:Prompt Registry 的不可变版本模式。 |
| 杠杆四:让漂移可见 | 追踪偏离,主动暴露 | 追踪谁在跑改过的、过期的版本,把偏离主动暴露出来。看不见的分叉才是灾难,能被看见的分叉只是一条待处理的信息。参考:APM 的 apm.lock.yaml 审计记录。 |
Step 4.3:给中心版本配"监护人"
中心版本会落后,往往是因为它本身是个没人管的死物。必须做到:
- 每个资产有明确的负责人(不是"大家都可以改")
- 有自动化校验(CI 回归门禁,不符合标准的提交自动拒绝)
- 有评测兜底(Eval 套件,每次变更自动跑回归)
检验标准:资产清单中每一项都有明确的负责人、自动化校验配置、评测覆盖。
Step 4.4:漂移检测实操
对于"能装的"资产,版本漂移是主要风险。推荐三层防线:
| 层次 | 检测什么 | 工具 | 触发条件 |
|---|---|---|---|
| 输入漂移 | 用户提问的分布是否变化 | PSI(种群稳定性指数)、余弦距离追踪嵌入质心 | PSI > 0.2 或余弦距离 > 阈值 |
| 行为漂移 | 模型输出质量是否退化 | Golden Dataset 回归、Ragas/DeepEval 评分 | 准确率下降 > 5% |
| 模型漂移 | 模型本身是否静默变更 | 锁定模型版本 ID(如 gpt-4o-2024-08-06,不用别名) |
任何模型更新触发全量回归 |
发布策略:影子流量 → 金丝雀 5% → 全量发布,配合一键回滚。
Phase 5:工具选型与落地
目标:按资产层次选对工具,不自己造轮子。
Step 5.1:分发层工具——解决"能装的资产怎么一键复用"
| 工具 | 适合场景 | 核心能力 |
|---|---|---|
| Microsoft APM | 多 AI 工具统一配置管理 | 把 skill、prompt、agent 定义、MCP server 配置统一成声明式依赖,编译为各工具原生格式,锁文件保证一致性 |
| AISPM | 跨模型 skill 分发 | npm/NuGet 模式的 skill 包管理,写一次跑在 ChatGPT/Claude/Copilot 上 |
| MCP Server 注册中心 | MCP 工具分发与发现 | 提交到 mcp.so、smithery.ai、awesome-mcp-servers 覆盖面最大 |
Step 5.2:知识联邦层工具——解决多组知识库统一检索
| 工具 | 适合场景 | 核心能力 |
|---|---|---|
| Dify | 快速搭建企业知识库 | 内置 RAG 引擎、多模型接入、知识库版本管理 |
| FastGPT | 可视化知识库编排 | 知识库问答 + 工作流编排一体化 |
| Typesense / Meilisearch | 大规模生产级搜索 | 亚 50ms 延迟、联邦搜索、向量 + 关键词混合 |
Step 5.3:Prompt 与 Eval 层工具
| 工具 | 适合场景 | 核心能力 |
|---|---|---|
| Langfuse | Prompt 版本管理 + 可观测 | 嵌套 trace、prompt 版本管理、实时延迟/成本仪表盘 |
| DeepEval | CI/CD 集成的评估 | Pytest 风格、预置指标、自定义指标、A/B 回归 |
| Ragas | RAG 专项评估 | 上下文精度、召回率、忠实性等语义指标 |
| Promptfoo | Prompt 快速测试 | CLI 驱动、CI 集成、性能跟踪 |
Step 5.4:治理层工具
| 工具 | 适合场景 | 核心能力 |
|---|---|---|
| Backstage | 大团队自建资产目录 | 软件目录模型:每个资产一个元数据文件,强制有负责人,全公司可搜索 |
| Port / OpsLevel | 中小团队快速落地 | 商业化内部开发者门户,低代码配置,30-45 天部署 |
选型原则:难点从来不在单个工具,在于有没有先把资产分好类、划好权责,再让合适的工具各就各位。
Phase 6:执行路线图
目标:从当前状态到理想状态的可落地路径。
Step 6.1:立即可做(0-2 周)
- [ ] 用 Phase 1 的三条标准筛一遍团队资产,输出资产清单
- [ ] 用 Phase 2 的二分类框架,把每项资产标记为"能装的"或"只能连的"
- [ ] 为 P0 资产(Eval + 知识库)指定负责人
- [ ] 锁定所有模型的版本 ID,不使用别名
Step 6.2:短期建设(2-6 周)
- [ ] 为 P0 Eval 建立至少一套 Golden Dataset,包含能把好答案和坏答案区分开的用例
- [ ] 把"只能连的"资产部署为共享服务(知识库检索服务、数据访问工具)
- [ ] 引入声明式配置(APM 或类似工具),统一管理"能装的"资产
- [ ] 在 CI 中添加评估回归门禁
Step 6.3:中期架构(6-12 周)
- [ ] 建立 Prompt Registry,实现版本化 + 权限分离 + 审批工作流
- [ ] 部署端到端可观测性(OpenTelemetry + Langfuse/类似工具)
- [ ] 如果有多组,建立联邦发现层和命名空间体系
- [ ] 部署漂移检测,设置自动告警
Step 6.4:长期治理(3-6 个月)
- [ ] 构建联邦共享上下文层
- [ ] 建立治理委员会,定期审查策略变更
- [ ] 实现"回推比本地改更省事"的完整体验
- [ ] 让中心版本永远是最好用的那一版
检验标准:团队中任何一个新成员,能在 30 分钟内从零配齐所有 AI 资产并跑通第一个任务。
三、常见陷阱与避坑指南
| 陷阱 | 表现 | 后果 | 修正 |
|---|---|---|---|
| 全用一种分发方式 | 所有资产都走"本地安装+手动拼装" | 环境重复搭建、版本分叉、知识库各自过期 | 严格执行 Phase 2 的二分类框架 |
| 合并而非联邦 | 多组协作时试图把所有知识库合成一个大库 | 各组都不满意,维护责任糊成一团 | 用 Phase 3 的联邦三原则:命名空间、统一发现层、接口调用 |
| 靠纪律防分叉 | 要求团队成员"把改动推回中心" | 没人遵守,中心版本越来越旧 | 用 Phase 4 的四个杠杆翻转摩擦力对比 |
| 评测集全是"通过用例" | 只收集模型能通过的用例 | 无法区分好坏答案,信息量为零 | 收集"区分性用例"——把好答案和坏答案区分开的用例 |
| 模型用别名 | 用 gpt-4o 而不是 gpt-4o-2024-08-06 |
模型静默更新导致行为漂移 | 始终锁定带日期的版本 ID |
| 跳过 P0 直接做 P1 | 先搞 skill 和 agent,Eval 和知识库没建 | 好坏无法度量,Agent 上限受限 | 资源有限时只做 Eval + 知识库两件事 |
| 中心版本无监护人 | 资产沉淀到中心后没人维护 | 自然成为死物 | 每个资产强制有负责人、自动化校验、评测覆盖 |
四、场景适配指南
| 场景 | 重点强调的 Phase | 执行策略 |
|---|---|---|
| 单人/小团队(<5 人) | Phase 1 + Phase 2 | 快速盘点资产、分清"装"和"连"。跳过联邦,工具选轻量的(Dify + Promptfoo)。 |
| 中型团队(5-20 人) | 全部 Phase | 完整走一遍六阶段流程,引入 APM 或类似工具,建立 CI 评测门禁。 |
| 多组大团队(20+ 人) | Phase 3 + Phase 4 重度投入 | 联邦三原则是核心,Backstage 或商业门户管理资产目录,治理委员会定期审查。 |
| 从零搭 Agent Team | Phase 1 + Phase 2 + Phase 6 | 先盘点、再分类、再选路线图。不要一上来就铺工具,先搞清楚资产分布。 |
| 已有资产但复用差 | Phase 2 + Phase 4 | 诊断分发方式是否拿错,用四个杠杆治分叉。 |
五、质量检验清单
完成治理方案设计后,逐项检查:
- [ ] 所有资产都用三条标准筛过了?
- [ ] 每项资产都标注了优先级(P0-P3)?
- [ ] 每项资产都归入了"能装的"或"只能连的"?
- [ ] "能装的"有版本化依赖管理方案?
- [ ] "只能连的"已部署为共享服务?
- [ ] P0 资产(Eval + 知识库)有负责人?
- [ ] 多组场景有命名空间和联邦发现层?
- [ ] 有 CI 评测回归门禁?
- [ ] 有漂移检测和告警机制?
- [ ] 新成员 30 分钟内能配齐所有资产跑通任务?
六、执行原则
- 分发方式先于工具选型。先搞清楚每类资产该怎么流转,再去选工具。工具是手段,架构决策才是核心。
- P0 不做,后面白搭。Eval 和知识库是地基,没有地基的 skill 和 agent 只是空中楼阁。
- 架构优于纪律。一处更新处处生效靠的是把资产做成依赖或服务,不是靠反复提醒团队成员回推。
- 联邦优于合并。跨组协作的目标是让能力流动,不是让所有东西归到一处。
- 可见的漂移好过不可见的漂移。不要试图消灭分叉,让它浮出水面,变成可处理的信息。
- 从小处开始。先盘点一个小组的资产、跑通一个"能装的"+一个"只能连的"的完整流程,再推广到全团队。