处理带图工单时,建议把分类、策略执行和租户成本核算拆成三步。图片交给多模态模型并强制 JSON Schema 输出,本地校验结果,无效或不确定的进人工审核。降级机制是队列,不是猜测。
审核员处理的是投诉而非发布照片,同一张图可能是暴力证据、含仇恨符号的截图或普通头像。一个布尔值 safe 会丢掉审核员需要的上下文。分类用版本化清单,nsfw、violence、hate_symbols 分开记录,加 uncertain 状态和简短证据字段。模型描述所见,应用代码决定工单可见、拦截还是等人工。
不要用自由文本让模型描述再搜关键词,标点变化会破坏解析,缺失类别会被当成负面结果,租户策略也无法从自由回答中还原。类型化输出不是安全决策,但给后续流程稳定输入。
生产环境还需在模型调用前做文件大小和 MIME 校验,控制存储图片的访问权限,在 worker 边界设超时策略。限流、空响应或 schema 不匹配都走人工审核路径。避免把图片或敏感工单文本写进普通应用日志。
每个图片尝试生成一条审核记录,按租户、工单、策略版本、模型版本和请求 ID 关联。记录 token 数、延迟、重试次数、结果状态和审核结论。成本账本回答月度账单答不了的问题:哪个租户图片最大、哪个策略产生最多审核、提示词改动是否只增 token 不增召回。成本是决策维度,不是削弱分类器的理由。
JSON Schema 是契约,降级是状态转换。最小状态集是 triage、hold、review,不是模型标签的同义词。review 必须带 invalid_json、empty_model_response 或 uncertain 原因,hold 带观察类别和触发策略版本。缺失字段不要静默转 false,那会把集成问题变成假干净结果。不要无限重试,用有界 worker 预算,请求幂等,队列年龄对支持团队可见。
上下文是难点。新闻里的仇恨符号、作为证据的暴力画面和背书可能像素相同但处理不同。当标题、对话历史、司法管辖区或申诉决定动作时,纯图片自动化不适用。冻结一组真实感媒体工单样本再改提示词,包含普通头像、截图、纪实材料、部分遮挡、低分辨率和合法讨论有害图像的案例。审核员独立标注每个类别,再比较误报、漏报、各类别召回、不确定率、schema 有效率和 token 用量。
保留产生分歧的案例,不要平均掉。部分遮挡的符号可能暴露分类法歧义,低分辨率帧可能暴露质量边界。同一批案例也跑降级路径,格式错误的响应应计为审核事件,不能从质量报告中消失。解析失败说明契约或集成要修,清晰图上的分歧指向分类器或提示词,缺工单上下文的分歧属于审核设计问题。
上线前决定结果待定时用户看到什么、谁能放行被 hold 的图片、证据保留多久、租户如何申诉。每次模型、提示词、schema 或策略变更后重跑同一套评估。有用的产物不是聪明的聊天回复,而是可回放的审核记录,分类、执行、审核和成本可分别检查。
#开发者 #工具 #Nodejs #多模态 #内容审核 #JSONSchema #NSFW
@DevToolboxHub