跳转至

Harness不是目的,知识才是护城河 —— 一个AI工程交付团队的知识沉淀实践

Ch05.078 Harness不是目的,知识才是护城河 —— 一个AI工程交付团队的知识沉淀实践

📊 Level ⭐⭐⭐ | 14.7KB | entities/tencent-knowledge-harness-practice.md

Tencent Knowledge Harness Practice

Harness不是目的,知识才是护城河 —— 一个AI工程交付团队的知识沉淀实践

原创 腾讯程序员 腾讯技术工程 2026年4月27日 17:37 广东 作者:stevenpxiao 当 Harness Engineering 成为 2026 年最热门的 AI 工程话题,业界争论焦点集中在"该用多大的模型"还是"该搭多复杂的工作流"时,我们团队在落地实践中发现了一个被低估的事实——构建 Harness 工作流不是最终目的,私域和团队知识的沉淀才是真正的技术护城河。本文分享我们在 AI Team 工程交付编排系统中,如何设计知识分层架构、如何让团队知识库共建共享、如何让工作流成为知识沉淀的载体、如何突破人机交互瓶颈实现随时随地的工作流流转,以及我们的落地经验和思考。

一、从 Harness Engineering 热潮说起

2025 年末至 2026 年初,AI 工程领域掀起了一场关于 Harness Engineering 的热烈讨论。这个术语源自"harness"(马具)的隐喻——就像骑师通过缰绳和马鞍来引导马的力量走正确的方向,而非增强马本身的体能,Harness Engineering 强调的是引导和约束 AI 模型的能力,而非提升模型本身。 从三大标志性实践来看,不同团队对 Harness Engineering 的侧重各有不同: | 实践方 | 核心关注 | 关键动作 | |--------|----------|----------| | OpenAI — Codex | 人机交互协议 | 零手写代码,通过精确的指令协议驾驭 Agent | | Cursor — Self-Driving | 多 Agent 协同 | 背景 Agent 自动检测冲突并运行测试 | | Anthropic — Claude Code | 长时运行稳定性 | 多层记忆系统 + CLAUDE.md 约束,让 Agent 在复杂任务中保持一致性 |

工作流只是管道,知识才是流过管道的活水。 正如 Harness 圆桌讨论中的一个核心论断所指出的: "将来的技术护城河不在模型,而在垂直领域知识的沉淀。"

二、Harness Engineering 本质:三支柱与知识的位置

Harness Engineering 三支柱: | 上下文工程 Context Eng. | 架构约束 Architecture | 持续治理 Governance | |------------------------|---------------------|---------------------| | · 长/短期记忆 | · Agent 编排模式 | · 质量门禁 | | · 知识检索注入 | · 状态机设计 | · 知识生命周期 | | · 渐进式披露 | · 降级策略 | · 自动衰减 | | · 上下文防火墙 | · 安全边界 | · 持续进化 | 知识管理本身就是 Harness Engineering 的核心能力,而不是附属品。

三、核心论点:为什么知识沉淀比工作流更重要

3.1 工作流是"可替换的",知识是"可累积的"

今天用 16 阶段状态机编排工作流,明天可能用图结构 DAG 编排。Agent 的调度模式从串行到并行到分层级联,变化很快。但团队积累的知识——"广告预算扣减在高并发下会超扣,需用 Redis+Lua 保证原子性"——这条知识不管工作流怎么变,都是有价值的。

3.2 没有知识沉淀的工作流是"一次性"的

团队搭了很复杂的 Agent 工作流,每次需求都跑一遍全流程,但每次都是从零开始。上一次踩过的坑,下一次照踩不误。这就是没有知识闭环的工作流——投入了工程成本搭建工具链,却没有让工具链变得越来越聪明。

3.3 知识是团队的"复利资产"

知识分为三类:散点型知识(孤立的事实)、因果型知识(A 导致 B 的推理链)、时空型知识(特定场景和时间窗口下才成立的经验)。越是高阶的知识,越难以从模型中获得,越依赖团队的实践积累。

四、知识分层架构:五层存储 × 五种类型 × 三级成熟度

4.1 三个维度

维度 回答的问题 定义
存储层(在哪) 知识存在哪里? Layer 0-P 0-T 1 2 3 — 从个人到团队到项目
知识类型(是什么) 知识描述的是什么? model / decision / guideline / pitfall / process
成熟度(多可信) 知识经过多少验证? draft → verified → proven

4.2 五层存储架构

层级 路径 说明
Layer 0-P ~/.ai-team/ 个人偏好,纯本地,不共享
Layer 0-T team-conventions/ 团队约定,Git 共享
Layer 1 tech-wiki/ 技术知识,跨项目通用
Layer 2 biz-wiki/{domain}/ 业务知识,按领域划分
Layer 3 docs/knowledge/ 项目知识,随项目走
知识可以"向上提升":Layer 3 的项目知识,如果被判定为跨项目通用,会自动提升到 Layer 1 或 Layer 2。

4.3 五种知识类型(MECE 原则)

类型 定义 示例
model 实体定义、数据结构、关系图 "广告计划包含预算/出价/投放时段三个核心字段"
decision 技术选型、架构决策及理由 "选择事件驱动而非 RPC 同步,因为广告状态变更需要解耦"
guideline 推荐做法或禁止做法 recommend: "公共模块变更后的兼容性检查清单"
pitfall 已知风险、故障模式、排查步骤 "广告预算扣减在高并发下会超扣"
process 业务流程、状态机、操作步骤 "广告审核:提交→机审→人审→上线"

4.4 三级成熟度 + 自动衰减

draft(新提取,单一来源)
  ↓ 在 1 个工作流中被成功引用
verified(单项目验证)
  ↓ 在 ≥2 个不同项目中被验证
proven(成熟/可信赖)
自动衰减机制

  • proven 条目 12 个月未被引用 → 降级为 verified
  • verified 条目 6 个月未被引用 → 降级为 draft
  • draft 条目持续未引用 + Lint 标记 → 归档

五、团队知识库:如何共享和更新

5.1 独立 Git 仓库

团队知识库是一个独立的 Git 仓库,不寄生于任何业务项目。

team-knowledge.git
├── knowledge-catalog.md          ← 全景目录(Agent 查询入口)
├── .knowledge-config.yaml       ← 团队配置
├── team-conventions/           ← Layer 0-T
├── tech-wiki/                  ← Layer 1
├── biz-wiki/                   ← Layer 2
├── project-profiles/           ← 项目画像
└── contributions/              ← 贡献暂存区
为什么独立仓库? 跨项目共享、生命周期独立、权限独立。

5.2 三种团队角色

角色 权限 适用人群
maintainer 裁决内容冲突、审批 proven 提升、管理成员 团队负责人、资深工程师
contributor 通过工作流自动贡献 正式团队成员
reader 只消费知识,不贡献 新成员试用期

5.3 贡献模式:借鉴区块链思想

  • 不可篡改的追加日志:log.md 只追加不修改
  • 贡献可溯源:evidence.contributors[]
  • 共识机制:draft→verified: 1 人验证; verified→proven: ≥2 人 + ≥2 项目

5.4 冲突解决策略

冲突类型 处理方式
纯新增(不同条目) 自动合并
证据追加(同条目验证) 自动合并
内容矛盾 写入 contributions/conflicts/,通知 maintainer 裁决
成熟度冲突 保留较低成熟度 + 标记 contradiction

深度分析

要点 1:知识沉淀是 Harness Engineering 的隐藏主线

原文描述了三支柱框架(上下文工程、架构约束、持续治理),但真正贯穿全文的核心洞察是:知识管理本身就是 Harness Engineering 的核心能力,而非附属品。这与 OpenAI/Anthropic 强调"记忆系统"的思路一脉相承,但本文更进一步——他们将知识从隐式能力显式化为五层存储架构,使知识管理成为可工程化的系统。

要点 2:工作流一次性困境的本质是知识缺失闭环

文章指出团队"每次都是从零开始"的困境,揭示了一个深刻矛盾:投入工程成本搭建工具链,却没有让工具链变得越来越聪明。这背后是知识论的问题——工作流消耗知识但不生产知识,因此需要专门的 ARCHIVE 阶段来从工作流产物中提取知识条目,形成闭环。

要点 3:五层存储架构的层级跃迁机制

Layer 3 项目知识可以"向上提升"到 Layer 1 或 Layer 2,这一设计解决了知识管理的核心痛点——项目知识往往因为只服务于单一场景而被束之高阁。通过明确的晋升机制,项目知识得以在更广泛的上下文中被复用和验证。借鉴区块链的共识机制,draft→verified 需要 1 人验证,verified→proven 需要 ≥2 人 + ≥2 项目,这一设计确保了知识质量的可信传递。

要点 4:知识按需消费的成本控制逻辑

三级渐进式索引(50 行全景→100-300 行分类→50-200 行条目)本质上是一种查询预算管理。在 Agent 每次搜索预算有限的情况下,这种设计确保了知识获取的效率最大化——用最小成本了解全貌,用中等成本定位相关条目,只在真正需要时才读取完整内容。Karpathy 的 LLM Wiki Pattern 在此被工程化落地。

要点 5:文件系统即状态机的哲学意义

"文件系统即状态机"的设计哲学将整个系统建立在文本持久化基础上,抛弃数据库和独立平台。这不仅简化了系统复杂度,更关键的是实现了真正的幂等性和可追溯性——所有变更都通过 Git 管理,所有状态都可从文件系统重建。在知识管理场景下,这意味着每一条知识都有完整的修改历史可查,每一次引用都有追踪闭环。

实践启示

1. 为每个工作流强制设计 ARCHIVE 阶段

不要让工作流成为单向消耗:每次工作流完成后,必须通过 @archiver 从产物中提取至少 N 条知识条目。如果某个工作流连续 3 次没有贡献新知识,说明该工作流的知识抽取机制失效。ARCHIVE 阶段是工作流闭环的必要组成,不是可选项。

2. 用成熟度晋升规则替代主观评审

建立明确的量化晋升标准:draft→verified 需要在同一工作流中被成功引用 1 次;verified→proven 需要在 ≥2 个不同项目中被验证。这样知识质量评审变成可自动化检查的流程,减少人为干预的主观性,同时让知识贡献者有明确的升级路径可预期。

3. 知识查询采用渐进式而非全量加载

不要在 Agent 启动时一次性加载完整知识库,而是在每个决策点按需查询。实现三层索引:Agent 启动时读 50 行全景目录建立心理地图(~300 tokens),进入特定领域时读该领域 100-300 行分类清单(~1-2K tokens),真正需要时再读完整条目(~2-5K tokens)。这样做的好处是将知识查询成本控制在合理范围内,避免 context 溢出。

4. 知识仓库独立部署,跨项目共享

团队知识库必须是独立 Git 仓库,不寄生于任何业务项目。这样做有三个好处:生命周期独立(业务项目删除不影响知识积累)、权限独立(可以单独管理知识库访问权限)、跨项目共享(Layer 1 技术知识可被所有项目引用)。具体路径结构:team-conventions/(Layer 0-T)、tech-wiki/(Layer 1)、biz-wiki/{domain}/(Layer 2)、docs/knowledge/(Layer 3)。

5. 用自动衰减机制代替人工清理

不要依赖人工判断知识是否过时。建立自动化规则:proven 条目 12 个月未被引用则降级为 verified;verified 条目 6 个月未被引用则降级为 draft;draft 条目持续未引用加上 Lint 标记则归档。这一机制确保知识库始终保持活性,过时知识不会长期占据检索结果,同时降低维护成本。

6. 冷启动用多源并行采集替代手工录入

新团队或历史项目引入知识库时,不要手工录入。用 /flow-import 管道:doc-collector 多源收集(Git/TAPD/iWiki/本地文档)→ codebase-profiler 生成代码画像(技术栈/模块/依赖/模式)→ knowledge-builder 标准化输出(4 维基线 + ≤13 条知识条目)。3 个 Agent 并行工作,冷启动周期从月级别压缩到天级别。

关联阅读

相关实体