学习李宏毅老师agent课程的笔记。
- Agent 构建、应用
- Agent Memory、调整行为
- Agent 使用工具
- Agent Plan 能力及强化
AI Agent 基础
什么是 Agent
类似于RL,人类给定Goal,期望Agent能自主完成任务。
- Agent
观察环境 - Agent
执行Action 不断循环,直到完成任务

Agency Level (HF定义)
AI Agents are programs where LLM outputs control the workflow.
| Agency Level | Description | Short name | Example Code |
|---|---|---|---|
| ☆☆☆ | 模型输出和流程无关 | Simple processor | process_llm_output(llm_response) |
| ★☆☆ | 输出简单的if else | Router | if llm_decision(): path_a() else: path_b() |
| ★★☆ | LLM output controls 函数执行 | Tool call | run_function(llm_chosen_tool, llm_chosen_args) |
| ★★☆ | LLM output controls iteration and program continuation | Multi-step Agent | while llm_should_continue(): execute_next_step() |
| ★★★ | One agentic workflow can start another agentic workflow | Multi-Agent | if llm_trigger(): execute_agent() |
| ★★★ | LLM acts in code, can define its own tools / start other agents | Code Agents | def custom_tool(args): ... |
如何构建 Agent (LLM Agent)
直接使用 LLM来构建Agent
- 做接龙游戏,goal, obs1, action1, obs2, action2, obs3, action3...
- 相比于传统AlphaGo类似专有Agent,LLM近乎无限可能,能用工具、做很多事情

需要解决的问题

优势:无限可能

Agent 应用
包括NPC、购物、训模型、做报告、上网操作电脑等等。
NPC
操作电脑
- 购物
- (2017)Web-Based Agents
- (2306)Mind2Web、(2307)WebArena、(2401)VisualWebArena

训练模型
做研究

迈向更加实时交互的应用
- 由回合制互动 ->
及时互动

- 由回合制互动 ->
Agent 根据经验来调整行为
按照是否微调模型,可以分为 微调模型(如RL/SFT)和 不微调模型两种,本节聚焦在后者。
整体思路
Agent检索历史Memory来调整当前的行为。
经验(memory)主要来自自身,外部也可以(RAG)。- Agent可以有
write模块,来决定当前经验是否存下来。 - Agent可以有
read模块,检索经验来做指导。检索就是一个RAG。 - Agent可以有
reflection模块,对检索来的经验做总结汇总,得到更好的经验和想法

Stream Bench
- 正向经验有用
- 负向经验无用

更多(MemGPT/A-MEM)

Agent 使用工具
工具可以看作是Function,使用工具就是调用Function,又叫做 Function Call。常用工具包括:
- 搜索引擎
- python
- 其他AI
- ...
工具怎么调用的
以下是一个通用的调用方法,不是唯一的。
Prompt配置
- System Prompt:介绍工具定义、如何使用工具等。
- User Prompt:具体用户Query
模型根据User Prompt来决定是否调用工具。如果需要调用,则输出工具调用指令
<tool>Temperature('高雄', '2025.03.10 14:00')</tool>- 系统根据指令执行工具,工具返回结果
- 把结果拼装到
<output>32度</output>,再次调用模型 - 模型整理结果,返回给用户

工具很多怎么办
由于冗长问题,并不能把所有工具说明都放到System Prompt里。工具集合说明放到Agent Memory里,再接一个RAG,仅选择所需要的工具即可。

工具结果有误怎么办
模型会因为过度相信工具而犯错。比如:
- RAG结果错误,用胶水粘披萨🍕,可能仅仅是一个玩笑话,模型却无法判断。
比如
如果工具结果出现明显错误,模型会认为其错误。 比如
- 比如高雄温度达1000度。
- 精神病药量每日100mg。
LLM有一定自己判断力,取决于模型自身能力和知识。
那么什么样的外部知识信息,模型会比较容易相信呢?

- 和模型内部知识
比较相近的外部知识。(可以计算模型自身知识的置信度) 其他AI说的话。不相信人类的话- 比较
新的文章。 - 美观的?
平衡工具和模型自身能力
比如3*4,一下能计算出12,但通过工具,可能会更慢。
使用工具不一定总是有效率
Agent Planning
什么是做计划
让模型做执行前,先做计划,列举一系列的action,再根据action来执行。

但原有的计划不一定适用,会发生改变。
比如,每次action时让模型重新review plan。

有一定 Plan 能力
- 冰箱拿牛奶(非常简单)
- (2305) PlanBench:叠积木(
AI可能见过相关内容)、神秘方块(复杂规则,推理) - (2402) TravelPlanner:旅行计划,给需求做计划。
- 分数低(4分),是因为很多不符合限制。https://arxiv.org/abs/2402.01622
引入限制工具辅助,模型做出好效果(90分)。https://arxiv.org/abs/2404.11891
模型有一定Plan能力,但效果一般,需考虑强化。
如何优化 Plan 能力
1、暴力搜索可行吗?
- 暴力搜索可达,但成本太高
2、优化暴力搜索
- (2407) Tree Search for LLM Agents,暴搜+去除低分路径。
- 缺点:无法回溯错误,
覆水难收。 - 解决:可以自行在脑内,
提前想象脑内小剧场- 但
由环境来决定行为的。
- 但
- 缺点:无法回溯错误,

3、提前脑补,模拟环境交互
- (2411) Is Your LLM Secretly a Word Model of the Internet
- 由LLM自己做WorldModel模拟真实世界交互,利用脑内小剧场。

4、推理模型
- 推理模型 (DeepSeek-R1):整体reason模型效果比非reason好
但存在overthinking的问题,想太多
5、优化Overthiking
参考内容
- 参考PPT文件
- 视频课程地址