程序记忆图谱
程序记忆图谱
程序性记忆存储了如何做某事。在现实生活中,这种类型的记忆帮助我们不用思考具体动作就能用笔写字或弹吉他。通过练习,这些动作在大脑中内化,我们不再需要思考如何执行它们。
对于人工智能系统,程序性记忆是模型权重、代码和提示的组合。由于提示对我们来说最容易获取,所以这种类型的记忆通常用于存储系统提示、工具描述和指令。这些记忆可以通过最终用户或另一个系统(例如LLM作为评判)的反馈循环进行更新。就像我们通过练习和反馈学会写字一样,代理可以通过完善其内部指令集来学习一项任务。
在这里,图数据模型存储了关于提示的信息。它包含特定用例的系统提示和用户提示。
这就是Text2Cypher代理的数据可能看起来的样子。一种可能的检索策略是在每次新的聊天会话开始时检索这些提示。这确保了自上次会话以来所做的任何更新都已实施。
请注意情景记忆和程序性记忆之间的区别。在Cypher生成示例中,情景记忆是回忆具体的问答和Cypher对,而程序性记忆是回忆Cypher是如何生成的。
更新这些记忆的过程可能如下所示:
- 一系列的提示、答案和反馈三元组被收集作为输入。
- 一个LLM接收这一系列输入,并生成一个符合所提供反馈的新提示。
- 这个新提示被写入数据库。
一旦收到反馈,程序性记忆也很适合在后台写入。在改进提示的例子中,最好等到收到许多反馈响应,以便执行改进的LLM能够与更具代表性的用户样本保持一致。