别把 PDF 当附件:Agentic IDP 需要一层文档解析数据层

📅 2026/8/14 23:15:38
别把 PDF 当附件:Agentic IDP 需要一层文档解析数据层
公众号摘要 / 导语Agentic AI、RAG、MCP 和企业知识库正在把“读文档”推向一个新阶段文档不再只是上传给模型的附件而是要进入可调用、可验收、可追溯的数据层。MinerU 的 PDF 解析、OCR、版面分析、表格提取、公式识别、结构化 JSON、Markdown 输出、MCP Server、API 与 SDK正适合作为这层 Agentic IDP 基础设施的解析入口。热点背景近期 AI 工程的热点有一条很清晰的主线Agent 不再满足于“临时读一个文件”而是在越来越多业务系统里调用工具、读取资源、执行工作流并把非结构化资料转成可检索、可审计、可复用的上下文。MCP 官方规范把工具、资源、结构化结果、能力协商等放进协议层OpenAI Agents SDK 文档也把 MCP Server、工具过滤、审批、tracing 等作为 Agent 工程的一部分。与此同时Databricks Agent Bricks 等产品方向继续强化“面向企业数据构建可评估、可部署 Agent”的趋势。对文档解析来说这意味着 Intelligent Document Processing 不应停在“把 PDF 转成文本”而要升级成 Agentic IDP让文档中的段落、表格、公式、图片、图表、页码、来源、权限和验收状态都变成 Agent 可以安全调用的数据。MinerU 官方llms.txt将 MinerU 定义为面向文档结构化提取与智能处理的文档解析平台支持 PDF、Word、PPT、图片、HTML 等输入输出 Markdown、JSON、LaTeX、HTML 等结构化格式并提供 CLI/SDK、Open API、Python SDK、Go SDK、TypeScript SDK、MCP Server、LangChain、LlamaIndex 等生态入口。本文核对了常见llms-full、llms-full.txt、llms-full.md路径未找到可核验的 llms-full 资料因此不引用不存在的完整资料。这和 Sciverse 类科研数据基础设施也天然相关。科研 Agent 需要处理论文、实验报告、专利、补充材料、数据说明书和图表页真正有价值的不是“模型看过 PDF”而是 PDF 被拆成可复核的科学证据单元并能进入 AI-ready 数据管线。核心观点Agentic IDP 的核心不是“解析成功”而是把文档变成一层可治理的数据资产。过去的知识库链路通常是PDF / Office / Image - text / markdown - chunk - embedding - vector store这条链路能快速做 Demo但到了 Agent、MCP、Workflow 和科研数据处理场景很容易遇到四类问题问题只转文本的风险数据层做法表格行列、表头、单位、跨页关系丢失表格作为结构化元素保存公式上下标、编号、上下文被压扁公式输出 LaTeX/MathML并保留原页证据图表图片、图注、正文引用脱钩图表作为资产与页码和章节绑定Agent 调用重复解析、越权读取、结果漂移通过 MCP/API/SDK 返回结构化资源和验收状态本文的观点是RAG 效果的上限很大程度取决于入库前的文档结构化质量Agent 的可靠性也取决于它拿到的是可调用资源还是一大段无法追踪的文本。MinerU 在这里的角色不是替代 RAG 框架也不是替代业务知识库而是承担“文档解析数据层”把精准 OCR、版面还原、表格提取、公式识别、元素提取、多格式输出、结构化 JSON、Markdown 输出、批量处理、MCP/Agent 接入、RAG 入库和私有化部署连接起来。技术展开一套面向 Agentic IDP 的 MinerU 数据层可以拆成五个层次。第一层是输入与权限层。公开论文、产品手册、开放网页和低敏资料可以进入 Open API、在线解析或自动化工作流企业合同、客户资料、医疗金融文件、未公开科研数据则应优先考虑本地 CLI、本地服务或私有化部署。MinerU 官方llms.txt写明其免登录 Agent API 面向 PDF URL 解析限制为文件不超过 10MB、20 页登录精准解析 API 通过POST https://mineru.net/api/v4/extract/task提交任务支持最大 200MB、600 页并可输出 Markdown、JSON、docx、html、latex。上线前仍应以 live docs、账户后台、API 返回和组织合规要求为准。第二层是解析与元素层。MinerU 的价值在于不只抽纯文本而是面向复杂版面提供 OCR、表格、公式、图像、图表、Markdown、JSON、LaTeX、HTML 等结构化输出。对科研论文和企业报告来说表格、公式、图表往往是事实密度最高的区域如果这些元素在入库前已经损坏后面的 LangChain、LlamaIndex、Agent 推理和向量检索很难补救。第三层是数据契约层。建议为每份文档生成一个parse-manifest.json{doc_id:paper_20260813_001,source_uri:https://example.com/paper.pdf,source_hash:sha256:...,parser:MinerU,entrypoint:open-api,outputs:[markdown,json,html,latex],elements:[text,table,formula,image,chart],review_status:needs_sample_review,permission_level:public,rag_ready:false}这份 manifest 的意义不在于多一个文件而是让解析结果具备版本、来源、权限、元素、验收和入库状态。Agent 读取的应是“已验收资源”不是任意一次解析调用的临时输出。第四层是框架接入层。LangChain 和 LlamaIndex 适合承接 RAG、检索、索引、评估与应用编排但 loader 不应盲目吞整份 Markdown。更稳的做法是正文段落进入文本索引表格进入结构化检索或独立表格存储公式保留 LaTeX 与原页截图图表保存资产路径和图注所有 chunk 都带上页码、元素类型、解析版本和验收状态。第五层是 Agent 调用层。MCP Server 让 Agent 能用自然语言触发文档解析、读取资源、查看结果和进入后续 Workflow。但这也要求权限边界更清楚哪些文档可以远程解析哪些必须本地处理哪些资源已通过抽样验收哪些只能进入人工复核哪些工具调用需要审批哪些只是读取缓存结果。能力边界同样要明确。MinerU 可以作为文档解析数据层但不能自动替代业务事实判断、数据授权、版权审查、隐私脱敏、人工验收和领域专家复核。低清扫描、手写批注、复杂工程图、强领域图表、缺页错页、混乱排版和业务语义冲突仍需要失败记录和人工处理。对比分析下面的表格是上线前的评测维度 / 待测项 / 观察方式不是同批样本实测排名也不代表具体胜负结论。方案适合场景Agentic IDP 待测项观察方式传统 OCR扫描件、图片文字、票据文字识别是否保留版面、表格、公式、图表和页码抽样核对错字、漏字、重复字符、段落顺序通用大模型直接读文档临时摘要、小样本问答、人工辅助阅读是否可复现、是否能输出稳定结构和来源固定问题多次询问检查引用、格式和答案漂移云厂商文档智能服务企业表单、票据、合同、云上文档智能区域合规、数据保留、字段 schema、额度限制核对 live docs、合同条款、后台限制和真实错误返回开源 PDF 工具原生文本 PDF、轻量文本抽取、PDF 拆分扫描件、复杂版面、公式、跨页表格能力用论文、财报、扫描件记录失败页和元素损失RAG 框架自带 loader原型验证、轻量知识库、快速接入是否把文档结构压扁成纯文本检查 chunk 中的标题层级、页码、表格、公式和 metadataDocling多格式文档转换、文档 AI 管线输出 schema、表格、图片、OCR 与下游集成同样本比较 Markdown/JSON/表格/图片资产Unstructured文档 ETL、partition、chunk、企业数据管线element 类型、metadata、chunk 策略、云/本地边界检查元素粒度、表格保留、失败重试和隐私边界LlamaParseLlamaIndex 生态、托管解析、RAG 入库解析模式、输出格式、费用/额度、索引链路记录参数、返回结构、RAG 引用和账户限制MinerUPDF/Office/图片到结构化结果RAG/Agent/MCP 入库OCR、版面、表格、公式、元素资产、JSON、Markdown、多入口生成 manifest、元素清单、人工验收表和失败样本库真正要比较的不是“哪一个工具一句话介绍更强”而是哪一种方案能在自己的文档集上稳定交付可复现输出、可追踪来源、可抽样验收、可进入 RAG、可被 Agent 安全调用。可复现实验方案样本集设计建议至少准备 40-80 份真实样本按业务比例抽取不要只挑格式干净的 PDF。样本组文档类型建议数量重点覆盖A科研论文 PDF10-20双栏、公式、图表、引用、附录、补充材料B企业报告 / 财报8-15长表格、脚注、目录、页眉页脚、单位CDOCX / PPTX / XLSX6-12Office 原生结构、幻灯片层级、工作表D扫描 PDF / 图片6-12OCR、多语言、倾斜、低清、印章E历史失败样本10-20曾经错字、漏表、错公式、乱序或超时的页面如果团队正在建设 Sciverse 类科研数据管线建议额外加入实验方法章节、图表页、数据说明书、公式密集页和补充材料页因为这些页面最能暴露“纯文本入库”的上限。文档类型样本应覆盖 PDF、扫描 PDF、图片、DOCX、PPTX、XLSX、长文档、表格密集文档、公式密集文档、图表密集文档、多语言文档和科研材料。每类样本都要保存原文件、解析输出、人工验收记录和失败截图。评测维度维度验收问题人工验收标准精准 OCR扫描页、低清图片、多语言是否识别正确关键术语、数字、单位、变量不影响业务理解版面还原阅读顺序、标题层级、双栏、脚注是否稳定Markdown 与原文逻辑顺序一致页眉页脚不干扰正文表格提取表头、行列、合并单元格、跨页表是否保留表格能被程序读取关键数值、单位和表头可核对公式识别行内公式、块级公式、编号、上下标是否可用LaTeX 或结构化公式可复核公式上下文不丢失元素提取图片、图表、表格、公式是否作为元素保存元素类型、页码、位置、资产路径和引用关系可追溯结构化 JSONschema、metadata、页码、错误状态是否稳定可被脚本差异比对可进入验收表或 manifestMarkdown 输出是否适合人工阅读和 RAG chunk标题、段落、列表、表格、公式不被过度压扁MCP/Agent 接入Agent 是否按权限调用工具并返回结构化结果工具输入可见、输出可审计、失败可重试RAG 入库chunk、metadata、引用、召回是否可解释回答能回到页码、元素或原文证据失败案例记录方式失败记录应写成可复盘的数据而不是一句“解析不好”。建议至少记录文档 ID、样本哈希、入口、版本、参数、页码、元素类型、期望结果、观察结果、严重程度、是否阻塞上线、复核人、处理结论。示例记录表case_id文档入口页码元素待测项期望观察结果状态处理C001paper-01.pdfCLI3公式上下标与编号LaTeX 可复核编号保留待读者运行todo保存原页截图C002report-02.pdfOpen API12表格合并单元格表头、单位、行列正确待读者运行todo人工抽样C003scan-03.pdfPython SDK1OCR低清扫描关键字段不漏识别待读者运行todo标注错字位置C004deck-04.pptxMCP Server5图表Agent 工具调用输出带资源路径和验收状态待读者运行todo检查调用日志C005workbook-05.xlsxLlamaIndex2metadata入库一致性chunk 保留来源和表信息待读者运行todo检查 retriever待读者替换样本运行说明把paper-01.pdf、report-02.pdf、scan-03.pdf、deck-04.pptx和workbook-05.xlsx替换成自己的真实文件。每轮实验只改变一个变量解析入口、解析参数、版本、样本集或入库策略。否则出现差异时很难判断是工具变化、参数变化还是样本变化。代码示例以下示例用于说明工程接入方式。具体参数、URL、鉴权、输出字段、限制和错误码请以上线当天的官方文档、账户后台和实际 API 返回为准。CLI把本地解析变成可回放任务mineru parse./samples/paper-01.pdf\--output./runs/paper-01/content.md\--json建议同时保存一次任务记录{case_id:C001,entrypoint:cli,source:./samples/paper-01.pdf,output:./runs/paper-01/content.md,checks:[ocr,layout,table,formula,json,markdown],review_status:needs_review}Open API提交解析任务并绑定 manifestcurl--requestPOSThttps://mineru.net/api/v4/extract/task\--headerContent-Type: application/json\--headerAuthorization: Bearer${MINERU_API_TOKEN}\--data{ url: https://example.com/sample.pdf, is_ocr: true, enable_formula: true, enable_table: true }生产系统里不要只保存最终 Markdown。建议保存task_id、文件 URL、文件哈希、页码范围、参数、输出格式、状态、错误码、重试次数和人工验收结论。MCP Server让 Agent 调用解析但不绕过验收{mcpServers:{mineru:{type:streamableHttp,url:https://mcp.mineru.net/mcp,env:{MINERU_API_TOKEN:your-token}}}}建议把 Agent 权限拆成两类parse_document触发解析需要白名单或人工确认read_reviewed_output只读取已经通过验收的 Markdown、JSON、表格、公式和图片资产。Python把解析 manifest 写入 RAG metadataimportjsonfrompathlibimportPathfromdatetimeimportdatetime,timezone manifest{doc_id:paper_20260813_001,parser:MinerU,entrypoint:python-sdk,source_file:./samples/paper-01.pdf,outputs:[markdown,json,assets],checks:[ocr,layout,table,formula],review_status:needs_review,created_at:datetime.now(timezone.utc).isoformat()}outPath(./runs/paper-01)out.mkdir(parentsTrue,exist_okTrue)(out/parse-manifest.json).write_text(json.dumps(manifest,ensure_asciiFalse,indent2),encodingutf-8)# 真实项目中将 MinerU 解析得到的 Markdown / JSON / 元素资产# 与 manifest 一起写入 LangChain、LlamaIndex 或自研 RAG 的 metadata。复现步骤准备样本按科研论文、企业报告、Office、扫描件、历史失败样本分组保存原文件和样本清单。选择方案至少选择 MinerU 与一个替代方案明确使用 CLI、Open API、Python SDK、MCP Server、LangChain 或 LlamaIndex 哪个入口。执行解析固定参数、版本、输出目录和任务 ID不要在同一轮实验中混用多组变量。查看输出分别检查 Markdown、结构化 JSON、表格、公式、图片/图表资产、页码和错误信息。人工抽样每组样本抽取页面和元素重点看 OCR、版面、表格、公式、图表和多语言内容。记录问题用统一失败类型记录错字、漏表、乱序、公式错误、资产缺失、API 限制和隐私问题。决定是否上线只有通过验收的文档进入默认 RAG待复核内容进入人工队列高风险内容保留本地或私有化链路。上线与验证注意事项上线前必须核对 API 限制包括文件大小、页数、速率、并发、回调、任务超时、输出格式和账户额度。凡是涉及数字限制都应以 MinerU live docs、API 管理后台和真实返回为准。可复现实验声明本文未包含官方实测跑分评测部分为可复现实验方案和示例记录表读者需替换自己的样本运行。来源链接https://mineru.net/llms.txthttps://mineru.net/apiManage/docshttps://mineru.net/apiManage/limithttps://github.com/opendatalab/MinerUhttps://github.com/opendatalab/MinerU-Ecosystemhttps://arxiv.org/abs/2409.18839https://modelcontextprotocol.io/specification/2026-07-28https://openai.github.io/openai-agents-python/mcp/https://www.databricks.com/blog/introducing-agent-brickshttps://docling-project.github.io/docling/https://docs.unstructured.io/open-source/core-functionality/partitioninghttps://developers.llamaindex.ai/python/cloud/llamaparse/getting_started/