什么是 harness(智能体外壳)?

查看原文 HN 讨论

文章摘要

这是 Earendil 团队 2026 年 8 月 20 日发的一篇科普文,排版刻意做成一封电子邮件的样子(From: Earendil Product、To: You、Subject: What is a Harness?)。作者开门见山地说:如果你天天泡在 AI 新闻流里,「harness」对你来说大概已经默认指「agent harness」了——那这篇不是写给你的。它是写给那些好奇但一直不好意思问的人。

文章从剑桥词典的两条释义切入:名词是「带绑带和扣带的一套装备,用来控制或固定人、动物或物体」,动词是「驾驭某物,通常是为了利用它的力量」。作者回忆自己中学时爬学校墙壁前系上的攀岩安全带(并自嘲是个平庸的攀岩者),配图是 Tom Frost 拍的 Royal Robbins 在酋长岩上的照片,安全带上挂满了登攀工具。攀岩安全带做的事有三层:一是把你和主锁、绳索连起来,防坠落、控节奏、约束路线;二是它是个挂载点,粉袋、取塞器、快挂都往上挂;三是它可以跟着你换山头,可以按地形改装,攀岩者、杂技演员、树艺师都在用,而且每个人都能把它调成自己的样子。作者认为 agent harness 在结构和功能上都与之高度同构。

正文给出的定义是:agent harness 是一段软件,为 AI 模型提供一个运行环境。有人简化地写作「Agent = Model + Harness」。它最早的应用场景是写代码,如今各类 AI 智能体的核心都是它。关键的一句是:跟模型不同,终端用户可以真正拥有自己的 harness。交互界面不一定是终端——软件工程师常在终端里用 Pi,OpenClaw 走的是 iMessage、聊天应用或邮件,而 Earendil 自家的 harness Lefos 主要通过邮件交互。

不管界面如何,harness 一般做四件事:

一、系统提示词(System Prompt)。 模型在训练过程中已经内化了一套规则,最有名的例子是 Claude Opus 4.5 那份被广泛讨论的「soul document」。harness 里的系统提示词与之类似,但嵌入得没那么深——更像新员工入职第一天拿到的一份说明:它没有被内化,但模型知道干这份活时要遵守。系统提示词会随每一次请求一起注入对话。

二、工具(Tools)。 工具是一组用代码写成的能力,模型可以「调用」。harness 既负责描述工具,也提供工具本身的实现,比如网页搜索、写代码并执行、撰写邮件。关键在于:harness 通常规定模型何时、如何使用工具,它只是把工具摆出来、描述清楚,由模型自己决定。

三、智能体循环(Agentic Loop)。 作者用一个完整例子讲清楚了这个词:假设 harness 跑在邮件里,带 WebSearch / WriteCode / ComposeEmail 三个工具,用户要求「比较本地小学的排名和考试成绩并给出推荐」。模型先靠预训练理解「小学」「本地」「排名」分别指什么,构造搜索词去抓最新数据;拿到结果后,它在原始请求的语境里复核——如果判断第一轮没搜到对的信息或搜得不够,它会自己决定再搜一次,这就是「循环」的第一个明确表现。数据齐了之后,它决定用「写代码」工具做一张表格(毕竟「所有表格本质上都是代码」),做完再拿去和原始需求比对,不满意就退回去再搜。觉得够了才调用 ComposeEmail,复核结论、写正文、把表格作为附件带上,模型判断任务完成,循环闭合。几秒钟后用户收到一封带摘要和附件的邮件。

四、转译层(Translation Layer)。 这是让同一个 harness 能对接不同模型的那一层,有时甚至能在同一个循环里针对不同子任务切换不同模型。作者认为这一层的意义远超工程:它把控制权交还给终端用户。你可以拿同一个 harness 去接 Anthropic、OpenAI,或者性价比(按每任务成本算)常常很不错的开放权重模型。这一层把权力和杠杆从 AI 实验室手里往终端用户这边挪。 如果人们能在自己电脑上跑自己的 harness,他们就保住了自主性(agency)——保住了把工具改成自己样子的自由,也保住了本地留存会话记录的能力,而这些记录长期看会构成一个人「与机器的通信集」。在上面那个例子里,用户完全可以把同一封邮件同时发给三家的模型,比较结果和成本,并把三个答案存在同一个地方,而不是散落在三个 App 里。

最后两节是立场表达。作者说 Pi 是个极简 harness:系统提示词很短,工具集很小,开箱状态就是「尽量别挡路」;但用户会不断扩展和塑形它,改系统提示词、写贴合自己工作流的扩展,然后互相分享——Pi 用户之间已经共享了超过 5000 个扩展,而 Pi 本身免费开源、跑在你自己的笔记本上。作者也承认 harness 并非天生开源和中立:第一个流行的 agent harness 是 Claude Code,它并不是被设计成一个与模型无关的转译层,而是一个让你在本机上用 Claude 模型写代码的应用。此后 OpenClaw、OpenCode、Hermes、Pi 这批免费开源 harness 的成长令人鼓舞。结尾一句是全文的题眼:我们不会靠无视今天已经存在的技术来强化人的自主性,而要「睁大眼睛、握紧手柄地去驾驭它们;确保是我们挥动锤子,而不是锤子挥动我们」。

HN 评论精华

这条帖子拿到 583 分。有意思的是作者本人(ni10c)在评论区说,这篇明明是写给非技术读者的,结果闹到 HN 上来了。讨论主要分成三条线:harness 会不会成为价值高地、写 harness 的实战经验、以及大家对这个比喻本身的再创作。