AI 自动化办公读取附件总出错怎么办?从文件接收到结果验收
报销单、会议纪要、合同和客户截图进入自动化流程后,最常见的失败不是模型完全不识别,而是文件没有被正确接收、文本抽取缺页、字段映射错位,最后却没有人发现。
适用场景:附件进来了,结果却像“空白模板”
在 AI 自动化办公中,上传成功不等于模型收到了可用内容。扫描 PDF 可能只有图片层,表格可能存在合并单元格,截图里的数字可能被压缩,邮件附件还可能带有同名旧版本。若流程只记录“文件已上传”和“模型已返回”,就无法知道错误发生在接收、转换、抽取还是生成阶段。
这类流程同时依赖文件服务、解析器、AI 模型接口和业务字段。永沃云枢建议先把文件处理拆成可观察的阶段,每阶段输出状态和证据,不要让一个大提示词同时承担识别、判断、格式化和入库。这样 Codex 接入或开发者 AI 调用时,也更容易写测试样本。
操作步骤:建立附件处理的四段状态
第一段是接收。记录文件名、大小、扩展名、内容类型、上传时间、来源业务单号和文件哈希,拒绝超大文件与不允许的类型。第二段是预处理。对 PDF 检查页数和是否有文本层,对图片记录分辨率,对表格记录工作表名和行列数。预处理失败必须返回明确原因。
第三段是抽取。保存页数、字符数、表格单元格数量和抽取警告。可以把原始文件和脱敏后的抽取文本绑定同一个 document_id,但不要把完整身份证号、银行卡号或合同密钥直接写入普通日志。第四段是模型输出与入库,使用 JSON Schema 约束字段类型,并为每个字段保留来源页码或证据片段。
上线前准备五类样本:正常文本 PDF、扫描 PDF、带合并单元格的表格、低清截图和缺字段文件。每次模型或解析器变更都跑一遍,检查空结果、数字格式、日期、金额、责任人和附件版本。对于高风险字段,输出后进入人工复核队列,不能直接覆盖业务记录。
常见问题/避坑:文件名不是可靠身份
同一个“合同.pdf”可能来自不同客户,也可能是新旧版本。必须使用内容哈希或业务单号建立身份,文件名只用于展示。另一个常见问题是把 OCR 的空字符串当成“没有内容”,其实可能是扫描图像、密码保护或解析器不支持。应把空结果分成未抽取、抽取为空、模型判定为空三种状态。
FAQ:只保留模型最终 JSON 可以吗?不建议,至少保留脱敏后的抽取摘要和字段证据,便于复核。FAQ:所有附件都要人工看吗?可以按风险和置信度分层,低风险抽检,高风险全量复核。FAQ:为什么测试样本通过,真实邮件却失败?真实环境包含重复附件、损坏文件、中文特殊字符和权限问题,应把接收阶段日志也纳入测试。
排错路径:从业务字段反查输入证据
发现金额错了时,不要先改提示词。先查 document_id 对应的文件哈希、页数和抽取文本,再看字段映射是否把含税金额当成未税金额,最后核对模型输出和入库转换。发现责任人为空时,检查原文是否存在、OCR 是否丢失、角色名是否被当作普通文本,以及人工复核是否有明确的补录动作。
如果同一附件重复处理,查询哈希和幂等键;如果文件版本错了,比较接收时间、来源单号和消息重试记录;如果模型响应超时,查看 AI API 接入层是否保存了中间状态。CCSwitch 或其它模型调用管理工具可以帮助切换模型,但不能替代附件证据链。切换后必须用同一批文件重跑,确认差异来自模型而非输入版本。
还要为“无法自动处理”的附件设计出口。密码保护、页数缺失、扫描质量过低、字段冲突或疑似重复文件,都不应该被模型硬猜。更稳妥的做法是给业务系统返回待补充状态,附上失败原因和需要人工补录的字段。这样自动化流程即使失败,也不会把错误结果写进正式记录。
检查清单
是否记录文件哈希和业务单号;是否验证类型、大小、页数和权限;是否区分文本 PDF、扫描 PDF、图片和表格;是否记录抽取字符数与警告;是否脱敏日志;是否用 Schema 校验输出;是否保存字段证据;是否设置幂等键;是否有人工复核和回退;是否用固定样本复测。这样 AI 自动化办公才是可追踪流程,而不是只看最终表格的黑盒。