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 把会话状态作为“可恢复的执行上下文”保存下来,更偏“运行时状态管理”。
 
Agent持久化记忆不同方案与生产最佳实践以及langchain1.0中的最佳实践Rerank
Loading...