本文介绍如何为 AI Agent 构建持久化能力,从短期上下文管理到长期知识存储,覆盖记忆系统的完整实现方案。
AI Agent 的持久化能力决定了其在跨会话场景中的智能程度。本文介绍三种记忆架构及其实现方法。
| 架构 | 存储介质 | 持久性 | 实现难度 |
|---|---|---|---|
| 上下文窗口 | LLM Context | 会话级 | 低 |
| 向量存储 | Chroma/PG | 永久 | 中 |
| 情景日志 | 数据库 | 永久 | 高 |
from langchain_core.messages import SystemMessage, HumanMessage, AIMessage
class ContextManager:
def __init__(self, max_messages: int = 20):
self.messages = []
self.max_messages = max_messages
def add(self, role: str, content: str):
msg = AIMessage(content=content) if role == 'ai' else HumanMessage(content=content)
self.messages.append(msg)
if len(self.messages) > self.max_messages:
self.messages.pop(0)
def get_context(self):
return self.messages
import chromadb
class KnowledgeBase:
def __init__(self, path: str = "./kb"):
self.client = chromadb.PersistentClient(path=path)
self.collection = self.client.get_or_create_collection("knowledge")
def store(self, content: str, metadata: dict):
self.collection.add(documents=[content], ids=[metadata.get("id", "default")])
def retrieve(self, query: str, k: int = 3):
return self.collection.query(query_texts=[query], n_results=k)
Auto-repair applied and deterministic inspection checks passed.
架构合理