在大模型技术日新月异发展的时代,技术观点也得日拱一卒,苟日新日日新,不存在稳定的金科玉律。与其私藏一时一刻的技术思考,不如分享以求碰撞和启发。本文根据蚂蚁集团财富保险事业群资深算法专家陈鸿在AICon 全球人工智能开发与应用大会的分享整理而成。
01
智能体、多智能体都是当下的技术热点,但作为一个技术人应该理解,所有的技术都有自己所针对的问题、及其能力边界,并不存在普适的、放诸业务场景皆work的技术方案。我们在这里尝试区分,从大模型到智能体再到多智能体这几个AI热点概念背后的关键差异和适用范围。
先从语言模型说起,一个经过足够语料充分预训练的基模型(Base model),就是一个压缩了海量知识的知识容器,但这些知识关在数百亿到千亿的参数黑盒中难以使用。OpenAI在2020推出GPT3的时候,因为它生成内容的不可靠和不可控,引发了当时媒体对AI的嘲笑和质疑,而不是现在的追捧。
2022年底ChatGPT破圈逆转了大众对大语言模型的看法,基模型在完成对齐(SFT + RLHF/ DPO)之后,就成为一个助手模型(Chat model),它可以被看作一个以自然语言为输入输出接口的AI machine,它不仅掌握语言且对齐了人的偏好,于是可以流利的和人交流;并因为能输出语言,而可以通过语言操控其他工具;我们还发现这些对齐过的模型具备一定的简单推理能力,虽然问题复杂的时候,就容易失败。整体上,这一批Chat Model已经开始让人产生了它具备一定程度智能的错觉,当然实际上,大模型只是一个无状态的query-answer machine,某种意义上等价为一个哲学家约翰塞尔(John Searle)提出的“中文屋子”(chinese room)(一个有趣的思想实验),LLM是无状态的,比如你在和大模型聊过五分钟后和它再聊,与隔上五天再和它聊,它对待你不会有任何差别。在本质上,LLM和其他神经网络模型一样是个无状态的函数,目前LLM的一切状态性处理,都依赖外部的Prompt机制。LLM能和人进行多轮对谈,需要外部系统对整个对话session的状态保持(并回传到prompt 里)。
从大模型到智能体,关键的区别就是从无状态的模型变成了有状态的状态机。智能体要接入(Grounding)环境,完成任务,就必然涉及工作流(workflow),就需要有保持任务状态的能力,无状态的模型无法持续跟进一个任务的工作进程。
智能体的感知、行动、记忆、规划,也都需要基于一系列离散的被定义的状态来进行,或者说,一个智能体能在其中规划并活动的外部环境需要被加工为离散化概念。发散来说,人类也是这样,光谱是连续的,但人类能喊出名字的只有赤橙黄绿青蓝紫,声音的频谱是连续的,但人类的知觉把音频加工为一系列离散的元音/辅音/字/词,是这些离散的token而不是连续的音高构成了语言的基础。可以发现,人类智能从感觉到知觉也是一个从连续到离散的状态化加工过程。要让大模型接入真实世界解决真实任务的时候,我们就需要把大模型进一步封装为某种智能体。
Agent规划和完成任务的关键是成为状态机,但专业任务往往是多环节多分支的,在每个环节和分支上,专业化分工会有更高效的ROI。这就产生了从智能体发展到多智能体的必要性,而在不同环节的职能岗位上,不同的智能体如何通过合理的协同模式组织在一起,这是属于多智能体的核心技术问题,多智能体作为一个团队,需要比直接大模型端到端或单一智能体从头单打独斗更鲁棒,而不能因为组织的复杂性让整体变得更脆弱。
在金融场景里可以把任务粗略的分为两类,一类是可以由大模型端到端直接生成结果的,端到端可以类比为人类的系统1或快思考模式,包括「问答、摘要、给出建议」这些任务。这容易理解,我们说话的时候,不需要也没有办法去一个一个字往外说,我们真正思考的单位是一个个念头或者想法,是这些想法构成推理和思考的基础单元(building-block),这也就是所谓的系统2或慢思考,也是当前大模型难以很好处理的推理问题,但我们可以基于Agent的workflow与自省来应对。在金融场景里,许多专业任务需要一定程度的分析、归因、决策,这些都更适合通过智能体或多智能体来实现。
智能体(Agent)不是一个新概念,它的历史比大模型更久,1995年出版的经典著作 《Artificial Intelligence:A modern approach》 第一版就以Agent为中心展开(附带一提,这本书最新是2020年的第4版,依然不改初衷以Agent为总领全书的总纲,现在如果出第5版,肯定就会讨论Large Language Agent了)。感知器Sensor、行动器 Effector,规划器Planner,记忆Memory, 这些Agent的核心组件或能力在95-2000年那时就成体系的提出来了。
如前所述,对以端到端完成任务为目标的智能体而言,没有状态,不成方圆。我们能发现感知、规划、行动、记忆这些智能体的核心能力事实上都依赖对特定状态的定义和识别。例如,感知能力,依赖对智能体所在环境状态的定义和识别;规划能力,依赖对任务不同状态的定义和识别;行动能力,依赖行动选项状态的定义和识别;记忆能力,则依赖对行为结果状态的定义和识别。智能体正是通过对这些状态的识别,和外部环境有效对接,管理和完成任务。这是一套强调落地的合理设计,但涉及状态的识别或状态间的迁移,只能依赖规则或上一代机器学习算法,由于泛化能力不足,智能体在实际任务中就不免会制造各种bug。例如扫地机器人是个典型的具身+自治Agent,但大家只要家里有过扫地机器人的,应该能想起各种扫地机器人因为corner case(literally!)闹的笑话。
在大模型横空出世之后,加上AutoGPT,LangChain等框架的出现,充分发挥了大模型控制工具的能力,让许多人看见了用大模型作为智能体核心引擎的优势,更重要的是,LLM取代机械的规则,能更鲁棒更泛化的识别任务(以及环境)状态,在理想情况下,当前LLM-based Agent能基于自然语言的任务描述持续展开任务,泛化地确认任务完成进度,并视情况动态规划再采取行动,这是一个美好设计,但当然未经调整的通用大模型还是很难无痛顺利完成任务,因为一个专业任务不可避免地涉及大量过程性知识,如何感知、如何执行、如何规划背后都依赖各种专业Know-How,所谓Know-How,就是一件事如何完成,是所谓过程性知识。这些专业的Know-How,或过程性知识往往是不成文的,大家交接工作的时候,最麻烦的就是这些没有写在文档里的经验。要让智能体顺利完成任务,就需要形式化那些不成文的专家Know-How,提供将之引入智能体的合理机制。
从单Agent到多Agent协同,这是源自ROI的压力,专业任务往往是多环节多分支的,在每个环节和分支上,经济规律决定了专业分工会有更高效的ROI。这就产生了从智能体发展到多智能体的必要,而在不同环节的职能岗位上,不同的智能体如何通过合理的协同模式组织在一起,这是属于多智能体的核心技术问题。
人类自己就是依靠分工协同而成为了地球的顶级掠食者,人没有依靠牙齿爪子、力量速度等等单一个体的能力,人是靠组成一个社会之后形成的集体能力,这超越了任何超级个体的能力。集体力量大这件事在AI上也不会例外,当然,成功的社会化并不容易,历史不止一次的证明,引入有效社会化机制(组织形态)的力量和价值(以及错误的组织形态的破坏性)。
回到多智能体上,不同类型的专业任务值得我们定向设计不同的协同模式。第一类:任务可以逐层分解的适合上下级协同的模式(这个模式非常常见,后面我们开源的Agent框架核心贡献就是提供了这个模式的一个核心抽象:PEER,Plan-Execute-Express-Review,此处不再赘述),第二类:那些存在解法但难以拆解为固定步骤的更适合师生传授式协同(例如数学证明需要的是思路点拨或样题举例, 从费马大定理到行程问题都不适合分工规划再解决)。第三类:那些开放性的复杂问题无从规划,则更适合交给某种竞争-评价的机制让不同智能体并发搜索可能解法。
02
回到金融场景,我们把金融场景的特殊性总结成三点:信息密集、知识密集、决策密集。
关于信息密集,我们都知道一方面金融业务强依赖高频更新的资讯(更新密集),导致严谨的时效性处理必不可少,另一方面,这些信息中大量属于相关但无因果关系的噪声信息,需要有效屏蔽噪声才能做出正确决策。
知识密集:我们能看见金融市场中,围绕各种资产,有各种不同的理论和分析,但金融中的知识,不仅高密度,还是彼此高度对立的。我们会发现许多互相冲突的观点,某种意义上,这些冲突构成了市场交易的基础,买卖双方必然对资产价格有截然不同的预期,所以才有一买一卖,双方意见一致则不会形成交易,某种意义上,这就是为什么需要金融市场。市场是一种通过交易形成共识的机制。于是,金融领域中的观点必然冲突,这对大模型构成有趣的挑战,面对金融领域的多篇观点时,LLM不能强行捏合成一个统一观点,既需要明确共识,也需要暴露分歧。
在金融领域,比知识冲突更需要LLM关注的是知识的边界,不存在无远弗届永远生效的知识,大的说,牛顿三定律在接近光速时失效,小的说,许多金融逻辑都有对宏观经济形势的潜在要求,大模型在理解和处理这些逻辑的时候,需要理解这些知识的边界,否则就会闹出笑话。
最后是决策密集,金融领域的决策有非常强的特殊性:其一是不确定性,金融决策面对的是开放环境,其他市场主体的参与和博弈带来了无穷变数,金融决策从头到尾都需要和不确定性信息共舞。其二,金融决策是高度不对称的,我们熟知搜索推荐解决的是在海量信息中匹配偏好的信息不对称问题,但在金融决策中有类似的不对称现象,往往在大量决策中只有个别决策处于关键位置,带来关键收益(或避免风险)。如何定位这些关键决策点是金融所要处理的决策不对称性问题。
信息、知识、决策的问题对大模型而言都有标准解法,例如用RAG提供信息更新,引入图谱来规范知识,再包括强化推理能力的CoT方案。但面对金融特点,这些标准方案的效果不及预期。RAG容易,但RAG多篇混入的噪声信息不容易处理。图谱有效,但图谱难以处理冲突和有边界的知识(有边界的知识不是Knowledge Graph中简单的二元关系,需要N元关系来刻画),CoT也难以应对决策的不确定性和不对称性。
所以我们需要考虑金融场景的定制方案。此处我们把信息、知识和决策三类任务总结成两个对齐方向:一个是严谨性、一个是专业性。我们期望通过大模型和多智能体两层各司其职,大模型负责压入必要的知识和能力,多智能体装载相关过程性Knowhow来保障金融的严谨和专业。
大模型具有幻觉的内在缺陷已经是一个老生常谈,不过有内在缺陷并不意味着 基于大模型的智能体应用不可能按严谨的标准完成任务。毕竟人也一样有类似的问题,人类也早已熟知通过系统的方式保障严谨。
幻觉是两种生成式智能(人和AI)共同具有的特征,它恰恰来源于对空缺的预测和生成,有一系列认知神经科学的实验说明,当一些人类患者的和视觉相关的脑组织被切除或破坏,他们本应消失的视野(盲区)里会被大脑自动填补出生动的幻觉形象(爱丽丝综合症),更日常的例子相信每个普通人也都体验过,当我们被人问及一些位于我们知识边界之外的问题,大脑会快速脑补出一些如假包换的「幻觉」来填充知识的空洞。我们在这里列了知识引用、知识边界、知识冲突来说明容易引发大模型幻觉出现的场景,当然也不限于此。
具有内在缺陷,不代表系统不能安全工作。人自己就是例子。人类本身就会有注意力的问题、预判力的问题,但我们在大多数情况下还是信任我们的司机能把我们安全的送到目的地。我们培训司机的驾照考试,某种意义就是一个对齐过程:让普通人向老司机一步步对齐。科目一/科目二/科目三分别就是知识注入的预训练/持续训练、SFT阶段,以及最后的强化学习阶段(边上坐一个老司机评价你是否OK)。但汽车如果危险仅仅有一个安全驾驶的司机也不行,汽车也需要遵循安全规范预防各种情况并做好各种最坏情况下的安全措施,最终如果我们有一个安全的司机和一辆安全的汽车,我们期待交通系统整体也是安全的,例如必要的信号灯、车道、交通警察等等。
把这个metaphor映射回LLM应用,LLM需要面向严谨性对齐(基于各种细分任务且接受老司机检验,就像驾照培训需要分解到转弯倒车入库等等具体任务),LLM外的智能体则需要准备好更多面向严谨的辅助性措施(类似于汽车之于司机),最终才是AI应用所在的整体系统可以做的一些规范性工作。个人意见是严谨性任务还是应该聚焦在模型和智能体这两层,系统级别的围栏有效且必要,但如果模型和智能体毫无改善,不免出现大量尴尬的拒答。
专业是相对于通识而言。我们在讨论专业性的时候,需要意识到,专业本身就是分工的产物,无分工,不专业。一个个专业职能和擅长这些职能的专家的产生,本身是人类社会面向经济效率的优化结果。只有协同分工才是针对多任务难问题的高ROI方案,那么自然的问题,AGI不需要面向任务优化,用一个超强的AGI (或当前可得的最强大模型)去处理所有问题是否才是LLM时代的合理解法呢?滥用最强模型当然不合理,各家大模型厂商也提供不同尺寸的模型供应用方选择,应用方更有责任面向专业任务,将基座向特定专家对齐(向普通人偏好对齐的通用基座容易underqualified 或 overqualified )。在面对复杂困难任务的时候,通过多智能体团队协作,ROI更容易胜过 超级基座单打独斗。
其次,在专业领域,知识容易速成(弥补),但专业能力则提升困难。这个点,LLM和人也高度一致。当新知识新技术出现,我们可以通过网络或翻查Manuel 快速弥补自己的一些知识漏洞,但如果能力有缺,不经过亲手实践和踩坑获取一手经验教训,难以有所进步。对大模型也是如此,知识缺乏,可以RAG,可以KG,但如果模型的一些专业能力不足,计算/推理/行情归因,都不是简单能解决的问题。
于是最终的结论也很明显。专业性建设的核心就是对一个系统中不同专业职能的差异化能力的定义和实现。起步阶段我们可以从优秀基座通过人设套取数据,但面向专家的对齐工作逃不掉,最终需要差异化精调的不同能力,这些能力建议聚合在一个基座中,但还是由不同Agent差异化使用。
03
关于我们已经开源的多Agent框架agentUniverse,各位可以通过《从孤立到协作,大模型多智能体协同使复杂任务迎刃而解》(点击即可查看)一文做深入了解,Github上也有相关的项目介绍和代码。
agentUniverse 项目地址: