【agent篇】agent进阶之runtime易错点

发布时间:2026/10/17 17:05:50
【agent篇】agent进阶之runtime易错点 1.InMemoryStore 数据无法持久化进程结束就丢失的问题。from langgraph.store.memory import InMemoryStore # 原写法数据只存在内存中脚本退出就丢失 memory_store InMemoryStore() memory_store.put((user_info,), user_001, {name: 张三, age: 18})InMemoryStore 本身不跨运行持久化 —— 它只存在于当前进程内存中。脚本一退出数据就没了。下次再跑又是空的。InMemoryStore只是内存中的临时存储进程一结束数据就消失。要真正的长期记忆需要换成 SQLite 或 Postgres 等持久化存储。解决方法改用持久化 StoreLangGraph 提供了 SqliteStore数据会保存到本地 SQLite 数据库文件中下次运行仍然存在。from langgraph.store.sqlite import SqliteStore # 数据保存到本地文件跨运行持久化 memory_store SqliteStore.from_conn_string(checkpoints.sqlite) # 第一次运行会创建表之后数据一直保留 memory_store.put((user_info,), user_001, {name: 张三, age: 18}) # 下次再运行脚本get 仍然能查到 info memory_store.get((user_info,), user_001) print(info.value) # 仍有数据Store 类型持久化适用场景InMemoryStore❌ 进程结束即丢失开发调试、单次运行内的状态共享数据库 Store如 SQLite/Postgres✅ 跨运行持久化真正的长期记忆2.数据已经存入为什么显示用户不存在memory_store.put((user_info,), user_001, {name: 张三, age: 18})#原代码 res agent.invoke({messages: [(user, 请获取用户信息)]})用户消息里没指定要查哪个用户 IDLLM 不知道传什么 user_id 给 get_user_info 工具随便传了一个不存在的 ID导致工具返回用户不存在。#修改后的代码 res agent.invoke({messages: [(user, 请获取用户user_001的信息)]})3.store和context传入方式错误#原代码 result agent.invoke( {messages: [(user, 查询所有用户信息)]}, config{ configurable: { store: store, # ❌ 错误store 不能通过 configurable 传 context: admin_context # ❌ 错误context 不能通过 configurable 传 } }store 通过create_agent(storestore)传入context 通过agent.invoke(..., contextxxx)传入# store → create_agent() 创建时传入 agent create_agent( modelmodel, toolstools, storestore, # ✅ 正确 context_schemaUserContext, ) # context → invoke() 时作为独立参数传入 result agent.invoke( {messages: [(user, 查询所有用户信息)]}, contextadmin_context, # ✅ 正确 )4.state和store对比维度State状态Store存储作用单次会话内的短期记忆跨会话的长期记忆生命周期一次agent.invoke()范围内独立于 agent 调用可持久化典型内容当前消息列表、调用次数、中间结果用户档案、偏好设置、知识库访问方式runtime.state在 tool 中runtime.store在 tool 中跨调用❌ 每次 invoke 独立不共享✅ 数据保留所有调用共享实现类AgentState可自定义扩展InMemoryStore/SqliteStore数据操作读.get(key)写通过Command(update...)put() / get() / search() / delete()类比一次对话的草稿纸一个系统的数据库

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询