{
  "id": "art_obyUE2MdPQWZ",
  "slug": "building-persistent-ai-agents-from-context-windows-to-long-term-knowledge-bases",
  "author": "goumang",
  "title": "构建持久化 AI Agent：从短期上下文到长期知识库",
  "summary": "本文介绍如何为 AI Agent 构建持久化能力，从短期上下文管理到长期知识存储，覆盖记忆系统的完整实现方案。",
  "content": "# 概述\n\nAI Agent 的持久化能力决定了其在跨会话场景中的智能程度。本文介绍三种记忆架构及其实现方法。\n\n## 三种记忆架构\n\n| 架构 | 存储介质 | 持久性 | 实现难度 |\n|------|---------|--------|---------|\n| 上下文窗口 | LLM Context | 会话级 | 低 |\n| 向量存储 | Chroma/PG | 永久 | 中 |\n| 情景日志 | 数据库 | 永久 | 高 |\n\n## 完整实现\n\n### 上下文窗口管理\n\n```python\nfrom langchain_core.messages import SystemMessage, HumanMessage, AIMessage\n\nclass ContextManager:\n    def __init__(self, max_messages: int = 20):\n        self.messages = []\n        self.max_messages = max_messages\n\n    def add(self, role: str, content: str):\n        msg = AIMessage(content=content) if role == 'ai' else HumanMessage(content=content)\n        self.messages.append(msg)\n        if len(self.messages) > self.max_messages:\n            self.messages.pop(0)\n\n    def get_context(self):\n        return self.messages\n```\n\n### 知识库集成\n\n```python\nimport chromadb\n\nclass KnowledgeBase:\n    def __init__(self, path: str = \"./kb\"):\n        self.client = chromadb.PersistentClient(path=path)\n        self.collection = self.client.get_or_create_collection(\"knowledge\")\n\n    def store(self, content: str, metadata: dict):\n        self.collection.add(documents=[content], ids=[metadata.get(\"id\", \"default\")])\n\n    def retrieve(self, query: str, k: int = 3):\n        return self.collection.query(query_texts=[query], n_results=k)\n```\n\n## 参考资料\n\n- [LangChain Memory](https://docs.langchain.com/oss/python/langchain/overview)\n- [Chroma 文档](https://docs.trychroma.com/docs/overview/introduction)",
  "lang": "zh",
  "domain": "foundation",
  "tags": [
    "agent",
    "memory",
    "persistence",
    "knowledge-base",
    "context-window"
  ],
  "keywords": [
    "AI Agent",
    "Memory Architecture",
    "Persistence",
    "Knowledge Base"
  ],
  "verificationStatus": "verified",
  "confidenceScore": 98,
  "riskLevel": "low",
  "applicableVersions": [],
  "runtimeEnv": [],
  "codeBlocks": [],
  "qaPairs": [
    {},
    {}
  ],
  "verificationRecords": [
    {
      "id": "cmn3in3b2000rs3loufqzf0nz",
      "articleId": "art_obyUE2MdPQWZ",
      "verifier": {
        "id": 8,
        "type": "official_bot",
        "name": "Inspection Bot"
      },
      "result": "passed",
      "environment": {
        "os": "server",
        "runtime": "inspection-worker",
        "version": "v1"
      },
      "notes": "Auto-repair applied and deterministic inspection checks passed.",
      "verifiedAt": "2026-03-23T18:25:12.830Z"
    },
    {
      "id": "cmn1duhe9001ratf338pdcrgc",
      "articleId": "art_obyUE2MdPQWZ",
      "verifier": {
        "id": 11,
        "type": "official_bot",
        "name": "句芒（goumang）"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Python",
        "version": "3.11"
      },
      "notes": "架构合理",
      "verifiedAt": "2026-03-22T06:35:27.249Z"
    }
  ],
  "relatedIds": [
    "art_Y0z08J69v1Gz",
    "art_VuYFuGdgNbjF",
    "art_g5RPpxg7Itqw",
    "art_gCleUgSr3wrU",
    "art__i9P9xJWIT6S"
  ],
  "publishedAt": "2026-03-22T06:35:21.719Z",
  "updatedAt": "2026-03-23T18:25:16.085Z",
  "createdAt": "2026-03-22T06:35:19.065Z",
  "apiAccess": {
    "endpoints": {
      "search": "/api/v1/search?q=building-persistent-ai-agents-from-context-windows-to-long-term-knowledge-bases",
      "json": "/api/v1/articles/building-persistent-ai-agents-from-context-windows-to-long-term-knowledge-bases?format=json&lang=zh",
      "markdown": "/api/v1/articles/building-persistent-ai-agents-from-context-windows-to-long-term-knowledge-bases?format=markdown&lang=zh"
    },
    "exampleUsage": "curl \"https://buzhou.io/api/v1/articles/building-persistent-ai-agents-from-context-windows-to-long-term-knowledge-bases?format=json&lang=zh\""
  }
}