曾经有段时间,只要对AI智能体说"帮我做这个"就够了。这是两年前的事。但现在,智能体出错时修复的是系统而不是智能体,这已成为常识。提示词工程 → 上下文工程 → Harness工程。4年间范式变了3次。

3秒总结
提示词(说什么) 上下文(展示什么) Harness(构建什么系统) 元Harness(让智能体自己构建系统)

这是什么?

AWS Korea数据科学家金英敏整理的"AI智能体模式4年记录"在开发者社区引发热议。这不仅仅是趋势整理,更像是追踪每个时代为何失败的解剖报告

核心是这样的:2022年我们在思考"该说什么?",相信只要写好提示词AI就会搞定一切。2025年变成了"该放入什么信息?",意识到上下文窗口里放什么比提示词本身更重要。到了2026年,变成了"该构建什么系统?"。

有趣的是这一转变的起源。"Harness工程"这个词是2026年2月Terraform创始人Mitchell Hashimoto首次使用的。他的原则很简单:"每当智能体出错,就修复环境,让同样的错误不再发生。"不是修改提示词,而是改变围绕智能体的系统——规则、工具、约束、反馈循环。

令人惊讶的是此后发生的事。在两周内,OpenAI、Martin Fowler(ThoughtWorks)和Ethan Mollick(沃顿教授)各自独立发布了相同的结论。没有事先协调,因为所有人都撞上了同一堵墙,才产生了这种"同时发现"。

核心公式

智能体 = 模型 + Harness
Harness是"从智能体中去掉模型后剩下的一切"。模型是引擎,Harness是操作系统。再强大的引擎没有操作系统也没用。

有什么不同?

Chad Fowler(Honeycomb CTO)用一句话总结了这一变化:"严谨性不会消失,只会迁移。" XP运动主张"用测试代码代替设计文档"时,动态语言声称不用编译器就能部署时,旧阵营都批评"严谨性消失了"。每次都错了。严谨性只是迁移到了更高的抽象层次。

维度提示词工程 (2022)上下文工程 (2025)Harness工程 (2026)
核心问题"说什么?""展示什么?""构建什么系统?"
类比写邮件技巧收件箱管理邮件系统设计
失败原因盲目提示、非确定性上下文污染、信息过载编排bug
核心指标响应质量(主观)KV-cache命中率任务完成率、成本/任务
所需能力语言感觉信息架构系统设计+安全

最重要的一点是:每个时代不是取代前一个时代,而是包含它。Harness工程包含上下文工程,上下文工程包含提示词工程。"提示词工程已死"是错误的。它没有死,而是晋升了——成为更大系统的子模块。

看实践案例会更清晰。OpenAI用Codex将100万行代码库的手动代码降至0行。7名工程师5个月没写一行代码,而是设计了让代码能稳定生成的环境。Anthropic3智能体架构分离了创建智能体、评估智能体和规划智能体。

核心总结:如何马上开始

  1. 将AGENTS.md作为"目录"
    创建一张100行的地图,而不是庞大的指令手册。让智能体自己去找所需信息。这就是OpenAI强调"给地图,不要1000页手册"的原因。
  2. 每次出错时更新Harness
    智能体重复执行错误命令时修改AGENTS.md,出现结构性错误时添加lint或测试。Hashimoto的核心原则——"不要责怪智能体,改进Harness"。
  3. 引入机械性约束
    仅靠文档是不够的。用自定义lint、结构性测试来强制执行架构规则。让智能体为了通过lint而自己修改代码。
  4. 设计"可剥离"的Harness
    模型进化时,现有错误恢复逻辑的一半会变得不必要。Harness必须是可剥离的(rippable)。过度工程化会拖累下次模型更新。
  5. 保持智能体持续运行
    Hashimoto的目标是"始终有智能体在运行"。从每天最后30分钟启动智能体、第二天早上查看进度的模式开始。

安全警告:Lethal Trifecta

Simon Willison警告的三件事同时存在时,安全事故就是必然:(1) 处理不可信的外部输入 (2) 访问敏感数据 (3) 改变状态的能力。Meta的"Rule of Two"——最多同时给智能体其中两项权限。