Appearance
第 11 篇|项目记忆脚手架:用 Harness 与 Skills 让裸 AI 进化成业务老员工
导读:
很多人以为给 AI 写个系统提示词、加个.cursorrules,就叫会驾驭 AI 了。
这相当于给一个刚进公司的新人发了一页纸的考勤制度,然后就指望他能独立重构核心交易系统——这完全脱离了工程现实。
为什么在真正的工业级开发中,同一个大模型,在顶尖极客手里能以一当十,在小白手里却漏洞百出?
关键就在于 Harness(脚手架挂载系统) 和 Skills(经验战法库)。
这一篇,我们撕掉表面提示词的浅层外衣,教你如何像工业架构师一样,把一套工程套路沉淀为 AI 能“自主识别、即插即用”的特种技能包。
一、 什么是 Harness?从“裸大模型”到“业务老员工”的装备舱
在工业设计中,Harness 的原意是战马的“挽具/鞍鞯”,或者航天器与汽车里的“线束/挂载底座”。
一个刚刚从 API 调出来的原生大模型(无论 Claude 、DeepSeek 还是 GPT),本质上是一台“高智商裸机”。它拥有全人类的常识,但对你的项目架构一无所知、对你团队的奇葩历史包袱一无所知、对你们踩过的业务暗坑一无所知。
所谓 Harness,就是你为这台裸机量身打造的“数字工作舱”:

一个成熟的 Harness 系统,由四大支柱共同支撑:
- Rules(军规与底线):最基础的规矩(语言、技术栈、高危命令拦截);
- MCP / Tools(物理手脚):让它能摸到外部系统、查到数据库的插头(后文详拆);
- Context / Session(工位状态):确保任务不被多余垃圾日志冲垮的动态路由;
- Skills(核心战法):把复杂的业务经验沉淀为可复用的标准作战程序(SOP)。
二、 击穿本质:Skill 到底是什么?
新手最容易把 Skill 降智理解成“写了个脚本”或者“定义了一个斜杠命令 /xxx”。
Skill 的真正本质,是 AI 的“程序性记忆(Procedural Memory)”与“业务特种战法”。
1. 人类老员工的“经验”到底是什么?
一个刚入职的新人面对一份奇形怪状的第三方系统接口文档,可能要摸索三天:看哪些参数、怎么做签名加密、怎么做降级重试、怎么测连通性。
而一个老员工只需要 10 分钟。为什么?因为老员工脑子里固化了一套“经验模板”:“不管是接老王家的接口还是李家接口,第一步先抓包,第二步生成验签代码,第三步做幂等隔离……”
Skill,就是把这种“经过血泪验证的经验套路”,封装成 AI 能够即插即用的经验包。
2. Skill 的两大核心特性:
- 双模触发:既能用户显式召唤,更能“AI 自主发现并激活”:
- 用户主动调用:“用我们昨天的
api-adapter技能,把这套新文档处理一遍。” - AI 自主识别:现代 Agent 拥有自主工具/技能检索机制。当它看到你抛来一个新任务,它会先扫描技能仓库(Skills Directory)。发现需求命中某一经验范畴,它会主动向系统申请加载该 Skill,自主切换到“老手模式”。
- 用户主动调用:“用我们昨天的
- 跨业务的高效复用:
- 解决单一具体问题,叫写代码;
- 把解决一类复杂问题的套路提取出来,固化为可迁移的标准打法,才叫沉淀 Skill。
三、 经典实战场景:如何把一次踩坑沉淀为永久 Skill?
来看一个最真实的高频工程场景:多产品或复杂非标文档的接口适配。
阶段一:第一次踩坑的“纯手工战役”
团队接入了“产品 A”的古怪数据接口:
- 文档写得极其混乱,字段很多是拼音缩写;
- 接口返回的时间戳有时是 10 位有时是 13 位;
- AI 第一次搞,写出来的代码被接口格式爆锤了整整一个下午。
- 最终在你的引导下,AI 一起理顺了整套流程:先用正则预清洗脏数据 ➔ 统一映射到标准化实体 ➔ 生成带严格校验的 TypeScript 类型 ➔ 跑一组边界单元测试。
阶段二:把胜利成果“就地结晶”为 Skill
绝大多数人在打通之后就关掉窗口了,这是对资产的巨大浪费!
高手在这个时刻,会下达核心指令:
“我们刚才成功打通了产品 A 的非标数据适配流程。这一套排查、清洗、映射到标准实体的流程非常成熟。
请把这套完整的方法论、数据清洗模板、类型生成步骤以及典型避坑逻辑,打包提炼为一个独立的 Skill(如legacy-api-adapter),保存到项目的.agent/skills/(或对应 Agent 技能目录)下。
在里面明确写出:该 Skill 的适用场景(触发条件)、标准四步 SOP、以及必须遵循的容错代码模板。”
markdown
<!-- 提炼出的 Skill 资产示范:legacy-api-adapter.md -->
# 技能:老旧与非标 API 极速适配战法 (legacy-api-adapter)
### 触发条件 (Trigger)
当遇到非标 JSON、缺少官方 SDK 的老旧第三方服务对接、或字段命名不规范的数据接口时激活。
### 标准作业程序 (SOP)
1. 样本探针:不要盲信文档!先发起真实探针请求,抓取 3 组真实 payload 样本。
2. 脏数据清洗器 (Sanitizer):
- 强制将 10位/13位混合时间戳归一化为 ISO 8601 字符串;
- 对 null、空字符串、未定义字段进行安全回退。
3. 契约定义:使用 Zod 生成运行时校验 Schema,严禁直接使用弱类型 any。
4. 交付验证:自动生成包含 3 组异常边界(超时、空对象、乱码)的单元测试。阶段三:下次面对“产品 B”,降维打击
两周后,系统需要接入完全不同的“产品 B”或“新数据源”。
- 普通人的惨剧:换了新对话,新 AI 像个愣头青一样,重演一遍两周前的混乱踩坑,再次被脏数据噎死。
- 拥有 Skill 的 Agent:
- AI 扫描你的需求:“对接产品 B 的非标数据源”;
- 自主触发:AI 在 Harness 中检索到了
legacy-api-adapter技能:“检测到该任务属于非标接口适配,我已主动加载 legacy-api-adapter 战法标准执行”; - 它直接按照上次沉淀好的四步 SOP,行云流水地生成清洗器、类型约束与单测,原本要踩一整天的坑,可能十几分钟就跑通了!
四、 认知重塑:你不再是打杂工,是特战司令部
搞懂了 Harness 与 Skills 的全景,你指挥 AI 的心态将发生根本性转变:
| 维度 | 新手(裸奔思维) | 架构师(Harness & Skill 思维) |
|---|---|---|
| 对待 AI 的心态 | 把 AI 当全能许愿池,给个提示词就听天由命 | 把 AI 当核心计算单元,用 Harness 系统包裹它 |
| 对待解决的 Bug | 改完就算了,下次犯错继续生闷气 | 把 Bug 踩坑经验萃取为 Skill 资产,永久复用 |
| 能力的复利积累 | 项目做了一个月,会话开了几十个,什么都没留下 | 项目做了一个月,沉淀了 10 个专属业务特种技能包 |
| Agent 的表现 | 永远像个刚毕业第一天上班的毛头实习生 | 越用越像一个懂你所有业务套路的十年合伙人 |
普通人靠写代码堆功能,高段位开发者靠 Harness 沉淀技能资产。
从这一步起,你的项目不再是一个脆弱的代码文件夹,它会随着每一次踩坑变得更强。
📝 结语与本篇自查
- 为什么说仅仅写一个
.cursorrules或提示词,远远算不上一个完整的 Harness?
(因为规则只是约束边界,完整的 Harness 包含规则、动态上下文、外部工具插头与模块化经验战法库的全套支撑体系。) - Skill 与随手写在规则里的两句短提示词相比,核心差异是什么?
(Skill 是一套结构化的程序性记忆与 SOP 战法,包含触发场景、步骤流水线与模板,且能被 Agent 自主检索发现和跨业务复用。) - 在什么节点把经验沉淀为 Skill 收益最高?
(在刚刚攻克一个复杂、易错但未来会反复出现的业务场景(如接口适配、格式转译、复杂单测)之后,趁热打铁让 AI 固化为标准流程。)
下一篇预告:
即便有了顶级的 Harness 和熟练的 Skills,在真实的高强度开发中,你依然可能遇到那种“鬼打墙”一般的窒息现场:
AI 陷入了魔怔——改好了一个 Bug,立刻冒出三个新 Bug;再改,整个项目直接彻底黑屏!
面对这种死锁循环,新手往往病急乱投医,导致代码彻底报废。
在下一篇《第 12 篇|打破死循环:AI 越改越烂、修一个出三个 Bug 的救赎法》中,我们将传授一套“绝境断头术”,用最果断的三板斧瞬间砸碎死循环,把你从深渊里拉出来!