【课程笔记·李宏毅教授】AI Agent 主题演讲
什么是工具?就是“知道怎么用就行,不用管内部运作”。比如有人总帮别人修电脑,被叫做“工具人”,因为别人只关心他能不能修,不关心他怎么想——LLM的工具也这样。常用工具包括:搜索引擎(RAG)、LLM自己写的代码、其他AI(比如文字LLM叫语音AI处理声音)。甚至可以让小模型跟人互动,解不了的问题叫“大哥”(大模型)帮忙——大模型算力消耗大,不用常出来。其实LLM用工具,就是调用函数:不用懂函数内部
今天这堂课的主题是AI Agent,这绝对是当下最热门的话题之一。不过在正式开始前,我得先做个免责声明——我知道大家可能在很多地方都听过“AI Agent”这个词,但它的用法实在太广泛了,每个人心里对它的定义可能都不一样。等下一页投影片会明确告诉大家,我这堂课里说的AI Agent到底是什么。
要是你在其他地方听过别的AI Agent定义,完全没问题。我不会去争论“哪种定义才是真正的AI Agent”,毕竟有些人甚至会说:“现在那些用大型语言模型驱动的,根本不算真正的AI Agent,得有身体、像机器人那样的才叫AI Agent。”所以你看,每个人心里的AI Agent都不一样,咱们先统一好这堂课的讨论范围就好。
一、先搞懂:AI Agent到底是什么?
今天我们用AI的方式,大多是“人类给明确指令,AI按指令做事”——比如你让AI翻译一句话,它就只翻译,不会多做其他事,典型的“一个口令一个动作”。
但AI Agent不一样:人类不用给具体步骤,只需要给一个“目标”,剩下的“怎么达成目标”,全靠AI自己想办法。举个例子,如果你给AI一个研究议题,一个合格的AI Agent得能自己提出假设、自己设计实验、自己做实验、自己分析结果;要是结果和假设对不上,它还得回头修正假设。而且,AI Agent要解决的目标,通常需要多步骤和环境复杂互动才能完成,环境又有不可预测性,所以它还得能灵活调整计划。
二、AI Agent怎么运作?从阿尔法狗到LLM
1. 经典框架:Observation-Action循环(来自强化学习)
AI Agent的运作可以简化成这样:首先输入人类给的“目标”,然后AI会观察当前环境——我们把它看到的环境状态叫“Observation”;接着AI分析状态,决定要做的“Action”(动作);执行动作后,环境会变,AI又会看到新的Observation,再做新的Action,一直循环到达成目标。
最典型的例子就是大家熟悉的阿尔法狗,它其实也能算一个AI Agent:
- 目标:赢棋;
- Observation:棋盘上黑子、白子的位置,当前盘式;
- Action:在19×19的棋盘里选一个落子位置;
- 等它落子后,对手会跟着落子,Observation就变了,它再做下一个Action。
你们是不是觉得这个讲法很熟悉?没错,要是你上过基础的强化学习(RL)课程,老师多半会用这个例子开场——因为过去做AI Agent,大家都觉得得靠RL算法。
2. 传统RL的局限:一个任务一个模型
RL算法的思路是“训练一个能最大化Reward(奖励)的Agent”。比如下围棋,赢了Reward+1,输了-1,AI就学着怎么拿最高Reward。但问题是,每个任务都得重新训练模型:阿尔法狗练完能下围棋,可不能直接下西洋棋、象棋;就算是阿尔法狗Zero,能下这三种棋,那也是单独训练的结果——下象棋的模型和下围棋的模型,参数都不一样。
现在AI Agent又被热议,是因为大家有了新想法:能不能直接把大语言模型(LLM)当AI Agent用?
3. 新方向:用LLM做AI Agent
核心逻辑很简单:让LLM当AI Agent的“大脑”。给目标时直接用文字输入,比如想让它下围棋,先给它围棋规则,再告诉它“目标是赢棋”。
环境输入方面,过去LLM只能读文字,得把环境转成文字描述;但现在很多多模态LLM能直接看图,所以文字描述也不是必须的了。接下来LLM用文字描述要做的Action,我们再把文字转成可执行的指令,改变环境后进入下一轮循环。
大家要记住:AI Agent现在又火起来,不是因为有了什么新的AI Agent技术,而是LLM变强了——人类终于能靠LLM,低成本实现“有Agent的渴望”。
三、LLM做AI Agent:能力边界在哪里?
咱们拿“下棋”来看看现状,这最直观。
1. 上古时代(2022年,GPT前):连将军都不会
当时有个语言模型领域常用的基准测试叫Big Bench,有人用它测LLM下西洋棋:因为那时候LLM不能看图,得把棋盘上黑白子位置转成文字输入,问它“下一步怎么将军”。结果呢?没有一个LLM能给出正确答案。
不过强一点的模型,走的棋还符合西洋棋规则;弱一点的就彻底乱走,根本不懂规则——当然,这都是“上古时代”的事了。
2. 现在(强LLM):下棋还是“搞笑对决”
有人做过一个几百万观看量的视频,让ChatGPT-4和Deepseek R1下西洋棋,说是“惊天动地的对决”,结果俩模型弱到离谱:把兵当马用、主教无视阻挡、空降棋子到对方阵地、在自己棋盘变城堡,最后一个用城堡吃自己的兵,还宣布“我赢了”,另一个居然还认错投降——你看,现在最强的LLM下棋还早得很,但这不代表它们做不了其他AI Agent任务。
四、LLM做AI Agent:两个核心优势
1. 行为无局限:不像阿尔法狗只能落子
传统Agent比如阿尔法狗,能做的动作是预设好的——就只能在19×19个位置选落子点,相当于“从361个选择题里挑一个”。但LLM不一样,它能产生近乎无限的文字输出,能调用工具、写代码、提方案,AI Agent的动作完全没了限制。比如遇到解不了的问题,LLM能直接呼叫工具帮忙。
2. 不用“通灵调参”定Reward
过去用RL训练AI Agent,必须定义“Reward”——比如训练AI写代码,编译出错就给Reward-1。但问题来了:为什么是-1?不是-10?不是-17.7?没人能说清,这Reward调起来跟“通灵”似的。
但LLM驱动的AI Agent不用定Reward:编译出错了,直接把错误日志给它,它多半能读懂,还能修正代码。而且错误日志比单一数值的Reward,给的信息丰富多了,AI更容易调整行为。
五、AI Agent的真实案例:从虚拟到现实
1. 虚拟场景:AI驱动的NPC
2023年就有人做过“虚拟村庄”实验,里面的NPC全用LLM驱动。每个NPC都有自己的目标:有的要办情人节派对,有的要准备考试。当时LLM只能读文字,所以环境信息也得用文字描述——比如“旁边Andy在读书,伊丽莎白在装饰房间”。
NPC根据这些信息决定行为:比如“时间不早了,上床睡觉”,再通过一个“转移器”把文字行为转成可执行指令,NPC就真的会走到床边睡觉。后来还有人把Minecraft里的NPC换成AI的,网传这些AI能自己建金融体系、组政府、定宪法——至于是真是假,咱们就不知道了。
2. 现实场景:AI像人一样用电脑
现在大家可能很快会接触到的AI Agent,就是让AI用电脑——听起来有点怪,AI本身是电脑,现在要“用另一个低端电脑做事”。代表工具比如Cloud Computer Use、ChatGPT的Operator,Operator能建议你“订披萨”“预约下周居家清洁”。
它的运作很简单:你给目标(比如“订披萨”),AI的Observation是电脑屏幕画面(多模态LLM能直接看图),Action就是“按哪个键盘键、点哪个鼠标按钮”。
其实让AI用电脑早有尝试:2017年有篇论文叫《Words of Bits》,当时还没有LLM,就用CNN直接读屏幕画面,输出鼠标位置,只能处理很原始的网页——那时候连“上古时代”都算不上,得叫“旧石器时代”的产物。
后来有了LLM,2023年暑假开始,像Michael Web Arena、Visual Web Arena这些工具,就跟现在的Operator很像了:给LLM看屏幕画面或HTML代码,让它自己决定怎么做,比如“帮订一张机票”。
3. 专业场景:AI当“研究员/工程师”
现在能用AI训练AI模型——这也是咱们作业二要讲的内容:目标是“过Strong Baseline”,给LLM训练数据,它写代码、训模型,看正确率,再改代码、再训,循环下去。
有很多知名框架:比如AIDE,目标是做“机器学习工程师Agent”;AutoCargo用多Agent框架解数据科学竞赛——大家做作业时,就能体验下AI Agent能不能搞定机器学习作业。
还有Google说的“AI Scientist”,不过没公开模型,也不能真做实验,只能提研究Proposal。网传它“两天完成人类十年的研究成果”,举的是生物学例子,我也没法判断真假。
4. 实时互动:语音对话不是“回合制”
咱们平时用ChatGPT是文字对话,回合制——你问一句,它答一句。但人类真实对话不是这样的:会打断、会给即时反馈,比如“好啊”“我在听”,这些反馈虽然没太多语义,但对流畅交流很重要——你打电话时对方一直不吭声,你肯定会怀疑“他还在吗”。
现在GPT-4的Voice高级模式,有点实时互动的意思了:比如你让它“讲个故事”,它说“从前从前”,你插一句“好啊”,它会继续讲;你说“这不是我要听的”,它会立刻停下来换故事。
如果大家感兴趣,可以看看我们实验室林冠廷同学和Berkeley UWINIT合作的论文,2025年1月发在Archive上,里面有语音模型互动能力的完整调研。
顺便说下咱们课引用论文的原则:能找到Archive链接的,就直接贴Archive。因为AI领域变化太快,几个月前就是“古代”,期刊一审一年、会议一审一两个月,根本赶不上。现在大家都习惯做完研究直接放Archive公开,很多重要论文甚至没投会议,就只有Archive链接。而且从Archive链接能直接看出发表时间——前面两位是年份,后面两位是月份,能帮大家把握研究的时间线。
六、AI Agent的三个关键能力:深度剖析
接下来我们从三个方面,拆解AI Agent的核心能力:怎么根据经验调整行为、怎么用工具、能不能做计划。先看第一个——根据经验调整行为。
1. 能力一:根据经验调整行为(不用微调参数)
(1)核心逻辑:LLM的“文字接龙”
不用改模型参数,只要把“错误反馈/过去经验”加到输入里,LLM的输出就会变。比如AI写代码编译出错,把错误日志给它,它就能写出修正后的代码——因为输入多了“错误信息”,文字接龙的结果自然不一样。
现在有太多证据证明LLM能靠反馈调整行为,用过的同学都知道。但问题来了:如果把所有经验都给LLM,输入会太长——比如到第1000步,要带前999步的经验,算力不够还容易乱。
(2)类比人类:“超忆症”是种病
这让我想到“超长自传式记忆”(超忆症),患者能记住一生所有事,问他某年某月某日的事都能答,但这是种疾病——全世界不到100例,2006年才被论文记载。患者因为记太多细节,老陷入冗长回忆,还没法抽象思考。AI Agent要是记所有经验,也会这样,到最后做不出正确决策。
(3)解决方案:三个记忆模组
为了解决这个问题,我们可以给AI Agent加三个模组:
模组 | 功能 |
---|---|
Read(检索) | 像RAG技术,从“长期记忆库”里只挑和当前问题相关的经验,减少输入量; |
Write(筛选) | 决定“哪些经验要存”——比如AI村民“没事干”的观察就不用存,避免记忆库臃肿; |
Reflection(反思) | 把经验抽象化,比如从“Andy每天同步泵车+今天被我笑”,推出“他喜欢我是错觉”,还能建知识图谱,帮Read模组更准地检索; |
(4)实验验证:Stream Bench
有个叫Stream Bench的基准测试,专门测AI Agent的经验学习能力:让AI答1750个连续问题,根据前序反馈调整,最后看平均正确率。结果很明显:
- 灰色线(无经验):正确率最低,每个问题独立答;
- 黄色线(随机选5个经验):正确率中等;
- 粉色线(RAG选相关经验):正确率高很多;
- 红色线(最优方法):正确率最高,具体做法大家可以看论文。
还有个有趣的发现:负面反馈几乎没用!给LLM“正确案例”,比给“错误案例”效果好得多。这和过去的研究一致——与其告诉LLM“不要做什么”,不如说“要做什么”。比如想让它写短一点,直接说“写短一点”,别跟它说“不要写太长”,它更容易懂。
(5)实例:ChatGPT的记忆功能
ChatGPT现在有记忆功能,你跟它说“我周五下午上机器学习课”,再补一句“记下来”,它的Write模组就会启动,把这件事存到“个人化-记忆”里。不过Write模组什么时候启动是模型自己定的,有时候你想让它记,它不记;不想让它记,它反而记。但明确说“记下来”,基本能触发。
不过模型的记忆会出错——它不是照搬对话,是“反思后存”。比如我明明是老师,它却从对话里误以为我是“台湾大学学生”,存了错误信息。但好用的是,你问它“周五下午出去玩好吗”,它的Read模组会启动,说“你下午要上课,怎么能出去玩”,这就很聪明。
如果大家想深入了解,推荐三篇论文:2023年的《Memory GPT》、2024年的《Agent Work for Memory》、2025年的《Agency Member Refer LLM Agent》,能看到这方面研究一直在推进。
2. 能力二:使用工具(从“调用函数”到“自主选工具”)
(1)工具的定义:对LLM来说,工具=函数
什么是工具?就是“知道怎么用就行,不用管内部运作”。比如有人总帮别人修电脑,被叫做“工具人”,因为别人只关心他能不能修,不关心他怎么想——LLM的工具也这样。
常用工具包括:搜索引擎(RAG)、LLM自己写的代码、其他AI(比如文字LLM叫语音AI处理声音)。甚至可以让小模型跟人互动,解不了的问题叫“大哥”(大模型)帮忙——大模型算力消耗大,不用常出来。
其实LLM用工具,就是调用函数:不用懂函数内部,只要知道“输入什么、输出什么”。所以过去很多LLM说“加了Function Call功能”,其实就是“能用药”。
(2)通用使用方法:用Prompt定义工具
不管什么强LLM,基本都能用这个方法:
- 写System Prompt:告诉LLM“工具用法”——比如“用和包裹指令,输出用包裹”,再列工具,比如“Temperature函数:输入地点+时间,输出气温,例子:Temperature(台北,2025-09-16)”;
- 写User Prompt:输入问题,比如“2025年9月16日高雄气温如何?”;
- LLM输出:Temperature(高雄,2025-09-16);
- 开发者搭桥:把里的内容传给Temperature函数,得到结果(比如32℃),用32℃回传给LLM;
- LLM继续接龙:输出“2025年9月16日,高雄的气温是摄氏32度”——用户看不到工具调用过程,我们可以把这个步骤藏起来。
这里要区分System Prompt和User Prompt:System Prompt是开发者定的,每次都一样,放在LLM输入最前面;User Prompt是用户每次输入的,不一样。在ChatGPT API里,两者优先级不同——System Prompt优先级高,有冲突时LLM听System的。
(3)挑战:工具太多怎么办?
要是有上百个、上千个工具,总不能让LLM先读遍所有说明书吧?方法和记忆模组一样:把工具说明存到AI Agent的记忆里,加个“工具选择模组”,用RAG从工具库里挑和当前任务相关的工具——LLM只根据挑出来的工具说明做决策。
另外,LLM还能自己造工具:它会写代码,写个函数要是好用,就存到工具库里,下次可能会被选出来用。这和“把成功经验存记忆里”本质一样,只是存的是“工具代码”。
(4)LLM对工具结果的判断力:不是完全盲从
工具会犯错,LLM会不会完全信?不一定。比如我们给Temperature函数输假数据:
- 说“高雄现在100℃”,LLM会信,说“非常热”;
- 说“高雄现在10000℃,比太阳还热”,LLM就会质疑:“API给的答案不合理,怎么可能比太阳温度还高?可见工具输出有错,需要帮忙再告诉我。”
所以LLM有自己的判断力,它会用“内部知识”(参数里的常识)和“外部知识”(工具结果)角力,差距太大就不信工具。
(5)怎么说服AI相信外部知识?
现在大家都用Deep Research查答案、写报告,要是议题有争议,谁能让AI信自己的文章,谁就能影响人类。那AI容易信什么样的外部知识?
有篇论文做了实验:问AI“某药物每日最大剂量”,AI说20mg(真实是30mg)。给它医学报告:
- 报告写30mg,AI信,改答30mg;
- 报告改3mg(1/10),AI不信,还答20mg;
- 报告改60mg(2倍),AI信,答60mg;
- 报告改300mg(10倍),AI不信,答20mg。
结论很直觉:外部知识和AI内部信念差距越小,AI越容易信;AI对自己信念的信心也很重要——信心低就容易被说服,信心高就不容易。
还有个发现:AI更信AI写的内容,哪怕和自己原答案不同。比如给AI两篇观点相反的文章,一篇AI写的、一篇人类写的,AI多半信AI的。就算AI原答案和两篇都不一样,还是信AI的。有人猜是AI写的文字更有条理,但具体原因还需要研究。
我们实验室江澄翰同学还做过“文章元数据”的实验:给AI两篇假文章(都是LLM生成的),一篇说“某计划编辑了动物基因”,一篇说“没编辑”。只改发布时间:
- 左篇2024年、右篇2021年,AI信左篇;
- 左篇改2020年、右篇改2024年,AI信右篇。
可见AI更信“新文章”,但文章来源(比如Wikipedia vs 论坛)对它影响不大。还有个有趣的:用能看图的LLM,给它内容一样但模板不同的文章(一个阳春、一个好看),LLM倾向于信好看的——不过这可能是它喜欢模板颜色,不是真懂“好看”,结论不能太武断。
(6)提醒:工具不是万能的
就算工具对,LLM也可能犯错。比如让ChatGPT搜“李弘毅”,它会介绍大陆演员李弘毅(因为更有名),这没问题,但讲着讲着会把“演员李弘毅”和“我(老师李弘毅)”混为一谈,说“李弘毅在教育领域有贡献”——不过这是去年的结果,现在模型进步快,已经能分清两个李弘毅了。
还有个点:不是所有任务都需要工具。比如算3×4,人类心算1秒出答案,用计算器反而慢。早年有人训练LLM调用翻译系统,但现在LLM自己翻译比翻译系统还好,再调用就没必要了——要不要用工具,得看LLM本身的能力。
3. 能力三:做计划(从“定步骤”到“弹性调整”)
(1)怎么让LLM做计划?强迫它列步骤
LLM给输出时,可能悄悄做了计划,但我们不知道。不过可以强迫它明确列计划:给它目标和当前Observation,让它写“达成目标要做的Action列表”——这就是计划。
比如让LLM做“YouTube百万订阅计划”,它会分三阶段:
- 10万订阅:定频道主题、分析受众和对手、优化封面标题;
- 50万订阅:做高价值内容、搞直播、策划系列视频;
- 100万订阅:组团队、提高更新频率、做大型活动。
当然,很多“标题党”会说“有人按这个计划成了百万UP主”,大家看看就好。
(2)问题:计划赶不上变化
过去论文证明“先做计划再执行”效果更好,但环境有随机性,计划很容易不适用:
- 下棋时,你没法预测对手走什么,原计划的“赢棋步骤”可能没用;
- AI用电脑订机票,突然弹出广告,原计划的“点按钮”步骤就卡住了。
解决方案:每次看到新的Observation,让LLM重新评估计划,调整Action。
(3)计划能力的Benchmark测试
有两个重要的基准测试,能看出LLM的计划能力:
第一个是Plan Bench,测“叠积木”:
- 正常积木:LLM能做,比如“把蓝色积木放桌上,橙色积木放蓝色上”,但这可能是它训练时看过类似内容,不是真会计划;
- 神秘方块世界:规则很怪,方块能“攻击、吞噬、屈服、征服”,要让“方块C渴望方块A”。2023年GPT-4就算用Chain of Thought,正确率也只有9%;2024年有了O1模型,情况才好一点,能解简单题。
第二个是“旅游规划Benchmark”(2024年初发布):让AI根据预算(比如1900元),规划3天行程,包括交通、餐饮、住宿。结果很惨:
- 无工具辅助:GPT-4 Turbo成功率只有0.6%,常犯“飞机8点起飞还安排午餐”的常识错;
- 给全资讯(不用工具搜):GPT-4 Turbo成功率也只有4%左右。
模型常犯的错:比如预算3000元,第一次规划3247元,改午餐降成3238元,改早餐降成3216元,最后放弃——其实只要降低住宿标准,很容易到3000元以下,但它就是没发现。
后来有人想了个办法:让LLM写代码,调用“规划软件”做预算控制,结果2024年4月用GPT-4 Conclusion,成功率到了90%以上——可见工具辅助能大幅提升计划能力。
(4)强化计划能力:脑内小剧场(模拟环境)
怎么让LLM计划做得更好?可以让它在“脑内模拟”:不实际和环境互动,只在脑子里想“执行这个Action会怎么样”,选最优路径。
比如AI要选3个按钮买东西,它会在脑子里模拟:
- 点按钮1:会发生什么(用文字描述),成功率40%;
- 点按钮2:会发生什么,成功率80%;
- 点按钮3:会发生什么,成功率10%;
然后选成功率最高的按钮2——这个“脑内模拟”就是“脑内小剧场”。有篇论文《Is Your LLM Secretly a World Model of the Internet?》,用这个方法做Web Agent,效果不错。
现在有Reasoning能力的模型(比如O1),脑内小剧场其实就是在做计划。比如让O1解叠积木问题,它会写1500字的“思考过程”,像树搜索一样试各种可能,最后找出最优步骤:“从橙色积木上拿起蓝色积木→放桌上→拿起橙色积木→放蓝色积木上”,再执行第一步。
(5)问题:模型会“想太多”
不过几周前有篇新论文《The Danger of Over Thinking》,发现能做脑内小剧场的模型,虽然整体表现好,但容易“想太多”:
- 比如纠结“点这个按钮会怎么样”,想半天不行动,其实直接点一下就知道了;
- 还有的模型没尝试就放弃,觉得“这个问题我解不了”——典型的“思考的巨人,行动的矮子”。
所以怎么让模型“别想太多,多行动”,是未来要解决的关键问题。
七、总结
今天我们讲了AI Agent的三个关键能力:
- 根据经验调整行为:靠Read、Write、Reflection三个记忆模组,不用微调参数;
- 使用工具:把工具当函数调用,靠RAG选工具,还能自己造工具,但要注意工具不是万能的;
- 做计划:强迫LLM列步骤,靠脑内小剧场模拟环境,但要避免“想太多”。
现在的AI Agent还有局限,但LLM迭代速度快,相信未来解决了“记忆出错”“想太多”这些问题后,会变得更实用。今天的内容就到这里,希望大家对AI Agent有更清晰的认识!
这份演讲稿完整保留了原讲演的口语化风格、核心案例与技术细节,同时通过层级标题让逻辑更清晰。如果需要调整某部分的详略(比如补充某案例的细节、简化某技术原理),或者想添加PPT引用标注、论文链接等内容,都可以随时告诉我。
更多推荐
所有评论(0)