agent-memory

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Agent Memory

Agent Memory

Give agents the ability to remember and learn across conversations.
为Agent赋予跨对话的记忆与学习能力。

When to Use This Skill

何时使用该技能

Invoke this skill when:
  • Adding conversation history
  • Implementing long-term memory
  • Building personalized agents
  • Managing context windows
在以下场景中调用该技能:
  • 添加对话历史记录
  • 实现长期记忆
  • 构建个性化Agent
  • 管理上下文窗口

Parameter Schema

参数 Schema

ParameterTypeRequiredDescriptionDefault
task
stringYesMemory goal-
memory_type
enumNo
buffer
,
summary
,
vector
,
hybrid
hybrid
persistence
enumNo
session
,
user
,
global
session
参数类型是否必填描述默认值
task
string记忆目标-
memory_type
枚举
buffer
,
summary
,
vector
,
hybrid
hybrid
persistence
枚举
session
,
user
,
global
session

Quick Start

快速开始

python
from langchain.memory import ConversationBufferWindowMemory
python
from langchain.memory import ConversationBufferWindowMemory

Simple buffer (last k messages)

Simple buffer (last k messages)

memory = ConversationBufferWindowMemory(k=10)
memory = ConversationBufferWindowMemory(k=10)

With summarization

With summarization

from langchain.memory import ConversationSummaryBufferMemory memory = ConversationSummaryBufferMemory(llm=llm, max_token_limit=2000)
from langchain.memory import ConversationSummaryBufferMemory memory = ConversationSummaryBufferMemory(llm=llm, max_token_limit=2000)

Vector store memory

Vector store memory

from langchain.memory import VectorStoreRetrieverMemory memory = VectorStoreRetrieverMemory(retriever=vectorstore.as_retriever())
undefined
from langchain.memory import VectorStoreRetrieverMemory memory = VectorStoreRetrieverMemory(retriever=vectorstore.as_retriever())
undefined

Memory Types

记忆类型

TypeUse CaseProsCons
BufferShort chatsSimpleNo compression
SummaryLong chatsCompactLoses detail
VectorSemantic recallRelevantSlower
HybridProductionBest of allComplex
类型使用场景优势劣势
Buffer短对话简单易用无压缩功能
Summary长对话占用空间小会丢失细节
Vector语义召回相关性强速度较慢
Hybrid生产环境兼顾所有优势实现复杂

Multi-Layer Architecture

多层架构

python
class ProductionMemory:
    def __init__(self):
        self.short_term = BufferMemory(k=10)    # Recent
        self.summary = SummaryMemory()           # Compressed
        self.long_term = VectorMemory()          # Semantic
python
class ProductionMemory:
    def __init__(self):
        self.short_term = BufferMemory(k=10)    # Recent
        self.summary = SummaryMemory()           # Compressed
        self.long_term = VectorMemory()          # Semantic

Troubleshooting

故障排除

IssueSolution
Context overflowAdd summarization
Slow retrievalCache, reduce k
Irrelevant recallImprove embeddings
Memory not persistingCheck storage backend
问题解决方案
上下文溢出添加摘要功能
检索速度慢启用缓存,减小k值
召回结果不相关优化嵌入模型
记忆无法持久化检查存储后端

Best Practices

最佳实践

  • Use multi-layer memory for production
  • Set token limits to prevent overflow
  • Add metadata (timestamps, importance)
  • Implement TTL for old memories
  • 在生产环境中使用多层记忆架构
  • 设置令牌限制以防止溢出
  • 添加元数据(时间戳、重要性)
  • 为旧记忆实现TTL机制

Related Skills

相关技能

  • rag-systems
    - Vector retrieval
  • llm-integration
    - Context management
  • ai-agent-basics
    - Agent architecture
  • rag-systems
    - 向量检索
  • llm-integration
    - 上下文管理
  • ai-agent-basics
    - Agent架构

References

参考资料