AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Langchain创始人:Agent记忆管理大揭秘
发布日期:2024-10-21 19:37:35 浏览次数: 1550 来源:探索AGI


嘿,大家好!这里是一个专注于AI智能体的频道~

今天给家人们分享一个有意思的分享。在今年3月份人工智能大会上,langchain的创始人Harrison Chase分享了一个关于Agent的演讲,其中提到了目前智能体的三大局限:规划、用户体验和记忆。

经过大半年的探索,记忆这块,langchain家族做了哪些深入的发展呢?

对于一个系统而言,用户是非常希望他具备记忆能力的,也可能是目前的各种系统本身已经非常人性化了。然后!系统本身并不具备内在的记忆功能,因此你需要有意识地添加记忆的能力。但要如何做到这一点呢?

记忆具有应用特异性 - 记忆是特定应用程序相关的。智能体的一个关键是用户体验。不同的用户体验提供了独特的方法来收集和更新相应的反馈记忆。比如说pycharm的智能体,可能会优先记住用户喜欢哪些python库;unify会记住用户正在研究的行业和领域。

先来看记忆的类型,在CoALA中划分为3类。

  1. 过程性记忆:这个指的是长期记忆,系统如何执行任务的指令集,类似于大脑的核心指令集。比如说一个小孩学会骑自行车。CoALA 论文将过程性记忆描述为权重和代码的集合,在实践中,几乎没有系统能去自动化修改这种记忆。

  2. 语义记忆:对于人类来说,它由学校学习到的各种事实信息、概念含义以及关联方式等组成。在实践中,一般它是通过利用某种LLM从对话或agent的互动中提取信息来完成。这种信息通常是特定应用场景的,在以后的类似的场景中,检索这些信息并将其插入系统提示词中,以影响agent的回应。

  3. 情景记忆:类比人,回想起过去经历的特定事件或场景。在实践中,情景记忆通常通过few shot提示来实现。如果您收集了足够多的这些样例,那么可以通过dynamic few-shot来完成。这对于指导agent如何以正确的方式执行之前已经执行过的特定操作通常非常有用。相比之下,如果事情不一定有正确的方法,或者如果agent不断在做新事情以至于之前的例子没有太大帮助,语义记忆则更为相关。

如何更新记忆?

更新记忆的一种方式是“ in the hot path” 热更新。这是系统明确决定在回复响应之前,记住某个事实,ChatGPT 就是采用这种方式。

另一种方式是“in the background” 后台更新。在这种情况下,一个后台进程会在对话期间或对话结束后运行以更新记忆。

比较这两种方法,热更新的方法有一个缺点,即在提供任何响应之前引入了一些额外的延迟。它还要求将记忆逻辑与agent逻辑结合起来。

后台更新可以避免这些问题,不会产生额外的延迟,记忆逻辑也能保持独立。但在后台运行也有其自身的缺点:记忆无法立即更新,需要额外的逻辑来确定何时启动后台进程。

更新记忆的另一种方式涉及用户反馈,这与情景记忆特别相关。例如,如果用户将一次互动标记为积极的,那么可以将该反馈保存下来以供将来回忆。

持续在进步的langchain家族!考虑到记忆对智能系统的实用性有很大影响,因此langchain中也在疯狂尝试,已经构建出了许多的功能,如:

  • LangGraph 中用于记忆存储的低级抽象,使用户可以完全掌控agent的记忆 :https://blog.langchain.dev/memory-for-agents/
  • LangGraph 中用于在热更和后台更新,运行记忆的模板示例:https://github.com/langchain-ai/memory-template
  • LangSmith 中用于快速迭代的动态少样本示例选择:https://blog.langchain.dev/dynamic-few-shot-examples-langsmith-datasets/

最后。刘聪老师的新书中讲到了一些Agent的应用落地实战,感兴趣的家人们可以瞅一瞅噢~

好了,这就是我今天想分享的内容。如果你对构建AI智能体感兴趣,别忘了点赞、关注噢~



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询