从模式语言来理解 Harness Engineering#
什么是 Harness
Agent = Model + Harness
Agent 中不是基座模型,那就是 Harness
怎么理解 Harness#
Andrej Karpathy 在 2025 年 YC 的演讲提出了 Software3.0,1.0、2.0、3.0 的核心区别是“程序被写在哪里、由什么机制产生、用什么方式修改
1.0 是人类用传统编程语言直接写出的显式指令。程序员手写代码,控制计算机怎么执行任务。 2.0 是由训练过程“写出来”的程序。真正的程序主要存在于神经网络权重里;人类主要提供数据、目标函数、网络结构,然后优化器搜索出模型参数。 3.0 是用自然语言和已训练好的 LLM 写出来的。模型权重通常不变,变的是给模型的指令和运行环境。
未来软件的形式应该是以 Agent 为核心组织的,要么通过控制 Agent 去实现需求,要么让 Agent 写代码来实现需求。这点可以参考现在的 AI 生图功能和 openclaw,我想做一些特色图片或执行自动化任务,并不需要下载一个画图软件或手写 python 脚本。
而大模型的能力几乎相近,正常水平的大模型都不会认为 1 + 1 = 3,所以唯一的变量就是大模型以外的东西,也就是 Harness。
因此,Harness 绝对不是 Framework,就像不能简单地把 skill 理解成一堆 md 文件一样。Framework 是不需要频繁改动的,Harness 要基于模型的变化、实践时的表现而迭代
Harness 有哪些组成部分#
我们都知道大模型的参数中蕴含着无数知识,但它最不了解的其实就是我们使用者自己。我们要如何让大模型知道它能做什么,不能做什么,要怎么做,做完了如何评估,如何保持连续性。
这个问题是伴随大模型工程范式不断发展的,现在的 Harness 的各个组成部分,就是为了这些需求而设计的。
Next Reads

