一篇文字搞懂 Agent 到底是个啥?(全网首发)
Agent 不是更聪明的 AI,而是把“确定性工作”程序化,把“不确定性判断”交给大模型的系统设计。
版权所有:朱元禄 Jacky,欢迎转载,请注明出处
一、先把大脑清空:所有花里胡哨的概念,都是从「语言模型」一步步长出来的
Jacky 老师先说一句非常重要的话:
如果你一上来就试图搞懂 Agent、MCP、Skill、RAG、Workflow,一定会很懵。
因为这些都不是“本体”,它们只是围绕语言模型打的补丁。
1️⃣ 最原始的起点:语言模型(LM)
最早的语言模型,本质只有一件事:
根据已有文本,预测下一个词。
它既不懂逻辑,也不懂世界,只会“文字接龙”。
后来模型参数越来越大,在某个临界点,“看起来像是有智能了”。
于是大家给它起了一个新名字:
大语言模型(LLM)
⚠️ 注意:
名字变了,本质没变,它依然只是一个“高级文字接龙机”。
二、第一层“伪智能”:对话,其实是人为设计出来的
2️⃣ 为什么一问一答,就“像智能”了?
如果你把模型的输出:
- 分成 用户提问
- 和 模型回答
你就得到了今天最常见的东西:
对话式 AI
但 Jacky 老师要强调一句:
对话不是模型天生会的,是人类硬加的“角色设定”
此时你可以把模型想象成一个员工:
- 你是老板
- 它是员工小 L
- 规则只有一条:一问一答,结束就完事
⚠️ 非常重要的一句话(后面会反复用到):
模型本身是不会自己追问的
三、Prompt / Context / Memory:都是“提示词工程”,不是智能
3️⃣ Prompt:给每次对话起了个名字而已
你发现:
- 每次跟小 L 说的话
- 都很重要
于是你给它起了一个听起来很高级的名字:
Prompt(提示词)
但本质是什么?
就是你每次发给模型的那段话
没有任何魔法。
4️⃣ Context:把 Prompt 拆了个层
后来你又发现:
- 有些是背景信息
- 有些是任务指令
于是你又发明一个词:
Context(上下文)
但本质呢?
就是把 Prompt 分了个区
5️⃣ Memory:用“假装记住”来实现追问
刚才说过:
模型 不能追问。
那你怎么办?
👉 你想了个办法:
- 把之前的对话
- 全部塞进 Context
- 伪装成“它记得”
你还给这堆历史对话起了个名字:
Memory(记忆)
再聪明一点的人发现:
- 历史对话太长了
- Token 太贵
于是:
- 用模型把历史对话 总结压缩
- 再塞回去
到这里你要记住一句话:
Memory 不是记忆,只是“重复投喂旧信息”
四、Agent 出现了:不是因为模型更聪明,而是因为加了程序

6️⃣ 真正的问题出现了:模型不会干活
模型最大的问题是什么?
- 不会上网
- 不会查数据库
- 不会读 PDF
- 不会执行代码
一句话总结:
模型只会“说”,不会“做”
7️⃣ 关键转折:在中间加一层程序
你不想自己:
- 帮模型查资料
- 帮模型算数据
- 再复制粘贴回去
于是你写了一个程序:
- 一头连着模型
- 一头连着工具(搜索、数据库、脚本)
在外人看来:
你在和一个“会干活的 AI”对话
于是,这个程序被起了一个非常科幻的名字:
Agent(智能体)
Jacky 老师给你一个考试级理解:
Agent = 一堆“不需要模型参与”的逻辑 + 一个模型
五、RAG / Web Search:给模型“外挂知识”
8️⃣ RAG 是什么?一句话就够
模型的问题:
- 知识是训练时固定的
- 过时、缺失、容易胡说
解决办法:
- 先用程序搜索
- 再把结果塞进 Context
- 让模型基于这些内容回答
这个方法被起名叫:
RAG(检索增强生成)
⚠️ 核心理解:
RAG = 给 Prompt 自动加“参考资料”
六、Function Calling & MCP:都是“协议”,不是能力
9️⃣ Function Calling:格式约定
模型如果随便说话:
- 程序根本没法解析
于是你要求模型:
- 必须用 JSON 格式
- 明确说:要用哪个工具、参数是什么
这叫:
Function Calling
本质:
让模型“说人话” → “说机器能懂的话”
🔟 MCP:工具接口说明书
如果工具不写在 Agent 里,而是独立服务:
- 怎么发现?
- 怎么调用?
- 参数怎么传?
于是你又定了一套约定:
MCP(模型上下文协议)
Jacky 老师帮你一句话区分清楚:
| 名称 | 解决什么 |
|---|---|
| Function Calling | 模型 ↔ Agent |
| MCP | Agent ↔ 工具服务 |
它们不冲突,也互相替代不了。
七、Workflow / LangChain / Skill:一条从“死板”到“灵活”的线
1️⃣1️⃣ Workflow / LangChain:流程写死
- 一步一步写好
- 稳定、可控
- 不灵活
适合:
流程固定、变化少的任务
1️⃣2️⃣ Skill:新瓶装旧酒,但确实好用
你发现:
- 不想写一堆 if else
- 又想让 Agent 自己选流程
于是你:
- 把说明文档 + 脚本
- 放到一个目录
- 让 Agent 自己看着用
这个东西被叫做:
Skill
Jacky 老师的真实评价:
Skill = Prompt 的工程化存储
1️⃣3️⃣ Sub-Agent:上下文隔离
任务太复杂?
- 拆成子任务
- 用子 Agent 处理
- 不污染主上下文
本质只有一句话:
Sub-Agent = 上下文隔离
八、终极统一理解法(非常重要,面试必背)
🌟 Jacky 老师给你一条“通杀所有新概念”的方法论
凡是能用固定程序解决的,一定不该交给模型。
凡是模糊、需要语义判断的,才交给模型。
所以:
- Agent 干的,是不需要智能的部分
- 模型干的,是无法写死的判断
九、你的求职级总结(请背下来)
一句话版本(面试官最爱)
Agent 不是更聪明的 AI,而是把“确定性工作”程序化,把“不确定性判断”交给大模型的系统设计。
工作视角
- Token 贵 → 多用程序
- Token 便宜 → 多用 Agent
- 未来 → 一切向“更省心、更好用”演进
更多推荐



所有评论(0)