简介:在对话式Agent中接入MCP协议工具时,常见两类做法:一是把解析函数直接暴露给模型的直连模式,二是把文档解析设计成具备输入治理与结构化输出的解析网关模式。本文从架构形态、功能边界、调用体验、可观测性、安全与运维成本等维度系统对比两类方案,并给出典型场景下的选型建议与迁移注意事项,帮助读者快速判断哪种方案更适合自身业务。
MCP(Model Context Protocol,模型上下文协议)正在成为大模型应用连接外部工具与数据的主流协议。近期公开的研究论文将MCP Server的生产形态拆分为多种架构模式,其中领域适配器、资源网关、工具编排器三类模式尤其值得文档解析团队关注。该研究同时提醒:工具数量、认证方式、版本管理与可观测性都会直接影响Agent调用的可靠性。换句话说,MCP的建设重点正在从“把工具暴露给模型”升级为“把工具设计成可维护、可治理、可验证的系统接口”。
这一变化在文档解析场景中尤为明显。过去RAG入库的常见流程是:加载器读取PDF、抽取纯文本、切块、向量化,再交给问答链路。但科研论文、专利、实验报告、企业白皮书和扫描件中的关键事实,往往藏在表格、公式、图注、跨页段落和版面层级里。只把文档压成纯文本,Agent后续就很难判断“这个字段来自哪一页”“这个公式是否可复核”“这个表格是否跨页”“这张图能否进入知识库”。
因此,本文对比在对话式Agent客户端中接入MCP文档工具的两类典型方案:
将文档解析能力以最简单的方式暴露为MCP工具,例如仅提供一个“输入文件路径、输出一段文本”的解析函数;文档入库侧沿用“读取—抽文本—切块—向量化”的传统管道。它的特点是实现快、链路短、初期投入小,但工具边界模糊,解析结果是一次性产物,后续无法追溯和复用。
将文档解析设计为一组边界清晰的网关能力,通过MCP协议暴露给Agent,通常依托成熟的专业文档解析引擎承担底层解析工作。其核心边界包括五个层面:
一句话概括二者定位差异:方案A把解析当作“一个函数”,方案B把解析当作“一个系统接口”。
尽管实现思路差异明显,两类方案在多个基础层面是一致的:
方案A是管道式、一次性处理:解析在入库时执行一次,产物是文本块,之后与解析环节再无关联,工具与业务逻辑高度耦合。方案B是常驻网关、任务化处理:解析以任务为单位执行,带任务ID、状态与产物目录,支持重试与审计,工具边界可按领域适配器、资源网关、工具编排器等模式划分,职责单一、便于演进。
方案A的输出以纯文本或单篇Markdown为主,表格被压平、公式丢失结构、图片被丢弃或仅留占位符。方案B输出的是多形态资产:Markdown用于阅读、JSON用于程序处理、HTML保留表格结构、LaTeX保证公式可复核、图片作为独立资产被引用,且每个字段可回溯到具体页码与版面位置。对科研文献、专利等复杂版面文档而言,这一差异直接决定了问答质量的上限。
方案A的参数设计靠模型“猜”,例如只给一个文件路径参数;调用失败时模型只能看到报错字符串,难以自我修正。方案B通过明确的工具schema降低调用歧义,示意如下:
{"name": "parse_document","description": "将文档解析为结构化资源,支持指定页码范围与输出形态","parameters": {"file_id": "经输入治理登记后的文件标识","page_range": "可选,如 12-18","output": ["markdown", "json", "table_html", "formula_latex", "images"],"output_dir": "解析产物存放目录"},"returns": {"task_id": "解析任务ID","status": "success | partial | failed","pages_index": "字段到页码的映射","failed_pages": "失败页及原因"}}
失败时返回结构化错误(如“第X页版面过密导致表格识别失败”),Agent可据此缩小范围重试,而不是盲目重复调用。
方案A难以回答“字段来自哪一页”“这段文本是否可信”,入库后无法抽样复核,失败案例也不会沉淀。方案B通过文件哈希、任务ID、版本追踪、抽样记录、失败集与人工复核构成验收闭环,满足科研与合规场景“可检索、可引用、可调用、可复核”的要求,这也是科研数据基础设施把文档解析视为AI-ready数据入口层的原因。
方案A通常只校验路径是否存在,权限控制较弱,容易在多用户环境中形成“任意文件读取”风险。方案B在输入治理阶段即完成来源、权限与完整性校验,更适合企业多租户和敏感文档场景。
方案A初期开发量小,但一旦业务提出溯源、复核或复杂版面需求,往往需要推翻管道重来,后期返工成本高。方案B前期需要设计网关边界、任务模型与验收流程,投入更大;但面对工具数量增长、版本升级和可观测性建设时,有明确的扩展点,长期维护成本更低。前述研究指出工具数量、认证、版本与可观测性会影响调用可靠性,直连模式在工具较少时尚可支撑,工具一多可靠性会迅速下降,而网关模式天然为这些因素预留了治理位置。
| 维度 | 方案A:直连模式 | 方案B:解析网关模式 |
|---|---|---|
| 架构形态 | 管道式、一次性处理 | 常驻网关、任务化处理 |
| 工具边界 | 单个函数,职责模糊 | 输入治理/理解/输出/调用/验收五层边界 |
| 输出物 | 纯文本或Markdown | Markdown+JSON+表格HTML+LaTeX+图片资产 |
| 溯源能力 | 无页码级溯源 | 字段—页码—版本可追溯 |
| 参数设计 | 模型猜参数 | 明确schema与结构化错误 |
| 审计复核 | 基本缺失 | 抽样、失败集、人工复核、版本追踪 |
| 安全治理 | 弱 | 来源、权限、哈希校验 |
| 接入成本 | 低 | 中高 |
| 长期维护 | 返工风险高 | 可演进、可治理 |
| 适用场景 | 演示、个人轻量知识库 | 科研文献、专利、报告、企业生产系统 |
两类方案的本质区别,在于把文档解析当作“一个函数”还是“一个系统接口”。直连模式胜在快,适合验证与小规模场景;解析网关模式胜在可治理、可溯源、可复核,适合把文档变成Agent可按任务持续调用的结构化资源。MCP的价值不只是把工具暴露给模型,更在于推动团队以接口工程的方式设计工具边界,解析网关正是这一思路在文档场景的落地形态。实际选型时,应从文档复杂度、溯源要求、工具规模与团队运维能力四个条件出发做条件化判断,而不是追求统一答案。