Skip to content
Go back

Agent Harness 是什么?模型之外的运行环境

如果你最近在 AI 圈看到「Agent = Model + Harness」这样的说法,可能想知道 Harness 到底指什么。Earendil 在 2026 年 8 月 20 日发布的文章《What is a Harness?》用一个登山安全带的比喻,把这件事讲得比较清楚。本文整理这个概念,适合刚开始接触 agent 工具、想弄清它与模型应用有什么区别的读者。读完你会知道 harness 由哪四部分组成,也会理解为什么换模型和本地运行会变成常见诉求。

从登山安全带说起

按 Cambridge Dictionary 的定义,harness 是一套用带子固定人或物体的装备,也指控制某种力量以便使用它。登山前系上安全带,作用很清楚:把人和岩壁上的保护点连起来,提供支撑,降低坠落风险,也让你能把粉袋、岩塞、快挂这类工具挂在身上。路线不同,肩带、腿环和挂点可以调整。

Agent harness 与登山安全带有结构上的相似之处。它同样先提供一个可依赖的运行环境,再把模型需要的工具接上去,同时允许使用者根据自己的流程修改设置。模型本身更像登山者,harness 像保护系统;两者配合起来,模型才能稳定地完成一个任务。

Agent Harness 的定义

Agent harness 是一段软件,负责给 AI 模型提供运行环境。它决定模型在什么上下文里工作、能看到哪些工具、如何反复尝试并结束任务,以及怎样连接不同模型供应方。

于是常见的简化公式可以理解为:

Agent = Model + Harness

这个说法有用,也容易造成误会。模型负责理解和生成内容,harness 负责把能力、约束和交互方式接上。两者结合后才产生可执行任务的 agent。

市场上已经有很多实现,入口也各不相同。Pi 主要通过终端使用;OpenClaw 能接 WhatsApp、Telegram、聊天应用或邮件;Lefos 以邮件为主要交互入口。界面只是表面差异,内部通常都围绕下面四个部分搭建。

四个核心组件

1. System Prompt

系统提示词是一组注入到每轮对话中的规则,告诉模型它是什么、要按什么风格工作、有哪些边界。它类似新员工入职第一天拿到的操作说明:员工本来就会思考,但需要根据这份说明决定当下怎么做。

模型训练阶段也内化了大量行为规则。Claude Opus 4.5 公开讨论过的所谓「soul document」就属于模型内部设定。Harness 的系统提示词放在模型外部,可以由使用者修改,因此比内部设定更可调整。

2. Tools

工具是写成代码、真正可以被模型调用的能力。例如网页搜索、读写文件、执行命令、发送邮件。

Harness 通常负责两件事:描述工具能做什么,提供工具背后的实现。它一般不会强制规定模型必须用哪个工具、按什么顺序调用,而是把选择权交给模型。模型看到任务后自行判断,先搜索、再写文件、最后发邮件,都属于正常流程。

3. Agentic Loop

有了指令和工具,模型便进入「理解任务、调用工具、检查结果、决定下一步」的循环。这个循环可能很短,也可能迭代多次,直到模型认为结果满足要求。

原文用了一个具体例子:用户请 agent 比较当地小学的排名和考试成绩,并给出推荐。模型先理解「当地」和「排名」大概指什么,再构造搜索请求。看到结果后,它会判断资料够不够、方向对不对;不够就再搜。数据补齐后,它用写代码工具生成表格,做计算和格式化,再把表格与最初问题对照。满意了,就用邮件工具整理结论、附上表格。一轮循环结束,用户在几分钟内收到邮件。

这里的每一次重新搜索、重新计算和最终检查,都是 agentic loop 的一部分。它让模型可以靠自己判断任务是否完成,而不需要每次都等人确认。

4. Translation Layer

转换层负责让 harness 与不同模型供应方协作。Anthropic、OpenAI、Google、本地开源模型都可以通过统一的接口接入,有些 harness 还会在同一任务中切换不同模型。

这一层对用户很关键。它把模型选择权从 AI 实验室手里部分转移到用户手里:同一套运行环境、同一套工具和会话记录,可以接不同模型;人也能够在本地保留完整会话,而不是把每次结果分散到不同的封闭应用里。

为什么「拥有 Harness」重要

模型权重通常掌握在实验室或云平台手中,但 harness 可以由用户安装、修改和运行。这个差别带来几个实际好处:

这也解释了为什么开源 harness 能吸引重视控制权的用户。它们让使用者选择模型、维护自己的历史记录,并根据工作习惯调整行为。

把 Harness 改成自己的

Pi 是原文反复提到的例子。它的定位是极简 harness:系统提示词很短、默认工具很少,开箱即用时不添太多规则。使用者可以改系统提示词,也可以写扩展加入自己的流程。

这种模式已经产生了不少共享内容。原文发布时提到 Pi 用户分享了超过 5000 个扩展;截至本文写作时,pi.dev 的包目录显示 5390 个可用包,包括技能、提示词模板、主题和工具扩展。

开源与中立性

文章认为,第一代流行的 agent harness 并不天然中立。Claude Code 早期主要服务于 Claude 模型,更像一个围绕特定模型的编码应用。随后 OpenClaw、OpenCode、Hermes、Pi 等项目逐步出现,开源、可自行部署,也允许连接多种模型。

Earendil 在文章里表达了更进一步的立场:把 Pi 建成中立的 harness,让用户保留模型选择和本地数据,并探索把这种自由度带给更广泛的人群。这是项目方自己的观点,把它当成一条判断标准即可,不需要当作行业结论。

适合谁,以及怎么看

如果你只是偶尔用聊天应用完成简单任务,完全可以直接使用托管应用,不必先安装 harness。想继续了解,可以先问几个问题:它有没有可修改的系统提示词?暴露了哪些工具?能否自动迭代并判断完成?是否支持换模型?这三个问题足以判断一个工具更像模型聊天窗口,还是更像完整的 agent harness。

涉及本地执行和文件访问时,还要先看清楚权限提示、沙箱或命令确认机制。Harness 越开放,部署环境越灵活,同时越需要使用者管理好自己的工具边界。

总结

Agent harness 可以概括为「模型运行环境」:系统提示词定规则,工具给能力,agentic loop 让模型自主迭代,转换层让模型可替换。这四个组件把一个大模型变成了能查资料、写文件、发邮件的 agent。

模型决定回答问题的方式,harness 决定问题如何被理解、工具如何被使用,以及结果落在哪里。理解了这一层,你再看到「Agent = Model + Harness」时,就知道这个公式里的另一半究竟含多少内容。

如果你关注这类 AI 助手与开发工具话题,Aide Hub 会继续分享 AI 助手、开发工具和软件工程实践。

参考


Tags


Previous

Staff 工程师如何发现值得解决的问题

Next

AI 工程能力地图:从模型到生产