type
Post
status
Published
date
Jan 11, 2026
slug
summary
在 LangChain / LangGraph 的三种常见 Agent 构建方式里,如何“嵌入记忆(memory)”。
1)Function Call(Tool Calling)模式的记忆接入
• 用
create_tool_calling_agent + AgentExecutor 构建支持工具调用的 Agent。
• 记忆采用 ConversationBufferMemory,关键点是:
◦ return_messages=True:记忆以“消息列表”形式保存和返回,更适配聊天式上下文。
◦ memory_key="chat_history":让 Agent 在提示词里能读到历史对话。
• 工具侧展示了三种来源:
◦ TavilySearchResults 做实时检索
◦ load_tools(["llm-math"]) 做数学能力
◦ @tool 自定义工具(示例:查询价格)
• 示例调用是问“今天西安天气怎么样”。
2)ReAct 模式的记忆接入
• 用 create_react_agent 构建 ReAct(思考-行动-观察)风格 Agent。
• 同样用 ConversationBufferMemory(return_messages=True, memory_key="chat_history") 注入对话历史。
• 工具组合以检索和数学为主(TavilySearchResults + llm-math)。
• 文章强调:推荐用 PromptTemplate 方式来构建 ReAct 的模板,更方便控制格式与变量。
3)LangChain 1.0 / LangGraph 的 create_agent(checkpointer)记忆方式
• 用 langchain.agents.create_agent 创建 Agent。
• 记忆不再通过 ConversationBufferMemory,而是通过 checkpoint 机制持久化执行状态:
◦ checkpointer=InMemorySaver()
◦ 通过 {"configurable": {"thread_id": "1"}} 指定同一个线程,从而让多轮对话在同一条“会话线”上延续(达到记忆效果)。
• 调用方式改为传入 messages(role/content)结构。
核心对比(一句话)
• 旧式(Function Call / ReAct):用 ConversationBufferMemory 把历史对话塞回 prompt(或消息列表)里。
• 1.0 / LangGraph 风格:用 checkpointer + thread_id 把会话状态作为“可恢复的执行上下文”保存下来,更偏“运行时状态管理”。tags
人工智能
推荐
category
技术分享
icon
password
1.FUNCTION_CALL 模式
ReAct嵌入记忆
推荐以PromptTemplate构建模板
langchain1.0 create_agent 嵌入记忆
总结
在 LangChain / LangGraph 的三种常见 Agent 构建方式里,如何“嵌入记忆(memory)”。
1)Function Call(Tool Calling)模式的记忆接入
• 用 create_tool_calling_agent + AgentExecutor 构建支持工具调用的 Agent。
• 记忆采用 ConversationBufferMemory,关键点是:
◦ return_messages=True:记忆以“消息列表”形式保存和返回,更适配聊天式上下文。
◦ memory_key="chat_history":让 Agent 在提示词里能读到历史对话。
• 工具侧展示了三种来源:
◦ TavilySearchResults 做实时检索
◦ load_tools(["llm-math"]) 做数学能力
◦ @tool 自定义工具(示例:查询价格)
• 示例调用是问“今天西安天气怎么样”。
2)ReAct 模式的记忆接入
• 用 create_react_agent 构建 ReAct(思考-行动-观察)风格 Agent。
• 同样用 ConversationBufferMemory(return_messages=True, memory_key="chat_history") 注入对话历史。
• 工具组合以检索和数学为主(TavilySearchResults + llm-math)。
• 文章强调:推荐用 PromptTemplate 方式来构建 ReAct 的模板,更方便控制格式与变量。
3)LangChain 1.0 / LangGraph 的 create_agent(checkpointer)记忆方式
• 用 langchain.agents.create_agent 创建 Agent。
• 记忆不再通过 ConversationBufferMemory,而是通过 checkpoint 机制持久化执行状态:
◦ checkpointer=InMemorySaver()
◦ 通过 {"configurable": {"thread_id": "1"}} 指定同一个线程,从而让多轮对话在同一条“会话线”上延续(达到记忆效果)。
• 调用方式改为传入 messages(role/content)结构。
核心对比(一句话)
• 旧式(Function Call / ReAct):用 ConversationBufferMemory 把历史对话塞回 prompt(或消息列表)里。
• 1.0 / LangGraph 风格:用 checkpointer + thread_id 把会话状态作为“可恢复的执行上下文”保存下来,更偏“运行时状态管理”。
- Author:guderain
- URL:https://wangguanxi.space/article/3152b727-a3a3-80a5-9973-c7e85bc41659
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts

.webp?table=collection&id=92be88af-5f71-4631-9d3e-ee3bd53dcced&t=92be88af-5f71-4631-9d3e-ee3bd53dcced&width=1080&cache=v2)
