分类: 深度架构分析

  • 21. Mem0 架构深度分析

    项目: mem0ai/mem0 — AI Agent 的记忆层基础设施

    Star: 64.9K+ | Commits: 2600+ | 许可: Apache 2.0

    核心定位: 为 AI Agent 提供持久化的、可检索的、多层级的记忆能力


    1. 系统定位与设计哲学

    Mem0 将自身定义为 “The Memory Layer for Personalized AI”,不是一个 RAG 框架,不是向量数据库,而是一个面向 Agent 的记忆中间层。它的核心命题是:AI 助手应该像人一样”记住”对话上下文、用户偏好和历史事实,而不是每次会话都从零开始。

    设计哲学有三个关键原则:

    • 记忆即一等公民:记忆不是对话历史的副产品,而是独立的、结构化的、可检索的知识单元
    • 推理时提取而非存储时索引:不是把整段对话塞进向量库,而是用 LLM 从对话中提取离散事实
    • 多信号融合检索:语义相似度 + BM25 关键词 + 实体匹配,三路信号并行打分后融合

    2026 年 4 月的新算法(V3)在 LoCoMo 基准上从 71.4 提升到 92.5,LongMemEval 从 67.8 到 94.4,核心改进是将原来的 add/update/delete 三步 LLM 调用简化为单次 ADD-only 提取——记忆只增不删,依赖检索排序来衰减过时信息。

    (更多…)

  • 20. GPT-Researcher 深度架构分析

    项目: assafelovic/gpt-researcher

    Stars: 29k+ | License: Apache 2.0 | 语言: Python

    定位: 首个开源深度研究 Agent,支持 Web 和本地数据源的自主研究与报告生成


    1. 整体架构概览

    GPT-Researcher 采用 技能化(Skills-based)分层架构,核心是一个中央协调 Agent(GPTResearcher 类),通过组合多个专职技能模块完成研究流程。架构灵感来自 Plan-and-Solve 和 RAG 论文。

    ┌─────────────────────────────────────────────────────────┐
    │                    GPTResearcher (Agent)                 │
    │  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────┐  │
    │  │ Research  │ │ Context  │ │  Report   │ │   Deep     │  │
    │  │ Conductor│ │ Manager  │ │ Generator │ │  Research  │  │
    │  └────┬─────┘ └────┬─────┘ └────┬─────┘ └─────┬──────┘  │
    │       │            │            │              │         │
    │  ┌────┴────┐ ┌─────┴─────┐ ┌───┴───┐   ┌─────┴──────┐  │
    │  │Retrievers│ │Compressor │ │Writer │   │Source      │  │
    │  │(Web/MCP/ │ │(Embedding │ │(LLM)  │   │Curator     │  │
    │  │ Local)   │ │ Filtering)│ │       │   │            │  │
    │  └─────────┘ └───────────┘ └───────┘   └────────────┘  │
    │                                                          │
    │  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────┐  │
    │  │  Memory  │ │  Config  │ │  LLM     │ │  Browser   │  │
    │  │(Embeddings│ │ Manager  │ │ Provider │ │  Manager   │  │
    │  │ + Vector) │ │          │ │          │ │            │  │
    │  └──────────┘ └──────────┘ └──────────┘ └────────────┘  │
    └─────────────────────────────────────────────────────────┘

    Agent 核心类的初始化展示了其模块化组合设计:

    class GPTResearcher:
        def __init__(
            self,
            query: str,
            report_type: str = ReportType.ResearchReport.value,
            report_source: str = ReportSource.Web.value,
            tone: Tone = Tone.Objective,
            source_urls: list[str] | None = None,
            vector_store=None,
            config_path=None,
            websocket=None,
            agent=None,
            role=None,
            parent_query: str = "",
            subtopics: list | None = None,
            mcp_configs: list[dict] | None = None,
            mcp_strategy: str | None = None,
            **kwargs
        ):

    该构造函数暴露了 20+ 个可配置参数,覆盖报告类型、数据源、LLM 角色、MCP 集成等维度,体现了高度可定制性。

    (更多…)