最近有些朋友留言想了解智能体的记忆系统——这一模块在Agent中至关重要。核心原因在于,大模型本身无状态特性,而记忆系统正是解决这一痛点的关键。

一、智能体记忆的核心价值

LLM(大语言模型)天生是无状态的——每次调用均为“全新开始”,不会主动留存历史信息。而记忆系统的核心作用,就是为AI补上“记性”,具体体现在四大核心价值:

  • ✅ 保障单次对话上下文不中断,实现流畅交互;

  • ✅ 跨会话长效记住用户偏好、历史交互信息,提升个性化体验;

  • ✅ 优化长对话体验,避免上下文溢出、卡顿,同时节省Token成本;

  • ✅ 适配企业级场景,可沉淀业务知识、操作技能、合规规则,实现标准化服务。

本质而言,智能体记忆系统是一套完整的「信息存储 + 检索 + 更新」机制,主要分为两大管理层级:短期记忆(会话级)与长期记忆(跨会话、用户偏好级)。

 二、短期记忆(Short-term Memory)

核心概念

  • 作用域:仅在单次对话/线程内生效;

  • 生命周期:会话结束后立即释放,不做持久化存储;

  • 典型场景:日常聊天上下文衔接、多轮任务连续执行。

短期记忆本质是「单会话上下文记忆」,仅作用于当前对话线程,类比人类的“工作记忆”——负责临时留存当前交互的关键信息,支撑即时对话流畅性。

它主要解决LLM的一个致命痛点:大模型的上下文窗口存在长度限制,若长对话未做优化,会直接出现上下文溢出、关键信息丢失的问题,同时还会导致响应速度变慢、Token消耗飙升。

核心实现:Checkpointer+State

checkpointer可以用InMemorySaver、PG、Milvus等,本文为演示用Redis

pip install langgraph-checkpoint-redis 

代码示例:

    llm = init_chat_model(
    model="qwen2.5:1.5b",
    model_provider="openai",
    base_url="http://localhost:11434/v1",
    api_key="EMPTY",
    temperature=0.1,
    )
    redis_str = "redis://localhost:6379"
    USER_THREAD_ID = "sunway"
    
    with RedisSaver.from_conn_string(redis_str) as checkpointer:
      checkpointer.setup()
      agent = create_agent(
            model=llm,
            checkpointer=checkpointer,
            store=store,
            system_prompt=SYSTEM_PROMPT,
        )

        resp = agent.invoke(
            {"messages": msg},
            config={"configurable": {"thread_id": USER_THREAD_ID}}
        )

演示:

图片

图片

关于长对话优化:3 种技巧(消息裁剪、删除、摘要)篇幅问题,暂时不讨论。

三、长期记忆 —— 跨会话的「永久档案柜」

核心定义:长期记忆 = 跨会话持久化记忆,会话结束后依然留存,可被后续所有对话调用,相当于人类的「长期记忆」。

核心结构:Namespace+Key

Namespace:命名空间(相当于文件夹),用user_id/org_id区分

Key:记忆键名,唯一标识一条记忆

存储内容:用户偏好、业务规则、核心事实等结构化数据

核心实现:长期记忆通过Store(存储组件)实现持久化,以下结合实际业务场景(天气查询工具),给出代码示例:

@tool
def weather_tool(city: str, runtime: ToolRuntime):
    """查询指定城市的天气。

    Args:
        city: 城市名称,如"北京"、"上海"。如果用户未指定城市,可以为None,工具会自动使用用户偏好的默认城市。

    Returns:
        天气信息字符串,格式根据用户偏好(简洁/详细)返回。
    """

    # 从长期记忆读偏好
    user_pref = runtime.store.get(
        namespace=("sunway", "preferences"),
        key="style"
    )

    if not city and user_pref.value:
        city = user_pref.value["default_city"]

    result =Weather().get_weather(city=city)
    return result

with RedisStore.from_conn_string(redis_str) as store, \
        RedisSaver.from_conn_string(redis_str) as checkpointer:
    store.setup()
    checkpointer.setup()
    # 仅演示:设置用户偏好
    store.put(
        namespace=("sunway", "preferences"),
        key="style",
        value={
            "reply_style": "简洁",
            "default_city": "南京"
        }
    )

    # 读取用户偏好
    result = store.get(("sunway", "preferences"), "style")
    SYSTEM_PROMPT = f"你是一个人工智能助手,请根据用户偏好回复,偏好: {result.value['reply_style']}"

    agent = create_agent(
        model=llm,
        tools=[weather_tool],
        checkpointer=checkpointer,
        store=store,
        system_prompt=SYSTEM_PROMPT,
    )

    resp = agent.invoke(
        {"messages": msg},
        config={"configurable": {"thread_id": USER_THREAD_ID}}
    )

​​​​​​​

未设置用户偏好时:

图片

设置完偏好时:

图片

场景演示说明

  • 首次未设置用户偏好时:工具会提示用户指定城市,回复采用默认风格;

  • 设置偏好后:工具会自动读取长期记忆中的默认城市和回复风格,无需用户重复说明,实现个性化交互。

补充:生产环境优化与新版实现

本文代码仅用于演示用户偏好的基础设置,实际生产环境中,可结合「自动摘要 + 动态上下文增强」的方式,自动捕捉、更新用户偏好,提升记忆的准确性和实用性。

此外,随着Claude Code、OpenClaw等智能体工具的普及,越来越多的记忆系统采用文件存储方式,无需通过Store实时检索,确保智能体启动时即可加载全部记忆。以新版DeepAgents为例,只需将偏好存储到指定文件,即可实现长期记忆加载,代码示例如下:

def my_backend(runtime):
    return CompositeBackend(
        default=StateBackend(runtime),
        routes={"/memories/": FilesystemBackend(root_dir='/Users/sunway/gitrepo/swagent/deepagentpro',
                                                virtual_mode=True,)})
                   
agent = create_deep_agent(
        model=llm,
        store=InMemoryStore(),
        memory=["sunway_preferences.txt"],
        backend=my_backend,
        system_prompt="""当用户告诉您偏好时,将其保存到 /memories/sunway_preferences.txt,以便在未来的对话中记住它们。""",
    )

resp = agent.invoke({"messages": [{"role": "user", "content": msg}]})

图片

图片

总结:记忆是智能体的灵魂

记忆系统直接决定了智能体的交互体验和实用价值,用一句话概括其核心作用:

  • 没有记忆:AI 只是一次性工具,每次交互都是全新开始;

  • 有短期记忆:AI 成为流畅对话机器人,可支撑多轮即时交互;

  • 有长期记忆:AI 成为个性化私人助理,越用越懂用户需求。

一套好用、稳定的记忆系统,是开发高性能AI Agent必备的核心能力。未来的智能体,必然是“越用越懂你、越用越好用”的存在——而这一切,都始于一套完整、高效的记忆系统。

关注我,解锁更多Agent实战技巧,让AI替你搞定所有相关的繁琐工作!

图片

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐