最近两年,AI Agent 看起来越来越全能。
它能写代码、查资料、分析数据、订机票、总结会议纪要,还能一边搜索文档一边生成报告。很多人都会产生一个疑问:
那它到底是怎么学会这些事情的?
很多人会下意识认为,是模型越来越大,所以什么都会了。但实际上,一个 Agent 的能力并不只来自模型本身,而是来自多个层次的共同作用。
从开发者视角来看,Agent 的能力主要来自三个方面:
- 后训练(Post-training) :决定模型默认具备哪些基础能力。
- 上下文学习(In-context Learning,ICL) :决定模型如何适应当前这一次任务。
- 外部能力(External Capabilities) :决定 Agent 能否获取最新信息、访问外部系统以及完成真实操作。
需要说明的是,本文提到的"学习"并不是严格意义上的机器学习,而是广义上的能力获得方式。其中,只有后训练真正会更新模型参数;上下文学习和外部能力都发生在模型运行时,不会改变模型本身。
如果把 Agent 看成一个软件系统,可以把这三层能力理解成:
- 后训练像升级底层框架。
- 上下文学习像启动程序时传入配置、规则和示例。
- 外部能力则像给程序接上数据库、搜索引擎以及各种业务 API。
底层框架决定它默认会什么 ;运行时上下文决定它这次该怎么做 ;外部系统决定它能获取什么信息、完成哪些动作。
真正强大的 Agent,正是这三层能力共同协作的结果。
一、后训练:把通用能力沉淀进模型
一句话理解
后训练(Post-training)是在预训练之后继续优化模型,让它不仅"懂很多",还能更好地完成任务。
从预训练开始说起
所有大语言模型都始于预训练。
预训练阶段,模型会在海量文本上学习预测下一个 Token,因此逐渐形成语言理解、知识、代码和推理等基础能力。
但一个只有预训练的模型,通常还不够"好用"。
它可能知道很多知识,却不知道用户是在提问;它可能能续写文章,却不会按照清晰、有条理、安全的方式回答问题。
简单来说:
预训练解决的是"知道什么",后训练解决的是"如何更好地回答"。
后训练主要做什么?
目前最常见的后训练方式主要包括两类。
1. 监督微调(SFT)
通过大量高质量的「输入 → 理想输出」示例继续训练模型。
例如:
- 代码 → 高质量代码解释
- 用户提问 → 专业客服回复
- PRD → 标准需求文档
模型不断学习这些示范,逐渐形成稳定的回答模式。
2. 人类偏好优化(RLHF、DPO 等)
除了标准答案之外,人类还会对多个回答进行比较。
例如同一个问题,模型生成三个版本:
- A 很准确,但语气生硬。
- B 很友好,但遗漏关键信息。
- C 内容完整、表达自然。
人类会选择更好的回答,再利用这些偏好数据进一步优化模型行为。
近年来,除了经典的 RLHF(基于人类反馈的强化学习)之外,也越来越多采用 DPO(Direct Preference Optimization)等偏好优化方法,它们共同目标都是让模型更加符合人类预期。
可以怎么理解?
可以把它理解成培养一位新同事。
刚加入团队时,他知识很多,但回答问题经常抓不到重点。
经过大量代码评审、项目实践和用户反馈后,他逐渐知道:
- 什么回答更有帮助;
- 什么表达更符合团队风格;
- 什么行为更加安全可靠。
这些经验最终沉淀进模型参数,成为模型长期稳定具备的能力。
它的特点是什么?
后训练最大的特点就是会改变模型参数。
因此它能够长期生效,但代价也比较明显:
- 训练成本高;
- 迭代周期长;
- 无法实时学习最新知识。
例如今天公司修改了一条退款政策,没有人会因此重新训练一次大模型。
因此,后训练更适合解决长期、稳定、通用的问题,例如:
- 更好的代码能力;
- 更强的指令遵循;
- 更安全的输出行为;
- 更稳定的推理能力。
二、上下文学习:让模型适应当前任务
一句话理解
上下文学习(In-context Learning,ICL)不会改变模型参数,而是在当前上下文中提供规则、示例和约束,让模型临时适应当前任务。
为什么需要它?
如果每增加一种需求,都重新训练模型,成本会非常高。
现实中,大多数需求其实只是:
- 这一次按这种格式输出;
- 这个客户使用这种语气;
- 这批数据按照这种规则分类。
这些任务持续时间很短,却要求模型马上适配。
因此,比起重新训练,更高效的方法是在当前 Prompt 中告诉模型应该怎么做。
Context 不只是 Prompt
很多人提到 ICL,第一反应是 Few-shot Prompt。
实际上,对于模型来说,当前能够看到的一切信息都会组成 Context(上下文) 。
包括:
- System Prompt
- 用户输入
- 历史对话
- Few-shot 示例
- RAG 检索内容
- 工具调用结果
- 当前任务约束
模型不会区分这些信息来自哪里,它只会基于整个上下文推断当前任务应该如何完成。
Few-shot Prompt(少样本提示词)
最经典的上下文学习方式就是 Few-shot。
例如:
英文 → 更口语化翻译
hello → 你好呀
goodbye → 回见
thank you → 多谢啦
how are you →
模型看到前面的示例后,会意识到你希望它输出更自然、更口语化的表达,而不是字典式翻译。
整个过程中,模型参数没有发生任何变化,只是在当前上下文中学会了模式。
Few-shot CoT(少样本思维链提示)
如果不仅提供输入和输出,还提供完整的推理过程,这就是 Few-shot Chain of Thought(CoT)。
例如:
题目 → 分步骤推理 → 最终答案
模型不仅学习答案,还学习解决问题的方法。
需要注意的是,如果 Prompt 中只有一句"请一步一步思考",而没有任何推理示例,这通常称为 Zero-shot CoT。它属于提示策略,而不是严格意义上的上下文学习示例。
它适合哪些场景?
上下文学习特别适合那些:
- 临时规则;
- 输出格式;
- 企业内部规范;
- 风格迁移;
- 分类任务。
只要规则描述得足够清楚,模型通常无需重新训练就能够快速适应。
当然,这并不意味着没有成本。
真正优秀的 Prompt 往往需要不断调整示例、修改规则、优化格式,才能获得稳定效果。
三、外部能力:让 Agent 连接真实世界
一句话理解
真正的 Agent 并不会把所有知识都塞进模型,而是会在运行时连接外部数据、工具和记忆系统。
严格来说,这部分并不是模型学习,而是 Agent 在运行时获得能力,因此更准确地说,它属于能力外部化 。
为什么需要它?
无论模型训练得多好,它仍然存在天然限制。
例如:
- 不知道训练之后发生的新事情;
- 无法访问企业内部数据库;
- 不能直接发送邮件;
- 不能查询订单;
- 不能执行代码。
因此,与其继续扩大模型参数,不如让 Agent 学会什么时候去外部获取信息、什么时候调用工具完成任务。
常见的外部能力
RAG:先检索,再生成
例如:
用户问:
Q2 销售额是多少?
模型不会直接猜测答案,而是先检索知识库、数据库或文档,再根据检索结果生成回答。
重点已经不是模型记住了多少,而是:
- 检索是否准确;
- 检索结果是否可信;
- 如何把结果组织进当前上下文。
Tool Use:需要时调用工具
现代 Agent 可以调用各种工具,例如:
- 搜索引擎;
- 计算器;
- Python Sandbox;
- 数据分析工具;
- 企业 API;
- 邮件系统;
- 日历服务。
模型真正学习的是决策:
- 是否需要调用工具;
- 应该调用哪个工具;
- 如何理解工具返回结果;
- 如何继续完成后续任务。
Memory:让 Agent 有连续性
Agent 的记忆通常保存在模型之外。
例如:
- 用户喜欢什么写作风格;
- 常用时区;
- 项目中的命名规范;
- 长期偏好。
这些信息会在后续对话重新检索回来,使 Agent 的行为更加连续和个性化,而模型参数本身并不会改变。
Agent Loop:不是调用一次工具就结束
很多现代 Agent 并不是:
输入 → 输出
而是不断循环(ReAct):
思考(Reason)
↓
调用工具(Act)
↓
获取结果(Observe)
↓
再思考(Reason)
模型负责决策,工具负责执行,循环直到任务完成。
因此,真正的 Agent 更像一个能够协调多个组件完成工作的系统,而不仅仅是一次文本生成。
四、三层能力如何协作?
后训练、上下文学习和外部能力并不是互相替代,而是各自负责不同的问题。
| 能力来源 | 解决的问题 | 是否改变模型参数 |
|---|---|---|
| 后训练 | 模型默认会什么 | ✅ 是 |
| 上下文学习 | 当前任务怎么做 | ❌ 否 |
| 外部能力 | 信息和动作从哪里来 | ❌ 否 |
以一个客服 Agent 为例。
后训练让它具备礼貌沟通、理解用户情绪和遵循安全规范的能力。
上下文学习让它按照公司的客服模板、回复风格和工单规范完成当前任务。
外部能力则负责查询订单、获取物流信息、创建退款申请以及发送通知。
用户看到的是一个能够独立解决问题的 Agent,而背后其实是三层能力共同协作的结果。
写在最后
当我们看到一个 Agent 表现得越来越"聪明"时,不妨换一个角度去理解它。
有些能力来自模型长期训练形成的基本功;有些能力来自当前上下文中的规则、示例和任务约束;还有一些能力来自运行时连接的知识库、工具和业务系统。
从工程视角来看,现代 Agent 已经不再只是一个大模型,而是一套围绕大模型构建的系统。
模型负责推理,Context 负责任务适配,外部系统负责提供知识、状态与执行能力。
真正决定 Agent 上限的,往往不是模型参数本身,而是这三层能力如何协同工作。
理解了这一点,也就理解了今天大多数 AI Agent 的能力来源。