当前位置: 首页 > news >正文

Agent 的核心秘密 —— 智能来自模型,能力来自 Harness

第一篇:Agent 的核心秘密 —— 智能来自模型,能力来自 Harness

如果你觉得"写个 while 循环调 API"就叫 Agent,那这篇是给你看的解药。


一个让你破防的问题

假设你面前有两个东西:

A: 一个刚毕业的剑桥数学系高材生,智商 160,但被关在一间空屋子里,没笔没纸没电脑。

B: 一个普通程序员,智商 110,但有一台联网的电脑、VSCode、终端、谷歌搜索、和十年积累的代码库。

谁更可能修好一个 bug?

答案显然是 B。不是因为他更聪明,而是因为他有工具

这个道理放在 AI Agent 身上一模一样的。而且更极端——因为现在的 LLM 某种程度上已经"毕业"了,它们的"智商"基本固定。你能让它们变强的唯一方式,就是给它们更好的工具和环境。

这就是这个 repo 的全部 premise:

Agency comes from the model. An agent product = model + harness.

翻译成人话:模型是司机,Harness 是车。你没法让司机更强(你又不能 fine-tune),但你他妈可以把车造得更好。


一个塞满误区的行业

现在的 AI 圈有个很搞笑的现象。

打开任何"AI Agent 平台"的官网:

Step 1: 拖一个 LLM 节点 Step 2: 拖一个 if-else 判断节点 Step 3: 拖一个 API 调用节点 Step 4: 用线连起来 Step 5: ??? Step 6: "我们构建了自主 AI Agent!"

这东西有个学名,叫Rube Goldberg Machine——一堆过度工程化的过程式规则管道,LLM 被塞在中间当个高级文本补全节点。

这个 repo 的作者恨这种东西恨得咬牙切齿,原文是这么骂的:

“Prompt plumbing ‘agents’ are the fantasy of programmers who don’t train models.”
(提示词管道"Agent"是那些不训练模型的程序员的幻想。)

翻译一下:你不会开车,所以你给马设计了一辆带方向盘的车。

这些系统的命运是注定的:脆弱、不可扩展、根本不能泛化。它们是 GOFAI(Good Old-Fashioned AI)的现代复活——那种符号规则系统,AI 领域几十年前就抛弃了的东西,现在喷了一层 LLM 的漆就拿出来卖。

不同包装,同一死胡同。


那真正的问题来了:什么是 Agent?

repo 说了句大实话:

当有人说"我在开发 Agent"时,他们只可能在做两件事之一:

1. 训练模型

调整权重。通过强化学习、微调、RLHF 或者别的梯度方法。这是 DeepMind、OpenAI、Anthropic 做的事。这是真正意义上的 Agent 开发。

2. 构建 Harness

写代码给模型一个可以操作的环境。这是大多数人在做的事,也是这个 repo 的主题。

好,那我们来看什么是 Harness:

Harness = Tools + Knowledge + Observation + Action + Permissions Tools: 文件 I/O, shell, 网络, 数据库, 浏览器 Knowledge: 产品文档, 领域参考, API 规范, 风格指南 Observation: git diff, 错误日志, 浏览器状态, 传感器数据 Action: CLI 命令, API 调用, UI 交互 Permissions: 沙箱, 审批工作流, 信任边界

模型做决定。Harness 执行。模型推理。Harness 提供上下文。

看一行这个 repo 里 s01 的代码,你就明白什么叫"模型是司机、Harness 是车"了:

defagent_loop(messages:list):whileTrue:response=client.messages.create(model=MODEL,system=SYSTEM,messages=messages,tools=TOOLS,max_tokens=8000,)messages.append({"role":"assistant","content":response.content})ifresponse.stop_reason!="tool_use":return# 剩下的就是执行工具、追加结果...

这个 while 循环就是 harness 的核心。模型在里面调用工具,获取结果,再调用工具,直到它觉得够了。

Model 决定什么时候 stop。Harness 决定怎么 run。这就是全部秘密。


12 堂课,从裸模型到完整 Harness

这个 repo 的巧妙之处在于:它不是教你怎么用一个框架,而是从零开始,一课一课地 build up 一个完整的 Agent Harness

Phase 1 (s01-s02): 最小 Agent 循环 + 工具分发表 ↓ Phase 2 (s03-s06): 规划能力 + 子代理 + 技能加载 + 上下文压缩 ↓ Phase 3 (s07-s08): 持久化任务 + 后台线程 ↓ Phase 4 (s09-s12): Agent 团队 + 状态机协议 + 自主行动 + Worktree 隔离

每一课都在前一课的基础上加一个 mechanism。没有跳跃,没有黑箱。

而且作者反复强调一个观点:

A coding agent’s harness is its IDE, terminal, and filesystem access.
A farm agent’s harness is its sensor array, irrigation controls, and weather data feeds.
A hotel agent’s harness is its booking system, guest communication channels, and facility management APIs.

同一个模型,换一个 harness,就能干完全不同的事。代码 Agent 和农业 Agent 的差别不在模型——在于你给了模型什么工具。


Harness Engineer 到底是什么?

如果你在看这个 repo,你大概就是个 Harness Engineer。作者给了你一张名片:

  • 实现工具—— 给模型双手。文件读写、shell 执行、API 调用、浏览器控制。每个工具都是模型可以在环境中执行的一个动作。
  • 整理知识—— 给模型领域专长。按需加载(s05),不是一次性全塞进 system prompt。
  • 管理上下文—— 给模型干净的记忆。子代理隔离(s04)防止噪音泄露。上下文压缩(s06)防止历史淹没。
  • 控制权限—— 给模型边界。沙箱文件访问。破坏性操作需要审批。
  • 收集数据—— 每次 Agent 在你的 harness 里执行的行动序列都是训练信号。下一轮模型改进的燃料。

你不是在写智能。你是在构建智能所栖息的世界。


为什么是 Claude Code?

这个 repo 选择了 Claude Code 作为解剖对象,不是因为它是"最牛的 Agent",而是因为它是最优雅的 Harness 工程范例

作者说,Claude Code 最美的地方不在于它做了什么,而在于它没做什么

  • 它没有强行设定死板的工作流
  • 它没有用一堆决策树来质疑模型
  • 它没有把自己当成 Agent

Claude Code 归到本质,就是:

Claude Code = one agent loop + tools (bash, read, write, edit, glob, grep, browser...) + on-demand skill loading + context compression + subagent spawning + task system with dependency graph

翻译:一个循环 + 一组工具 + 一些基础设施。剩下的交给模型。

这就像一个顶级赛车——引擎(模型)是别人造的,但底盘、悬挂、轮胎、空气动力学套件(harness)决定了它能在赛道上跑多快。


尾声:别再造轮子了

如果你从这篇博文里只带走一句话,那就是:

The model decides. The harness executes. Build great harnesses. The agent will do the rest.

下一个十年,构建 AI 产品的最大杠杆不在于训练更大的模型,而在于为现有模型设计更好的 Harness。

后面的几篇,我们将一篇一篇拆解这个 repo 的 12 个 Session。从最核心的 Agent Loop 开始:

  • 下一篇:Agent Loop —— 一切从循环开始

那个只有不到 100 行核心代码的 while 循环,到底藏着什么秘密。

http://www.jsqmd.com/news/749777/

相关文章:

  • 基于MCP与RAG技术,一键为网站部署本地化AI聊天机器人
  • NCMconverter终极指南:免费解锁加密音乐文件的完整教程
  • 3步解锁QQ音乐加密文件:macOS音频格式转换终极指南
  • PromptBridge技术:实现大语言模型提示词跨平台迁移
  • 用GPT-4生成数据破解视觉指令冷启动
  • DS4Windows终极指南:3分钟让PS4手柄在Windows上完美运行
  • RTX 4060笔记本跑PyTorch报错?手把手教你搞定CUDA算力不兼容(附详细诊断脚本)
  • Android开发中的Wi-Fi技术详解
  • Lightning Pose:基于深度学习的动物姿态追踪工具
  • 【企业级低代码安全红线】:Python自动生成代码中的5类隐蔽漏洞(含AST静态扫描脚本)
  • 论文查重和ai检测都超标!什么工具能同时降重复率和AI率?
  • BepInEx终极指南:Unity游戏插件框架完整教程
  • 阴阳师自动化脚本:如何用智能助手告别重复劳动
  • XUnity AutoTranslator完整指南:让外语游戏瞬间变母语体验
  • “ConnectionResetError”反复出现却查不到源头?:Python异步数据库调试三重断点法(aiohttp + asyncpg 实战)
  • Free Dictionary API 多语言词典查询服务深度解析与技术实现
  • WAM-202603:Fast-WAM【世界动作模型:训练时保留视频协同训练,推理时跳过未来生成】
  • OpenClaw自动处理Word文档全流程
  • MAA游戏自动化革命:如何实现智能辅助的完整解决方案
  • 2026年论文降AI难?必备这四款工具,高效降低AI率! - 降AI实验室
  • docker compose部署Seata2.5.0(使用Nacos+MySQL)踩坑记录
  • 3步彻底解决显卡驱动问题:Display Driver Uninstaller专业指南
  • E-Hentai下载器终极指南:如何一键批量下载画廊图片
  • 从Discord小白到出图高手:我的Midjourney提示词工作流搭建实录(附Notion模板)
  • 风控配置密钥管理失控?用Vault+Pydantic+Secrets Manager构建FIPS 140-2认证级安全链
  • 2026年AI大模型接口中转服务榜单:揭秘各平台特色,为你的业务选择最优方案
  • 如何15分钟掌握BepInEx:打造你的游戏模组生态系统
  • FPGA课程设计避坑指南:单周期CPU模型机在EGO1开发板上的实机调试全记录
  • WAM-202512:Motus架构分析【MoT、UniDiffuser 风格的调度器支持在多种建模模式之间灵活、利用光流(Optical Flow) 学习潜在动作(Latent Actions)】
  • AI提示词与模型仓库:系统化提升人机对话效率的开源实践