1讨论什么
Earendil 在 2026 年 10 月 1 日发了 What is a Harness?。对象是听过 agent harness、又不好意思问它是什么的人。已经泡在 AI 新闻流里的人,这篇不打算说服他们。
他们先从攀岩安全带讲起。安全带把人连到绳和锁上,限制坠落、控制节奏、规定路线。粉袋、岩钉、快挂可以挂在上面。换一座山,这套带子还能带走。地形不同,挂什么可以改。杂技和 arborist 也用同类装备。拥有它的人能把它改成自己的。
Agent harness 在结构和功能上对得上。外面有人把 Agent 写成 Model + Harness。原文说这个等式写得太简。Harness 用模型做出 agent,最早一批用在写代码。现在各类型的 AI agent 核心都坐着一层 harness。弄懂它,才弄得懂 agent 在跑什么。
定义原句:an agent harness is a piece of software that provides an environment for an AI model to operate within。大多数模型本身,终端用户拥有不了。Harness 可以。工程师常用终端直接跟 Pi 说话。OpenClaw 走 iMessage、聊天软件或邮件。Earendil 自己的 Lefos 主要走邮件。界面不同,干的事收成四件。
2四个部件
系统提示。模型训练时已经吃进一套规则。原文举 Claude Opus 4.5 公开过的 soul document,用来告诉模型自己是谁、该怎么做。Harness 里的系统提示更浅:像新员工第一天拿到的说明。它还没内化,但做这摊活时知道该照着走。这套说明会跟每一次用户请求一起注入对话。
工具。能力写在代码里,模型可以调用。Harness 负责两件事:把工具描述清楚,并提供工具本身的软件。例子包括网页搜索、写代码并执行、写邮件。Harness 通常不规定何时用、怎么用。它把工具摆出来,让模型自己决定。
Agentic loop。这是 harness 用来管模型行为的框架。里面事情很多,主轴是循环:模型看过工具返回的结果,可以自己决定再调一次。
翻译层。同一套 harness 可以接不同模型。一轮循环里也可以换模型,因为不同模型擅长不同步骤。翻译层把控制交给终端用户:Anthropic、OpenAI,或按每次任务成本更划算的开源权重,都可以接到同一套带子上。
3一次循环怎么走完
原文用一个走邮件的 harness 把循环走完。工具有三个:网页搜索、写代码、写邮件。用户请它比较附近小学的排名和考试成绩,给建议。
模型先用预训练理解「小学」「附近」「排名」大概指什么,再构造搜索词去抓新数据。坐在 harness 里,它能拿搜索结果对照最初的请求。第一次不够,它可以自己决定再搜。这一步就是循环的第一下清楚的例子。
数据够了,它用写代码的工具做一张表。表也是代码。它做计算、排版,再把表拿回最初的请求上对照。还不满意,就再搜。满意了,调用写邮件:审一遍发现、写摘要、把表格当附件。模型再看终稿,认为活干完,循环合上。用户在几秒内收到一封带摘要和建议的邮件,附件是那张表。
原文给了一个可以点开看的 Pi 会话:pi.dev/session/…。这篇没有复现那个会话里的逐步调用。
4翻译层和所有权
翻译层把杠杆从实验室挪到用户手里。Harness 能在自己电脑上跑,会话可以留在本地。长期看,这些会话会变成人和机器的通信记录。用户面对的是自己的 harness。实验室发布的应用是另一条路。同一封邮件可以分别丢给 OpenAI、Anthropic 和一个开源权重模型,在同一处比较结果和每次任务的成本,答案也留在同一处。
模型本身通常改不了。Harness 可以改。原文拿 Pi 当例子:系统提示短,工具少,默认把自己让开。用的人会改提示,或做一个贴合自己流程的扩展,再分享出去。Pi 是免费开源的,住在用户自己的笔记本上。
Harness 一开始并不开源,也不中立。第一款流行的 agent harness 是 Claude Code。它做成在本地用 Claude 写代码的应用,没有做成对各种模型一视同仁的翻译层。后来出现一批免费开源的 harness:OpenClaw、OpenCode、Hermes、Pi。Earendil 说他们把 Pi 做成中立的,把能力和选择交给用户,并在想办法把这套好处扩到更多人。
5结果
这篇是定义和机制说明,不是评测。原文里能当结果写的数字只有一个。
| 原文给出的结果 | 条件 |
|---|---|
| Pi 用户互相分享了超过 5000 个扩展 | 分母是分享出去的扩展份数,不是安装量,也不是活跃用户数 |
| 同一套 harness 可换实验室模型和开源权重 | 靠翻译层。原文没有给换模型后的正确率 |
| 邮件例子里用户在几秒内收到摘要和表格 | 叙事例子。没有延迟分布,没有费用 |
四个部件、攀岩类比、Claude Code 的来历,都是机制陈述。不要把它们读成基准分数。
6难点
循环什么时候该停,由模型自己判断。例子里「数据不够就再搜」写得很顺。搜错、搜偏、永远不觉得够,原文没有给出失败率。
工具何时调用由模型决定。Harness 把描述写清楚,不替它选。描述写糊了,模型会调错工具。Pi 的扩展超过 5000 份,质量没有进这篇的统计。
翻译层让用户能换模型。换过去之后,系统提示和工具描述未必仍然合适。原文把这写成自由,没有写适配成本。
本地拥有 harness,会话留在自己机器上。这要求用户愿意跑、愿意改。Earendil 自己也写了:他们还在探索怎么把这套好处扩到更宽的人群。这篇没有用户研究。
7新在哪里
新的部分是把 harness 拆成四件能指认的软件,并且把所有权放在用户这边:提示可以改,工具可以加,模型可以换,会话可以留下。攀岩安全带的用处是把这四件从口号里拖出来。
和 扫到的 MCP 工具,默认先关着 对得上:那边登记工具,默认关闭,打开权在服务团队;这边把工具摆进 harness,何时调用由模型定。登记和调用仍是两步。
和 测过的优化,为什么还在跑 对得上:那边问哪一版程序继续跑;这边问哪一层软件用户还能改。增量落在哪一层,仍看 冻底座、改脚手架。谱系仍看 递归自改进前世今生。这四篇都不在这里重写。
8出处
- What is a Harness?,Earendil,页面标的发布时间是 2026-10-01 19:14:50 GMT。抓取通道是 r.jina.ai,2026-10-07。
- 定义原句:An agent harness is a piece of software that provides an environment for an AI model to operate within.
- Pi 扩展:more than 5,000 extensions。Claude Code 被写成第一款流行的 agent harness。
- 可点开的循环例子:一篇 Pi 会话。本文没有逐步核对那次调用。
没做的:没有跑 Pi / OpenClaw / Lefos 做对照;没有核验 5000 个扩展的统计口径;Reddit 和 X 没有登录态,不收。