目录

开场:你是不是也有这种感觉

第 0 层:大模型——一切的地基

第一层:Prompt Engineering——学会跟天才说话

第二层:Context Engineering——给天才配全参考资料

第三层:MCP——给天才接上互联网

第四层:Skill——给天才写入岗位手册

第五层:Harness Engineering——给天才套上缰绳

最终形态:AI Agent——把前五层全部激活

一张表,串联所有术语

结尾


读完这篇,你会明白:为什么光有一个强大的AI还不够,以及怎么从零搭出一个真正能干活的AI Agent


开场:你是不是也有这种感觉

上个月刚把Chain of Thought提示词练熟,感觉自己是AI界高手了。

这周朋友发来一篇文章:《Prompt Engineering已经过时了,学Context Engineering吧》

下周又看到:《MCP、Skill、Agent……》

再下周:《Context Engineering也不够,Harness Engineering才是未来》

我:?

能不能等我把上周的消化完再出新词?


但仔细一想,这些词其实不是在互相替代——它们是一层套一层的关系。

今天我们换一个角度来理解它们:

假设你要从零开始搭一个真正能干活的AI Agent,你需要依次解决哪些问题?

答案,就是这些词出现的顺序。

跟我走,一层一层来。


第 0 层:大模型——一切的地基

在所有词之前,先搞清楚一件事:

大模型(LLM,Large Language Model)是什么?

简单说,大模型是一个经过海量文本训练的"超级预测机器"——你给它一段话,它预测下一个词应该是什么,然后再预测下下个词,一直预测下去,就成了一段看起来很有道理的回答。

听起来很简单对吧?

但就是这个"预测下一个词"的能力,在参数规模足够大的时候,涌现出了推理、写作、写代码、解数学题的能力。

这就是为什么GPT、Claude、GLM-5.1这些模型被叫做"大"模型——不是因为它们体积大,是因为它们的参数规模大到出现了质变。

但问题来了:

大模型本身,只是一个"坐在房间里等你提问"的天才。

它不主动做事,不记得昨天聊了什么,不知道你的项目是什么,也不会自己去查资料。

一个孤立的大模型,就像一个被关在小黑屋里的天才——聪明归聪明,但什么活都干不了。

所以,问题变成了:怎么把这个天才,一步步变成一个真正能干活的员工?

第一层:Prompt Engineering——学会跟天才说话

天才进了房间,你第一件要做的事是什么?

跟他说话。

这就是Prompt Engineering(提示词工程)解决的问题:怎么跟大模型说话,才能让它输出更好的结果?

你可能试过这两种问法:

❌ 普通版:「帮我写个报告」
✅ 进阶版:「你是一名有10年经验的行业分析师,请用数据驱动的方式,为科技创业公司写一份500字的市场分析报告,结构包括:市场规模、竞争格局、机会点,语气专业但不晦涩」

同一个模型,输出天差地别。

这就是提示词工程的价值——通过角色设定、思维链(Chain of Thought)、少样本示例(Few-shot)等技巧,让大模型的"预测"方向更精准。

但它有一个根本性的天花板:

只解决了单次对话的问题。

你跟它说了半天,下一个对话窗口打开,它完全不记得你是谁,你的项目是什么,你们昨天达成了什么共识。

每次对话都要重新自我介绍,就像每天见面都忘了你的同事。

这不是模型的问题,这是"只有提示词"这种方式的结构性缺陷。

第二层:Context Engineering——给天才配全参考资料

提示词练好了,但你发现一个新问题:

这个天才虽然博学,但他只知道训练数据里有的东西

你的项目文档、你的代码库、你们公司的规范、今天发生的新闻——他一概不知道。

怎么办?

把这些信息塞给他看。

这就是Context Engineering(上下文工程)的核心逻辑:

不只是写好一条指令,而是管理AI能看到的全部信息。

前Tesla AI总监、OpenAI联合创始人Andrej Karpathy给了一个经典定义:

上下文工程是"一门精巧的技艺——把恰好正确的信息,在恰好正确的时刻,以恰好正确的格式,填进AI的上下文窗口"。

这里有个关键概念需要理解:

Context Window(上下文窗口)——这是AI每次能"看到"的全部信息的总量,可以理解为AI的"工作桌面"。桌面就这么大,你放什么、怎么放,直接决定它能干多好的活。

研究者还发现了一个有意思的现象:上下文窗口里有Smart Zone(黄金区域)和Dumb Zone(死角区域)——重要信息放在开头和结尾,模型更容易注意到;塞在中间的内容,模型经常"视而不见"。

用Claude Code举个例子:

你用Claude Code帮你写代码,它为什么不需要你每次都解释项目背景?

因为它会自动读取你项目里的readme.md、claude.md、代码注释——这些文件就是你提前准备好的"上下文"。你写得越详细,它干活越靠谱。

这就是上下文工程在真实产品里的体现。

但问题又来了:

信息从哪里来?你不可能手动把所有资料一条条复制粘贴给AI吧?

第三层:MCP——给天才接上互联网

想象一下,你给那个天才的小黑屋装了一排插口——

插上GitHub,他就能读你的代码库; 插上Slack,他就能看到团队的对话; 插上数据库,他就能查到实时数据; 插上浏览器,他就能自己上网查资料。

这就是MCP(Model Context Protocol,模型上下文协议)

这是Anthropic在2024年底提出的开放协议,解决的核心问题是:

让大模型能标准化地连接任何外部工具和数据源。

通俗类比:MCP就像手机的USB-C接口

以前每个设备都有自己的充电口,乱七八糟;现在统一成USB-C,任何充电器插上就能用。

MCP对AI也是一样——以前每个工具都要单独开发接口,现在按照MCP协议做,任何工具都能接入任何支持MCP的AI。

再用Claude Code举例:

Claude Code通过MCP可以连接GitHub直接提PR,连接数据库直接查数据,连接Slack直接发通知——整个过程AI自主完成,你坐着喝咖啡就好。

MCP和Context Engineering的关系:

MCP是Context Engineering的"基础管道"——它负责把外部世界的信息搬进上下文窗口。

没有MCP,上下文工程的信息来源就只有你手动粘贴进去的内容,严重受限。

有了MCP,上下文窗口里的信息可以是实时的、动态的、来自真实系统的。

第四层:Skill——给天才写入岗位手册

现在这个天才有了信息来源,但你发现一个新问题:

每次让他做同一类任务,他的做法都不一样。

有时候他写PPT风格很好,有时候乱七八糟。 有时候他写代码格式规范,有时候随心所欲。

你不可能每次都在提示词里把规范重新说一遍——那太累了,而且他还是会忘。

解法是什么?

把规范写成文件,让他每次遇到对应任务就去读。

这就是Skill(技能文件)的概念。

Skill本质上是预先为特定场景写好的结构化指令文件——你把某类任务的最佳实践、注意事项、输出规范都写进去,AI遇到这类任务就加载这个文件。

Claude Code里的实际体现:

Claude Code支持SKILL.md文件。

比如你在项目里放一个pptx/SKILL.md,里面写了"制作PPT时:第一步分析内容结构,第二步选择配色方案,第三步……"。

以后每次让Claude Code帮你做PPT,它就自动去读这个文件,按照你定义的流程来——不用每次重新解释,不会忘记,跨项目也能复用。

Skill和Context Engineering的关系:

Skill是上下文工程里"知识库"那一层的具体实现形式。

它解决的问题是:知识和规范如何沉淀、复用、跨项目迁移。

没有Skill,你的AI每个项目都是重新开始,经验不能积累;

有了Skill,你的最佳实践可以变成资产,越用越值钱。

一句幽默的话: Skill就是给AI写的"岗位说明书"——让它知道在你这里干活,规矩是什么。不然它会凭感觉发挥,而AI的"感觉"……有时候很难评。

第五层:Harness Engineering——给天才套上缰绳

好,现在我们有了:

  • 强大的大模型(大脑)
  • 精心设计的提示词(说话方式)
  • 丰富的上下文信息(参考资料)
  • MCP连接的外部工具(手脚)
  • Skill文件定义的规范(岗位手册)

这个时候你以为万事俱备了。

然后你让它跑一个复杂任务,回来一看:

它绕了一大圈做了件你根本没让它做的事。或者它改了不该改的文件。或者它"成功完成任务"——但完成的方式和你想的完全不一样。

问题在哪里?

问题在于:你给了它能力、给了它信息、给了它工具、给了它规范,但你没有给它一套完整的约束、反馈和纠错系统

这就是Harness Engineering(驾驭工程)要解决的问题。

Harness这个词来自驾驭马匹的马具——缰绳、马鞍、嚼子。

这个比喻是刻意为之的:没有Harness的AI智能体,就像是一匹在旷野中的纯血马——速度惊人,令人印象深刻,但对于完成任何实际任务完全无用。

Harness Engineering是目前AI工程的最高层,它包含三大支柱:


支柱一:上下文工程(就是前面讲的那些)

MCP、Skill、动态信息注入——都在这一层。

但Harness Engineering对上下文提出了更高要求:

OpenAI团队发现,传统的"一个巨大的AGENTS.md文件"方法注定失败:上下文是稀缺资源,过多的指导反而变成"陈旧规则的坟场"。

正确做法:用一个≤60行的AGENTS.md当目录索引,按需加载具体细节——给AI一张地图,不是1000页手册。


支柱二:架构约束(让规则长出牙齿)

这是Harness Engineering里最反直觉、也最精髓的部分:

写在文档里的规则,AI可以违反;写进系统里的规则,AI根本没有违反的机会。

OpenAI用AI自己编写Linter(代码检查工具)来约束AI。Linter的错误信息本身也是上下文的一部分,它会告诉AI"为什么错了"以及"如何修复",AI读取后会自动修正代码并重新提交。

这不是在防AI犯错,而是在把纠错机制编进系统——AI犯错→系统自动检测→反馈给AI→AI自动修正→继续推进。

人类工程师甚至不需要在场。


支柱三:熵管理(给AI安排"睡眠")

随着任务越来越长,上下文会越来越乱——过时的信息、矛盾的记录、重复的内容堆积在一起,AI开始"记忆混乱"。

Claude Code的解法是通过后台进程在不活跃时自动激活,对历史信息进行整理——去重、丢弃过时的、合并相关的——形成精炼的新记忆。这个机制被形象地称为"晚上做梦":就像人类睡眠时的记忆固化过程,把短期记忆转化为长期记忆。

AI也需要"睡一觉整理思路",这不是比喻,是真实的工程设计。


Harness Engineering有多重要?两组数据:

LangChain的编码Agent,通过仅优化Agent运行的外部环境(文档结构、验证回路、追踪系统),排名从全球第30位跃升至第5位,得分从52.8%飙升至66.5%。底层模型一个参数都没改。

Anthropic说了一句被广泛引用的话:Agent表现不好,80%的原因不在模型,在Harness。

下次AI犯错,先别骂它——先问问自己:缰绳系好了吗?

最终形态:AI Agent——把前五层全部激活

终于到了这一层。

AI Agent是什么?

就是能自主规划、调用工具、完成多步骤复杂任务的AI系统。

但关键是:Agent不是凭空出现的,它是大模型 + 前面每一层叠加的产物。

用一个公式来表达:

AI Agent = 
  大模型(大脑)
  + Prompt Engineering(说话方式)
  + Context Engineering(参考资料)
  + MCP(手脚/工具)
  + Skill(岗位手册)
  + Harness Engineering(约束+反馈+纠错系统)

少了任何一层,Agent要么能力不够,要么跑偏,要么干着干着崩掉。

一个真实的例子:

GLM-5.1最近开源,能连续自主工作8小时完成工程级任务——100万行代码、零人工干预。

这背后不是因为模型有多神奇,而是因为:

它有完整的工具调用(MCP层),能读写文件、执行命令、查看输出;

它有结构化的任务规划(Skill层),知道先做什么后做什么;

它有完整的错误反馈机制(Harness层),碰壁了会自动切换策略,出错了会自行修复,而不是卡死或乱跑。

研究者提出了一个新的衡量指标:不再问模型"多聪明",而是问它"能独立完成多长时间的人类任务"。前沿模型的这个时间线,每7个月翻一倍。

今天是8小时,7个月后呢?

一张表,串联所有术语



结尾

2023年,大家在学怎么跟AI说话。

2025年,大家在学怎么给AI准备资料。

2026年,真正的问题变成了:怎么给AI搭一套完整的工作系统。

从大模型到AI Agent,不是一步跨过去的——是一层一层搭出来的。

你掌握的层数,决定了你能让AI帮你干多复杂的活。

读完这篇,你应该已经从第一层升到第六层了。


最后一件事:

转发给你那个还在死磕提示词、每次用AI都要解释半天背景的朋友——

告诉他:哥,你现在练的是青铜技能。

这篇文章,能帮他直接跳到黄金段位。

别让他继续输在起跑线上了

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐