返回
AI AgentAGENT HARNESS

写作终于说人话了! Prompt: 我在学习:“Agent Harness” 这个概念。 我希望你通过写一个寓言的方式,间接地把这个概念完整讲出来。最好一直到快结尾时,人才会慢慢意识到这个概念究...

Agent Harness 是包在模型外、让模型从“会回答”变成“能执行任务”的软件基础设施。

宝玉 @dotey27 分钟阅读中文
阅读原文
TL;DR: Agent Harness 是包在模型外、让模型从“会回答”变成“能执行任务”的软件基础设施。
以下为 宝玉 @dotey 原文(中文

写作终于说人话了!

Prompt:

我在学习:“Agent Harness” 这个概念。 我希望你通过写一个寓言的方式,间接地把这个概念完整讲出来。最好一直到快结尾时,人才会慢慢意识到这个概念究竟是什么。然后在故事之后,再补一段解释,把你刚才真正要讲的概念说清楚。

Response:

寓言:会预言的鹿,与不会迷路的车

很久以前,山谷里有一座城,城里的人都说,北山住着一头银鹿。

这头鹿很奇怪。它能看懂星象,能听出河水里混着哪座山的雪,能从一片叶子的缺口判断哪条路刚有狼群经过。国王听说后,便派人把银鹿请进宫里。

国王问它:

“今年该往哪里开渠,才能让庄稼不旱?”

银鹿闭上眼,闻了闻风,说:

“东边第三道岭下,有一层暗水。先挖浅井,再引渠,不要直挖,否则会塌。”

工匠照做,果然出水。

国王又问:

“商队该走哪条路,才能避开强盗?”

银鹿看了看月光,说:

“别走旧驿道。绕过黑松林,从盐石坡下去。强盗在那里等着你们。”

商队照做,也平安归来。

于是国王大喜,说:

“从今天起,银鹿就是我国最聪明的大臣。”

可是没过多久,问题来了。

银鹿虽然聪明,却不会自己开渠。它说得出暗水在哪里,却不能拿起锄头。它知道强盗埋伏在哪里,却不能替商队安排马匹、干粮、路引。它能判断草药有没有毒,却不能进药房配药;它能指出城墙裂缝,却不能调度石匠;它能说“这件事要先查旧账”,却不知道旧账放在哪间屋子。

国王很困惑。

“你不是很聪明吗?为什么还要这么多人?”

银鹿说:

“我能想,但我没有手。我能看见许多可能,但我不知道你准我碰哪些门、翻哪些柜、命令哪些人。我能记住刚才说的话,可三个月前的旧约,得有人拿给我。我能给出办法,但得有人确认办法真的被做对了。”

国王觉得它是在推脱,便下令:

“那就让银鹿自由行动。宫里的门都打开,仓库也打开,账本也打开。凡它所说,人人照办。”

第一天,银鹿让侍从去药房取“白根草”。侍从不知白根草有两种,一种救人,一种伤人,差点拿错。

第二天,银鹿让人修东城墙。石匠听成了西城墙,忙了一整日。

第三天,银鹿建议商队绕路。商队照做了,却忘了带盐石坡通行文书,被边防扣住。

第四天,银鹿为了查一笔粮仓亏空,让人翻出所有账簿。账簿堆满宫殿,没人知道哪本已经查过,哪本还没查,哪条线索可信,哪条只是猜测。

第五天,银鹿说:

“这不是聪明不聪明的问题。你们把我放进了世界,却没有给我一辆能在世界里行走的车。”

国王召来木匠、车夫、书记官、守门人、法官和老猎人,要他们做一件东西。

木匠先造了一辆车。车不豪华,但结实,能装账本、工具、地图和样本。

车夫说:“还不够。车要有缰绳,不然银鹿看到什么都想追。”

于是他们给车装上缰绳。银鹿可以指方向,但车夫会问:“这是去药房、粮仓,还是城外?你有这个许可吗?”

书记官说:“还不够。每次出行,要记下它为什么去、拿了什么、问了谁、结果如何。”

于是车上有了日志。

守门人说:“还不够。有些门可以直接开,有些门要国王点头,有些门永远不能开。”

于是车上有了钥匙环。每把钥匙都刻着用途和限制。

老猎人说:“还不够。山路会断,桥会塌,人会听错。车要会停下来,重问一遍,或者换路。”

于是车上有了备用路线和出错时的规矩。

法官说:“还不够。银鹿说‘已经办好’时,不能只听它说。要验收:渠水有没有流到田里?药有没有配对?账有没有对上?”

于是车上有了检验表。

药师说:“还不够。银鹿每次都从头学,会误事。它要记得哪些草药上次有效,哪些村子忌用哪味药。”

于是车上有了记忆匣。短事放在前格,旧约放在后格;有些记忆会过期,有些要反复核实才准留下。

铁匠说:“还不够。万一银鹿要试一种危险办法,不能让它在城里乱试。”

于是他们在城外建了一块试验场。新车、新药、新机关,先在那里试,不伤百姓。

画师说:“还不够。银鹿看到的东西,百姓看不懂;百姓给的请求,银鹿也可能误解。”

于是车上又多了一块双面板。一面把百姓的话整理成清楚的任务,一面把银鹿的想法翻译成百姓能执行的步骤。

最后,国王问:

“现在可以了吗?”

众人看向银鹿。

银鹿说:

“现在,我不只是会回答问题了。现在,我能接住一个目标,带着记忆和工具,按规矩走进世界,遇到错误会回头,做完之后会留下证据。”

国王恍然大悟。

原来真正神奇的,不只是那头会思考的鹿。

真正让国家运转起来的,是那辆车、缰绳、钥匙、日志、试验场、记忆匣、验收表、守门人和车夫共同组成的东西。

后来,邻国来访,问国王:

“你们的银鹿为何比我们的智者有用这么多?难道它更聪明?”

国王笑了笑,说:

“未必。你们只请来了一个聪明的脑袋。我们给这个脑袋配了能行动的身体、能守规矩的手、能记事的口袋、能试错的院子、能被审计的足迹,以及知道什么时候该请人点头的缰绳。”

邻国使者问:

“这东西叫什么?”

国王想了想,说:

“我们原先以为是在造一辆车。后来才知道,我们造的是一副让智慧可以安全拉动现实的挽具。”

银鹿低头看了看自己身上的缰绳,又看了看远处已经通水的田野。

它终于明白:没有这副挽具,它只是会说话的预言;有了这副挽具,它才成了能做事的行者。

解释:这个寓言真正讲的是 Agent Harness

在 AI 语境里,Agent Harness 可以理解为:包在模型外面、让模型从“会回答”变成“能执行任务”的整套软件基础设施。近来的行业表述里,常见一句话是 Agent = Model + Harness:模型提供推理与生成能力,而 harness 负责工具、状态、上下文、执行、约束、反馈和持久化等部分。LangChain 近期也把 harness 描述为把模型变成自主工作引擎的系统,并强调文件系统、沙盒、记忆等核心部件;Martin Fowler 的文章也把 harness 概括为“除了模型本身之外的东西”。(LangChain)

寓言里的银鹿就是模型。它聪明、能判断、能提出方案,但它本身并不等于一个完整 agent。它不能天然访问文件、调用工具、记住长期状态、申请权限、检查执行结果,或在危险操作前进入安全环境。

寓言里的车、缰绳、钥匙、日志、试验场、记忆匣、验收表就是 Agent Harness 的不同部分:

车,是运行环境和任务循环,让模型能一步步执行,而不是只回答一次。

缰绳,是控制流、策略和边界,决定模型什么时候继续、什么时候停、什么时候需要人类确认。

钥匙,是权限系统和工具访问控制。不是所有工具都能随便用,也不是所有数据都能随便读。

日志,是可观察性和审计记录。系统要知道模型做过什么、为什么这么做、调用了什么、产生了什么结果。

记忆匣,是上下文和记忆管理,包括短期对话状态、长期偏好、历史任务、文件内容、外部知识等。LangChain 另一篇关于 harness 与 memory 的文章也强调,记忆不是额外贴上去的小插件,而是 harness 管理上下文的核心职责之一。(LangChain)

试验场,是 sandbox,也就是安全执行环境。比如让 coding agent 改代码、跑命令、读写文件时,不能直接让它无边界地碰生产系统。

验收表,是验证、测试、评估和错误恢复。一个 agent 不能只说“我完成了”,系统还要检查输出是否符合目标,失败时能重试、回滚、请求帮助或换策略。

双面板,是输入输出适配。用户的自然语言请求要被整理成可执行任务;工具返回的大量结果也要被压缩、格式化、再喂给模型;最终结果还要以人能理解的方式呈现。

所以,Agent Harness 不是模型本身,也不只是 prompt,更不只是某个工具列表。它是让模型能在真实环境中长期、可靠、可控地工作的“外部身体”和“运行制度”。Microsoft 对 agent harness 的描述也强调,它是模型推理连接真实执行的层,包括 shell、文件系统访问、审批流和跨长会话的上下文管理。(Microsoft for Developers)

它和 agent framework / SDK 也不完全一样。Framework 或 SDK 更像木匠手里的材料和图纸;Agent Harness 更像已经装配起来、实际承载某个 agent 运转的那套车、路、钥匙、规则和检查机制。Salesforce 的解释也类似:harness 是围绕模型的执行环境,管理生命周期、上下文以及与外部世界的交互。(Salesforce)

最终,寓言想表达的是:

一个模型会思考,不代表它能可靠地做事。 一个 agent 真正能做事,是因为模型之外还有一整套 harness:给它工具,给它记忆,给它权限,给它边界,给它反馈,给它验收,也给它在现实世界中安全行动的方式。

💬4🔄0❤️35👀9412📊11 ⚡ Powered by xgo.ing