agentic_huge_data_base / wiki
页面 Mem0 · 9.1 智能体框架·DeepWiki 中文全文译文

9.1 · 智能体框架(Agent Frameworks)

长期记忆与上下文管理 · 聚焦本章的模块关系、源码依据与实现要点。

项目Mem0 章节9.1 状态全文译文 模块检索、召回与索引、界面与交互、测试、发布与运维、智能体运行时
源码线索
  • docs/components/vectordbs/dbs/baidu.mdx
  • docs/cookbooks/companions/travel-assistant.mdx
  • docs/cookbooks/integrations/aws-bedrock.mdx
  • docs/images/memory-agent-stack.png
  • docs/images/stateless-vs-stateful-agent-2.png
  • docs/images/stateless-vs-stateful-agent.png
  • docs/integrations/agentops.mdx
  • docs/integrations/agno.mdx
  • docs/integrations/autogen.mdx
  • docs/integrations/aws-bedrock.mdx
模块标签
  • 检索、召回与索引
  • 界面与交互
  • 测试、发布与运维
  • 智能体运行时
  • 记忆与上下文

章节正文

智能体框架

智能体框架

相关源文件

本章引用的主要源码文件:

  • docs/components/vectordbs/dbs/baidu.mdx
  • docs/cookbooks/companions/travel-assistant.mdx
  • docs/cookbooks/integrations/aws-bedrock.mdx
  • docs/images/memory-agent-stack.png
  • docs/images/stateless-vs-stateful-agent-2.png
  • docs/images/stateless-vs-stateful-agent.png
  • docs/integrations/agentops.mdx
  • docs/integrations/agno.mdx
  • docs/integrations/autogen.mdx
  • docs/integrations/aws-bedrock.mdx
  • docs/integrations/crewai.mdx
  • docs/integrations/elevenlabs.mdx
  • docs/integrations/google-ai-adk.mdx
  • docs/integrations/keywords.mdx
  • docs/integrations/langchain-tools.mdx
  • docs/integrations/langchain.mdx
  • docs/integrations/langgraph.mdx
  • docs/integrations/livekit.mdx
  • docs/integrations/llama-index.mdx
  • docs/integrations/mastra.mdx
  • docs/integrations/openai-agents-sdk.mdx
  • docs/integrations/pipecat.mdx
  • docs/integrations/raycast.mdx
  • docs/open-source/features/custom-instructions.mdx
  • docs/open-source/features/metadata-filtering.mdx
  • docs/open-source/features/reranker-search.mdx
  • docs/open-source/node-quickstart.mdx
  • examples/misc/diet_assistant_voice_cartesia.py
  • examples/misc/test.py
  • mem0/vector_stores/baidu.py
  • tests/vector_stores/test_baidu.py

概述

智能体框架与 Mem0 集成,可在智能体执行过程中提供持久化记忆,从而实现有状态的对话和上下文保留。本文档记录了 AgnoLlamaIndexLangChainCrewAIOpenAI Agents SDKGoogle ADKLiveKit 等框架如何使用 Memorymem0/memory/main.py:172-259MemoryClient mem0/memory/main.py:172-385 来实现具有记忆能力的智能体。

Mem0 作为一个自我改进的记忆层,可以实现个性化的 AI 体验,通过高效检索节省成本,并在多模态交互(文本和图像)中保持连续性。

来源: docs/integrations/agno.mdx:6-15docs/integrations/langchain.mdx:6-14mem0/memory/main.py:172-385

核心记忆 API

智能体框架通过调用核心记忆操作与 Mem0 集成。所有框架都遵循相同的基本模式:在智能体执行过程中保存对话上下文并检索相关记忆。

框架使用的 Memory 类操作

Mem0 · 核心记忆 API · 图 1
Mem0 · 核心记忆 API · 图 1

会话作用域参数:

所有记忆操作都接受在 mem0/memory/main.py:87-165 中定义的作用域参数:

参数类型用途框架使用场景
user_idstr最终用户标识符主要隔离(LlamaIndex、Agno、OpenAI)
agent_idstr智能体标识符多智能体框架(CrewAI、Google ADK)
run_idstr执行会话基于状态的框架(LangGraph、LlamaIndex)
metadatadict自定义标签类别/类型标记(Keywords AI、Agno)

来源: mem0/memory/main.py:172-943mem0/memory/main.py:87-165docs/integrations/llama-index.mdx:51-56

Agno 集成

Agno 的集成为智能体提供了持久化的多模态记忆。它支持存储和检索文本和图像,以保持跨会话的连续性 docs/integrations/agno.mdx:6-15

快速集成(使用 Mem0Tools 最简单的集成方式是使用内置的 Mem0Tools,它在底层使用 MemoryClient.add()MemoryClient.search() 提供即插即用的基于工具的记忆功能 docs/integrations/agno.mdx:31-52

from agno.agent import Agent
from agno.tools.mem0 import Mem0Tools

agent = Agent(
    name="记忆智能体",
    tools=[Mem0Tools()],
    description="一个使用 Mem0 记忆进行个性化记忆的助手。"
)

多模态支持: Agno 智能体可以处理 base64 编码的图像。该集成允许将这些交互存储在 Mem0 中,以将视觉上下文与语义文本检索相结合 docs/integrations/agno.mdx:99-156

来源: docs/integrations/agno.mdx:31-52docs/integrations/agno.mdx:99-156

LlamaIndex 集成

LlamaIndex 将 Mem0 作为 memory store 支持,专门用于 ReActFunctionCalling 智能体 docs/integrations/llama-index.mdx:6-10

记忆存储架构

Mem0 · LlamaIndex 集成 · 图 2
Mem0 · LlamaIndex 集成 · 图 2

配置:

  • search_msg_limit:用于从 Mem0 检索的聊天历史消息数量(默认值:5) docs/integrations/llama-index.mdx:58-62
  • context:用于在 Mem0 中标识用户、智能体或运行 docs/integrations/llama-index.mdx:48-56

来源: docs/integrations/llama-index.mdx:41-62docs/integrations/llama-index.mdx:101-107

OpenAI 智能体 SDK 集成

该集成使智能体能够通过基于工具的记忆功能,在多智能体工作流中访问持久化记忆 docs/integrations/openai-agents-sdk.mdx:6-13

工作流实现: 智能体配备了 @function_tool 装饰器,用于封装 Mem0 操作。智能体根据其指令自主决定何时 search_memorysave_memory docs/integrations/openai-agents-sdk.mdx:45-68

@function_tool
def search_memory(query: str, user_id: str) -> str:
    memories = mem0.search(query, filters={"user_id": user_id}, top_k=3)
    return "\n".join([f"- {mem['memory']}" for mem in memories['results']])

多智能体交接: 当在专门的智能体(例如,旅行规划器到健康顾问)之间使用 handoffs 时,MemoryClient 通过在不同智能体实例之间使用一致的 user_id 过滤来确保共享上下文的维护 docs/integrations/openai-agents-sdk.mdx:104-167

来源: docs/integrations/openai-agents-sdk.mdx:45-68docs/integrations/openai-agents-sdk.mdx:104-167

CrewAI 集成

CrewAI 将其基于智能体的架构与 Mem0 的记忆功能相结合,以实现跨智能体交互的持久化记忆 docs/integrations/crewai.mdx:6-7

关键组件:

  • 初始存储:在任务执行之前,使用 client.add() 存储偏好设置 docs/integrations/crewai.mdx:47-70
  • Crew 配置Crew 对象配置了 memory=True 和一个指向 Mem0 提供程序和特定 user_idmemory_config docs/integrations/crewai.mdx:110-122

来源: docs/integrations/crewai.mdx:47-70docs/integrations/crewai.mdx:110-122

Google ADK 集成

Google Agent Development Kit (ADK) 使用 Mem0 实现跨层级结构的共享记忆 docs/integrations/google-ai-adk.mdx:6-13

专业智能体: 专门的智能体(例如,travel_specialisthealth_advisor)使用 search_memorysave_memory 函数工具。一个 coordinator 智能体将请求委托给这些专业智能体,同时通过相同的 user_id 维护统一的记忆视图 docs/integrations/google-ai-adk.mdx:133-167

来源: docs/integrations/google-ai-adk.mdx:51-81docs/integrations/google-ai-adk.mdx:133-167

框架比较与可观测性

集成通常包括可观测性和监控,以跟踪性能和成本。

框架关键特性监控集成
Agno多模态(文本/图像)-
LlamaIndexReAct 智能体支持-
Keywords AI成本优化完整的大语言模型可观测性
AgentOps性能指标实时跟踪/分析
LiveKit语音助手记忆基于回合的持久化
使用 Keywords AI 实现可观测性

Keywords AI 通过在 OpenAI SDK 调用中跟踪 mem0_params 来提供可观测性,使开发人员能够监控记忆使用情况和检索模式,同时监控大语言模型性能 docs/integrations/keywords.mdx:103-119

来源: docs/integrations/keywords.mdx:103-119docs/integrations/livekit.mdx:176-182

实现最佳实践

  1. 异步操作:对于低延迟应用(如语音助手 LiveKit),使用 AsyncMemoryClient 以防止阻塞音频流 docs/integrations/livekit.mdx:51docs/integrations/livekit.mdx:101-140
  2. 重排序:在配置中启用 reranker,通过使用 Cohere 或基于大语言模型的重排序器对向量命中结果进行重新排序,以提高相关性 docs/open-source/features/reranker-search.mdx:7-14
  3. 元数据过滤:在 search()get_all() 中使用 filters 参数,以确保用户或类别之间的严格隔离 docs/open-source/node-quickstart.mdx:46docs/open-source/features/metadata-filtering.mdx:1-10
  4. 自定义指令:在初始化期间使用 custom_instructions 来指导如何从对话中提取事实 docs/open-source/node-quickstart.mdx:223

来源: docs/open-source/features/reranker-search.mdx:7-14docs/integrations/livekit.mdx:101-140docs/open-source/node-quickstart.mdx:223