Skip to content

记忆系统

PRX 提供灵活的记忆系统,使 Agent 能够在对话之间持久化和回忆上下文。记忆系统支持 5 种存储后端,每种都针对不同的部署场景进行了优化。

概述

记忆系统提供三个核心功能:

  • 回忆 -- 在每次 LLM 调用前检索相关的历史交互和事实
  • 存储 -- 持久化从对话中提取的重要信息
  • 压缩 -- 总结和压缩旧记忆以适应上下文限制

存储后端

后端持久性搜索方式最适场景
Markdown文件存储全文 grep单用户 CLI,版本控制记忆
SQLite本地数据库FTS5 全文搜索本地部署,小团队
PostgreSQL远程数据库pg_trgm + FTS多用户服务器部署
向量嵌入向量存储语义相似度RAG 检索,大型知识库
内存无(仅会话期间)线性扫描临时会话,测试

配置

config.toml 中选择和配置记忆后端:

toml
[memory]
backend = "sqlite"  # "markdown" | "sqlite" | "postgres" | "embeddings" | "memory"
max_recall_items = 20
recall_relevance_threshold = 0.3

[memory.sqlite]
path = "~/.local/share/openprx/memory.db"

[memory.postgres]
url = "postgresql://user:pass@localhost/prx"

[memory.embeddings]
provider = "ollama"
model = "nomic-embed-text"
dimension = 768

记忆生命周期

  1. 提取 -- 每个对话轮次后,系统提取关键事实
  2. 去重 -- 新事实与现有记忆进行比较
  3. 存储 -- 唯一的事实被持久化到配置的后端
  4. 回忆 -- 每次 LLM 调用前,检索相关记忆
  5. 维护 -- 定期维护压缩和清理过期条目

相关页面

Released under the Apache-2.0 License.