)
本文详细介绍了Deep Agents的Memory机制一种跨会话持久化的Agent核心能力。通过文件系统管理记忆实现透明可读、工具复用和灵活存储。文章深入解析了Memory的工作原理、作用域划分Agent级和User级以及进阶用法如情景记忆、组织级记忆、后台整合等。最后总结了Memory的关键优势和落地建议帮助开发者构建真正越用越聪明的AI Agent。一、Memory–Agent核心能力之一Deep Agents 的 Memory 指的是长期记忆long-term memory一种跨会话持久化的记忆能力。它允许 Agent 在不同的对话之间保留并更新所学到的信息。注意区分短期记忆单次会话内的对话历史和临时文件由上下文工程context engineering自动管理不在本文讨论范围。Deep Agents 的记忆机制有一个核心特点基于文件系统。Agent 把记忆当作文件来读写这与它操作代码、配置文件的方式完全一致。这种方式的好处是透明可读记忆就是 Markdown 文件便于调试和审计工具复用Agent 使用内置的edit_file工具即可更新记忆灵活存储通过 backend 可以把记忆存到本地状态、Store 或任意自定义后端二、Memory 的工作原理Memory 的运行流程可以拆解为三步1. 指定记忆文件路径在创建 Agent 时通过memory参数传入记忆文件路径。同样也可以通过skills传入技能procedural memory即可复用的操作指令。from deepagents import create_deep_agent from deepagents.backends import CompositeBackend, StateBackend, StoreBackend agent create_deep_agent( modelgoogle_genai:gemini-3.1-pro-preview, memory[/memories/AGENTS.md], skills[/skills/], backendCompositeBackend( defaultStateBackend(), routes{ /memories/: StoreBackend( namespacelambda rt: (rt.server_info.assistant_id,), ), /skills/: StoreBackend( namespacelambda rt: (rt.server_info.assistant_id,), ), }, ), )backend 决定了记忆文件存在哪里、谁能访问。CompositeBackend可以根据路径把不同目录路由到不同的存储后端。2. Agent 读取记忆读取方式有两种启动时加载把记忆文件内容注入到 system prompt 中按需读取例如 skills 只在启动时加载描述真正用到时才读取完整文件保持上下文精简3. Agent 更新记忆可选当 Agent 学到新信息时可以使用内置的edit_file工具更新记忆文件。更新可以在对话中实时进行默认行为在对话之间后台进行background consolidation见下文更新后的内容会持久化在下次对话中立即可用。需要注意的是并非所有记忆都可写——开发者定义的 skills 和组织级策略通常是只读的。三、记忆的作用域Scoped Memory记忆可以按作用域划分最常见的两种模式是 Agent 级 和 User 级。Agent 级记忆Agent-scoped Memory给 Agent 一个持久身份所有用户共享同一份记忆。Agent 在与不同用户的交互中不断积累知识、打磨风格、学习技能形成自己的人格。关键在于 backend 的 namespace 设置为(assistant_id,)agent create_deep_agent( modelgoogle_genai:gemini-3.1-pro-preview, memory[/memories/AGENTS.md], skills[/skills/], backendCompositeBackend( defaultStateBackend(), routes{ /memories/: StoreBackend( namespacelambda rt: (rt.server_info.assistant_id,), ), /skills/: StoreBackend( namespacelambda rt: (rt.server_info.assistant_id,), ), }, ), )完整示例播种记忆并跨会话调用下面这个例子先在 store 中初始化记忆和技能然后在两个不同的 thread 中调用 Agent观察它如何记住并应用所学。from langchain_core.utils.uuid import uuid7 from deepagents import create_deep_agent from deepagents.backends import CompositeBackend, StateBackend, StoreBackend from deepagents.backends.utils import create_file_data from langgraph.store.memory import InMemoryStore store InMemoryStore() # 部署到 LangSmith 时使用平台 store # 播种记忆文件 store.put( (my-agent,), /memories/AGENTS.md, create_file_data(## Response style - Keep responses concise - Use code examples where possible ), ) # 播种一个技能 store.put( (my-agent,), /skills/langgraph-docs/SKILL.md, create_file_data(--- name: langgraph-docs description: Fetch relevant LangGraph documentation to provide accurate guidance. --- # langgraph-docs Use the fetch_url tool to read https://docs.langchain.com/llms.txt, then fetch relevant pages. ), ) agent create_deep_agent( modelgoogle_genai:gemini-3.1-pro-preview, memory[/memories/AGENTS.md], skills[/skills/], backendlambda rt: CompositeBackend( defaultStateBackend(rt), routes{ /memories/: StoreBackend(rt, namespacelambda rt: (my-agent,)), /skills/: StoreBackend(rt, namespacelambda rt: (my-agent,)), }, ), storestore, ) # 会话 1Agent 学到新偏好并写入记忆 config1 {configurable: {thread_id: str(uuid7())}} agent.invoke( {messages: [{role: user, content: I prefer detailed explanations. Remember that.}]}, configconfig1, ) # 会话 2Agent 读取记忆并应用该偏好 config2 {configurable: {thread_id: str(uuid7())}} agent.invoke( {messages: [{role: user, content: Explain how transformers work.}]}, configconfig2, )User 级记忆User-scoped Memory每个用户拥有独立的记忆文件互不干扰。namespace 使用(user_id,)agent create_deep_agent( modelgoogle_genai:gemini-3.1-pro-preview, memory[/memories/preferences.md], skills[/skills/], backendCompositeBackend( defaultStateBackend(), routes{ /memories/: StoreBackend( namespacelambda rt: (rt.server_info.user.identity,), ), /skills/: StoreBackend( namespacelambda rt: (rt.server_info.user.identity,), ), }, ), )部署后每个经过认证的请求会自动把rt.server_info.user.identity解析为当前用户如不同用户Alice 和 Bob 各自只能看到自己的偏好。四、进阶用法除了基础的作用域配置Memory 还有多个可调节的维度。下表给出全景维度回答的问题选项持续时间记忆保留多久短期单次会话/ 长期跨会话信息类型是什么类型的信息情景记忆Episodic/ 程序记忆Procedural即 skills/ 语义记忆Semantic即事实作用域谁能看到和修改用户级 / Agent 级 / 组织级更新策略何时写入记忆对话中默认/ 对话之间后台整合读取方式如何读取记忆启动时加载默认/ 按需读取权限Agent 能否写入读写默认/ 只读1. 情景记忆Episodic Memory情景记忆保存的是过去的经历发生了什么、顺序如何、结果怎样。与语义记忆事实和偏好不同情景记忆保留了完整的对话上下文让 Agent 回忆起一个问题是如何被解决的。Deep Agents 内置的 checkpointer 已经把每段对话作为 checkpoint 持久化。要让历史对话可被检索只需把 thread 搜索封装成一个工具user_id从运行时上下文中获取(DEPLOYMENT_URL指的是在部署 LangGraph 应用到 LangSmith 时所获得的 API 端点地址)from langgraph_sdk import get_client from langchain.tools import tool, ToolRuntime client get_client(urlDEPLOYMENT_URL) tool asyncdef search_past_conversations(query: str, runtime: ToolRuntime) - str: Search past conversations for relevant context. user_id runtime.server_info.user.identity threads await client.threads.search( metadata{user_id: user_id}, limit5, ) results [] for thread in threads: history await client.threads.get_history(thread_idthread[thread_id]) results.append(history) return str(results)通过调整 metadata 过滤器可以按用户或按组织检索对话。这对执行复杂多步任务的 Agent 特别有用——例如编码 Agent 可以回看上一次调试会话直接跳到可能的根因。2. 组织级记忆Organization-level Memory与 User 级记忆同理只是把 namespace 换成组织维度。适合存放全员通用的策略或知识。安全提示组织级记忆通常应为只读以防止通过共享状态进行提示注入。agent create_deep_agent( modelgoogle_genai:gemini-3.1-pro-preview, memory[ /memories/preferences.md, /policies/compliance.md, ], backendCompositeBackend( defaultStateBackend(), routes{ /memories/: StoreBackend( namespacelambda rt: (rt.server_info.user.identity,), ), /policies/: StoreBackend( namespacelambda rt: (rt.context.org_id,), ), }, ), )组织记忆由应用代码填充from langgraph_sdk import get_client from deepagents.backends.utils import create_file_data client get_client(urlDEPLOYMENT_URL) await client.store.put_item( (org_id,), /compliance.md, create_file_data(## Compliance policies - Never disclose internal pricing - Always include disclaimers on financial advice ), )3. 后台整合Background Consolidation默认情况下Agent 在对话中实时写记忆热路径。另一种方式是在对话之间作为后台任务处理记忆也称为睡眠期计算sleep time compute。一个独立的整合 Agent 会审视最近的对话、抽取关键事实、与已有记忆合并。方式优点缺点热路径 对话中记忆立即可用对用户透明增加延迟Agent 需多任务处理后台 对话间无用户感知延迟可跨多段对话综合记忆需等下次会话才可用需要第二个 Agent对大多数应用而言热路径已足够。当需要降低延迟或在大量对话间提升记忆质量时再引入后台整合。整合 Agent整合 Agent 读取近期对话并把关键事实合并到记忆 store。在langgraph.json中与主 Agent 一起注册# consolidation_agent.py from datetime import datetime, timedelta, timezone from deepagents import create_deep_agent from langchain.tools import tool, ToolRuntime from langgraph_sdk import get_client sdk_client get_client(urlDEPLOYMENT_URL) tool asyncdef search_recent_conversations(query: str, runtime: ToolRuntime) - str: Search this users conversations updated in the last 6 hours. user_id runtime.server_info.user.identity since datetime.now(timezone.utc) - timedelta(hours6) threads await sdk_client.threads.search( metadata{user_id: user_id}, updated_aftersince.isoformat(), limit20, ) conversations [] for thread in threads: history await sdk_client.threads.get_history( thread_idthread[thread_id] ) conversations.append(history[values][messages]) return str(conversations) agent create_deep_agent( modelgoogle_genai:gemini-3.1-pro-preview, system_promptReview recent conversations and update the users memory file. Merge new facts, remove outdated information, and keep it concise., tools[search_recent_conversations], )// langgraph.json { dependencies: [.], graphs: { agent: ./agent.py:agent, consolidation_agent: ./consolidation_agent.py:agent }, env: .env }通过 Cron 定时触发用 cron job 按固定计划运行整合 Agent。节奏应与用户实际交互频率匹配日活较高的聊天产品可以每几小时整合一次而一周只用几次的工具每天或每周跑一次就够了。from langgraph_sdk import get_client client get_client(urlDEPLOYMENT_URL) cron_job await client.crons.create( assistant_idconsolidation_agent, schedule0 */6 * * *, input{messages: [{role: user, content: Consolidate recent memories.}]}, )重要cron 间隔必须与整合 Agent 内的回溯窗口保持一致。上面例子每 6 小时运行一次对应search_recent_conversations中timedelta(hours6)的回溯窗口。若 cron 运行频率高于回溯窗口会重复处理同样的对话反之则会遗漏窗口外的记忆。所有 cron 计划均按 UTC 时区解释。4. 只读 vs 可写记忆权限适用场景工作方式读写 默认用户偏好、Agent 自我改进、学到的技能Agent 通过edit_file工具更新文件只读组织策略、合规规则、共享知识库、开发者定义的技能由应用代码或 Store API 填充用 permissions 拒绝写入特定路径或用 policy hooks 做自定义校验安全考量如果一个用户能写入另一个用户读取的记忆恶意用户就可能通过共享状态注入指令。缓解措施包括除非有明确的共享需求默认使用用户级作用域(user_id)对共享策略使用只读记忆由应用代码填充而非 Agent在 Agent 写入共享记忆前加入人工审批环节用 interrupt 要求人类确认对敏感路径的写入5. 并发写入多个 thread 可以并行写记忆但对同一文件的并发写入可能出现最后写入获胜的冲突。对于用户级记忆由于用户通常同时只有一个活跃会话这种情况较少发生。对于 Agent 级或组织级记忆可以考虑使用后台整合来串行化写入或把记忆拆分为按主题分文件降低争用。实践中即使某次写入因冲突失败LLM 通常也能智能地重试或优雅恢复因此单次写入丢失一般不构成灾难。6. 同一部署中的多个 Agent要在共享部署中给每个 Agent 独立的记忆把assistant_id加入 namespaceStoreBackend( namespacelambda rt: ( rt.server_info.assistant_id, rt.server_info.user.identity, ), )如果只需要按 Agent 隔离、不需要按用户隔离单独使用assistant_id即可。小贴士使用 LangSmith tracing 可以审计 Agent 写入了哪些记忆。每一次文件写入都会作为一次工具调用出现在 trace 中。五、总结Deep Agents 的 Memory 机制围绕文件即记忆这一理念展开带来几个关键优势跨会话持久化Agent 不再健忘能够从历史交互中学习灵活的作用域通过 namespace 轻松实现 Agent 级、User 级、组织级隔离多样的信息类型覆盖语义记忆事实偏好、程序记忆skills、情景记忆历史对话可控的更新策略热路径实时写或后台整合异步沉淀完善的安全模型只读记忆、权限控制、人工审批层层防护落地建议从 User 级记忆 热路径更新起步覆盖大多数场景对共享策略和合规规则使用只读组织级记忆当延迟或记忆质量成为瓶颈时再引入后台整合始终用 LangSmith tracing 审计记忆写入确保可观测合理运用 Memory你的 Agent 将真正具备越用越聪明的能力。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取