1. 什么是AI Agent?
AI Agent可以理解为一个智能体,包括感知模块、规划决策模块和行动模块,类似于人类的五官、大脑和肢体。它能帮助人类处理复杂的任务,并能根据环境反馈进行学习和调整。
五官可以理解为感知模块,大脑为规划决策模块,肢体是行动模块。如图:
**举个例子:**用手摸了一下电线,感知模块被电麻了,此时大脑决策规划模块发出信号,把手拿走快逃。接着行动模块控制手从电线上拿开(当然也可能拿不开),这就是资料里常见的模型。将这个过程抽象出来,如图:
可以看到,最关键的部分就是大脑部分,即规划决策模块。以前这儿比较薄弱,只有状态、记忆,如今有了大模型,让上述框架变得强大了起来。暂时忽略感知和反馈模块,突出大模型LLM的作用,如图:
再将其抽取整理,如图:
从细节角度进行梳几个模块:
1.1 记忆模块
又分为短期记忆和长期记忆,如上下文学习就是短期记忆,一般被上下文窗口长度限制;长期记忆则保存较长时间,一般外部向量保存。注意,从某种程度上,感知也可以归类在记忆模块里,如视觉、听觉、触觉等。短期记忆如同电脑中的内存,在LLM中受到Transformer和上下文窗口长度的限制,长期记忆可以理解为硬盘,包含陈述式记忆和(如事件或事实),程序式记忆(如打字技能等)。整理后,如图:
1.2 规划决策模块
包含四个模块,其中,思维链和子目标分解是为了处理更为复杂的任务,反思和自我批评模块能从错误中吸取教训,提高结果质量。整理后如图:
1.3 工具模块
强调软件、API的调用,如日历、计算器、代码解释器、搜索等,目的是为了解决实际问题。整理后如图:
总计一下,当给予一个prompt,LLM记忆模块的短期记忆和长期记忆相互配合,对任务进行分解,并对错误进行反思、批评纠正,最终做出了规划决策,然后调用合适的外部工具,并最后付出行动。
2. Agent与LLM之间的关系
上述过程中,GPT扮演了大脑的角色,其他模块扮演了其他的协同配合,从而突破了简单的问答工作。在这儿插播一张图:
是不是有些熟悉了,回到了最经典的结构,总结成公式,即:
A g e n t = L L M + 记忆 + 规划决策 + 工具使用 Agent = LLM + 记忆 + 规划决策 + 工具使用 Agent=LLM+记忆+规划决策+工具使用
3. AI Agent能起到什么实际作用
引用一个HuggingFace的案例。HuggingFace上有很多有趣的模型,一般新手不知道怎么选择模型,提出的HuggingGPT(Shen et al. 2023)就是一个AI Agent,借助ChatGPT根据描述,选择可用模型并执行。
在这个过程中包含四个阶段:
任务的规划:LLM做大脑,任务请求分为多个任务。包括任务类型、ID、依赖项和参数。模型选择:Agent根据模型ID,选择对应模型处理用户请求。此处可以选择多个模型。任务执行:执行特定的每个模型并记录结果。响应生成:LLM接受执行结果,汇总至用户。过程汇总如图:
这就是一个比较有趣且好玩的Agent实践案例。
类似的项目还有很多,如:ChatDev、AutoGPT、GPT-engineer
4. 如何上手学习
LLM是核心,底层是Transformer和LLaMA,搞定就ok,当然Attention可以作为知识扩展进行学习。
感知部分是多模态,涉及的就是深度学习里的强化学习。