2025年被普遍视为AI Agent元年,从当前技术演进的节奏来看,这一预测正在逐步成为现实。年初DeepSeek爆火之后,开源大模型的能力已基本与商业模型持平,甚至在某些维度上实现了超越。完全开放的开源策略,在某种意义上推动了大模型使用的真正平权——这直接改变了AI应用的商业逻辑:基于自训练的闭源模型优势被明显削弱,竞争的主战场正在从模型性能转向应用场景的创新与落地。
AI应用的形态也在持续演进,从早期的对话机器人到RAG,再到如今的Agent。回顾Web 2.0和移动互联网时代的技术发展脉络,每当一种新型应用需求出现爆发式增长,必然会催生新的开发框架和行业标准。AI应用如今正经历这一过程。
当前开发框架尚未统一,仍处于百花齐放、百家争鸣的阶段。Python能否成为主流开发语言,哪个框架最终胜出,这些都还是未知数。但有一点值得关注——近期大热的MCP(Model Context Protocol)正在逐步成为事实标准,尤其是在OpenAI宣布支持MCP之后。
关于MCP的具体介绍在此不再展开。从实践角度出发,我们动手构建了一个项目,主要目的是体验如何基于MCP开发一个Agent应用。本次实践实现的是最常见的一类AI应用场景——答疑系统,支持基于私有知识库的问答,在知识库构建与RAG方面进行了多项优化。

整体流程设计
整个流程分为两大模块:知识库构建与知识检索。
1. 知识库构建
- 文本切段:对文本进行分段处理,确保每段内容的完整性与语义一致性。
- 提取FAQ:根据文本内容提取常见问题与答案(FAQ),作为知识库检索的补充,提升整体检索效果。
- 导入知识库:将文本段落和FAQ导入知识库,经过Embedding处理后存入向量数据库。
2. 知识检索(RAG)
- 问题拆解:对输入的复杂问题进行拆解与重写,拆分成更细粒度的子问题。
- 检索:针对每个子问题分别检索相关的文本段落与FAQ。文本采用向量检索,FAQ则采用全文与向量的混合检索。
- 知识库内容筛选:对检索结果进行二次筛选,保留与问题最相关的内容用于最终回答。
相比传统的Naive RAG方案,本次在知识库构建与检索两个环节均实施了常见优化,包括Chunk切分优化、FAQ提取、Query Rewrite、混合检索等手段。
Agent架构
整体架构分为三个部分:
- 知识库:内部包含Knowledge Store和FAQ Store,分别存储文本内容与FAQ内容,支持向量与全文的混合检索。
- MCP Server:提供对Knowledge Store和FAQ Store的读写操作,共暴露了4个Tool。
- 功能实现部分:完全通过Prompt + LLM实现知识库的导入、检索和问答等核心功能。
具体实现
所有代码已开源,分为两部分:
- Python实现的Client端:实现了与大模型的交互逻辑,通过MCP Client获取Tools,根据大模型的反馈调用Tools等基础能力。同时通过Prompt实现了知识库构建、检索和问答三个主要功能。
- Java实现的Server端:基于Spring AI框架实现了MCP Server。底层存储选用Tablestore,主体框架基于此前文章中的代码进行了改造。
知识库存储
选择Tablestore作为知识库的存储方案,主要基于以下几个关键原因:
- 简单易用:创建实例后即可直接使用。Serverless模式无需管理容量,也无需后续运维。
- 低成本:完全按量计费,存储规模可自动水平扩展,最大可扩展至PB级别。当然,如果采用本地知识库则零成本,但这里实现的是一个企业级、可云端共享的知识库。
- 功能完备:支持全文、向量和标量等多种检索功能,并支持混合检索。
MCP Server
实现了4个Tool,相关描述如下表:
知识库构建
1. 对文本进行切段并提取FAQ
整个过程完全通过提示词完成,可根据自身需求进行调优。从实际效果来看,大模型能够较为准确地完成文本切段与FAQ提取。这种方案的优势在于:切段后的文本能保证完整性与语义一致性,格式处理也比较灵活。FAQ提取非常全面,对于简单问题,直接搜索FAQ是最准确直接的方式。唯一的不足是执行速度较慢、成本较高,一次操作会消耗大量Token,不过好在这属于一次性投入。
2. 写入知识库和FAQ库
这一步同样通过提示词完成。基于MCP架构,实现起来非常简洁。
知识库检索
同样,这一步也通过提示词加MCP实现,逻辑清晰明了。通过提示词描述,实现了一个稍复杂的检索流程:
- 先对问题进行拆解,拆分成更细粒度的子问题。
- 每个子问题分别检索知识库和FAQ,将检索结果汇总后再进行筛选,保留下与问题最相关的内容。
- 按照固定格式返回结果。
知识库问答
从提示词和实际效果来看,整个问答过程并不复杂。MCP Server的日志显示,系统自动调用了知识库与FAQ的检索工具,并能根据之前导入的内容进行准确回答。
演示
1. 创建知识库存储实例
通过命令行工具创建Tablestore实例,配置完成后执行命令创建实例。实例名需自行选择,保证在所属Region内唯一即可。
2. 启动MCP Server
启动前需要在环境变量中配置如下参数:
可参考代码库README内的步骤启动,也可以将项目导入IDE后直接运行App类。启动后系统会自动初始化表和索引。
3. 导入知识库
执行代码库内的knowledge_manager.py工具。执行前需配置大模型的API-KEY,默认采用qwen-max。
4. 检索知识库
直接执行即可。
5. 基于知识库进行问答
最后
回看开头提到的观点:这一轮技术革命可以参考Web 2.0与移动互联网时代的发展路径——当新形态的应用开发需求爆发式增长时,一定会催生新的开发框架与行业标准。AI应用的技术完全可以构建在当前技术框架之上,因此发展迭代的速度异常之快。对于未来的演进方向,值得我们持续期待。
