AI学习——记忆系统

记忆系统---支持多轮对话

  • [一、先搞懂:短期记忆 vs 长期记忆](#一、先搞懂:短期记忆 vs 长期记忆)
    • [1. 短期记忆(Short-Term Memory)](#1. 短期记忆(Short-Term Memory))
    • [2. 长期记忆(Long-Term Memory)](#2. 长期记忆(Long-Term Memory))
  • [二、LangChain 最常用 3 种记忆](#二、LangChain 最常用 3 种记忆)
    • [1. ConversationBufferMemory(最简单记忆)](#1. ConversationBufferMemory(最简单记忆))
    • [2. ConversationSummaryMemory(总结记忆)](#2. ConversationSummaryMemory(总结记忆))
    • [3. ConversationBufferWindowMemory(窗口记忆)](#3. ConversationBufferWindowMemory(窗口记忆))
  • [三、核心:Agent + 记忆 = 真正多轮对话](#三、核心:Agent + 记忆 = 真正多轮对话)
  • [四、带记忆的对话 Agent](#四、带记忆的对话 Agent)
  • 五、运行效果
  • [六、3 个记忆组件对比](#六、3 个记忆组件对比)
  • 七、总结

介绍:

  1. 短期记忆 vs 长期记忆
  2. LangChain 核心记忆组件
  3. 给 Agent 加上记忆,实现真正多轮对话

一、先搞懂:短期记忆 vs 长期记忆

1. 短期记忆(Short-Term Memory)

  • 保存当前对话上下文
  • 关掉程序就消失
  • 作用:让 AI 知道刚才聊了什么
  • 例子:你刚才问了什么,AI 要记得

2. 长期记忆(Long-Term Memory)

  • 永久保存
  • 存在文件/数据库/向量库
  • 作用:记住用户习惯、历史对话、知识库
  • 例子:你喜欢什么风格、你之前的论文题目

二、LangChain 最常用 3 种记忆

1. ConversationBufferMemory(最简单记忆)

  • 把所有对话原文全部存起来
  • 优点:最简单
  • 缺点:对话越长越占token

2. ConversationSummaryMemory(总结记忆)

  • 不存原文,存对话总结
  • 优点:省token、适合长对话

3. ConversationBufferWindowMemory(窗口记忆)

  • 只保留最近 N 轮对话
  • 优点:轻量、稳定、最常用

三、核心:Agent + 记忆 = 真正多轮对话

没有记忆 → 问完就忘

有记忆 → 能连贯聊天、记住上下文


四、带记忆的对话 Agent

功能

  • 带短期记忆
  • 多轮对话不丢失上下文
  • 可连续提问
  • 基于你之前学的 ReAct Agent
python 复制代码
# 安装依赖
# pip install langchain langchain-openai
python 复制代码
# ==========================
# 1. 导入模块
# ==========================
from langchain_openai import ChatOpenAI
from langchain.memory import ConversationBufferMemory  # 记忆核心
from langchain.agents import AgentExecutor, create_react_agent
from langchain.tools import Tool
from langchain import hub

# ==========================
# 2. 初始化LLM
# ==========================
llm = ChatOpenAI(
    model="gpt-3.5-turbo",
    temperature=0.3,
    api_key="你的API_KEY",
    base_url="https://api.chatanywhere.tech/v1"
)

# ==========================
# 3. 【核心】添加记忆!
# 记忆会自动保存对话历史
# ==========================
memory = ConversationBufferMemory(
    memory_key="chat_history",  # 记忆键(固定)
    return_messages=True       # 返回消息格式
)

# ==========================
# 4. 定义工具
# ==========================
def simple_calculate(expression):
    return str(eval(expression))

tools = [
    Tool(
        name="Calculator",
        func=simple_calculate,
        description="用于计算数学表达式"
    )
]

# ==========================
# 5. 创建带记忆的 Agent
# ==========================
prompt = hub.pull("hwchase17/react-chat")  # 支持记忆的提示词
agent = create_react_agent(llm, tools, prompt)

# 执行器 + 记忆
agent_executor = AgentExecutor(
    agent=agent,
    tools=tools,
    memory=memory,  # 把记忆加进来
    verbose=True,
    max_iterations=3
)

# ==========================
# 6. 多轮对话测试
# ==========================
print("=== 带记忆的AI助手(输入exit退出)===")
while True:
    user_input = input("你:")
    if user_input.lower() == "exit":
        print("对话结束")
        break
    
    # 运行Agent(记忆自动保存)
    response = agent_executor.invoke({"input": user_input})
    print("AI:", response["output"])

五、运行效果

复制代码
你:我叫小明
AI:好的,我记住你叫小明啦!

你:我是谁?
AI:你是小明!

你:10+20等于多少?
AI:等于30。

你:刚才算的结果是多少?
AI:刚才算的是 10+20=30。

这就是记忆的作用!

没有记忆,AI 根本不知道"刚才算的是什么"。


六、3 个记忆组件对比

组件 特点 适合场景
ConversationBufferMemory 存全部原文,最简单 短对话
ConversationBufferWindowMemory 只存最近几轮 长对话
ConversationSummaryMemory 存总结,省token 超长篇对话

七、总结

  • 记忆 = 保存对话历史
  • Agent 每次提问都会带上历史
  • 所以能理解上下文、实现多轮对话

相关推荐
云和数据.ChenGuang2 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
西西木科技丨Shopify开发机构2 小时前
CalDigit TS4案例:AI产品图的Shopify整站接入与验收
人工智能·shopify·独立站
又过二十2 小时前
用 Electron 做的 AI 视频切片工作台:VClip 的技术选型与踩坑实录
ai·electron·aigc·funasr·视频切片
小向是个Der2 小时前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本
2601_965448872 小时前
AI视频制作:做系列节气民俗视频音色不统一,AI 音色克隆省事的方法
人工智能·机器学习·音视频
美狐美颜SDK开放平台2 小时前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南
开发语言·人工智能·深度学习·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
HRaitest3 小时前
秋招技术岗招聘提效:三类 AI 招聘方案的技术底层与选型逻辑
大数据·人工智能·求职招聘·ai-native
天远数科3 小时前
零信任架构实战:基于天远企业股权变更构建自动化商业银行对公授信存续期股权异动与资产抽逃预警网关
运维·人工智能·架构·自动化
车软学堂3 小时前
从测试转开发,到底要补什么
网络·人工智能·python·功能测试·单片机·车载系统·自动化
海盗12344 小时前
AI 新闻日报 10-28:Atria Dawn 完整版开源、Cursor Agent SDK 转正、Genie 4 实时世界模型
人工智能·机器人·开源·人工智能aigc