笔者是一名刚入职的 AGI 工程师,会在这里分享自己的理解与项目实践,希望和大家一起学习、进步,共同探索真正的 AI Agent。
什么是 Agent?
Agent,即智能体,是在 LLM(大语言模型)基础上构建的更高级系统。
普通的 LLM 应用只是单次调用 API 进行对话——知识面极广,但每次对话都是"失忆"状态,不会记住上一轮说了什么。
一个完整的 Agent 通常由三大核心能力构成:
用户输入
│
▼
┌─────────────────────────────────┐
│ Agent │
│ │
│ 记忆系统 → 规划推理 → 工具调用 │
│ ↑ │ │
│ └────────────────────┘ │
└─────────────────────────────────┘
│
▼
输出结果 / 执行动作
核心能力一:记忆系统
这就引出了 Agent 的记忆系统。
目前 LLM 厂商主要面向通用问答场景,不会为个人定制对话管理方式,所以现阶段的主流解决方案是:把需要记住的内容手动拼接进 Prompt,或者本地部署 LLM 自行管理。
关于如何设计记忆系统,后续我会专门介绍笔者正在开发的一个开源记忆系统。有了记忆系统,就可以和 AI 进行真正的多轮对话了。
核心能力二:规划与推理(Planning)
有了记忆还不够——面对复杂任务,Agent 需要能自己拆解问题、制定步骤、逐步执行。
这就是规划能力(Planning)的作用。比如"帮我整理本周所有未回复的邮件并分优先级",这个任务不是一步能完成的,Agent 需要:
- 判断要拆成哪几个子任务
- 决定每一步调用什么工具
- 根据中间结果动态调整后续步骤
目前主流的规划方案有 ReAct(推理+行动交替)、Chain-of-Thought(思维链)等,后续会专门介绍。
核心能力三:工具调用(Tool Calling)
但多轮对话之后会发现,光是"聊天"还远远不够,AI 需要能做事。
这时候就需要 Tool Calling(工具调用):把工具的描述传给 LLM,让它自己判断该用哪个工具、传什么参数,再由本地代码去实际执行。
不同 LLM 在 Tool Calling 能力上差异显著,后续会出一期横向对比。
一个具体例子:Agent 是怎么工作的?
假设你对 Agent 说:“帮我查一下明天北京到上海的高铁,选最早一班买票。”
一个具备三大能力的 Agent 会这样处理:
| 步骤 | Agent 在做什么 |
|---|---|
| 1. 理解意图 | LLM 解析出:查票 + 筛选最早 + 购买 |
| 2. 规划拆解 | 拆成三个子任务:查询 → 筛选 → 下单 |
| 3. 调用工具 | 调用"查票 API",获取班次列表 |
| 4. 推理决策 | 从结果中选出最早班次 |
| 5. 再次调用工具 | 调用"购票 API",传入车次和乘客信息 |
| 6. 记住上下文 | 把整个过程存入记忆,下次可以追问"上次买的是几点的?" |
这就是 Agent 和普通聊天机器人的本质区别:不只是说,还能做。
后续计划
这个系列会持续更新,预计涵盖:
- 记忆系统实战:笔者开源记忆系统的设计与代码解析
- 规划能力深入:ReAct、CoT、Tree-of-Thought 横向对比
- Tool Calling 对比:主流 LLM(GPT-4o、Claude、Gemini、Qwen)工具调用能力实测
- 从零搭建一个 Agent:完整项目实战
欢迎关注,有问题或想法也欢迎在评论区交流。