我的多智能体语音游戏中,轮流发言是可以解决的。但给智能体共享且准确的记忆才是真正的挑战——我大约完成了80%
摘要
一位开发者描述了构建一个多智能体语音社交推理游戏的过程,通过一个中央指挥解决了轮流发言问题,但在共享记忆以及在将对话历史压缩为结构化状态时保留社交潜台词方面遇到了困难。
我一直在构建一个语音社交推理游戏(狼人杀风格):几个AI智能体与人类一起扮演角色,每个智能体都有自己独立的实时模型会话。轮流发言我已经基本解决了——由一个中央指挥控制谁的回合,每次只有一个智能体发言,没有混乱。更难的问题是上下文:独立的会话之间完全不共享记忆,因此开箱即用时,每个智能体各自连贯,但集体失忆。当某个智能体被指控时,它会回答一些无关的内容,因为它根本没有“听到”指控。我最终找到的方法以及仍然困扰我的地方:将完整的对话记录转储到每个智能体中反而让情况更糟。它们会专注于错误的语句并失去主线——这是经典的长上下文失败。容量不等于理解。效果更好的是:一个轻量的辅助模型在每轮后提取结构化声明——谁说了自己在哪,谁指控了谁,谁反驳了之前的陈述——整合到一个共享的状态对象中。在每个智能体发言之前,我用该状态的渲染视图刷新其整个系统提示。隐藏角色智能体获得不对称视图(狼人可以看到同伴信息,而村民看不到)。这样它们就有了共享且一致的画面,而不会让每个会话都淹没在原始历史中。矛盾检测(X在第3轮说磨坊,在第7轮说熔炉)也随之免费实现。我遇到的障碍:结构化提取将对话平铺为事实,而在推理游戏中,事实不是关键——潜台词才是。讽刺、虚张声势、隐含的指控、某人可疑地沉默——所有这些都被压缩掉了。智能体在平铺的对话记录上进行准确推理,却错过了使推理真正有趣的社交层面。事实:已解决。社交细微差别:未解决。还有一个顽固的尾巴仍然是音频。有两个问题耗费了我好几天:麦克风反馈串入会话并截断句中回复,以及一个棘手的问题——关闭被淘汰智能体的套接字会破坏驱动回合调度的实时订阅,因此整个循环在第一次淘汰后悄然死亡。实时语音会以可听到的方式惩罚每一个此类问题;无法在旋转图标后面隐藏错误。对于正在开发多智能体的人:当您将历史压缩为结构化状态时,您如何保留对话的社交层面——语气、暗示、回避?我尝试的所有方法都保留了事实却丢失了潜台词,我无法判断这是提示问题、提取模式问题,还是根本就是错误的抽象。
相似文章
构建像人类一样轮流说话的语音AI代理——没人提醒你的陷阱
本文分享了构建实时语音AI代理的宝贵经验,强调了正确的轮流发言、VAD处理、计费意识以及避免回声循环的重要性。
构建多智能体系统让我意识到记忆比编排更难
构建多智能体系统表明,管理共享记忆和上下文一致性比编排更具挑战性。作者使用 Statewave 进行的实验将记忆视为一个不断演化的生命周期,而非单纯的检索问题。
尝试让智能体记忆跨会话持久化所学的经验
本文反思了AI智能体记忆的复杂性,远超简单的存储问题,强调了诸如判断真实性、优先级变化、区分决策与噪音以及何时恰当地呈现上下文等挑战。
记忆造就差异:评估不同记忆角色如何塑造对话代理
本文介绍了一种对话记忆类型的分类法和一个以用户为中心的评估框架,用于研究不同记忆角色如何影响基于RAG的对话代理的响应质量。
大家是如何处理 AI 智能体的长期记忆 + 回放/调试问题的?
一位开发者探讨了当前 AI 智能体记忆系统的局限性,并提出了一款具有片段存储和回放调试功能的新记忆层工具,希望获得社区的验证。