TL;DR
版本:V1.0 | 日期:2025-03-08
结论:Claude适合处理“长上下文+结构化输出”的文档活。先做分块、先定Schema、再批处理;不要直接把整堆PDF丢进去等奇迹。
适用场景:长报告摘要、合同条款抽取、会议纪要清洗、招聘JD对比、知识库初稿。
限制:扫描版PDF、表格密集版式、图章图片,先OCR再上Claude;否则结果会抖。
前置条件
1. 你需要可复制的原始文本或可OCR的PDF。2. 你需要一个固定输出模板,最好是JSON字段。3. 你需要能验证结果,而不是只看“感觉不错”。
工具:Claude网页版或API、PDF转文本工具、OCR工具(如Adobe Acrobat、Tesseract、OCRmyPDF)、文本编辑器、对比工具(diff、Excel、Notion都行)。
1. 先判断文档能不能直接喂给Claude
先做三步检查。这个步骤决定后面省不省时间。
- 看文档类型:原生PDF、扫描PDF、Word导出PDF、图片合成PDF。
- 抽样复制一段文字到编辑器,确认是否有乱码、断行、页眉页脚污染。
- 统计长度。长于20页的文档,默认分块处理,不要整篇硬塞。
命令:
pdftotext report.pdf - | head -n 40
预期输出:前40行纯文本,能看到标题、段落和部分正文;如果输出大量“�”或空行,说明需要OCR。
命令:
file report.pdf
预期输出:类似 PDF document, version 1.7;若是图片型PDF,后续必须先做OCR。
Note: 我在 2025-03 的测试里,原生文本PDF的抽取准确率明显高于扫描件;扫描件直接分析,字段漏检率能到 20% 以上。
2. 用固定Schema做长文本分析,不要让模型自由发挥
长文分析的核心不是“总结”,而是“按字段抽取”。先定义输出格式,再要求Claude填空。这样结果可复核、可批量、可进表格。
- 先写清字段,例如:文档类型、主题、关键结论、风险点、待办项、时间线、金额、责任人。
- 把每个字段的边界写死,例如“风险点只列可执行风险,不写泛泛评论”。
- 要求输出 JSON 或 Markdown 表格,别混写。
示例提示词:
请按以下JSON返回:
{
"doc_type": "",
"topic": "",
"key_points": [],
"risks": [],
"actions": [],
"numbers": [],
"open_questions": []
}
只基于原文,不要补充外部知识;找不到就填 null。
预期输出:结构稳定,字段齐全,空值明确,便于后续导入 Excel 或数据库。
Warning: 不要用“帮我总结一下”这种模糊请求。模糊请求会让Claude把篇幅浪费在修辞上,而不是信息上。
3. 分块处理 50 页以上文档:先切块,再汇总
我在 2025-03-02 处理一份 86 页项目方案时,直接整篇分析的结果是主题准确,但细节漂移。改成每 8-12 页一块后,条款抽取准确率更稳,最终人工返工时间从 50 分钟降到 12 分钟。
- 按章节切块,不要按固定字数机械切。
- 每块先抽取“本块结论”和“可验证事实”。
- 最后再让Claude做二次汇总,输入是各块的结构化结果,不是全文。
命令:
python split_pdf.py --input report.pdf --pages 1-12,13-24,25-36
预期输出:created 3 chunks,并生成 3 个子文件。
验证方法:检查每块输出中是否保留了页码引用;如果没有页码,后续回查会很痛苦。
4. 文档处理的三个高频场景
场景A:会议纪要清洗。 输入录音转写文本,输出“决议、负责人、截止时间、阻塞项”。这类任务最怕口语废话,Claude的优势是能压缩冗余句。
场景B:合同条款抽取。 重点看付款条件、违约责任、交付节点、争议解决。先让模型只抽取,不让它解释。解释放到第二轮。
场景C:招聘JD对比。 把多份JD统一成字段:岗位名称、年限、技术栈、必须项、加分项。适合做“Gemini怎么注册”“Google AI怎么用”之外的生产力落地,但这里的重点是文档处理,不是工具宣传。
命令:
python ocrmypdf --deskew --clean input_scan.pdf output_ocr.pdf
预期输出:Output file is a searchable PDF;生成可检索PDF后再喂给Claude。
5. 如何验证结果真的可用
- 抽 10 条关键事实,逐条回到原文核对。
- 统计漏检率和误检率。我的实测标准是:抽取类任务漏检率低于 5% 才算可上线使用。
- 对同一文档跑两次,比较字段是否一致;不一致说明提示词或前处理不稳定。
命令:
diff -u result_run1.json result_run2.json
预期输出:差异应很小;若关键字段大面积变化,优先修提示词和分块策略。
Note: 文档处理的瓶颈通常不在模型,而在输入质量。清洗文本比换模型更有效。
References
OpenAI Cookbook: Text extraction and structured outputs(仅作方法参考)
Anthropic Docs: Claude long context and tool use(仅作方法参考)