记忆管理
TLDR;
一直想写 Agent 记忆相关内容,特别是在发现这篇宝藏文章 —Memory for LLM Agents: Milla Jovovich and 20/20 Hindsight 之后。但迟迟无法下笔,固然是怕自己写不好还要误人子弟,另一个重要原因是我能比 AI 多带来什么?论给这篇文章做总结、提炼,我不如 AI,最多只能剪枝,或者小范围的补充。然而记忆管理对于 Agent 而言又是如此重要,不反刍、内化后加以呈现,无法做到更好的理解,从而影响进一步的实践。
越来越短的睡眠不也全都是坏处,5 点左右醒来,虽有辗转的痛苦,头脑却异常清醒(这应该是痛苦最重要的来源)。
何不换个角度?
Memory for LLM Agents: Milla Jovovich and 20/20 Hindsight 可谓是一篇记忆管理相关技术的综述的综述,不能说是面面俱到,心血定时一点不少的。它展览了目前为止 Agent 记忆管理领域形形色色的 “榔头”,而且在这 AI 大势下,不一定要有专业背景也能出谋划策给出很好的思路,文章题目就有出演《第五元素》的 Milla Jovovich,作为核心作者参与开发了MemPalace。
为什么不换个角度呢?
“榔头” 本身自有其价值,但类似 Claude Code 的开发逻 — 从实际场景出发、扣每个细节,可能对当下更有价值。
记忆 上下文 提示词
首先,我们需要来澄清几个概念:记忆,上下文和提示词。
本文的主题记忆管理包含这三者。提示词最早出现,也相对容易理解,不就是发送给大模型的内容嘛(实际场景中,提示词对于研发和用户之间的概念还会有所不同)。记忆和上下文的概念可能会更加暧昧一些,早期个人是把两者混用的;现在来看,它们之间会有明显的区别。
提示词
提示词的概念出来最早,流传也最广,早期大模型应用开发人员被戏称为 “提示词工程师”。
这里不过多展开,只澄清一个事实:用户发送给各类工具(Chatbot 或者 Agent)的请求内容,从用户侧来看这就是提示词,用户调的就是这个内容。而对于工具开发而言,用户请求的内容并不是提示词的全部,还包括了给用户偷偷预置的提示词(很大部分是系统提示词)。这类内置的提示词大概的样子如下:
你是一个专业的****,说实话,但有温度地表达,不确定的事要明确说不知道,不主动提及用户个人财务细节。
恰好你也做过大模型应用开发,就可能提出疑问:那么哪些可能被用到的工具呢?不也要组装成提示提吗?