“客户来信带了三个附件,Agent 只处理了第一个,另外两个像没看见一样。”
运营的小唐下午把屏幕转过来给我看。办公室本地 Agent 会读邮件附件再写入业务表。她说那封来信明明有合同扫描、清单表和补充说明三份附件,Agent 回执却只确认了合同,清单和说明完全没进流程,差点按缺件退回客户。
图:Mavebo999777666 / Wikimedia Commons / CC BY-SA 4.0
我翻了处理日志。流水线拿到邮件后,附件列表只取了第一个文件名,后面的直接丢掉。状态字段也只有“已处理/失败”两种,看不出哪一份成功、哪一份没碰。更危险的是,缺附件时它仍会往业务表写半成品记录,事后对账才发现缺页。这和网页粘贴隐藏指令、外部来信当系统指令不是一类事,这次只盯多附件清单。
小唐问:“是不是让客户每次只发一个附件?”我说可以发多个,但程序必须先列全,再逐个落状态,缺件就禁止写操作。
第一,附件全清单。解析邮件时列出全部附件的文件名、大小和类型,给人看一眼确认,再进入处理。列表为空或解析失败,直接待确认,不静默跳过。
图:Free-Photos / Wikimedia Commons / CC0
第二,逐个状态。每个附件单独记成功、失败或跳过,回执里写清“三份中的哪几份已入库”。失败的那份保留原文,方便人工补处理,不允许用“已处理”一把糊过去。
第三,缺附件禁止写操作。约定必附的种类若缺任何一份,整单不写业务表,只进待办,并提示缺的是哪一类。避免半成品记录混进正式库。
验收准备了三十封多样附件来信和二十封单附件正常信。改之前,多样附件有十一封只吃了第一个;改之后,三十封全部列出全清单,缺件的八封都进了待办且未写表,二十封单附件与原来一致。小唐用那次原文再试,三份都进了对应状态,没有再写半成品。
图:Archives New Zealand / Wikimedia Commons / CC BY-SA 2.0
这件事提醒我,邮件附件不是“有一个就行”,而是要按清单逐个交代清楚。同事们现在看到回执会先对一下附件条数,心里有数。有一次来信附件名很像,清单把三份都列出来,才没漏掉补充说明。
你们有没有遇到过 Agent 只处理了第一个附件、后面的悄悄丢了的情况?后来怎么改的规则?欢迎在评论区说说。
关于邮件多附件全清单和缺件禁写,我整理在 evafang.com 上了。