正本清源(二):从 prompt 到 harness,AI 使用者真正在解决的是什么问题

目录

当今世界,AI 正在以一种匪夷所思的速度发展,工具多的眼花缭乱,从 prompt 技巧到 RAG,从 agent 到 MCP,到如今的 harness,这些” 名词” 混乱到让人感到焦虑,每一波浪潮都在说自己是” 真正的答案”,上一波就被理所当然的贬为” 过时的东西”。

我认为,看懂这条时间线比学会任何一个工具都要重要。这篇文章想做的,是沿着时间线把每一波浪潮拆开:当时人们遇到了什么问题?根源是什么?解决它的过程中又出现了什么新问题?最后回到一个根本性的问题 —— 作为 AI 使用者,我们该如何在这片工具废土里找到适合自己的路?

从 prompt 到 harness 的六阶段演化时间线:① 2022 Prompt Engineering(核心问题:模型不理解你要什么;关键词 few-shot/CoT/role prompt;把话说清楚)→ ② 2022–2023 推理可被拉长(核心问题:一次想不了那么多;代表 ToT/GoT;外部结构影响推理表现)→ ③ 2023 RAG + Agent(核心问题:不知道外部信息,不能行动;连接文档/搜索/代码;走向外部世界)→ ④ 2024 MCP(核心问题:N×M 集成混乱;把工具接入标准化;不再重复造轮子)→ ⑤ 2025 Context Engineering(核心问题:上下文太多反而走神;少而准,信息也重要;对抗 Context rot)→ ⑥ 2025 末–2026 Harness(核心问题:模型只能说话,不能做事;文件、shell、权限、多 agent;把 token 变成动作)。底部贯穿条:表达精度 → 推理结构 → 外部连接 → 协议标准 → 上下文控制 → 运行时基础设施。中部横幅口号:每一层都在解决上一层溢出的问题。
图 1. 从 prompt 到 harness:六波浪潮的时间线与各自解决的瓶颈。

2022:Prompt Engineering 初露锋芒

2022 年 1 月,Google Brain 的 Wei 等人发表了 Chain-of-Thought,证明了一个在现在来看就是废话的问题:如果你让模型把推理步骤一步一步写出来,他在多步问题上的表现会显著提高。

几个月后 ChatGPT 问世,人们在接触的过程中意识到” 怎么跟模型说话” 也是一门学问。

今天回过头来看,prompt engineering 似乎有更深刻的意义,表面上来看,few-shot、chain-of-thought、role prompting 这些” 技巧集合” 有效。但是仔细想想你会发现,它们都是逼着使用者把一个模糊的问题变为模型能确切理解的指令,或者更直白来讲,它们通过结构化输出,把” 人没有把问题想清楚” 这个根本性问题绕过去。

这个阶段留下来了一个最核心的理念:

你的表达精度本身就是一种生产力,同时也决定了模型的能力上下限。

2022 年底到 2023:推理是可以被” 拉长” 的

Chain-of-Thought 证明了推理步骤的效果之后,有一个论点可以被轻松的引申出来:如果模型把逐步推理变为多步推理或者是树状搜索、图状搜索,会不会表现更好?

2023 年初,Yao 提出的 Tree-of-Thought 给出了肯定答案。他让模型在每一步都枚举多个可能的思路,然后用搜索算法遍历这棵思维树。

从表面上来看,这一阶段仍处于 prompt engineering 的影响下,但是他传递出来一个新的信号方向:

模型推理能力并不是一个静态的量,它会受到外部结构的设计影响,不同的设计会出现不同的效果。

现在的模型变聪明了,其实不准确 —— 在不断优化的结构下,模型能表现出的推理水平其实比它在单轮对话里面展现的要高得多。ToT 和 GoT 本身并没有直接成为今天主流 agent 架构的骨架(后者更多是 CoT 加工具调用的结合体),但是这个阶段留下来一条重要的认知,这条认知也在后面被反复验证,也是 harness 的雏形:

怎么围绕模型搭一个好的工作流程,常常比选什么模型更决定结果。

2023:RAG 和 agent,初探外部世界

到了 2023 年,人们开始遇到了 prompt 层面解决不了的问题:模型不知道你公司的文档,不知道今天的新闻,看不到数据库,也不能执行代码,你把 prompt 调到天上也没用。

这时候出现了两条路。一条是 RAG(Retrieval-Augmented Generation):模型在回答之前先去搜索相关文档,把结果放到上下文中。另一条是 agent + tool use:模型去调用外部工具,自主去搜索、执行、查询。

2023 年 Yao 的 ReAct 论文把这两条路缝合在一起:模型交替去思考和行动,先去推理下一步需要做什么,然后调用工具去获取信息,根据结果继续推理行动。同年 6 月份,OpenAI 推出了 function calling,他把 agent 能力下沉到了 API 层,LangChain 顺势成为了构建 agent 系统的标准框架。

这一个阶段问题很明确:模型的智能被它的” 信息封闭” 严重限制了。训练数据截止之后的事它不知道,你桌面上的文件它也看不到,生产环境的数据库它更连接不上。

但是又出现了新的问题:每接入一个工具都要写自定义集成,每个框架有自己的一套约定,不同模型供应商的 function calling 格式不一样,同一个能力在 LangChain 里是一种写法、在自研系统里又是另一种。工具越多,维护成本呈平方级增长。这个问题后来被 MCP 的正式命名为 N×M 集成问题 ——N 个模型、M 个工具,每一对组合都可能要写一遍。

2024:MCP 的必然

2024 年 11 月,Anthropic 发布了 Model Context Protocol(MCP),它们定义了一套协议,让工具提供方只实现一次 MCP 服务端,客户端只对接 MCP 规范,就能连上生态里任何遵循该协议的工具,他们将 agent 接入外部工具的方式标准化了。

MCP 在短短一年内,就已经扩展到了这一代 agent 的工具底座。到 2025 年末已经有超过 75 个连接器直接挂在 Claude 上,MCP 的 Python 和 TypeScript SDK 每月下载量合计超过 9700 万。

MCP 解决的问题不在” 怎么用 AI” 这一侧,而在” 怎么让 AI 的使用不重复造轮子”。

2025:Context engineering,上下文的讨论

到了 2025 年之后,一个反直觉的事实开始被人们认可:上下文窗口并不是越大越好。

早期人们认为,如果模型能看到 100 万 token,那就把所有可能相关的东西都塞进去,让模型自己挑所需要的内容。

但当 context 超过了某个阈值,模型从长上下文中准确召回信息的能力会下降,解决问题的能力反而会降低,这种现象被称之为”context rot”。

SWE-rebench 的维护者观察到模型性能在某个上下文长度附近会撞上一道硬墙,再往后不管上下文最多支持都会明显劣化。塞得越多,模型越走神,幻觉现象越严重。Databricks 的一项研究甚至在 32K token 附近就观测到了明显的精度下降。

这个现象引出了 context engineering 的概念。2025 年 9 月,Anthropic 在官方工程博客里把它称之为 prompt engineering 的自然延续,把焦点从” 如何写一条指令” 转到” 如何配置模型在每一步推理时能看到的信息”。同时期,Gartner 发布报告称 prompt engineering 正在被 context engineering 取代;Andrej Karpathy 和 Shopify 的 Tobi Lütke 也在社交媒体上公开支持这个转向。

模型的注意力是有限的。和人一样,给它看的东西越多,它能给每一部分的关注就越少。好的使用方式不是最大化信息输入,是精准地给它最少但最必要的信息。和 prompt engineering 时代的” 把话说清楚” 是同一条原理在不同尺度上的体现 —— 当年是一句话的精度,现在是整个上下文窗口的精度。

现在:Harness 是让模型能” 做事” 的基础设施

走到 2025 年底、2026 年初,我们来到了目前这个阶段 —— 称之为 harness 时代。Claude Code、Cursor、Codex 这些工具被统称为 harness,它们给一个只能” 说话” 的模型更多的” 手”,赋予它更大的” 权力”:文件系统访问、shell 执行、工具调用原语、权限和确认机制、错误回退、长任务的状态编排、多 agent 之间的协调通道、跨会话的记忆文件。

语言模型本身只能产出 token,harness 负责把这些 token 翻译成对真实世界的动作,再把真实世界的反馈翻译成模型能理解的输入。

harness 去解决的问题也是前几代自己产生的。现在的 agent 能力足够强、工具链足够完备、上下文管理足够讲究之后,单纯的” 模型 + 几个工具” 已经不够用,你需要一个能让模型在真实环境里持续工作的运行时。它自主要决定什么操作需要用户点头、什么可以静默执行;要在工具失败时选择重试还是回退;要把一个长任务拆分成子 agent 并回收它们的结果;要在会话中断后恢复到接近中断前的状态。这些需求合起来构成了 harness engineering。

但是 harness 层本身也在迅速制造新的问题。我自己配置过一整套 Claude Code 的定制化设施 —— 全局规则文件、领域规则文件、subagent、slash 命令、跨会话记忆 —— 每一个单独看都挺合理,但组合起来之后,系统的维护成本和认知负担开始吃掉它带来的收益。你花在记忆” 每个组件的状态、每个配置的影响范围、每次更新可能的连锁反应” 上的时间,开始和它节省的时间打平。

harness 是一把双刃剑:它让复杂协作成为可能,也让简单任务变得复杂。

贯穿所有阶段的模式

现在站在高处来俯瞰这条路径,你会发现一个清晰的循环结构:

问题–解决循环的六步示意:① 遇到瓶颈(现有方法开始不够用,砖墙意象)→ ② 发明新方法(针对痛点做专门优化,灯泡 + 扳手)→ ③ 效果显著(被快速采纳,上升柱状图)→ ④ 变成标准(进入主流工作流,勾选图标)→ ⑤ 复杂度上升(维护成本和认知负担增加,线团意象)→ ⑥ 产生新问题(下一波再来解决,警告标)→ 回到 ①。中心堆叠 prompt / reasoning / RAG & agent / MCP / context / harness 六层'地层',红色横幅:没有终极答案,只有当前最合适的一层。底部标签:Prompt 说清楚 · Reasoning 想更深 · Agent 连世界 · MCP 统一接入 · Context 少而准 · Harness 能做事。脚注:采用一个工具前,先问'我遇到的是这个问题吗'。
图 2. 每一波工具都在解决上一波留下的问题——六步循环永远在向前推进,没有终点。

在使用过程中出现了某个瓶颈,然后有人去发明了一套新的方法去解决它,这套方法如果真的有效,就会被采纳变为行业标准。但同时会带来新的问题,等问题积累到一定程度,下一波人又会站出来发明下一套解决方案。

prompt 解决的是” 模型不理解你要什么”;推理链解决的是” 模型一次想不了那么多”;RAG 和 agent 解决的是” 模型不知道 / 做不了外部的事”;MCP 解决的是” 每个工具接入都要重写一遍”;context engineering 解决的是” 信息多了反而更糟”;harness 解决的是” 模型只能说话,不能在真实环境里做事”。

每一步都是合理的,每一步也都是局部最优。但连起来看,你会意识到没有任何一个阶段是” 终极答案”。每一层都在处理上一层的溢出。而那些宣称自己是终极答案的方案,无一例外地在下一两年内被发现有自己的天花板。

对普通使用者来说:如果你不理解一个新名词在解决什么问题,就不要急着采用它。采用一个为解决你还没遇到的问题而设计的工具,是在用复杂度换一个你用不上的能力。

该如何去做?

面对这条混乱不堪的路,合理的学习策略不是” 从下往上把每一层都学一遍”,也不是” 只学最新的那一层”。

我们需要确定自己在哪里。

四层诊断矩阵:① Prompt 层——问题:模型误解了我的意图?症状:指令不够清晰、目标和约束没说透、输出格式不稳定。该做什么:提升表达精度。② Context 层——问题:模型缺少关键背景信息?症状:没看到关键文档/资料、信息上下文反而走神、关键上下文没有被选中。该做什么:管理上下文。③ Agent / Tool 层——问题:模型知道该做什么但做不了?症状:不能搜索、不能执行代码、不能调用外部工具。该做什么:接工具、接行动。④ Harness 层——问题:任务已经大到单轮对话撑不住?症状:需要长任务管理、需要权限和确认、需要多 agent、跨会话状态。该做什么:搭运行时。底部箭头:意图 → 信息 → 行动 → 运行时。口号:大多数人应该先在更低层级停留更久;不同问题对应不同层级。
图 3. 四层诊断矩阵:把最近的失败案例按这四类分一下,就知道自己真正该学哪一层。

方法也不难,你观察自己最近几次和 AI 协作的失败案例,问一个问题:这一次失败,是因为模型误解了我的意图,还是因为模型缺少相关信息,还是因为模型无法调用某个工具或执行某个动作,还是因为任务规模大到单次对话已经撑不住,需要长时运行、权限控制、多个子 agent 分工、跨会话状态?这四个答案分别指向 prompt 层、context 层、agent /tool 层、harness 层。把失败案例分个类,你就知道自己该怎么做了。

其实我认为,大多数人应该在更低的层级上停留更久。

工具的门槛不等于它的价值。

很多人看到业界在谈 context engineering 就去学,认为这是” 更高级” 的东西。但 context engineering 只对那些已经建立了 agent pipeline、并且因为 token 预算在挣扎的人有意义。对一个日常用 AI 写邮件的人来说,context engineering 是过剩的复杂度。

每一次选工具的时候问自己两个问题:这件工具要解决的问题,我已经遇到了吗?如果没有它,我今天的工作会不会卡住?如果两个答案都是” 否”,这件工具就不是你现在该学的。它可能很好,但不是你的。

最后我想说的

从 prompt 到 harness 的演化,是一系列针对不同瓶颈的专门解决方案,不是一条从原始到高级的阶梯。它们共同构成了一个工具栈,每一层都在解决具体的问题。

作为使用者,你要做的不是追着每一层的新名词跑,而是搞清楚自己当前撞在哪一层的天花板上,然后精准地在那一层用力。看懂了这个演化逻辑,工具的” 混乱” 就不再混乱 —— 它只是一张地图,你需要的是知道自己站在哪里。