源码深度学习 · 零基础友好 · 20 天

Zep 示例集 源码学习

Zep Cloud 的 Agent Memory 示例与集成仓库(不是完整产品服务端)。这不是 API 速查表,而是一条可以重复走的源码路线:每天用 30 分钟,从一个真实相对路径出发,先用类比建立直觉,再把它接回整条运行链路。

00

开篇 · 这是个什么项目

Zep 示例集 可以先想成一间外接式记忆云盘 + 关系图谱导航器的操作手册。它的代码不是一堆孤立文件:入口接到需求,核心对象做判断,工具或模型完成工作,状态把结果交给下一个环节。

💡 20 天的主线先找入口和地图,再跟一次真实任务穿过核心循环;随后研究状态、模型、工具与扩展;最后用复盘把全部概念连成一张可迁移的地图。不要背目录名,要不断问「谁创建它、它把什么交给谁」。
大白话读源码像参观工厂:第一天先看门牌和楼层,不急着拆机器。后面每节课只打开一个焦点路径,但始终知道它属于哪层、服务哪个业务动作。
01

架构全景(动起来看)

发光扫过的每一层都是一次任务可能经过的站点。不同仓库命名不同,但「接入 → 编排 → 核心能力 → 资源」的责任边界很相似。

L5 · 示例应用
聊天本层职责
图谱本层职责
用户本层职责
L4 · 框架连接
Mastra本层职责
LangGraph本层职责
ADK本层职责
L3 · 记忆访问
SDK本层职责
Context本层职责
图搜索本层职责
L2 · 工具评测
MCP本层职责
Eval本层职责
Benchmark本层职责
L1 · 数据建模
Ontology本层职责
时态知识图谱本层职责
输入用户任务组织对象 / 流程执行模型 / 工具沉淀状态 / 记忆
设计取舍分层会增加跳转文件的次数,却让每层只承担一种职责:入口容易替换,核心逻辑能测试,模型与外部工具可插拔。读代码时先沿箭头追「数据」而不是追每一个类。
02

怎么使用这份教程

⏱️

每天 30 分钟

6 讲,每讲先问问题,再给本质和大白话。

📍

真实相对路径

所有路径都从项目根目录算,不把你的机器路径写进源码引用。

🧪

先验证再推理

每页都有可复制 bash 命令;文件版本变化时以本地实际内容为准。

🧭

可迁移方法

学会从入口、数据结构、循环和扩展点读任何 AI 项目。

S1

阶段 1 · 明确仓库边界

D01-D03 · 仓库边界与最小 Cloud API
01

确认仓库定位

README.md:理解该仓库提供 examples、integrations、MCP、benchmark,而非完整 Zep 产品。

≈30 min · 6 讲开始学 →
02

最小 Python 快速开始

examples/python/quickstart:从 SDK 初始化、用户与消息写入开始。

≈30 min · 6 讲开始学 →
03

最小 TypeScript 记忆

examples/typescript/memory:对照 Python 与 TypeScript SDK 的调用形态。

≈30 min · 6 讲开始学 →
S2

阶段 2 · 用户、线程与上下文

D04-D06 · 用户、线程、消息与上下文
04

用户建模

examples/typescript/users:理解 userId、用户属性和隔离边界。

≈30 min · 6 讲开始学 →
05

聊天历史

examples/python/chat_history:学习 thread、message 与会话历史的基本组织。

≈30 min · 6 讲开始学 →
06

上下文模板

examples/python/context-templates-example:理解 Context Block 注入和自定义上下文格式。

≈30 min · 6 讲开始学 →
S3

阶段 3 · 图谱与 Ontology

D07-D10 · 图谱检索、ontology 与可视化
07

图谱检索

examples/python/graph_example:学习节点、边、事实和图搜索的基础。

≈30 min · 6 讲开始学 →
08

默认 Ontology

ontology/default_ontology.py:阅读 User、Preference、Event 等实体及关系约束。

≈30 min · 6 讲开始学 →
09

可视化知识图

examples/typescript/zep-graph-visualization:理解图数据从 API 到前端呈现的链路。

≈30 min · 6 讲开始学 →
10

文档切分和摄取

examples/typescript/chunking-example:学习文档 chunk 与后续图谱/记忆检索的关系。

≈30 min · 6 讲开始学 →
S4

阶段 4 · Agent 示例与集成

D11-D14 · 完整 Agent 示例与框架集成
11

完整 Agent Memory Demo

examples/python/agent-memory-full-example:阅读 Streamlit、上下文检索、流式回答和延迟对比。

≈30 min · 6 讲开始学 →
12

LangGraph 集成

integrations/langgraph/python:理解框架的 memory/context 扩展点。

≈30 min · 6 讲开始学 →
13

Mastra 自动记忆

integrations/mastra/typescript:学习 ZepInputProcessor 与 ZepOutputProcessor。

≈30 min · 6 讲开始学 →
14

工具式记忆访问

integrations/mastra/typescript:理解 zepRemember、zepSearch 与自动处理器的取舍。

≈30 min · 6 讲开始学 →
S5

阶段 5 · MCP 与评测闭环

D15-D17 · MCP 服务和评测闭环
15

MCP 服务入口

mcp/zep-mcp-server/cmd:从 Go 程序入口理解 MCP Server 的启动。

≈30 min · 6 讲开始学 →
16

MCP 查询处理

mcp/zep-mcp-server/internal/handlers:阅读 search_graph、get_user_context 等只读工具。

≈30 min · 6 讲开始学 →
17

评测流水线

zep-eval-harness:串联用户摄取、文档切分、图谱写入、搜索、生成与评分。

≈30 min · 6 讲开始学 →
S6

阶段 6 · 基准与 Legacy 辨析

D18-D20 · 基准、跨语言与 legacy 架构辨析
18

检查图谱与结果

zep-eval-harness/zep_graph_inspect.py:学习如何检查节点、边与评测前提。

≈30 min · 6 讲开始学 →
19

基准测试视角

benchmarks:了解 LoCoMo 与 LongMemEval 在记忆系统中的用途。

≈30 min · 6 讲开始学 →
20

Legacy 架构辨析

legacy/src:只阅读旧 Go Community Edition;新项目应采用 Cloud SDK。

≈30 min · 6 讲开始学 →