很多人用 AI 读 PDF,第一反应是一样的:
直接上传,让 AI 总结。
但只要你手上有过几份真实的 PDF,就会发现这个直觉不太对。
页眉页脚被读进去了。页码混在正文里。
双栏论文的顺序乱了。
表格碎了一地。
AI花了不少token在清理排版噪声,而不是在理解内容。
这篇不讲大道理。只讲一个我现在在用的工作流:
先把 PDF 转成干净的 Markdown,然后把 Markdown 结构化落地,最后用一条小管线让它自动跑。
先说一下 MarkItDown 是什么。
MarkItDown 是微软开源的文件转换工具:
https://github.com/microsoft/markitdown
它的定位很简单——
把那些人类能读但 AI 读起来费劲的格式(PDF、Word、PPT、Excel、HTML),统一转成 AI 好读的 Markdown。
你不需要自己写解析逻辑。
它帮你处理了页眉页脚的剔除、表格的提取、标题层级的识别。
安装完跑一行命令,出来的就是一版干净的文本。
不是 OCR。不是 PDF 阅读器。是喂 AI 之前的一道清洗工序。
第一步:PDF 到 Markdown
安装不复杂,一行就行:
pip install "markitdown[all]"转换也简单:
markitdown report.pdf -o report.md打开转出来的 markdown 扫一眼。
标题层级对不对?正文顺序乱了没有?表格还看得懂吗?
不用追求 100% 完美,只要比原始 PDF 更适合 AI 读就行。
转完之后别急着让它总结。
先让 AI 检查结构质量——我一般用这段:
我会给你一份由 PDF 转成的 Markdown。请不要直接总结。文档主题、主要章节、有没有页眉页脚目录等噪声。只基于我给你的内容,不确定就标不确定。
等于让 AI 先看现场再干活。
它说结构没问题了,再让它做总结。
这时候出来的东西稳很多。
原文到这里就结束了。但我自己用下来,觉得后面还有事可以做。
第二步:Markdown 到结构化知识
转出来的 markdown 直接扔那不管,下次找资料还是得重新喂。我试过几种方案,最后固定下来这套文件夹结构:
inbox/ <- 新 PDF 扔进来markdown/ <- 转好的 md 文件notes/ <- AI 的笔记、摘要、问题清单
每个 PDF 对应一个同名文件夹,原始 md、AI 总结、补充笔记都放一起。
下次查资料不用翻 PDF,直接搜 markdown 文件夹就行。
AI 总结那步我也换了 prompt。不用泛泛的总结一下:
请把这份 Markdown 整理成学习笔记。输出:核心问题、关键概念、按背景到结论整理的论证结构、可以用到我工作里的方法、反常识的点、需要回原文再确认的地方。
这个 prompt 比总结一下好用。
它逼 AI 按结构拆,而不是顺着标题自由发挥。
输出是笔记,不是提纲。
如果你想进 Obsidian 之类的笔记工具,这个格式直接能用。
如果只是本地检索,notes 文件夹也够了。
第三步:自动化,往里扔就行
如果你只是偶尔处理一份 PDF,前两步就够了。
但如果你跟我一样每周都会收到报告、论文、合同之类的东西,手动一条条跑就有点烦了。
这个问题的解法不一定是写代码,也可以用 prompt 来定义一个自动化流程。
我在 system prompt 里这么写过一段规则,
效果和你用脚本监听文件夹差不多——
只不过执行者从脚本换成了 AI:
你是一个PDF文件管家。以下是你的运行规则:1.inbox 文件夹里出现新文件时自动处理2.如果是 PDF,先转成Markdown存进markdown文件夹3.然后对 markdown 做结构化总结,输出到 notes 文件夹4.每完成一步写一条日志5.出错了重试最多三次6.全部完成后通知我
如果你用的是 Cursor、Claude Project 这类可以设定规则的工具,把这段贴进去就行。
之后你需要做的就是两个动作:
1. 把 PDF 拖进 inbox
2. 定期去 notes 文件夹看一眼结果。
跑起来之后,你处理 PDF 的方式就从打开终端输命令变成了往里扔就行。
写在最后
很多人问哪个模型总结 PDF 最好。我的感受是:问题不全在模型,更在于喂进去的东西干不干净。
同样的模型,喂排版噪声和喂干净的 Markdown,输出的质量差距不小。
输入越干净,输出越稳定。
先把 PDF 转干净,再做结构化落地,最后用管线自动跑。
这套流程搭好之后,不管你怎么换模型,效果都不会差太多。
夜雨聆风