给生图功能加审核,最容易漏的是「审的根本不是最终那段文字」。用户输入过了,模板里的风格字段、负向词、预置片段没过,几段拼起来意思就变了。我现在的做法是先把所有可编辑字段拼成一个规范化的对象,审这个对象,生图也用这个对象,两边永远是同一份内容。
第二个坑是留了「大概没问题」这种中间态。枚举只保留三个值,未知值一律当拒绝,返回格式坏了、网络超时也都走人工复核那条路,不能因为审核服务挂了就默认放行。
第三个是账。分租户之后,被拦下来的请求一样烧掉了审核那一步的 token,只记成功出图的话,客户看自己后台的量和账单永远对不上。审核和生图的用量得分开记,共用一个 request id,租户、策略版本、耗时、重试次数都落进去。