【花师小哲】鉴定网络热门(?)AI(18)——LLM-based agent
继续更,这次把LLM-based agent这个坑给填了。

1.什么是agent
agent这个词也是很麻烦的一个词,当初学哲学就被这词坑过,机器学习里也有这个术语。
其实主要问题在于,你直接翻译的话翻译出来的是“代理”,我同学在翻译英语图片的时候因为对强化学习不熟悉,也曾经翻译出“政策代理”这样的词汇。
一般来说,在机器学习领域一般翻译为智能体,特别是在强化学习领域。这样翻译其实主要关注agent的决策能力,毕竟强化学习某种程度上就是让模型学习“选方案”嘛(这也是为什么一般强化学习都是离散决策)。
在大模型语境下,也可以翻译成智能体,但一般就是不翻译,直接叫agent。

2.LLM-based agent
大模型(LLM)做agent实际上并不是很难的事情,在ChatGPT火了没多久,Meta就发论文说大模型是可以“使用工具”的,也就是调用API。API主要是在虚拟世界中,我们也可以用于现实中,例如用ChatGPT控制机器人。
也就是说,以语言作为契机,ChatGPT为代表的LLM实际上已经能在一定程度上完成人类所能做的一些简单任务了,所以称之为“智能体”(有只能,且能完成一定任务的个体)也挺合适的。

3.LLM-based agent的构成
LLM-based agent多种多样,单个LLM的,多个LLM合作的;模拟游戏公司、模拟软件开发公司的...但要成为agent,还是需要满足一定的结构的(当然也不一定全满足,也就是存在灰色地带)
目前主流看法是分为应用框架和概念框架。
应用框架:LLM-based agent由以下部分构成:LLM+记忆+规划+工具使用。
LLM不需要说,不然就没有“LLM-based”前缀了。
记忆是说模型需要知道之前做了什么。虽然像ChatGPT这样的实际上是有多轮记忆的能力的,但更长的话就不太好保证了,更不要说对于多LLM的系统,大家还要相互交流。所以一般还需要额外配置一个记忆流
规划就是说我们希望模型能够独自一个人面对一个任务做很多轮,那么我们就不希望它们做着做着就跑偏了。对于多LLM,问题就更严重了,我们需要对这些LLM进行分工,而规划就是用来解决这个问题的。规划可以是事先设计好流程,也可以让LLM自己制订,或者混合着来
工具使用就是说我们是要实际解决一个问题的,而不是单纯当玩具来玩

概念框架:LLM-based agent由以下部分构成:大脑+感知+行动。
这部分就不介绍那么细了,基本上是按照人的实践流程来定的。

4.chat在左,agent在右
“chat在左,agent在右”这句话是在最近比较火的,其中一层意思是说,Chatbot不一定适合作为agent。
虽然我们常说ChatGPT是GPT-4之下最强的模型,但其实ChatGPT可以认为是Chat特化后的。其实最普通的大模型的主要作用不是和用户交互,而是“接续生成”,例如我们给出代码的前半部分让它补全后半部分。LLM要做成chatbot是需要额外添加token的,往往也需要额外的微调。
所以现在有人在尝试更适合agent任务的微调方法。

5.结语
总之,ChatGPT的爆火带来了LLM-based agent的发展,现在依然是LLM相关研究中比较热门的话题,毕竟agent能适应的范围是极广的,而且容易宣传(“你只需要支付5英镑就可以做出自己的游戏哦”)。
期待后续发展喽。