文章链接: https://arxiv.org/pdf/2410.08328
摘要
这篇论文介绍了一种“Talker-Reasoner”架构,用于提升大语言模型在与用户交互时的效果。论文将该架构类比于Kahneman提出的“快思慢想”理论,其中“Talker”代理(系统1)负责快速、直观地生成对话响应,而“Reasoner”代理(系统2)则专注于多步骤推理和规划。这种模块化设计不仅提高了响应的灵活性和准确性,还减少了延迟。
文章类比了人类思考的两种模式:快速、直观的系统1和缓慢、深思熟虑的系统2。
系统1能够快速做出判断和反应,比如感知速度较快的汽车或识别同事的情绪。而系统2则处理复杂问题,如规划假期和进行复杂计算,代表了有意识的推理。两者在认知过程中密切互动,系统1持续为系统2提供直觉和建议,后者可以选择采纳这些建议。
类似的双系统方法也适用于强化学习(RL)问题。随着大语言模型(LLMs)的快速发展,各种人工智能代理(如编程助手、导师和健康教练)被期望能通过语言理解世界的复杂模式,并产生直觉和连贯的对话。这种能力与系统1相似,而代理在进行多步骤推理、调用工具、检索信息和解决复杂问题时则与系统2的功能相符。
主要方法

整个双系统架构如图所示。在这个双系统架构中,Agent被分为两个角色:快速直观的对话代理和较慢深思熟虑的推理代理。
对话代理负责与用户进行自然的语言交流,能够迅速感知用户的反馈和对话历史,生成连贯的回答。它通过访问Memory,将最新的信息融入其回应中,尽管它的视角可能存在滞后。这种滞后是因为推理代理可能需要时间来进行复杂的分析和形成新的观点,导致对话代理在生成响应时使用的是较旧的观点。
与此同时,推理代理承担着更为复杂的任务,包括多步骤的推理和规划。它会生成新的理解,并将其存储在Memory中,以便对话代理在需要时进行检索。推理代理通常是以特定目标为导向,能够将复杂问题分解为小问题,从而有条不紊地解决。
Talker Agent
Reasoner Agent
总结
本文并没有做更多的实验来支撑这种架构。原文有一个真实场景(Sleep Coaching)的评估案例,感兴趣的读者可以阅读原文的第四章节来看一下在这个场景下,双系统架构是如何生成每一轮的响应的。
笔者认为,这篇文章虽然只是一个技术方案报告,但在一些垂直领域场景下,确实更有可行性。