同时学习大模型、RAG、MCP、Agent、向量数据库和多个框架,很容易只记住名词。更有效的方法是围绕同一个“小型公司制度助手”逐步增加能力,让每个概念都对应一次真实操作。

实验目标

准备三份 Markdown 文档:

1
2
3
4
docs/
├── expense-policy.md
├── leave-policy.md
└── security-policy.md

示例内容分别包含:

1
2
3
一线城市住宿每天最多报销 800 元。
年假最多保留 5 天到下一年。
登录失败 5 次后锁定 30 分钟。

三个阶段始终使用这组资料,避免业务场景变化干扰技术理解。

第一阶段:体验现成 MCP

目标不是开发 Server,而是观察 AI Host 如何发现和调用外部工具。

选择一个可信、只读、容易验证的 MCP Server,例如官方文档或测试文件服务。让 AI 完成:

1
2
3
4
列出可用工具
→ 搜索一个明确主题
→ 读取命中的资料
→ 回答并提供来源

验收标准:

  • 能说清 Host、Client、Server 分别在哪里。
  • 知道业务工具名称由 Server 定义,不是协议统一规定。
  • 能从工具调用记录看出输入、输出和错误。
  • 明白连接 Server 不等于信任 Server,也不等于自动拥有 RAG。

这一阶段只学一句话:

1
MCP 让 AI 应用获得外部系统提供的能力。

第二阶段:体验托管 RAG

把三份文档放入一个托管检索服务,完成:

1
2
3
4
5
上传文件
→ 建立可检索知识库
→ 等待索引完成
→ 提问
→ 查看命中的片段与来源

可以使用 OpenAI File Search 一类托管工具,也可以选择其他提供完整文档处理链路的服务。此时不要急着引入多个框架或数据库,重点观察数据流。

验收标准:

  • 问文档中存在的问题,答案和来源正确。
  • 问文档中不存在的问题,系统不编造答案。
  • 修改一份文档并重新索引,答案随版本变化。
  • 能区分原始 File、检索容器、Chunk、Embedding 和最终答案。

这一阶段只学一句话:

1
RAG 先检索资料,再把证据交给模型回答。

第三阶段:自己控制检索链路

当托管实验稳定后,再拆开 RAG:

1
2
3
4
5
6
scripts/
├── parse-docs.mjs
├── split-docs.mjs
├── index-docs.mjs
├── search.mjs
└── evaluate.mjs

按顺序实现:

  1. 读取三份文档并保留文件名和标题。
  2. 按段落切片并生成稳定 Chunk ID。
  3. 使用一个 Embedding 模型生成向量。
  4. 将文本、向量和元数据写入现成存储。
  5. 对问题执行向量检索或混合检索。
  6. 把 Top K 证据交给生成模型。
  7. 输出答案和来源。
  8. 用固定问题集运行回归评测。

不要自己实现向量索引算法。学习重点是组件边界、数据结构、权限、更新和评测。

验收标准:

  • 能打印每次命中的 Chunk 和分数。
  • 能修改切片大小并比较召回变化。
  • 能删除文档且索引不再返回旧内容。
  • 能按用户或租户元数据过滤。
  • 能记录一次查询从检索到生成的完整 Trace。

第四阶段:把 RAG 包装成 MCP Tool

当已经有 searchKnowledge(query, user) 这类稳定业务函数后,再接入 MCP SDK:

1
2
3
4
5
AI Host
→ MCP Client
→ knowledge MCP Server
→ searchKnowledge
→ 向量与关键词索引

最小工具:

1
search_knowledge_base(query, limit)

需要查看完整原文时再增加:

1
get_document(document_id)

验收标准:

  • AI Host 能发现工具并正确生成参数。
  • MCP Server 使用认证身份做权限过滤。
  • 返回结果包含文本、文档 ID、章节和来源。
  • 超时、空结果、无权限和检索失败都有明确错误。
  • 写操作与只读检索分开,必要时要求人工确认。

每个阶段不要做什么

阶段 暂时不要做
现成 MCP 不要立即开发自己的协议实现
托管 RAG 不要同时更换多个模型和数据库
自建检索 不要先做复杂前端和多 Agent
MCP 包装 不要把业务权限交给模型判断

只有三份文档时,直接把内容放进 Context 也能回答。这个实验使用小数据不是为了证明“必须上 RAG”,而是为了低成本观察完整流程。正式项目是否需要 RAG,要根据文档规模、更新频率、权限和查询量决定。

建议记录的实验表

实验 切片方式 检索方式 Top K 命中正确证据 答案正确 引用正确
A 按段落 向量 3 是/否 是/否 是/否
B 固定窗口 混合 5 是/否 是/否 是/否

通过对比结果理解参数,比只背“Chunk 越小越精确”更可靠,因为最佳策略取决于文档结构和问题类型。

最终学习成果

1
2
3
4
阶段一:AI Host → 现成 MCP → 外部工具
阶段二:你的程序 → 托管 RAG → 三份制度
阶段三:你的检索链路 → 可观察、可调整、可评测
阶段四:AI Host → 自建 MCP → RAG 知识库

完成这四步后,再去学习 RAGFlow、LlamaIndex、LangChain、Haystack 或更多向量数据库,框架中的每个模块才会有清晰位置。

站内搜索

没有找到内容!