LLM、Agent、Harness,模型之外差异大
本文是一次长对话的整理稿,回答一个问题:Claude Code、Codex、Cursor、DeepSeek Harness 这些东西,除了背后的模型,到底差在哪里? 回答这个问题需要先把三个概念按顺序讲清楚——LLM 是什么、Agent 是什么、Harness 是什么——然后才能谈 harness 的流派。
数据截至 2026-08-25;来源以官方文档、GitHub 仓库和论文为主,社区博客的数字单独标注。
第一部分:LLM 是什么,以及它自己做不了什么
大语言模型(LLM)本质上是一个函数:输入一段文本(上下文),输出下一个 token 的概率分布。反复采样,就得到一段回答。经过后训练(SFT + 强化学习),它学会了对话、写代码、按格式输出工具调用请求。
理解后面所有内容的关键,是先看清 LLM单独做不了什么:
|
它做不了的 |
原因 |
|---|---|
|
记住上一次对话 |
无状态。每次调用都从零开始,"记忆"必须由外部塞回上下文。 |
|
执行任何动作 |
它只输出文本。"调用工具"是它输出了一段特定格式的文本,真正执行的是外面的程序。 |
|
看到世界 |
它看不到文件系统、网页、终端输出,除非有人把这些变成文本放进上下文。 |
|
处理无限长的任务 |
上下文窗口有限(当前主流 20 万到 100 万 token),超过就得压缩或丢弃。 |
|
知道自己做对了没有 |
没有反馈通道,它无法验证;验证结果也得由外部喂回来。 |
2026 年的另一个背景事实:前沿模型在基准上已经收敛(几家的差距在几个百分点内)。后训练带来的能力增量,大部分来自强化学习和测试时的脚手架,而不是预训练。这意味着模型之间的差异在缩小,模型之外的差异在放大——这是本文存在的理由。
第二部分:Agent 是什么
把一个 LLM 放进一个循环里,循环负责四件事,它就变成了 agent:
┌──────────────────────────────────────┐│ 1. 装配上下文 → 喂给模型 ││ 2. 模型输出:文本 或 工具调用请求 ││ 3. 循环执行工具,拿到结果 ││ 4. 把结果塞回上下文,回到 1 ││ 直到模型说”完成”或触发终止条件 │└──────────────────────────────────────┘
这个循环补上了第一部分里 LLM 做不了的五件事:循环保存状态、执行动作、把世界变成文本、管理上下文长度、把验证结果喂回去。
所以业界现在的通用公式是:
Agent = Model + Harness
模型是循环里的那个函数;harness 是循环本身,加上循环两侧的一切管道。DeepSeek 招聘 harness 团队的 JD 用的就是这个公式;Anthropic 和 OpenAI 的产品结构也是如此。
几个容易混淆的区分:
-
Chatbot 不是 agent:没有工具、没有循环,一问一答。
-
Workflow 不是 agent:步骤由人写死,模型只填空;agent 的下一步由模型决定。
-
最小的 agent 只需要两个工具:一个 bash、一个文件编辑器,加一个循环。DeepSeek 官方跑基准用的 Minimal 模式就是这样;Pi 也只有四个工具。功能再多的 agent,去掉花哨部分之后都是这个骨架。
第三部分:Harness 是什么
Harness 是包住模型的全部运行时。2026 年上半年集中出现了三篇学术综述,把它当作独立的系统学科来研究,给出的分层大同小异。本文用一个六层版本,因为它直接对应"同一个模型放进不同产品会在哪里分道扬镳":
|
层 |
管什么 |
具体例子 |
|---|---|---|
|
1. 动作空间 |
模型能调哪些工具、工具的输入输出长什么样 |
编辑原语:精确字符串替换(Claude Code)vs apply_patch(Codex)vs Hashline(OMP)vs 独立 apply 模型(Cursor 曾用) |
|
2. 上下文装配 |
模型开口前看到什么 |
代码库 embedding 索引(Cursor)vs 逐步 grep(Claude Code);指令文件 CLAUDE.md / AGENTS.md / .cursor/rules;skills 渐进披露 |
|
3. 反馈通道 |
模型动手之后收到什么 |
IDE 里 LSP 类型错误自动回灌 vs 终端里模型得自己想起来跑测试 |
|
4. 控制循环 |
几十轮之后怎么活下去 |
压缩策略、工具结果截断、重试、子代理隔离、中途插话怎么注入、checkpoint 回滚 |
|
5. 推理参数 |
模型被允许用多少脑子、花多少钱 |
effort 档位、上下文上限(Codex 里 GPT-5.5 是 40 万,API 是 100 万)、prompt cache 的前缀布局 |
|
6. 信任边界 |
模型被允许碰什么 |
内核沙箱(Seatbelt / Landlock)vs 应用层权限 + hook vs 远程 VM;凭证放在沙箱内还是网关上 |
三个关于 harness 的核心结论
结论一:harness 是模型训练分布的一部分,"除了模型"这个切法本身不完全成立。第一方产品(Claude Code、Codex)的模型是在自家 harness 的工具形状上做强化学习的——模型对"Edit 失败后怎么办""Grep 结果长什么样"有训练出来的先验。把 Claude 放进 Cursor,第 1–3 层的训练耦合就断了。OpenAI 走得更远,把第 4 层的 compaction 直接训进了模型。反过来说,哪些层是"纯工程"(4、5、6),哪些层和模型耦合(1、2、3),决定了谁能抄、谁抄不走。
结论二:harness 首先是经济变量,其次才是能力变量。最直观的证据:同一个 DeepSeek V4 Flash 跑在 8 个 harness 上,每成功任务成本从 $0.028(Pi)到 $0.195(Claude Code),差 7 倍(Composio 社区横评,30 任务)。学术因子实验里,同一模型换 harness,token 消耗可差 40–65 倍,而通过率通常只差 0–15 个百分点。原因是第 5 层:请求形状(工具集大小、历史怎么处理、前缀是否稳定)决定缓存命中率,缓存命中率决定账单。
结论三:可移植的是"知识",不可移植的是"控制流"。Anthropic 2025 年 12 月把 SKILL.md 开放成标准,32+ 个 harness 都读它;Agent Plugins 1.0 又标准化了打包。所以技能、提示、脚本可以跨 harness 搬家。但规范明确把 hooks、子代理、权限、MCP 配置留在各家原生——这些"宿主语义"不可移植。护城河恰好在不可移植的这一层。
第四部分:主流 harness 流派
按两个维度划分:harness 和模型谁适配谁(这决定了上限和可抄性),以及产品形态(这决定了用在哪)。
按适配方向模型→harness(训练耦合) ①第一方共训派 ②官方开放框架派harness→模型(工程补偿) ④重装工程派 ⑤IDE 内嵌派两边都不适配(极简) ③极简底座派自动搜索 ⑩元 harness 派按产品形态⑥云端异步派 ⑦消息网关派 ⑧计算机使用派 ⑨SDK/运行时派
① 第一方共训派:Claude Code、Codex
核心思想:harness 和模型一起设计、一起训练。
Claude Code(Anthropic,闭源,TypeScript)
-
第 1 层:精确字符串替换;Read / Bash / Grep / Glob / Task。
-
第 2 层:CLAUDE.md 层级 + Skills 渐进披露,不建索引。
-
第 4 层:最丰富——14+ 个生命周期 hook(编辑后自动跑类型检查、安全扫描不过就阻止提交)、子代理、Agent Teams(多个实例通过共享任务板和邮箱协作,随 Opus 4.6 一起发布)、Dynamic Workflows(几十到几百个子代理)。
-
第 6 层:原来靠权限 + hook 的应用层模型,2026 年在下面加了 OS 级沙箱。
Codex CLI + Codex cloud(OpenAI,CLI 开源,Rust 重写)
-
第 1 层:apply_patch 自定义 diff 格式。
-
第 2 层:AGENTS.md,作为稳定前缀参与缓存。
-
第 4 层:compaction 训进了模型(GPT-5.1-Codex-Max,官方称单任务可跑 24 小时以上);子代理 + 云端 fire-and-forget + 用小模型跑子代理做成本分层;2026 年补上了 hook 系统。
-
第 6 层:内核级沙箱(macOS Seatbelt、Linux Landlock + seccomp),默认关网络,提示注入也逃不出去。
两家的哲学分歧:Claude Code 默认信任用户策略,追求可编程治理(能表达"允许 npm test 但禁 rm -rf");Codex 默认不信任模型,追求硬隔离。到年中两边在互相补齐,差异变成默认值和侧重。
优点:端到端质量最高,因为协调、压缩、工具使用都是被训过的行为;生态最成熟,插件市场有审核。缺点:锁定自家模型和定价;请求形状为自家缓存设计,换模型跑成本暴涨;Claude Code 闭源、Codex 模型不开,可审计性受限。适合谁:要一个完成品、在其生态内、质量优先于成本的团队。
② 官方开放框架派:DeepSeek Harness(dsh)
核心思想:"一切皆插件",同时背后有自家开放权重模型可以共训。这是唯一"既开放又有一方模型"的组合。
DeepSeek Harness(2026-08-13 developer preview,MIT,基于 Cordis 插件框架,与 V4-Pro-0813 同日发布)
-
模型、工具、沙箱、会话、循环、UI 全部可换。
-
四种预设:Standard(全功能)、Code/PTC(模型写一段 TypeScript 编排多轮工具调用,省上下文)、Minimal(只有 bash + 编辑器,官方基准用的就是它)、Creator(造预设用)。
-
第 6 层是可换接缝:本地 bwrap / Landlock / Seatbelt,Windows 有 ACL 受限令牌运行器(三家里唯一原生把 Windows 当一等公民,但自报 enforcement: partial),远程 E2B 是 POC;文件系统和子进程共享一个执行世界,指向远程沙箱时 Bash / PTY / LSP 一起搬走。
-
子代理也是接缝:内置可把工作委托给 Claude Code 和 Codex 的二进制;实验性 Agent Teams 照搬了任务板 + 邮箱模式。
-
状态模型是 append-only 事件日志:"模型看到的一切都被记录",resume / fork / replay 在同一条事件流上。
优点:极致可替换;天然的异构多 agent orchestrator 位置(调度 Claude Code 和 Codex 当工人);权重开放,用户理论上能在自己冻结的配置上做后训练——Claude / GPT 用户永远做不到。缺点:rc 阶段,官方警告会有破坏性变更;社区插件 101 个里 81 个是源码仓库不是 npm 包、3 个装不上;"什么都是插件"和"共训"互相打架——模型只能对一个规范核心训练,插件组合靠基础先验硬扛;与 V4 的共训没有官方明文。适合谁:要框架而不是产品、愿意自己把关质量、需要 Windows / 内网 / 异构调度的团队。
③ 极简底座派:Pi
核心思想:既然模型不会为我训练,就把接口缩到任何模型都不需要为它训练的程度。
Pi(Mario Zechner,MIT,约 86k star)
-
四个工具(read / write / edit / bash)、约 20 行系统提示、append-only 树状会话、Skills 渐进披露、TypeScript 扩展。
-
有意拒绝子代理、MCP、plan mode、权限弹窗:子代理用 tmux 开进程,权限用容器解决,计划写文件。Unix 哲学的 agent 复刻。
优点:缓存经济学最好(前缀命中率 99.93%,近 10 亿 input token 只花 $2.65,社区实测);小到能读完,因此成为别人的底座(OpenClaw 直接嵌入它);30+ 模型提供者,随时换最便宜的。缺点:开箱能力薄,一切靠自己扩展;依赖 BYOK 或第一方订阅 OAuth,接入权在实验室手里;没有训练耦合,上限取决于模型本身。适合谁:harness 构建者、上下文工程师、多模型工作流、要把 agent 嵌进自己产品的人。
④ 重装工程派:Oh My Pi(OMP)
核心思想:模型不会为我训练,那我为模型设计——用工程手段补模型的短板。方向和①正好相反。
OMP(Can Bölük,Pi 的官方分叉,MIT,31 个工具,Rust 核心)
-
Hashline 编辑格式:读文件时给每行一个短签名,模型只说"替换签名 2:f1 那行",不用逐字重写原文。实测 16 个模型 × 180 任务:Grok Code Fast 1 从 6.7% 跳到 68.3%,平均 +15 个百分点,连 Claude Sonnet 4.5 也涨 14.4 点。
-
LSP 接进每次编辑、DAP 真实调试器、advisor 第二模型旁观、持久 Python / JS 内核可回调 agent 工具。
优点:让便宜模型打上一档,性价比和速度领先;证明了不碰权重、纯靠 harness 工程能拿到十倍级差异——一个人能撬动的杠杆。缺点:作者自己说"模型是护城河,harness 是桥"——Hashline 会被实验室吸收并训进模型,优势有半衰期;质量、自主性、可靠性、易用性仍落后 Claude Code;31 个工具反噬了 Pi 的缓存优势(横评里每任务 $0.103,是 Pi 的近 4 倍)。适合谁:成本敏感、用开放模型、要 IDE 级工具但不想进 IDE 的开发者。
⑤ IDE 内嵌派:Cursor、Cline、Zed、Copilot、Windsurf
核心思想:第 3 层最厚——LSP 诊断、打开的文件、光标位置天然在手边。
Cursor(VS Code 分叉,闭源,多模型路由 + 自研 Composer):代码库 embedding 索引、.cursor/rules 按 glob 作用域加载、Composer 把所有编辑暂存为一个 diff 逐文件接受、Cloud Agents 在隔离 VM 里跑、Cursor SDK 把同一 runtime 暴露出来。Cline(开源扩展)、Zed(Rust 编辑器带 agent)、Copilot agent、Windsurf 同属此类。
优点:第一轮就拿到宽而浅的代码库快照;类型错误自动回灌,迭代轮数少;对不会用终端的开发者友好。缺点:第三方 harness,与任何模型都没有训练耦合;请求形状不为特定模型的缓存优化;上下文装配依赖索引质量;编辑走独立 apply 模型时会引入"合并错行"这类新失败模式。适合谁:日常在 IDE 里写代码、要交互式配合而非无人值守的开发者。
⑥ 云端异步派:Codex cloud、Cursor Cloud Agents、Devin、Jules
核心思想:工单或 Slack 触发 → 起一个一次性容器 → agent 跑完回一个 PR。人不在场。
优点:并行吞吐、天然隔离、可挂进 CI。缺点:交互性差,中途纠偏成本高;上下文只有仓库里有的东西;对内网系统和设备绑定认证无能为力。适合谁:批量、可验证、边界清楚的任务(修 lint、升依赖、补测试)。
⑦ 消息网关派:OpenClaw、Hermes、CowAgent
核心思想:agent 住在你已经在用的聊天软件里。
-
OpenClaw(MIT,基于 Pi):一个网关进程接 WhatsApp / Telegram / Slack / Discord / iMessage / 飞书 / 企微等 25+ 渠道;每发送者会话隔离;PRISM 安全层在 10 个生命周期点做纵深防御。押"可及性"。
-
Hermes Agent(Nous Research,MIT):每完成任务自动蒸馏可复用技能、三层记忆、无状态子代理、6 种终端后端(可扔到 $5 VPS 上)。押"学习"——第 10 周比第 1 周聪明。
-
CowAgent(原 chatgpt-on-wechat):飞书 / 钉钉 / 企微 / QQ / 公众号原生。中国 IM 生态里的社区代表。
优点:零学习成本;持久在线;适合个人自动化和轻量团队助理。缺点:编码能力薄;富内存状态难以干净迁移;企业级治理和审计基本缺失。适合谁:要一个随时能聊的私有助理的个人,或消息平台原生的轻量工作流。
⑧ 计算机使用派:Claude in Chrome、桌面 GUI agent
核心思想:没有 API 就点界面。
优点:能覆盖稀疏 API、设备绑定认证、老旧内网系统——其他所有流派都进不去的地方。缺点:慢、贵、脆;截图驱动的可靠性远低于工具调用;凭证模型最棘手(agent 以谁的身份点)。适合谁:内网 RPA、Windows 重度环境。目前没有成熟的开源 harness 把这个场景当一等公民,是一个真实空白。
⑨ SDK / 运行时派:Claude Agent SDK、OpenAI Agents SDK、Cursor SDK、LangGraph、OpenHands、AIOS
核心思想:不给你产品,给你 harness 层,让你自己造产品。
优点:控制权最大,可以做垂直定制。缺点:六层要自己补全。综述的实证发现是"生产系统六层齐全,研究原型通常只有 2–3 层"——缺哪层就缺哪种可靠性:缺 hook 无法执行策略,缺状态持久化无法崩溃恢复,缺评估接口无法调试。适合谁:做垂直产品的团队。
⑩ 元 harness 派:优化 harness 的 harness
2026 年新出现的品类,分三支:
-
评测 harness:Terminal-Bench 2.0、HAL(21,730 次 rollout、9 模型 × 9 基准)、VeRO(Scale,ICML 2026,把"agent 优化 agent"本身当基准)。
-
自动 harness 优化:Meta-Harness(Stanford,用编码 agent 当外循环搜索 harness 程序,Terminal-Bench 2.0 达 76.4%)、AHE(69.7% → 77.0%)、LIFE-HARNESS(北大,面向非编码确定性环境,126 个模型-环境组合改善 116 个,平均相对增益 88.5%)。
-
RL 训练 harness:verl、Miles 把 harness 当环境接进训练;TERMINAL-LEGO 的"教学悖论"——用分数更低的 DeepSeek-V3.2 轨迹训出的学生,泛化反而比用 Claude Opus 4.6 轨迹训的强,因为前者暴露了更多"检查-行动-验证"的 harness 可见交互。
含义:harness 工程本身正在被自动化,进一步缩短了④的套利半衰期——不仅实验室会吸收 Hashline,优化器也会自动找到它。
第五部分:一句话选型
-
要完成品、质量优先 → Claude Code 或 Codex,按"可编程治理 vs 硬隔离"二选一。
-
要框架、要 Windows / 内网 / 异构调度 → DeepSeek Harness,但当 preview 用。
-
要嵌进自己的产品、要多模型、要省钱 → Pi。
-
用开放模型又要 IDE 级工具 → OMP。
-
在 IDE 里交互式写代码 → Cursor 系。
-
批量可验证任务挂 CI → 云端异步派。
-
要住在聊天软件里的助理 → OpenClaw(渠道)或 Hermes(学习)。
-
没有 API 的老系统 → 计算机使用派,做好慢贵脆的准备。
-
做垂直产品 → SDK 派,先把六层补全再谈功能。
葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。
更多推荐



所有评论(0)