06 · 开发 · 评估才能过账
错一笔的成本说不清,就不能全自动
算法工程师把识别和推荐放在可回退的位置。模型可以给建议,没有人确认之前不是事实,也不能直接改库存规则。
评估集:按供应商版式分层,不拿网上字体冒充现场针式打印。
成本:错一次要更正多少张单、会不会改账,写成数字,不写成感觉。
版本:每一张已确认的单都能回到当时的模型版本,才能回放。
算法工程师对评估设计负责
识别送货单、推荐库位、预测订货,这些能力容易被说成自动化。算法工程师的特点不是把预填做进页面,而是先定义错了怎么办、用什么集合证明、错一次值多少钱。输出是建议,事实来自确认动作。没有确认动作的自动过账,必须单独评审,并具备自动更正的闭环。做不到闭环,就不要自动过账。页面上预填、对照原图,由前端实现;账何时成立,由后端工程师的事务决定。
置信度门槛用历史单据的错误成本算,不用感觉。低于门槛的进入人工队列,积压数量和等待时长要看得见。队列堆了几百张,说明门槛或人力不匹配,不能靠再调高自动通过率把队列清掉。自动通过率上升的同时,抽检错误率必须可见。人改过的结果要反馈进下一次评估,不能当成异常丢掉。
样本、回放和触发重评
训练样本来自客户真实单据,脱敏后使用。上线前用最近一个月的单做回放,报告哪些版式完全失败。完全失败的版式走人工,不进模型。版式一变,要有重新评估的触发条件,而不是模型永远停在验收那天的准确率上。推荐库位不能覆盖人已经确认的上架,底线和识别相同。
成本函数拦住了一次全自动
业务要求送货数量识别后不再用人看。算法工程师先交评估:按供应商分层的错误率、每一类错误要更正的单据数、错一笔是否会改库存。有一家供应商的版式把 10 稳定读成 18,错误集中不平均。整体准确率看起来能过线,成本算下来却要改一批已确认单。他拒绝全自动,只允许预填,并停掉这家版式的自动通过。模型版本写进确认记录。事后若要回放某一版,按版本找出那些单,而不是全库乱翻。
找不到版本的识别结果,算法工程师视为未交付。评估集、成本表和版本号三样不齐,这个岗位的工作还停在演示准确率上。
推荐库位和识别不是同一套评估。识别错了会改数量;推荐错了,人已经确认的上架不能被模型覆盖。推荐的成本函数看的是「人改过之后模型有没有把改动当异常丢掉」。丢掉了,下一轮评估集会越来越假。算法工程师把人改过的样本强制留在评估集里,并按供应商、按班次分层报告。某一班次错误集中,先停该班次自动通过,不调整体准确率来掩盖。和后端的交接是:模型版本写入确认记录,库存事务仍由服务端决定何时成立。没有这三列——预测、人工值、最终采用值——推荐和识别都还只是演示。
网上随便找的字体不能冒充现场针式打印进评估集。版式一变,要有重评触发,不能永远停在验收那天的准确率。完全失败的版式走人工,不进模型。自动过账做不到更正闭环,就不要做。