首页 / 文章

如何判断人工智能代理没有出错:评估与人工审核

从自有文档中构建测试集,衡量字段准确率、误报率和漏报率,对每次更改进行评估,并将不确定的案例转交给人工处理。

发布者:REACTAPP.TOP阅读约 3 分钟718 词

能够阅读文档或回答问题的人工智能代理有时会出错。关键问题不在于它是否会犯错,而在于出错的频率、具体场景,以及在错误影响到客户或账本之前是否有人发现。要回答这些问题,需要两样东西:一个值得信赖的评估集,以及嵌入工作流程中的审核步骤。

从自有数据中创建测试集开始

通用的基准测试只能说明模型在他人任务上的表现,对于你的供应商证书或合同模板则几乎无法提供参考。任何严肃的人工智能自动化项目的首要成果都应是基于真实案例构建的测试集:

  • 初始阶段可使用50到200个真实案例,涉及多种文档类型的流程则需要更多案例;
  • 每个案例的正确答案都应由当前执行任务的人亲自记录下来;
  • 故意加入了难以处理的案例:扫描质量差的内容、手写笔记、缺失字段、其他语言的文档,以及将两份文档粘在一起生成的PDF文件;
  • 说明哪些错误会造成严重后果,哪些仅令人烦恼。

测试集中的个人数据应尽量减少或进行遮蔽处理,且该数据集的存储权限应与原始文档相同。

选择正确的评估指标

单一的准确率数值会掩盖那些真正重要的错误。需对结果进行细分:

  • 针对提取任务的字段级正确性:发票号码、日期、金额、增值税率是否被正确读取?
  • 针对审核任务的规则检查:系统是否识别出了过期的证书、缺失的签名,以及与合同不符的付款条款?
  • 误报率:被标记为异常的正确文档数量。如果数量过多,人们就会不再查看这些标记。
  • 弃权情况:智能体选择“不确定”而非猜测的频率。设计良好的智能体会在无法处理的情况时选择弃权。
  • 那些可以通过代码验证的规则就应该用代码来检查。如果是“证书日期是否在将来”这类问题,应在程序中比较日期,仅使用模型来定位文档中的日期。这样就能避免一大类错误。

    每次修改后都进行评估

    在项目生命周期中,提示词、模型、OCR设置以及解析代码都会发生变化。每一次改动都可能解决五种问题,同时引发三种新问题。在任何改动投入实际使用之前,都应自动运行评估集,并将结果与之前的版本进行对比。如果评分下降,该改动就需要暂缓。

    更换模型时也是如此。更新或更便宜的模型并不一定就能更好地处理文档。先运行评估集,进行对比,然后再做决定。

    将人员安排在风险所在处

    人工审核并非自动化失败的标志,而是让企业在不将业务成败寄托于某个模型的情况下,依然能享受到自动化带来的好处。一种实用的方案是:

    • 那些评分高于既定置信阈值且所有规则检查都通过的结果,可直接处理,或仅进行快速抽查;
    • 结果不确定、检测失败以及高价值案例会被放入审核队列,提取的数据旁会显示原始文档;
    • 每一次审批和修改都会被记录下来,包括执行者及时间;
    • 这些修改会重新纳入测试集,因此下一次评估时会包含出错的案例。

    该阈值是由业务方决定的。初始时可设定得严格一些,观察审核人员实际做出的修改程度,只有在数据支持时再适当放宽。

    在生产环境中监控

    实际输入数据会不断变化。供应商可能更改模板,扫描设备被更换,也会出现新的文档类型。针对AI处理工具的监控至少应显示需审核的文档比例、审核人员的修改比例、处理错误与超时情况,以及队列中最旧文档的年龄。修改率上升通常是上游出现变化的第一个迹象。

    理想的状态应是怎样的

    你可以利用自身数据中的数值来回答:该工具在每个字段和每条规则上的正确率是多少,出现错误时会发生什么,以及如何察觉这些变化。如果供应商无法提供这些信息,那你看到的只是演示版本,而非实际生产系统。

    我们作为从演示到正式部署服务以及用于文档审核的AI智能体的一部分来构建这一层。关于负责构建及维护它的团队归属问题,可参阅什么是前置部署工程师以及小型企业何时需要这类工程师。