8/18/2025

大模型agent记忆方案有哪几种

 大模型 Agent 的记忆(Memory)方案,按存储方式、时间跨度、结构化程度可以分成几类,通常会结合使用。大体可以分成以下几种主流思路:


1. 短期记忆(Short-term / Context Memory)

  • 特点:直接放在模型上下文(prompt)里,随每次请求发送。

  • 优点:读取快、无需额外存储。

  • 缺点:受限于模型上下文长度,成本随 token 增加。

  • 常用方式

    • 最近 N 条对话直接拼接到 Prompt

    • 重要信息提炼成总结(Summary)再附加

    • Sliding Window(滑动窗口)策略


2. 长期记忆(Long-term Memory)

  • 特点:将过往信息存到外部存储,按需检索。

  • 常见实现

    1. 向量数据库(Vector DB)

      • 将历史对话/文档向量化(Embedding),用相似度搜索(如 cosine similarity)取回相关内容。

      • 代表工具:Milvus、Weaviate、Pinecone、FAISS。

      • 优点:语义检索,不依赖关键词;可扩展到百万级数据。

    2. 关键词索引(Keyword Index)

      • 存储结构化信息,按关键词或标签匹配。

      • 适合对高精确度、结构化查询有要求的场景。

    3. 混合索引(Hybrid Search)

      • 语义检索 + BM25 等关键词检索混合,提高召回率。


3. 工作记忆(Working Memory)

  • 特点:专门存储当前任务的中间结果、计划、变量等,不与长期对话混合。

  • 实现方式

    • JSON 状态对象(State Store)

    • 临时数据库或内存缓存(Redis)

    • 文件缓存(JSON/YAML)


4. 结构化知识库(Structured Knowledge Base)

  • 特点:将 Agent 学到的事实或规则转化为结构化数据存储,方便精确调用。

  • 实现

    • Graph Database(Neo4j、ArangoDB)存实体与关系

    • SQL 数据库存事实表

    • 用 Schema 存储技能(Skill)、工具(Tool)、知识点


5. 外部记忆插件(External Memory Plugins)

  • 特点:通过 API 调用外部服务读写记忆,减少本地负担。

  • 典型方案

    • LangChain Memory 模块(如 ConversationBufferMemoryVectorStoreRetrieverMemory

    • LlamaIndex(原 GPT Index)持久化记忆

    • OpenAI Assistant API 的 “persistent thread”


6. 混合记忆架构(Hybrid Memory Architecture)

  • 思路

    • 短期记忆:窗口内上下文

    • 长期记忆:向量库+摘要

    • 知识库:结构化事实

    • 工作记忆:临时状态

  • 优势:既保留对话连贯性,又能高效调用历史知识,不爆 token。


💡 常见组合示例

  • LangChain:短期(Buffer)+ 长期(VectorStore)+ 工作状态(State)

  • OpenAI Assistant API:对话线程(短期+摘要)+ 外部数据库(长期)

  • AutoGPT:文件存储(长期)+ 短期 Prompt + 临时计划(JSON)


Go: slice作为函数参数的解包

  在 Go 语言里, ... 跟在 slice 后面 ,是 “解包(unpack)”操作 ,它的作用是 把一个切片的元素逐个展开,作为可变参数传入函数 ,而不是把整个切片当作一个单独的参数。 📌 典型场景: append 追加切片 s1 := []int{1, 2,...