AI 降智是你没用好!非技术人员如何用 Harness Engineering 的方式提升 AI 的质量

29 阅读7分钟

驾驭工程.001.png

AI 圈叕搞出新名词了!

“提示词工程”(Prompt Engineering)尸骨未寒,又出了一个“驾驭工程”(Harness Engineering)。

“驾驭工程”只是现在比较通用的译名。直译的话,应该叫做“马具工程”,很形象:AI 就像一匹马,它可以跑得飞快,但是我们需要马具来控制它往哪儿跑。

驾驭工程(Harness Engineering)很复杂,技术含量也很高,但它并不神秘。即使是普通人,只要了解一些基本的思路,做一点点设置和尝试,也可以让自己在和 AI 聊天的时候得到更好的结果。

什么是驾驭工程(Harness Engineering)?

AI 大模型有一个特点:它只有一个输入,就是提示词。我们目前对 AI 做的所有事情,其实归根结底都可以归结为提示词处理。

提示词工程是把提示词写得更加标准化,让 AI 更容易理解。

驾驭工程(Harness Engineering)则是利用现有的工具和工程化的结构进行处理,从而让 AI 在不同场景下加载对应的提示词,在节省 词元(token) 成本的同时,也能更有效地集中在当前的任务上。

这个东西有效到什么程度呢?

大佬 Nav Toor 公布了一项研究:同样的模型,就靠着驾驭工程(Harness Engineering),就可以让结果的准确率从 42% 上升到 78%。直白一点来讲,只要修改一些周边内容,就可以在同样的成本下,达到接近双倍的效果。

换个大模型可达不到这种效果——更何况如果你已经在用最好的大模型(姑且不论是哪个),根本就没得换。

具体怎么做?

1. 工程化的上下文设置

我们已经知道,提示词越长,成本就越高;而提示词的长度超过一定限度之后,由于注意力分散,AI 的效果反而还会下降。

工程化最重要的一步,就是把提示词拆分并放进不同的文件里。根据不同工具和大模型的特点,让它们在特定场景下只加载指定的某些内容,而不是一次性把所有东西都塞进提示词。这样才能达到更好的效果。

这种方式其实很好理解:比如我们想让 AI 生成一段后端服务的逻辑,那这个时候,它之前为前端页面做的色彩配置,作为上下文就几乎只会产生负面影响。

如果我们把上下文分成前端和后端,并分别提供给 AI,自然就会提升它的成功率。

当然实际的工程中要比这复杂得多,这也是一条重要的“职业护城河”。

2. 不加载无关Skill

过多的Skill也会分散 AI 的注意力,它会陷入选择困难症,就跟人一样。

所以,当没有走到这一步的时候,不需要加载对应的Skill,就连在 Skill.md 里的简单说明都不要加载。这样才能保证 AI 是干净的。

3. MCP 服务器也要限制数量

MCP 服务可以扩展 AI 的能力边界,让AI调用更广泛的资源,但如果 MCP 服务器过多,也会让 AI 的注意力被分散。

所以只加载必要的 MCP。

其实这就是 AI 环境下的“奥卡姆剃刀原则”:如无必要,勿增实体。

4. 给 AI 配“小弟”

除了主智能体之外,也要配备一些小的模型或者服务,来做上下文的防护。

比如某一个任务,中间的处理过程非常繁琐,会产生大量无关信息可是又会影响上下文。那就不妨把这个任务交给一个子智能体去完成。

主智能体只要直接获取结果就好。

AI 版本的“把信送给加西亚”。

5. 在流程中增加钩子 (Hooks)

钩子 (Hooks)这个名字做开发的应该都很熟悉。在驾驭工程(Harness Engineering)里,它指的是在指定的工作流程特定节点中,自动运行一些脚本来做输入输出的校验或者其它检查。

经过验证,这种做法能带来比预想要大得多的性能提升。

我就遇到过,AI 无视业务逻辑,不增加新接口,而是强行使用现有接口完成需求,导致一个 API 被瞬间调用了 150 次。如果有做钩子设置,比如说明“禁止在循环中发起 API 请求,必须检查是否有 Bulk 接口”,就不会出现这种无脑的技术坑。

非技术人员怎么做?

那么,假如我只是在页面上和 AI 聊天,这套思想还有用吗?

当然有用!只是要多想、多做一点事情而已。

1. 要学会利用所有 AI 智能体中的设置能力。

绝大多数的智能体在界面对话时,都可以设置一些预定义的提示词,可以定义身份、场景、任务、背景资料等等。

把这种设置用好,不仅可以节省自己的时间,也可以让 AI 始终把这些东西作为大前提进行思考,不至于“老年痴呆”。

2. 不要把所有的东西都塞给 AI。

比如,你跟 AI 在一个对话里聊职业发展,那么就不要在这个对话里再和他聊健身计划,或者旅游建议,而是新开一个对话再去聊。

新开的对话,就相当于是一个新的 Harness。这不是为了整洁,而是为了让 AI 的注意力重新回到100%。

3. 如果任务比较复杂,不要一次性让 AI 彻底解决。

我们可以把问题拆分成一步一步的小问题,然后一个一个去提问获得答案。采用这种渐进式的提问,最终得到的结论也更可靠。

4. 尝试使用多个 AI。

现在的 AI 服务非常多,即使只用免费服务,也有非常多的选择。

那么我们在向 AI 提问的时候,就不要在一棵树上吊死,可以几个 AI 都去问。

如果你觉得哪一个 AI 在某方面的输出特别对你的胃口,那么就可以把这个 AI 升级为你专属这方面的顾问,以后只要有这方面的问题都来问它。

也就是让专门的 AI 负责专门的事。

就好像我们去问健身教练,一定是问健身和饮食,不会问他要财务建议;我们去问教写作的老师,也只会问写作方面的内容,不会去打听关于编程他有什么想法。

5. 我们要时不时地怀疑并且检查一下 AI 给出的结果。

AI 有幻觉、有错误,这是很正常的,不能一味地全部相信。

有的时候,把一个 AI 的结果喂给另一个 AI,让它来判断结果好还是不好,也会有一些意料之外的惊喜。

结论

虽然驾驭工程(Harness Engineering)听起来十分高大上,而且十分有效,但是并不代表它只能由专业人士使用。

借助它的思想,普通人也可以让自己的 AI 提供更好的答案。

注1:Nav Toor,资深 AI 策略师、品牌策略师,与 Anthropic 的研究和生态深度绑定,现象级的“大佬”和意见领袖(KOL)。

注2:无论是真正的驾驭工程(Harness Engineering),还是使用 AI 聊天,每过一段时间,都要验证一下这些手段是不是还有效。有时 AI 服务更新版本,能力更强,旧有的约束反而会造成反效果。

注3:关于 Vibe Coding,可以参考我的置顶帖子。

欢迎讨论和转载。