Skip to content

Harness Engineering:从“驯马”到“造车”——我用这套驾驭工程让AI稳定输出了23000行代码

Image

Prompt Engineering 教AI怎么说。Context Engineering 给AI看什么。Harness Engineering 为AI造一辆车——方向盘、刹车、导航、仪表盘全部到位,这匹”千里马”才能真正上路。


你有没有这样一种感觉——

2024年,你觉得AI编程太神奇了。让它写个函数,又快又好。

2025年,你开始拿AI做真正的项目。一开始很兴奋,写了几百行代码,一切顺利。

然后,问题来了——

代码量到了2000行,AI开始”忘事”。你上午定好的数据库字段格式,下午它就给你改了。

代码量到了5000行,AI开始”乱来”。你让它修一个Bug,它”顺手”把你的项目架构重构了。

代码量到了10000行,AI开始”失控”。它改了A文件,B文件报错了;修了B文件,C文件又炸了。你花在修AI闯的祸上的时间,比自己写还多。

你逐渐意识到一个残酷的事实:AI大模型就像一匹力量无穷的千里马——跑得飞快,但完全不受控制。

它有”幻觉”,会一本正经地编造不存在的API。

它有”健忘症”,每次对话都像第一天来上班。

它有”过度热情”,你让它改一行代码,它恨不得帮你重写整个项目。

这匹马的力量从来不是问题。问题是——你怎么驾驭它?

2023年,行业的答案是提示词工程 ——学会怎么跟马说话。

2025年,答案升级为上下文工程 ——给马提供更好的环境信息。

2026年4月,一个更彻底的答案正在AI工程圈迅速走红——Harness Engineering,驾驭工程。

它的核心思想只有一句话:别再纠结怎么跟马沟通了,给它造一辆车。


一、什么是Harness Engineering?为什么它是AI工程的下一个范式?

Section titled “一、什么是Harness Engineering?为什么它是AI工程的下一个范式?”

19世纪初,人类最快的交通工具是马。为了让马跑得更快,人们发明了更好的鞭子、更轻的马鞍、更灵活的缰绳。

但真正改变人类出行的,不是更好的马具,而是——汽车

汽车的核心理念不是”让马跑得更快”,而是”围绕动力源,建造一个完整的、可靠的、可控的交通系统 “。发动机提供动力,方向盘控制方向,刹车保证安全,仪表盘反馈状态,安全气囊托底风险。

Harness Engineering对AI做的,就是这件事。

阶段核心理念类比解决的问题
Prompt Engineering (2023)教模型怎么说学会跟马说话”AI听不懂我的意思”
Context Engineering (2025)给模型看什么给马提供更好的路线图”AI不了解我的项目”
Harness Engineering (2026)为模型造一辆车围绕马力建造完整的交通系统”AI不可靠、不可控、不可维护”

前两个阶段关注的都是”怎么跟模型交互 ”。

Harness Engineering关注的是一个更根本的问题:“怎么围绕模型,建造一个让它稳定、可靠、持续工作的基础设施?

因为前两年大家还在用AI做简单任务 ——写个函数、改个样式、回答一个问题。提示词工程和上下文工程够用了。

但2026年,越来越多的人开始用AI做复杂的、长周期的、生产级的项目 ——几千行甚至几万行代码,持续几周几个月的迭代。这时候你会发现:

  • 光写好提示词(Prompt Engineering)只能解决单次对话 的质量
  • 光提供好上下文(Context Engineering)只能解决信息缺失 的问题
  • 但AI在长周期项目中的不可靠、不可控、不可维护 ——这些系统性问题,需要一个系统性的工程方案 来解决

Harness Engineering就是这个系统性方案。


二、Harness Engineering的”造车”框架:7个核心组件

Section titled “二、Harness Engineering的”造车”框架:7个核心组件”

我用一个真实项目来拆解这个框架——我独立开发的一个23000行代码 的AI行业报告系统(Flask + Vue 3 + SQLite + 5种大模型接入)。

整个项目从第一行代码到上线部署,全程AI协作完成。中间踩了无数坑,最后总结出了这套驾驭体系。

把AI当作引擎,Harness Engineering就是围绕它建造的整辆车:

CODEBLOCK-PLACEHOLDER-0

接下来逐个拆解这7个组件,每一个都有我真实项目中的工程实践。

三、方向盘——行为规范层:告诉AI”什么不能做”

Section titled “三、方向盘——行为规范层:告诉AI”什么不能做””

你让AI改一个Bug,它”顺手”把你的代码风格从驼峰改成了下划线命名,数据库连接忘了在finally里关闭,还往本该只做数据查询的Model层里塞了业务逻辑。

这不是AI能力不行,是它没有行为边界。

在项目中维护一份AI工作手册 (.github/copilot-instructions.md),每次对话自动注入。它的核心不是”教AI做什么”,而是**“告诉AI什么不能做”**:

CODEBLOCK-PLACEHOLDER-1

就像方向盘——它不提供动力,但决定了动力往哪个方向输出。

场景没有方向盘有方向盘
AI改Bug顺手把架构重构了只改必须改的地方
AI加功能在route里直接操作数据库严格走分层架构
AI改共享模块直接改,不管谁在用先grep全部调用方,评估影响再动手
AI写代码英文注释、代码风格随机中文注释、统一规范

实测数据:加了行为规范后,AI引发的”连锁Bug”减少约70%


四、底盘——项目记忆层:让AI拥有”长期大脑”

Section titled “四、底盘——项目记忆层:让AI拥有”长期大脑””

每次开新对话,AI对你的项目一无所知。28张数据库表、5种AI模型接入、分层架构约束——它全部不知道。你不可能每次都把23000行代码贴给它。

在.github/memory/project-memory.md中维护一份精炼的项目事实摘要

CODEBLOCK-PLACEHOLDER-2

底盘的要领 :只放”不会频繁变化的事实”。放太多反而浪费上下文窗口。

我早期犯过一个错误——把所有信息塞进一个841行的文件,AI的上下文窗口被吃掉大半,回答质量反而下降了。后来拆成三份独立文件(项目事实、决策日志、任务记录),各司其职,效果立刻提升。


五、刹车——决策护栏层:阻止AI推翻你的历史决策

Section titled “五、刹车——决策护栏层:阻止AI推翻你的历史决策”

你上周决定”用SQLite不用PostgreSQL”,AI这周建议你:“为了提升性能,建议迁移到PostgreSQL。”

你上个月决定”密码用SHA256+盐值”,AI今天说:“建议改用bcrypt,更安全。”

它不知道这些决策背后有深思熟虑的理由——因为它”失忆”了。

在.github/memory/decisions-log.md中维护编号化的决策日志

CODEBLOCK-PLACEHOLDER-3

AI每次开始工作时都会读到这些记录。 当它想推翻某个决策时,它能看到”为什么当时这样选”,就不会再给出无效建议了。

这就是刹车——不是让AI跑得更快,而是在它即将冲出赛道时把它拉回来。


六、仪表盘——任务追踪层:让AI知道”今天在干什么”

Section titled “六、仪表盘——任务追踪层:让AI知道”今天在干什么””

有了方向盘、底盘和刹车,AI已经比较可控了。但它还是不知道当前正在做什么

你上午在修合规检测的Bug,下午在做导出功能。如果AI不知道你的工作上下文,它的回答就缺乏针对性。

在.github/memory/task-history.md中记录最近20条任务 ,每完成一个任务AI自动追加:

CODEBLOCK-PLACEHOLDER-4

仪表盘让AI”接上”之前的工作,而不是每次都从零开始。


七、变速箱——提示词管理层:精确控制AI的输出模式

Section titled “七、变速箱——提示词管理层:精确控制AI的输出模式”

硬编码在业务代码里。散落在十几个文件中。改一个Prompt要翻半天,改完还可能引发Bug。

这就像汽车没有变速箱——发动机直接连着轮子,能跑,但没法精确控制速度和扭矩。

我把所有Prompt抽成了一个独立的管理层(backend/prompts/):

CODEBLOCK-PLACEHOLDER-5

最精妙的设计 ——合规检查时,系统动态组装 一个完整的Prompt:

CODEBLOCK-PLACEHOLDER-6

AI看到的不是一句”帮我检查合规”,而是一份完整的检查工作包 ——角色、标准、规则、待检内容全部到位。

变速箱的价值 :同一个引擎,在不同”档位”下输出完全不同的结果——写报告用一套Prompt,查合规用另一套,改术语用第三套。集中管理、模板化、可测试、热更新。


八、多人座椅——专业Agent层:让AI从”全才”变成”专家团”

Section titled “八、多人座椅——专业Agent层:让AI从”全才”变成”专家团””

一个AI什么都能做,但什么都做不精。

解法:别让一个人干所有活,组建一个虚拟团队。

我在项目中配置了10个专业Agent

Agent角色负责领域
architect架构师系统设计、模块拆分、依赖分析
backend-dev后端开发Flask/Python API、数据库、AI集成
frontend-dev前端开发Vue 3 + TypeScript + Element Plus
bugfixBug修复问题定位、最小改动修复、回归测试
code-reviewer代码审查代码质量、安全漏洞、性能问题
tester测试工程单元测试、集成测试、覆盖率
devops运维Docker部署、升级回滚、日志排查
product-manager产品经理需求分析、功能规划、优先级
doc-writer文档工程API文档、架构文档、变更记录
fullstack-dev全栈开发跨前后端完整功能

每个Agent都有自己的启动协议 :开始工作前先读三层记忆,然后读与自己角色相关的技术文档。修完代码后还有一份完成检查清单 ——调用链是否正确、日志是否完整、数据库连接是否关闭。

你不会让测试工程师去做架构设计,也不会让前端去搞Docker部署。 给AI”分工”之后,每个Agent在自己的专业领域内,输出质量显著提升。


九、导航系统——领域知识层:让AI引用专业知识”有据可查”

Section titled “九、导航系统——领域知识层:让AI引用专业知识”有据可查””

我做的是行业AI报告系统,需要AI引用国家标准(GB 17741-2025)中的具体条款。

没有导航系统时 :AI会”一本正经”地编造条款号——写出”依据第5.2.3条”,但国标里根本没有5.2.3条。

有了导航系统后 :我们把200多页国标逐条拆解、人工核对 ,做成结构化的JSON知识库。AI每次引用都是从知识库中精确提取,条款号100%真实。

CODEBLOCK-PLACEHOLDER-7

导航系统的价值 :AI不再凭”记忆”猜测,而是”看着地图”行驶——每一步都有据可查。


十、三代范式演化:一张表看懂Prompt → Context → Harness

Section titled “十、三代范式演化:一张表看懂Prompt → Context → Harness”
维度Prompt EngineeringContext EngineeringHarness Engineering
核心问题怎么写好指令怎么提供完整信息怎么造一个可靠的执行系统
类比学会跟马说话给马更好的路线图围绕马力造一辆车
关注对象单次Prompt上下文信息质量整套基础设施
覆盖范围一次对话一个会话窗口整个项目生命周期
可维护性低(改了就忘了)中(文件需手动更新)高(系统化、可版本控制)
可靠性低(AI随时可能跑偏)中(有信息但无约束)高(规范+护栏+追踪+知识)
适用场景一次性简单任务中等复杂度的项目长周期、大规模、生产级项目
工程组件数1个(Prompt)2-3个(Prompt+记忆+知识)7个 (完整驾驭体系)

一句话总结三者的关系

Prompt Engineering 是学会说话 。 Context Engineering 是学会备课 。 Harness Engineering 是学会造车 ——方向盘、刹车、底盘、变速箱、导航系统全部就位,你才真正”驾驭”了AI。


十一、你现在就能开始的Harness Engineering入门路径

Section titled “十一、你现在就能开始的Harness Engineering入门路径”

你可能觉得7个组件太复杂了。别担心,按优先级逐步搭建 就行:

第一步:方向盘(10分钟,立刻见效)

Section titled “第一步:方向盘(10分钟,立刻见效)”

在项目根目录创建 .github/copilot-instructions.md:

CODEBLOCK-PLACEHOLDER-8

仅这一步,AI跑偏率就能降低50%。

第二步:底盘+刹车(30分钟,中型项目必做)

Section titled “第二步:底盘+刹车(30分钟,中型项目必做)”

增加 project-memory.md + decisions-log.md:

CODEBLOCK-PLACEHOLDER-9

第三步:仪表盘+变速箱(适合长期迭代项目)

Section titled “第三步:仪表盘+变速箱(适合长期迭代项目)”

加上 task-history.md + 统一的Prompt管理。

第四步:多人座椅+导航系统(适合大型项目或AI产品)

Section titled “第四步:多人座椅+导航系统(适合大型项目或AI产品)”

配置专业Agent + 构建领域知识库。

不需要一步到位。从方向盘开始,每遇到一次”AI失控”,就多加一个组件。


十二、坦诚地说:Harness Engineering的局限

Section titled “十二、坦诚地说:Harness Engineering的局限”

7个组件需要时间搭建,记忆文件需要持续更新。如果你只是写一个100行的脚本,杀鸡用牛刀了。项目规模在2000行代码以上时,Harness Engineering的投入才划算。

所有组件注入的信息都占用上下文窗口。文件太多太长,反而挤压了AI处理实际问题的”带宽”。精简是核心原则——每层文件越短越好,只放必要信息。

Harness Engineering让AI获得了项目信息和行为约束,但AI仍然不理解”为什么这个功能要这样设计”这种深层的产品意图。AI是驾驶员,但方向盘在你手里。

GitHub Copilot认copilot-instructions.md,Cursor认.cursorrules,Claude Code认AGENTS.md。多层记忆的自动注入机制也各有不同。你可能需要针对不同工具做适配。


十三、为什么Harness Engineering会在2026年爆发?

Section titled “十三、为什么Harness Engineering会在2026年爆发?”

回到开头的那个判断——

2025年的AI模型已经足够强大 了。Claude、GPT、DeepSeek的代码能力都不差。但”模型能力”不再是瓶颈,“驾驭能力”才是。

用同一匹”千里马”——

CODEBLOCK-PLACEHOLDER-10

区别不是马的问题。是有没有给马造一辆车 的问题。

最近爆火的开源项目印证了这个趋势——GET SHIT DONE (15K星)做的是上下文管理和规格驱动开发,Superpowers (100K星)做的是给AI加规则约束——它们本质上都在做Harness Engineering的某个组件。它们之所以能火,恰恰说明整个行业都在从”使用AI”转向”驾驭AI”

Harness Engineering不是一个很酷的概念,它是一个很实的工程实践。你造了,AI就是可靠的工程师;你没造,AI就是到处闯祸的实习生。


你目前的AI编程项目中,用了Harness Engineering的哪些组件?

CODEBLOCK-PLACEHOLDER-11

欢迎在评论区聊聊你的驾驭经验和踩过的坑。

如果你正在用AI做一个中大型项目——强烈建议收藏这篇文章 ,7个组件的框架可以直接套用。觉得有启发?转发给你身边用AI写代码的朋友 ,一起从”驯马”升级到”造车”。


同时,我也把这套驾驭工程框架 ,沉淀成了一个可复用的模板,如果大家感兴趣可以添加我的微信,我可以帮项目分享给大家。

Image

#HarnessEngineering #AI编程 #驾驭工程 #上下文工程 #Prompt工程 #独立开发 #AI实战


原文链接: https://mp.weixin.qq.com/s/PkVYEf1QbaAqtx4Qbpknsw