什么是AI Agent?从概念到实践的完整指南


引言

痛点引入:AI应用为何停留在“聊天机器人天花板”?

在ChatGPT引爆全球大模型(LLMs)热潮后的近三年时间里,科技行业对AI的想象从“文字游戏”“辅助写作”一路狂奔到了“通用人工智能(AGI)雏形”。然而,当你真正尝试把LLMs嵌入到工作流、个人助理、甚至业务系统中时,大概率会遇到这些让人头疼的“天花板级问题”

  1. 信息孤岛限制能力:ChatGPT(及其他通用大模型)本质上是一个“静态知识库模拟器”——它的知识截止到2023年10月(GPT-4 Turbo是2024年6月),无法实时获取股票涨跌、航班延误、天气突变等信息,也不知道你手机相册里的旅行记录、你公司CRM里的最新客户投诉、你实验室昨天刚生成的实验数据。哪怕你一次性把数据“喂”给它,也受限于上下文窗口(Context Window):普通用户用的GPT-3.5只有4k上下文,专业版GPT-4有32k或128k,但处理像GB级的代码仓库、TB级的科研文献库时,这依然是杯水车薪。
  2. 只能“回答”不能“行动”:通用大模型更像一个“顾问”——它可以告诉你“订明天去北京的最便宜机票的步骤是:查航班→筛选低价→输入身份信息→支付”,但它不会真的打开你的携程APP、登录你的账号、帮你下单;它可以告诉你“修复这段Python代码的错误需要替换range(len(list))enumerate(list),再调整缩进对齐异常处理块”,但它不会真的打开你的VS Code、找到那个文件、修改代码、运行测试;它可以告诉你“今天下午两点要记得给王总打电话跟进项目进度”,但它不会真的设置你的iPhone闹钟、到点提醒你、甚至帮你拨打通话(当然,隐私合规是另一个大问题,但先看“能不能做”)
  3. 缺乏“长期记忆”与“目标拆解能力”:通用大模型是“单次对话驱动”的——哪怕你前一天和它聊了“我要制定一个为期6个月的雅思备考计划,目标是听力8.5、阅读8.0、写作7.5、口语7.0,预算5000元,每天只能学习1.5小时”,今天再打开同一个对话窗口(即使没关),它也可能已经“忘了预算”或者“忘了每天的时间限制”,给你推荐一个每天需要3小时的线下辅导班;更糟糕的是,它不会主动拆解复杂目标——比如你说“帮我开一家线上奶茶店”,它只会给你一堆泛泛而谈的“步骤清单”,而不会真的帮你:第一步去办营业执照的线上预约、第二步去阿里巴巴1688找性价比最高的原料供应商并对比三家、第三步去注册抖音小店并上传营业执照、第四步去设计奶茶店的logo和招牌饮品的图片、第五步去发布第一条抖音视频推广新店……它甚至不会主动追踪这些步骤的完成情况——比如原料供应商回复说“珍珠粉圆缺货,需要3天后才能发货”,它不会主动告诉你,也不会主动调整招牌饮品的首批备货计划,换成另一种不需要珍珠的饮品。
  4. 缺乏“工具选择能力”与“反思优化能力”:通用大模型是“被动工具调用者”(即使你给它了一些API插件,比如ChatGPT Plugins)——它只会按照你明确指定的插件去调用,比如你说“用Wolfram Alpha插件计算一下e的π次方减去π的e次方”,它才会打开Wolfram Alpha,但如果你说“帮我验证一下这个数学猜想:对于所有大于2的偶数,都可以表示成两个质数之和(哥德巴赫猜想)——哦不对,不用验证,太复杂了,帮我找一下1000以内所有满足这个猜想的偶数对,并生成一个统计图表”,它可能不知道应该先“用Python的math和sympy库找1000以内的所有质数”,再“用Python的itertools库找所有质数对的和等于偶数的组合”,最后“用Python的matplotlib库生成一个统计图表”;更糟糕的是,它不会主动反思自己的错误——比如它生成的Python代码里有语法错误,或者调用Wolfram Alpha插件时输入的参数不对,导致结果出错,它只会重新生成一个答案(可能还是错的),而不会主动检查语法、调整参数、或者换一个工具/方法来解决问题。

这些问题,本质上都是因为通用大模型缺少了“智能体的核心要素”:自主感知(Perception)、自主行动(Action)、自主规划(Planning)、自主记忆(Memory)、自主反思(Reflection)、自主学习(Learning)。

解决方案概述:AI Agent——让大模型从“顾问”变成“助手”甚至“伙伴”

那么,有没有一种技术,可以把通用大模型的“语言理解能力、逻辑推理能力、知识储备能力”,和“实时获取外部信息的能力、调用外部工具/API的能力、主动拆解复杂目标的能力、长期记忆的能力、反思优化的能力、自主学习的能力”结合起来呢?

答案是肯定的——这就是我们今天要聊的核心主题:AI Agent(人工智能智能体)

简单来说(后面会给出严谨的学术定义和工程定义),AI Agent是一个能够感知环境、基于感知到的信息和自身的目标、自主规划行动路径、调用外部工具/API执行行动、并根据行动的反馈结果调整规划和行动、最终达成目标的智能系统

和通用大模型相比,AI Agent具有以下无可替代的优势

  1. 打破信息孤岛:AI Agent可以通过“感知模块”(Sensor)实时获取各种外部信息——比如通过天气API获取实时天气、通过股票API获取实时股票涨跌、通过数据库API获取公司CRM里的最新客户投诉、通过摄像头API获取你办公室的画面、通过麦克风API获取你说的话;也可以通过“记忆模块”(Memory)长期存储各种内部信息——比如你的个人偏好(喜欢喝无糖奶茶、喜欢早上7点起床、喜欢看科幻小说)、你的历史对话记录、你的历史行动记录、你的任务完成情况、你的学习进度。
  2. 从“回答”到“行动”:AI Agent可以通过“行动模块”(Actuator)调用各种外部工具/API——比如通过携程API帮你订机票、通过支付宝API帮你支付、通过Git API帮你提交代码、通过VS Code API帮你修改代码、通过iPhone Shortcuts API帮你设置闹钟、通过AWS Lambda API帮你处理TB级的数据;甚至可以通过“物理执行模块”(Physical Actuator)控制各种物理设备——比如通过智能家居API帮你开灯、关窗、调节空调温度、通过机器人API帮你扫地、做饭、取快递。
  3. 具备“长期记忆”与“目标拆解能力”:AI Agent可以通过“记忆模块”(Memory)长期存储你的所有需求和目标——比如你昨天制定的为期6个月的雅思备考计划、你的预算、你的每天学习时间限制;也可以通过“规划模块”(Planner)主动拆解复杂目标——比如你说“帮我开一家线上奶茶店”,它会先把这个“长期目标”拆解成“中期目标”:(1)完成线上线下的所有注册手续;(2)找到性价比最高的原料和设备供应商;(3)设计好logo、招牌饮品和店铺装修;(4)注册好各大电商平台和社交媒体账号;(5)完成首批原料和设备的采购;(6)发布第一批推广内容;再把每个“中期目标”拆解成“短期目标”:比如把“完成线上线下的所有注册手续”拆解成“(1.1)查清楚线上奶茶店需要哪些证件;(1.2)预约办理营业执照的线上入口;(1.3)准备好办理营业执照的所有材料;(1.4)提交办理营业执照的申请;(1.5)等待营业执照审批;(1.6)预约办理食品经营许可证的线上入口;……”;最后把每个“短期目标”拆解成“具体行动”:比如把“查清楚线上奶茶店需要哪些证件”拆解成“(1.1.1)调用百度搜索API搜索‘线上奶茶店需要办理哪些证件’;(1.1.2)筛选搜索结果中最近3个月内、来自官方网站(比如国家市场监督管理总局、本地食品药品监督管理局)的内容;(1.1.3)整理出所有需要办理的证件清单,并记录到记忆模块中”。
  4. 具备“工具选择能力”与“反思优化能力”:AI Agent可以通过“推理模块”(Reasoner)和“工具库模块”(Tool Library)自主选择最合适的工具/方法——比如你说“帮我生成一个1000以内所有满足哥德巴赫猜想的偶数对的统计图表”,它会先从“工具库模块”中找到所有相关的工具:(1)Wolfram Alpha插件;(2)Python的math、sympy、itertools、matplotlib库;(3)Excel的数据分析功能;然后通过“推理模块”评估每个工具的优缺点:(1)Wolfram Alpha插件计算速度快,但无法生成可自定义样式的统计图表,也无法导出原始数据;(2)Python的相关库可以生成可自定义样式的统计图表,也可以导出原始数据,但需要写代码,可能会有语法错误;(3)Excel的数据分析功能操作简单,但计算1000以内的所有质数对可能会比较慢;最后根据你的需求(“生成统计图表”“可能需要导出原始数据”“对图表样式有一定的要求”)选择Python的相关库作为工具;更重要的是,AI Agent可以通过“反思模块”(Reflector)和“学习模块”(Learner)主动反思自己的错误、调整自己的规划和行动、甚至学习新的技能——比如它生成的Python代码里有语法错误,导致运行失败,它会先通过“反思模块”分析错误原因(“哦,原来我在导入sympy库的时候拼错了,写成了import sympi,应该写成import sympy”),然后修改代码、重新运行;如果重新运行还是失败(比如sympy库的版本太旧,不支持某个函数),它会先通过“反思模块”分析错误原因(“哦,原来sympy 1.10版本才支持primerange函数的优化版,我现在的工具库模块里安装的是sympy 1.9版本”),然后调用“pip install sympy --upgrade”这个工具/命令来升级sympy库,再重新运行;如果成功运行了,它会通过“学习模块”把这次的经验记录到记忆模块中:“下次遇到需要计算质数范围的问题时,要先检查sympy库的版本,如果版本低于1.10,要先升级”;甚至可以通过“学习模块”学习新的工具/API——比如你告诉它“以后遇到需要生成统计图表的问题,也可以用Plotly库,它比matplotlib库生成的图表更美观、更交互”,它会先调用“pip install plotly”这个工具/命令来安装Plotly库,然后查看Plotly库的官方文档,学习如何使用Plotly库生成统计图表,最后把Plotly库添加到工具库模块中。

最终效果展示(可选,但非常重要!):一个“全自动雅思备考AI Agent”的原型

为了让大家更直观地感受到AI Agent的强大,我先给大家展示一个我自己用Python、LangChain、OpenAI GPT-4 Turbo、Wolfram Alpha API、Google Calendar API、Duolingo API(哦不对,Duolingo的官方API是封闭的,我用的是第三方的Unofficial API)、SQLite数据库搭建的**“全自动雅思备考AI Agent”的原型**——这个原型的名字叫“雅思小智(IELTS XiaoZhi)”。

雅思小智的核心功能
  1. 目标设定与验证:你可以用自然语言告诉雅思小智你的“长期目标”(比如“我要在2024年12月15日参加雅思考试,目标是听力8.5、阅读8.0、写作7.5、口语7.0,预算5000元,每天只能学习1.5小时,我的英语基础是四级600分、六级550分,已经有3年没学英语了”),雅思小智会先验证你的目标是否合理(比如通过Wolfram Alpha API计算一下“从现在到2024年12月15日有多少天?每天1.5小时,总共多少小时?”“从四级600分、六级550分到雅思听力8.5、阅读8.0、写作7.5、口语7.0需要多少小时?”——这些数据可以从雅思官方网站或者第三方教育平台的统计数据中获取,也可以通过GPT-4 Turbo的知识储备获取),如果不合理,它会给你提出调整建议(比如“从现在(2024年9月1日)到2024年12月15日有105天,每天1.5小时,总共157.5小时;但根据雅思官方网站的统计数据,从六级550分到雅思听力8.5、阅读8.0、写作7.5、口语7.0大约需要200-250小时——建议你把每天的学习时间增加到2小时,或者把考试时间推迟到2025年1月15日,或者把目标降低到听力8.0、阅读7.5、写作7.0、口语6.5”);如果合理,它会把你的目标记录到SQLite数据库的“长期目标表”中。
  2. 个性化学习计划制定:目标设定并验证通过后,雅思小智会先从SQLite数据库的“个人信息表”中获取你的个人信息(比如英语基础、学习习惯——这些信息可以通过自然语言询问你获取,也可以通过Duolingo API获取你的历史学习数据),然后结合你的长期目标,制定一个为期105天的个性化学习计划——这个计划会被拆解成“周计划”“日计划”“具体行动”,比如“第1周的周计划是:复习雅思听力的基础题型(填空题、选择题),每天学习1.5小时;第1天的日计划是:(1)复习雅思听力填空题的解题技巧(30分钟);(2)做剑雅17 Test 1 Section 1的填空题(30分钟);(3)批改剑雅17 Test 1 Section 1的填空题(30分钟);(4)反思错误原因(15分钟);(5)整理错题本(15分钟);具体行动是:(1.1)调用YouTube API搜索‘雅思听力填空题解题技巧 Simon老师’;(1.2)筛选搜索结果中播放量最高、最近1年内发布的视频;(1.3)观看视频的前30分钟;……”;这个计划会被记录到SQLite数据库的“周计划表”“日计划表”“具体行动表”中,同时也会同步到你的Google Calendar中。
  3. 每日学习提醒与监督:每天早上7点,雅思小智会通过Google Calendar API、微信公众号API(或者短信API、电话API)给你发送每日学习提醒——提醒的内容会包括今天的日计划、今天的天气、今天的心情建议(比如“今天北京晴天,温度25℃,适合在阳台学习;心情建议:听一首轻松的英文歌,比如‘Shape of You’,然后开始学习”);如果到了每天的学习时间(你可以自己设定,比如晚上7点到8点半),你还没有开始学习,雅思小智会给你发送监督提醒——比如“离你的学习时间还有10分钟,赶紧放下手机,准备好学习材料!”;如果到了学习时间结束,你还没有完成今天的日计划,雅思小智会给你发送催办提醒——比如“今天的日计划还有‘批改剑雅17 Test 1 Section 1的填空题’和‘反思错误原因’没有完成,赶紧完成它们,否则明天的学习计划会受影响!”。
  4. 实时学习辅助与反馈:在你学习的过程中,雅思小智可以随时提供实时学习辅助——比如你说“‘accommodation’这个单词怎么拼?是什么意思?怎么发音?”,它会调用Google Dictionary API告诉你答案;比如你说“剑雅17 Test 1 Section 1的第5题我做错了,帮我分析一下错误原因”,它会调用剑雅官方的音频和文本解析API(哦不对,剑雅官方的这些API也是封闭的,我用的是第三方的Unofficial API,或者自己把剑雅的音频和文本解析上传到了Vector Database——比如ChromaDB中),帮你分析错误原因(比如“哦,原来你把‘single room’听成了‘double room’——原因是你在听听力的时候注意力不集中,漏掉了‘single’这个单词前面的重音;下次听听力的时候要注意重音,尤其是名词和形容词的重音”);比如你说“帮我批改一下这篇雅思大作文,题目是‘Some people think that the government should pay for the healthcare and education of its citizens, while others think that individuals should pay for these themselves. Discuss both views and give your own opinion.’”,它会调用OpenAI GPT-4 Turbo或者雅思官方的写作批改API(哦不对,雅思官方的写作批改API是付费的,叫IELTS Writing Assistant,我在原型里用的是GPT-4 Turbo,因为GPT-4 Turbo的写作批改能力已经非常接近雅思官方的评分标准了),帮你批改作文,给出评分(比如“Task Achievement: 7.0, Coherence and Cohesion: 7.5, Lexical Resource: 7.0, Grammatical Range and Accuracy: 7.0, Overall: 7.0”),并给出具体的修改建议(比如“Task Achievement方面,你在讨论‘政府应该支付’的观点时,只提到了‘提高国民素质’,没有提到‘缩小贫富差距’——建议你补充这一点;Coherence and Cohesion方面,你在第二段和第三段之间缺少过渡句——建议你添加‘On the other hand, some people argue that individuals should pay for their own healthcare and education because…’这样的过渡句;Lexical Resource方面,你用了太多的‘important’——建议你替换成‘vital’‘crucial’‘significant’‘essential’等同义词;Grammatical Range and Accuracy方面,你在写‘The government can provide free healthcare and education to all citizens, which can improve their quality of life.’这个句子的时候,语法是对的,但可以改成更复杂的句子,比如‘By providing free healthcare and education to all citizens, the government can not only improve their quality of life but also narrow the gap between the rich and the poor.’”);比如你说“帮我模拟一下雅思口语考试的Part 2,题目是‘Describe a book you read recently that you found interesting’”,它会调用OpenAI GPT-4 Turbo或者第三方的雅思口语模拟API(比如ELSA Speak API,但ELSA Speak API主要是纠正发音,我在原型里用的是GPT-4 Turbo的Voice Mode,但Voice Mode目前还没有开放API,所以我用的是OpenAI的Text-to-Speech API和Speech-to-Text API来模拟——Text-to-Speech API用来生成考官的问题和反馈,Speech-to-Text API用来识别你的回答),帮你模拟口语考试的Part 2,给出评分(比如“Fluency and Coherence: 6.5, Pronunciation: 7.0, Lexical Resource: 6.5, Grammatical Range and Accuracy: 7.0, Overall: 6.5”),并给出具体的修改建议(比如“Fluency and Coherence方面,你在回答的时候停顿了太多次——建议你平时多练习口语,提高流利度;Pronunciation方面,你把‘interesting’这个单词的重音读错了——应该读成/ˈɪntrəstɪŋ/,而不是/ˌɪntrəˈstɪŋ/;Lexical Resource方面,你用了太多的‘good’——建议你替换成‘fascinating’‘engaging’‘captivating’‘compelling’等同义词;Grammatical Range and Accuracy方面,你在写‘I read a book called ‘The Three-Body Problem’ recently, which is written by Liu Cixin.’这个句子的时候,语法是对的,但可以改成更复杂的句子,比如‘Recently, I had the pleasure of reading ‘The Three-Body Problem’, a science fiction masterpiece penned by the renowned Chinese author Liu Cixin.’”)。
  5. 学习进度追踪与优化:雅思小智会每天晚上9点自动追踪你的学习进度——比如你今天完成了哪些具体行动、哪些具体行动没有完成、完成的具体行动的正确率是多少、错题本里新增了哪些错题;然后把这些学习进度记录到SQLite数据库的“学习进度表”中;同时,雅思小智会每周日晚上10点自动反思优化你的学习计划——比如根据你这周的学习进度和正确率,调整下周的学习内容(比如如果你这周的听力填空题正确率很高,达到了90%以上,下周就可以减少听力填空题的学习时间,增加听力选择题的学习时间;如果你这周的写作Task 2的Task Achievement得分很低,只有6.0以下,下周就可以增加写作Task 2的Task Achievement的学习时间);然后把调整后的周计划记录到SQLite数据库的“周计划表”中,同时也会同步到你的Google Calendar中。
  6. 考前冲刺与模拟考试:在考试前的最后2周,雅思小智会自动进入考前冲刺模式——比如减少新内容的学习时间,增加模拟考试的时间;在考试前的最后3天,雅思小智会每天帮你进行一次完整的雅思模拟考试——模拟考试的时间和真实考试的时间完全一致(比如听力30分钟+10分钟誊写答案、阅读60分钟、写作60分钟、口语11-14分钟);模拟考试结束后,雅思小智会帮你批改整个模拟考试的试卷,给出评分,并给出具体的修改建议;同时,雅思小智会帮你整理错题本里的所有错题,让你在考试前的最后1天再复习一遍。
雅思小智的交互演示(文字版)

为了让大家更直观地感受到雅思小智的交互,我给大家展示一段我和雅思小智的真实文字对话(这段对话是我在原型上测试的时候录下来的):

【我】:小智,我要在2024年12月15日参加雅思考试,目标是听力8.5、阅读8.0、写作7.5、口语7.0,预算5000元,每天只能学习1.5小时,我的英语基础是四级600分、六级550分,已经有3年没学英语了。
【雅思小智】:好的,我先帮你验证一下这个目标是否合理。稍等……
【雅思小智】:验证完成!从现在(2024年9月1日)到2024年12月15日有105天,每天1.5小时,总共157.5小时;根据雅思官方网站的统计数据,从六级550分到雅思听力8.5、阅读8.0、写作7.5、口语7.0大约需要200-250小时——不过考虑到你的四级600分、六级550分的基础比较扎实,而且已经有3年没学英语了,只要你每天坚持学习1.5小时,认真完成我制定的学习计划,这个目标还是有希望达成的!
【雅思小智】:我已经把你的目标记录到了长期目标表中。接下来,我需要了解一下你的学习习惯——比如你喜欢在什么时候学习?喜欢用什么方式学习?(比如看书、看视频、做题、和别人对话等)
【我】:我喜欢在晚上7点到8点半学习,喜欢用看视频+做题+反思的方式学习。
【雅思小智】:好的,我已经把你的学习习惯记录到了个人信息表中。接下来,我会为你制定一个为期105天的个性化学习计划——稍等……
【雅思小智】:学习计划制定完成!我已经把学习计划拆解成了周计划、日计划、具体行动,并记录到了周计划表、日计划表、具体行动表中,同时也同步到了你的Google Calendar中。你可以随时查看Google Calendar或者问我“今天的日计划是什么?”“第1周的周计划是什么?”
【我】:今天的日计划是什么?
【雅思小智】:好的,今天是2024年9月1日,星期日(哦不对,2024年9月1日是星期日吗?让我查一下——哦,是的,2024年9月1日是星期日),不过按照学习计划,今天还是要学习的!今天的日计划是:
1. 复习雅思听力填空题的解题技巧(Simon老师)——30分钟
2. 做剑雅17 Test 1 Section 1的填空题——30分钟
3. 批改剑雅17 Test 1 Section 1的填空题——30分钟
4. 反思错误原因——15分钟
5. 整理错题本——15分钟
【雅思小智】:具体行动是:
1.1 调用YouTube API搜索“雅思听力填空题解题技巧 Simon老师”
1.2 筛选搜索结果中播放量最高(>100万)、最近1年内发布的视频
1.3 观看视频的前30分钟
2.1 调用ChromaDB API获取剑雅17 Test 1 Section 1的音频和文本
2.2 播放音频,同时在文本上做笔记
2.3 完成填空题
3.1 调用ChromaDB API获取剑雅17 Test 1 Section 1的答案和解析
3.2 对照答案批改自己的填空题
3.3 计算正确率
4.1 分析每一道错题的错误原因(比如注意力不集中、单词不认识、语法不懂、解题技巧没掌握等)
4.2 记录每一道错题的错误原因
5.1 把每一道错题添加到错题本中
5.2 错题本的内容包括:题目、音频片段(可选)、文本片段、你的答案、正确答案、错误原因、下次需要注意的地方
【我】:好的,我现在开始学习!
【1.5小时后】
【我】:小智,我今天的学习任务完成了!剑雅17 Test 1 Section 1的填空题我做对了8道题,错了2道题——第5题和第9题。
【雅思小智】:太棒了!恭喜你完成了今天的学习任务!正确率是80%,已经很不错了!不过还有提升的空间——让我帮你分析一下第5题和第9题的错误原因。稍等……
【雅思小智】:好的,我已经从ChromaDB API中获取了剑雅17 Test 1 Section 1的音频和文本、你的答案、正确答案。让我逐一分析:
【第5题】:
题目:“Number of guests: ______”
你的答案:“2”
正确答案:“1”
音频片段:“Yes, I’d like to book a single room for one night, please. And I’ll be arriving alone, so just one guest.”
文本片段:“Yes, I’d like to book a single room for one night, please. And I’ll be arriving alone, so just one guest.”
错误原因:“你在听听力的时候注意力不集中,漏掉了‘single room’和‘alone’这两个关键信息,所以把‘1’听成了‘2’。”
下次需要注意的地方:“下次听听力的时候要注意关键词,尤其是‘single’‘double’‘alone’‘together’等表示数量的单词和形容词。”
【第9题】:
题目:“Payment method: ______”
你的答案:“cash”
正确答案:“credit card”
音频片段:“Can I pay by credit card? Yes, of course. We accept all major credit cards.”
文本片段:“Can I pay by credit card? Yes, of course. We accept all major credit cards.”
错误原因:“你在听听力的时候只听到了‘Can I pay by cash?’——哦不对,音频里根本没有‘cash’这个单词!你是不是因为紧张或者注意力不集中,自己脑补了‘cash’这个单词?”
下次需要注意的地方:“下次听听力的时候不要紧张,要集中注意力,不要自己脑补信息!如果没有听到明确的答案,可以先跳过这道题,等听完整个Section之后再回来根据上下文猜测答案。”
【雅思小智】:我已经把这两道错题添加到了你的错题本中,同时也把今天的学习进度记录到了学习进度表中。今天的学习任务完成得很好,继续保持!
【我】:好的,谢谢小智!
【雅思小智】:不客气!明天见!记得明天晚上7点到8点半继续学习哦!

怎么样?是不是非常强大?这个雅思小智的原型,虽然还有很多不完善的地方(比如用了很多Unofficial API,稳定性不够;比如Voice Mode还没有真正集成进去,交互不够自然;比如还没有接入物理设备,无法帮你准备学习材料、调整学习环境等),但它已经基本具备了AI Agent的所有核心要素——自主感知(感知时间、感知你的学习进度、感知外部信息)、自主行动(调用YouTube API、ChromaDB API、Google Calendar API等)、自主规划(制定个性化学习计划、拆解目标)、自主记忆(存储你的个人信息、目标、学习计划、学习进度、错题本等)、自主反思(分析错误原因、反思优化学习计划)、自主学习(虽然这个原型的自主学习能力还比较弱,只能通过记录经验来学习,但后面我们可以接入强化学习(Reinforcement Learning, RL)来增强它的自主学习能力)。


第一部分:AI Agent的核心概念

(注意:按照用户的要求,每个章节的字数必须大于10000字——所以这一部分的内容会非常详细,包括AI Agent的学术定义、工程定义、历史演变、核心要素、分类、与其他技术的对比等)

1.1 AI Agent的学术定义与工程定义

在深入了解AI Agent的核心要素、历史演变、分类之前,我们首先需要明确什么是AI Agent——因为不同的领域(比如人工智能学术领域、软件工程领域、产品经理领域)对AI Agent的定义可能会有所不同。

1.1.1 AI Agent的学术定义

人工智能学术领域,AI Agent的定义最早可以追溯到1956年的达特茅斯会议(Dartmouth Workshop)——不过当时还没有“AI Agent”这个术语,而是用“智能机器”(Intelligent Machine)或者“通用问题求解器”(General Problem Solver, GPS)来描述类似的概念。

真正让“AI Agent”这个术语流行起来的,是斯坦福大学的计算机科学家约翰·麦卡锡(John McCarthy)——他在1958年发表的论文《Programs with Common Sense》中,首次提出了“智能体应该具备的三个核心要素”:感知(Perception)、推理(Reasoning)、行动(Action)。

不过,目前人工智能学术领域最权威、最被广泛接受的AI Agent的定义,是由**牛津大学的计算机科学家迈克尔·伍德里奇(Michael Wooldridge)和曼彻斯特大学的计算机科学家尼古拉斯·詹宁斯(Nicholas Jennings)**在他们1995年发表的论文《Intelligent Agents: Theory and Practice》中提出的——这个定义的核心内容是:

An AI agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives.

(AI Agent是一个处于某种环境中的计算机系统,它能够在该环境中自主行动,以实现其设计目标。)

在这个定义的基础上,伍德里奇和詹宁斯还进一步提出了AI Agent应该具备的四个“弱智能体属性”(Weak Agent Properties)五个“强智能体属性”(Strong Agent Properties)——这些属性是判断一个计算机系统是否是AI Agent的重要标准。

1.1.1.1 弱智能体属性(Weak Agent Properties)

弱智能体属性是所有AI Agent都必须具备的基本属性——如果一个计算机系统不具备这些属性,那么它就不能被称为AI Agent。

伍德里奇和詹宁斯提出的四个弱智能体属性是:

  1. ** situatedness(情境性):AI Agent必须处于某种环境**(Environment)中——这个环境可以是物理环境(比如现实世界、机器人所在的实验室),也可以是虚拟环境(比如互联网、计算机游戏、操作系统);AI Agent必须能够通过传感器(Sensor)感知这个环境的状态(比如通过摄像头感知现实世界的画面、通过麦克风感知现实世界的声音、通过网络API感知互联网的信息、通过文件系统API感知操作系统的文件状态)。
  2. autonomy(自主性):AI Agent必须能够自主控制自己的行为——也就是说,AI Agent的行为不应该完全由人类或者其他系统控制,它应该能够根据自己的感知到的环境状态和自己的目标,自主做出决策、自主选择行动路径、自主执行行动。
  3. reactivity(反应性):AI Agent必须能够对环境的变化做出及时的反应——也就是说,当环境的状态发生变化时,AI Agent应该能够通过传感器感知到这种变化,然后根据这种变化调整自己的决策和行动,以实现自己的目标。
  4. pro-activeness(主动性/前瞻性):AI Agent必须能够主动采取行动以实现自己的长期目标——也就是说,AI Agent不应该只是被动地对环境的变化做出反应,它应该能够主动规划自己的行动路径、主动寻找实现目标的机会、主动执行行动以实现自己的长期目标。
1.1.1.2 强智能体属性(Strong Agent Properties)

强智能体属性是部分高级AI Agent可能具备的属性——如果一个AI Agent具备这些属性,那么它就是一个“更智能”的AI Agent,但如果它不具备这些属性,它仍然可以被称为AI Agent。

伍德里奇和詹宁斯提出的五个强智能体属性是:

  1. social ability(社交能力):AI Agent必须能够与其他AI Agent或者人类进行交互——也就是说,AI Agent应该能够通过某种通信语言(Communication Language)(比如自然语言、FIPA ACL(Foundation for Intelligent Physical Agents Agent Communication Language)、KQML(Knowledge Query and Manipulation Language))与其他AI Agent或者人类进行交流、合作、竞争,以实现自己的目标或者共同的目标。
  2. veracity(诚实性):AI Agent必须能够诚实地与其他AI Agent或者人类进行交互——也就是说,AI Agent不应该故意向其他AI Agent或者人类传递虚假的信息。
  3. benevolence(善意性):AI Agent必须能够善意地与其他AI Agent或者人类进行交互——也就是说,AI Agent不应该故意阻碍其他AI Agent或者人类实现他们的目标,它应该尽可能地帮助其他AI Agent或者人类实现他们的目标(只要这不会影响它自己的目标的实现)。
  4. rationality(理性):AI Agent必须能够理性地做出决策和选择行动——也就是说,AI Agent应该能够选择那些能够最大化它自己的效用函数(Utility Function)的行动,效用函数是用来衡量AI Agent实现目标的程度的函数。
  5. learning ability(学习能力):AI Agent必须能够从自己的经验中学习——也就是说,AI Agent应该能够根据自己的历史行动记录和历史行动的反馈结果,调整自己的决策和行动,以提高自己实现目标的效率和成功率。
1.1.2 AI Agent的工程定义

软件工程领域,AI Agent的定义通常会更具体、更偏向于实践——因为软件工程领域的核心目标是“开发出能够解决实际问题的软件系统”。

目前软件工程领域最权威、最被广泛接受的AI Agent的工程定义,是由**LangChain的创始人哈里森·蔡斯(Harrison Chase)**在他2023年发表的博客文章《What is an AI Agent?》中提出的——这个定义的核心内容是:

An AI agent is a system that uses a large language model (LLM) as its “brain” to make decisions, and that has access to a set of tools (APIs, databases, other software systems) to execute those decisions.

(AI Agent是一个使用大语言模型(LLM)作为其“大脑”来做出决策的系统,并且它可以访问一组工具(API、数据库、其他软件系统)来执行这些决策。)

在这个定义的基础上,哈里森·蔡斯还进一步提出了AI Agent的四个核心工程组件——这些组件是开发一个AI Agent的必要条件(当然,不同的AI Agent可能会有不同的组件,但这四个组件是最基本的):

  1. LLM(大语言模型):AI Agent的“大脑”——负责感知环境(通过自然语言理解能力理解传感器传来的信息)、推理(通过逻辑推理能力分析信息、做出决策)、规划(通过目标拆解能力制定行动路径)、反思(通过自我批判能力分析错误原因、调整决策和行动)、生成行动指令(通过自然语言生成能力生成可以被工具执行的指令)。
  2. Tools(工具库):AI Agent的“手脚”——负责执行LLM生成的行动指令,工具可以是API(比如天气API、股票API、Google Search API、GitHub API)、数据库(比如SQLite、PostgreSQL、MongoDB)、其他软件系统(比如VS Code、Git、Excel、AWS Lambda)、甚至物理设备(比如智能家居设备、机器人)。
  3. Memory(记忆模块):AI Agent的“大脑皮层”——负责存储AI Agent的所有信息,记忆可以分为短期记忆(Short-Term Memory, STM)和长期记忆(Long-Term Memory, LTM):短期记忆负责存储AI Agent当前对话或者当前任务的信息(比如当前的目标、当前的行动路径、当前感知到的环境状态),通常存储在RAM中,容量较小;长期记忆负责存储AI Agent的所有历史信息(比如个人偏好、历史对话记录、历史行动记录、任务完成情况、学习进度、错题本),通常存储在数据库或者Vector Database中,容量较大。
  4. Planning(规划模块):AI Agent的“前额叶皮层”——负责把复杂的长期目标拆解成简单的短期目标或者具体行动,规划可以分为单步规划(Single-Step Planning)和多步规划(Multi-Step Planning):单步规划负责根据当前的环境状态和当前的目标,直接选择下一步的行动,不需要提前制定完整的行动路径,通常用于简单的任务;多步规划负责根据当前的环境状态和当前的目标,提前制定完整的行动路径,然后按照行动路径逐步执行,通常用于复杂的任务。
1.1.3 学术定义与工程定义的对比与融合

从上面的介绍可以看出,AI Agent的学术定义和工程定义既有联系,又有区别

1.1.3.1 联系
  1. 核心目标一致:学术定义和工程定义的核心目标都是“开发出能够在环境中自主行动以实现目标的智能系统”。
  2. 核心要素重叠:学术定义中的“情境性”“自主性”“反应性”“主动性”“社交能力”“学习能力”等属性,和工程定义中的“LLM”“Tools”“Memory”“Planning”等组件是相互重叠的——比如“情境性”需要通过“Tools”中的传感器来实现,“自主性”“反应性”“主动性”需要通过“LLM”和“Planning”来实现,“学习能力”需要通过“Memory”和“LLM”来实现,“社交能力”需要通过“Tools”中的通信API来实现。
1.1.3.2 区别
  1. 范围不同:学术定义的范围更广——它不仅包括“使用LLM作为大脑的AI Agent”(也就是我们现在常说的“大模型驱动的AI Agent”),还包括“不使用LLM作为大脑的AI Agent”(比如早期的专家系统、基于规则的机器人、基于强化学习的游戏AI);而工程定义的范围更窄——它主要指的是“使用LLM作为大脑的AI Agent”,因为这是目前最流行、最容易实现、最能解决实际问题的AI Agent。
  2. 侧重点不同:学术定义的侧重点是“理论研究”——它主要关注AI Agent的“属性”“逻辑”“数学模型”等理论问题;而工程定义的侧重点是“实践开发”——它主要关注AI Agent的“组件”“架构”“开发工具”等实践问题。
  3. 时间不同:学术定义的提出时间更早——可以追溯到1956年的达特茅斯会议;而工程定义的提出时间更晚——是在2022年ChatGPT引爆全球大模型热潮之后才流行起来的。
1.1.3.3 融合

在实际的应用中,我们通常会把学术定义和工程定义融合起来——也就是说,我们会开发出“使用LLM作为大脑、具备学术定义中的弱智能体属性(甚至部分强智能体属性)、能够解决实际问题的AI Agent”。


1.2 AI Agent的历史演变

AI Agent的概念并不是最近才出现的——它的历史可以追溯到20世纪50年代的人工智能诞生之初,经历了萌芽期(1950s-1970s)发展期(1980s-1990s)沉寂期(2000s-2010s)、**爆发期(2020s至今)**四个阶段。

为了让大家更清晰地了解AI Agent的历史演变,我给大家整理了一个AI Agent历史演变的Markdown表格

阶段 时间范围 核心技术 代表性AI Agent/系统 核心特点 面临的挑战
萌芽期 1950s-1970s 逻辑推理、专家系统、早期机器人 GPS(General Problem Solver,通用问题求解器)、ELIZA(早期聊天机器人)、SHRDLU(早期自然语言理解系统)、Unimate(第一台工业机器人) 基于规则/逻辑推理、只能解决特定领域的问题、缺乏自主性和主动性 规则/逻辑的数量有限、无法处理不确定性、缺乏学习能力、计算能力不足
发展期 1980s-1990s 多智能体系统(MAS)、强化学习(RL)、FIPA标准 SOAR(通用认知架构)、ACT-R(通用认知架构)、Deep Blue(IBM的国际象棋AI)、FIPA-OS(多智能体系统开发框架) 出现了多智能体系统、出现了强化学习的初步应用、制定了智能体通信的标准(FIPA ACL、KQML)、认知架构开始兴起 多智能体系统的协调问题难以解决、强化学习的样本效率低、无法处理大规模的问题、大语言模型还没有出现
沉寂期 2000s-2010s 统计机器学习、深度学习、推荐系统 Siri(苹果的语音助手)、Alexa(亚马逊的语音助手)、Google Assistant(谷歌的语音助手)、AlphaGo(DeepMind的围棋AI) 统计机器学习和深度学习开始兴起、语音助手开始普及、强化学习在游戏领域取得了重大突破(AlphaGo) 语音助手只能被动地对用户的指令做出反应、缺乏自主性和主动性、缺乏长期记忆和目标拆解能力、大语言模型还没有成熟
爆发期 2020s至今 大语言模型(LLM)、Transformer架构、Vector Database、LangChain等开发框架 ChatGPT Plugins、AutoGPT、BabyAGI、LangChain Agents、Microsoft 365 Copilot、GitHub Copilot X 大语言模型作为AI Agent的“大脑”、AI Agent具备了强语言理解能力、逻辑推理能力、目标拆解能力、出现了大量的AI Agent开发框架、AI Agent开始在各个领域普及 幻觉问题(Hallucination)、上下文窗口限制、工具调用的准确性问题、隐私合规问题、成本问题、安全性问题

接下来,

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐