打开网易新闻 查看精彩图片

你有没有接过这样一个电话:"我是某银行客户经理,我们有低息无抵押贷款产品。"

对方语气亲切,逻辑清晰,甚至还会主动提醒你"注意风险"。这种电话现在越来越难分辨真假,因为骗子早就摸清了正常客服话术的套路。于是有人想到,干脆让AI来听录音、做判断,看它能不能揪出这些藏在正常对话里的骗局。

听起来是个好主意。但当研究团队真的把大模型拉去做这件事时,却撞上了一个意料之外的麻烦。这个麻烦不是模型听不懂,也不是模型判断不准,而是模型说话太"自由"了。

一、问题出在哪:AI很聪明,但聪明得不听话

先说说这个任务到底要求什么。

一个反诈系统听到一段电话录音,不是直接吐出"是不是骗子"这么简单,它得按顺序走完三步:先判断这通电话属于什么服务场景(客户咨询、账户支持、电商推广等等),再判断这是不是诈骗,如果判断为诈骗,还要进一步说出是哪种诈骗类型,比如银行诈骗、钓鱼诈骗、投资诈骗。

**这三步是有依赖关系的,前一步错了,后一步就没法继续,甚至没有意义。**

这个结构本身没什么新奇的,类似分类树的设计在很多系统里都有。真正麻烦的地方在于,大语言模型天生喜欢"自由发挥"。你让它判断场景,它可能会回答"贷款服务"这种听起来很合理、但根本不在系统预设标签库里的词。这种回答专业术语叫幻觉式自由输出,可以理解成模型说的话你听得懂,但系统听不懂,因为它不在系统认识的词表里。

标签之外的输出:模型生成的结果在语义上说得通,但没有被预先定义在官方标签集合里,系统无法把它映射到任何一个合法类别,这类输出被记为"无效"(论文里叫INV)。

这就好比你去政务大厅办事,工作人员问你"你的诉求是投诉、咨询还是建议",你回答"我觉得这事儿挺离谱的"。这句话完全合乎情理,甚至比标准答案更真实,可系统的表格里根本没有这一栏,你的话就被算成"未填写"。如果不强制要求按标签作答,系统永远没法批量统计和处理,反诈告警也就没法自动触发。这不是模型笨,恰恰是因为模型说话太像人,反而不像系统需要的那种"填表机器"。

论文测出来的数字很直观:一个只给基础指令的模型,无效输出率高达36.04%。也就是说,每不到三次判断里,就有一次是系统完全没法用的废话。这不是准确率低的问题,是模型压根没在系统能理解的轨道上运行。

那怎么解决?直接的想法是微调模型,把这些规则和知识"喂"进模型参数里。但这样做的代价是,一旦诈骗话术变了、标签体系升级了,你就得重新训练。电信诈骗的花样几乎每个月都在变,今天流行"贷款诈骗",明天可能就是"AI换脸勒索",总不能每次都重新训练一遍模型吧。

这就是这篇论文,也就是FRAUDSkill,想要解决的核心矛盾。

二、核心思路:不改大脑,只换"操作手册"

FRAUDSkill的做法很直接:**大模型的参数一个字都不动,改的是外面的一层"技能说明书"。**

具体来说,这个说明书由三部分组成:一份根指令,规定模型的角色、输出格式和标签范围;一个技能库,里面装着各种局部知识,比如"识别这句话是不是在制造紧迫感"这种细分判断规则;还有一套路由策略,决定在场景判断、诈骗判断、类型判断这三步里,分别要用上哪些技能。

外部技能程序:一套完全独立于模型参数的可编辑文件,包含指令、知识片段和决策规则,模型本身冻结不动,只有这套外部文件在被不断修改和优化。

这个设计思路让我想起厨师和菜谱的关系。厨师(大模型)的手艺(参数)一直没变,变的是菜谱(技能程序)上写的调味比例和步骤顺序。如果厨师的手艺本身要跟着每次口味变化去重新培训,那成本高得离谱,一家餐厅每次调整菜单就要把厨师重新送去学校培训三个月,这显然不现实。但如果只是换一份新菜谱,厨师照着做就行,今天顾客爱吃辣了,明天顾客要求少油了,菜谱随时能改,厨师本身完全不用动。

那这份"菜谱"具体怎么写出来、怎么改进呢?这就要说到FRAUDSkill的两个核心机制了。

三、机制一:让AI自己给自己挑错,再让另一个AI帮它改菜谱

这套系统的优化过程,说白了就是不断"复盘"。

具体流程是这样:先用当前这份技能说明书跑一批训练样本,记录下模型每一步的原始回答、解析后的标签、有没有跳过该走的步骤。这个完整记录叫轨迹。

轨迹:模型针对某个音频样本,按场景、诈骗判断、诈骗类型三个环节依次生成的全部原始回答和中间结果,是诊断错误的基础材料。

拿到轨迹之后,系统会对照标准答案,分析出错的地方到底是什么类型的问题:是标签本身编错了?是该输出却漏了?还是前后两步判断自相矛盾了?这个分析过程会产出一段自然语言的诊断报告,不是一个冷冰冰的数字分数,而是像同事复盘会议一样,具体指出"这里判断诈骗类型时,忽略了前面已经判定为正常通话的结论"。

拿到这份诊断报告后,另一个模型扮演"编辑"的角色,负责修改说明书。它可能会调整根指令的措辞,也可能往技能库里加一条新规则,或者调整某个环节该调用哪些技能。这个过程会产生好几个"候选新版本",系统再拿一批没参与过诊断的验证数据去打分,分数高的候选版本留下来,进入下一轮,分数低的直接淘汰。这套"生成候选、打分、淘汰"的循环重复好几轮,最后留下表现最好的一份说明书。

这个过程很像编辑部改稿子。作者写完初稿(模型的原始回答)交给校对(错误分析),校对不是直接把稿子撕了重写,而是列出具体问题清单交给主编(编辑模型)。主编根据清单做几个修改版本,拿去给读者小范围试读(验证集打分),看哪个版本反馈最好,选定后再进入下一轮修订。如果没有这套"分析问题、定向修改、验证效果"的闭环,只靠人工盯着输出结果瞎改prompt,改十次可能有八次是拍脑袋决定,效果好不好全靠运气,论文里对比的SkillOpt和EvoSkill这类通用技能优化方法就吃了这个亏。

数据显示,单纯靠这种文本层面的技能优化(论文称为FRAUDSkill-Text),Macro-F1(一种同时衡量各类别识别能力、对少数类别不偏心的准确度指标,比普通准确率更能反映模型在类别不均衡场景下的真实表现)只从41.54%提升到42.42%,提升幅度很小,而且不稳定,换个随机种子重跑,结果能上下浮动1.39个百分点。更关键的是,无效输出率还停留在34.48%的高位,几乎没有改善。

这说明单靠"改说明书里的文字"是不够的,文字终究还是要靠模型自己去理解和执行,模型该犯的糊涂,该说的"自由发挥",光靠改指令措辞压不住。

四、机制二:给自由发挥的答案套一层"翻译加校对"

真正让效果起飞的,是另一套完全独立的机制,论文管它叫结构化推理控制。

这套机制不去纠结模型嘴上到底说了什么,而是在模型说完之后,加一层强制翻译和纠错。具体分三步。

第一步叫标签投影。模型说"贷款服务",系统会去查一个提前定好的"近义词对照表",如果这个词能唯一对应到官方标签里的某个词,就自动替换成官方说法;如果模型说的话压根挨不上任何一个官方标签,就直接标记为无效,不再让它蒙混过关进入下一步。

标签投影:一个提前写好、部署前就固定不变的对照规则,把模型天马行空的自由表达,强制映射到系统认识的官方标签,匹配不上就判定无效,而不是硬凑一个错误答案。

第二步叫路由规范化,负责检查步骤之间的逻辑是否自洽。如果诈骗判断这一步的结果是"正常通话",那诈骗类型这一步就直接标记为"不适用",不需要模型再多说什么;如果诈骗判断本身就是无效输出,那诈骗类型判断自然也没法信任,一并标记无效。这一步堵住了"上一步错了但下一步硬凑答案"的漏洞。

这两步加起来的效果非常猛。论文的实验数据显示,仅仅加上标签投影,Macro-F1从43.66%跳到54.47%,再加上路由一致性检查,进一步冲到66.21%。这两步合计带来了22.55个百分点的提升,几乎是从"半成品"直接跃升到"能用"的水平。

这组数字背后藏着一个挺扎心的事实:模型其实很多时候答案本身是对的,只是表达方式和系统要的格式对不上,或者上下文没兜住。就像一个学生考试时其实知道答案,但写在了答题卡的错误位置,阅卷系统读不出来,只能算零分。**这不是知识问题,是格式和一致性的问题,而这恰恰是靠改指令文字最难解决的部分。**

如果不做这一层强制翻译和校对会怎样?答案就是前面提到的,无效输出率卡在34%左右下不来,即便文本说明书改得再精细,模型自由发挥的那部分永远会漏出系统认不出的词。这就像给一个外语不太好的员工发了份精细的工作手册,但从来没有人在旁边帮他把说的话翻译成标准格式,客户永远听不懂他在说什么。

第三步是多路径推理与筛选。系统不止依赖一份说明书,而是保留多份表现较好的说明书(论文里选了排名前L份),让它们各自独立跑一遍完整流程,产生多条互补的判断轨迹。因为不同说明书侧重的技能和规则不一样,它们各自犯错的地方往往不重合,一个说明书可能在场景判断上强,另一个在诈骗类型上更准。系统再训练一个校准好的选择器,从多条轨迹里挑出最可信的最终答案,还会针对少数类别(比如某些不常见的诈骗类型)做加权平衡,避免系统偷懒只顾着答对占多数的"正常"类别。

这一步让Macro-F1从66.21%进一步涨到73.50%,其中多路径互补贡献了4.1个百分点,可靠性加权和类别平衡又各自贡献了一部分。

这个多路径投票机制让我想到医院的会诊制度。一个复杂病例,不会只让一个医生拍板,而是找几个各有专长的医生分别看,再由一个主治医生综合意见做最终判断。如果只信一个医生的一次判断,误诊率必然更高,因为任何一个人都有认知盲区。让多个"专家版本"的说明书各自判断,再综合裁决,本质上就是把单点风险摊薄成系统性的稳健判断。如果不这样做,只靠单一份说明书死磕到底,哪怕这份说明书调得再好,它固有的知识盲区永远补不上,Macro-F1很可能就卡在四十几到六十几之间原地打转。

五、结果到底有多大差距

把整套机制串起来之后,论文在TeleAntiFraud这个电信反诈基准数据集上做了完整对比。

| 方法 | Macro-F1 | 相对基线提升 | 无效输出率 |

| 基础指令基线 | 41.54% | 0 | 36.04% |

| SkillOpt(通用技能优化) | 37.67% | -3.87 | 29.00% |

| EvoSkill(模块化技能进化) | 39.07% | -2.47 | 34.19% |

| FRAUDSkill-Text(仅文本层优化) | 42.42% | +0.88 | 34.48% |

| **FRAUDSkill(完整系统)** | **73.50%** | **+31.96** | **1.94%** |

| SFT(微调参考) | 66.06% | – | – |

| SFT+Memory(微调+记忆参考) | 75.51% | – | – |

这张表最值得琢磨的是两组对比。

第一组,SkillOpt和EvoSkill这两个通用的外部技能优化方法,反而比什么都不改的基线还要差,Macro-F1分别掉了3.87和2.47个百分点,尽管它们把无效输出率压低了一些。这说明单纯让模型"说得更规范",不代表"判断得更准",这是这篇论文特别想强调的一个反直觉发现:格式合规和分类准确,压根不是一回事,前者优化多了甚至可能牺牲后者。

第二组,FRAUDSkill在完全不碰模型参数的前提下,做到了73.50%,只比同样这个模型经过微调(SFT,66.06%)的效果更好,只比"微调加记忆机制"(SFT+Memory,75.51%)低了一丁点。这说明外部结构化控制这条路,在效果上已经能追平甚至超过传统的"改模型参数"路线,而且它更换起来灵活得多,不需要重新训练。

六、翻回来看那通诈骗电话

论文里有个具体案例特别能说明问题。一通冒充银行客户经理推销低息贷款的电话,没用FRAUDSkill时,模型把场景判断为"贷款服务",诈骗类型判断为"假贷款诈骗",这两个词都合情合理,但都不在官方标签表里,被判定无效,三项判断里只有"是否诈骗"这一项算数。用上FRAUDSkill之后,同一通电话,场景被正确映射为"客户咨询",诈骗判断依然是"诈骗",诈骗类型被准确归类为"银行诈骗",三项全部有效,而且给出的理由也更具体,指出对方索要身份证和银行卡信息、用限额制造紧迫感这些实质性证据,而不是泛泛地说"推销贷款没提示风险"。

这个案例很直观地展示了这套系统真正在做的事:它没有让模型说得更少,反而让模型说得更准,把原本散落在自由文本里的合理判断,强行导入一个系统认得、能追溯、能核查的轨道。

七、这篇论文往前看,能往哪儿走

论文的作者们提到SkillOpt(2026年的工作,优化统一的外部技能文档)和EvoSkill(同年的工作,根据执行反馈动态发现和修改模块化技能),这两个是FRAUDSkill在方法谱系上的直接前辈,它们都主张"别动模型参数,改外部技能"这个大方向,但都是任务无关的通用设计,没有针对像反诈这种有严格顺序依赖、闭集标签的场景做专门优化。FRAUDSkill可以看作是把这个通用思路,第一次系统性地对接到一个有明确决策链条的垂直场景里,并且证明了光靠通用技能优化是不够的,还得配合专门的结构化推理控制。

另一条相关的线是TeleAntiFraud-28k(2025年)和SAFE-QAQ(2026年)这两项工作,它们都是通过微调模型参数来提升反诈语音理解能力的路线,FRAUDSkill则反过来验证了不改参数也能达到接近的效果,这为后续研究提供了一个新的分岔口:如果外部技能优化这条路能持续被验证有效,未来面对政策频繁变化、诈骗手法快速迭代的场景,也许可以不用反复重新训练大模型,只需要不断迭代这套"技能说明书"。

写在后面

看完这篇论文,最让我意外的一点是那张对比表里SkillOpt和EvoSkill居然比什么都不做的基线还差。这个结果乍一看很反常识,明明是专门为"优化外部技能"设计的方法,结果反倒拖了后腿。但仔细想想又完全合理:这两个方法解决的是"让模型说话更规范"这个问题,而反诈检测真正卡住脖子的问题是"多步骤判断链条的一致性",这是两个不完全重叠的问题。一个方法在错误的维度上再怎么用力,也没法解决另一个维度的矛盾。

这让我想到一个更普遍的教训:**做优化之前,得先搞清楚瓶颈到底卡在哪一层。**如果瓶颈在"输出格式不合规",那优化格式有用;但如果瓶颈在"多步骤逻辑不自洽",那再怎么优化格式,也只是在错误的地方使劲。论文里那22.55个百分点的提升,几乎全部来自标签投影和路由一致性检查这两个"翻译加校对"的步骤,而不是来自反复打磨那份说明书的文字表述,这个数字本身就是最好的证明。

还有一点值得琢磨:这篇论文选择让模型参数完全冻结,某种程度上是一种"被迫的克制",是在承认自己没法频繁重新训练模型的现实约束下,找到的一条务实路径。这种带着约束条件去做研究的思路,比一味追求"更大更强"的模型本身,可能更贴近真实世界里技术落地会遇到的问题。

如果诈骗话术下个月又变了样,这套外部说明书能跟得上吗?

Q&A

Q1:FRAUDSkill是什么?

A:FRAUDSkill是一种针对音频反诈检测的结构化冻结权重技能优化框架,它不修改音频语言大模型的参数,而是通过优化外部的技能程序、路由策略和决策规则,让模型在保持原有能力的同时,输出符合预定义标签体系和决策流程的合规结果。

Q2:FRAUDSkill和直接微调模型相比效果怎么样?

A:在TeleAntiFraud基准测试中,FRAUDSkill取得了73.50%的Macro-F1分数,明显超过普通微调(SFT)的66.06%,接近微调加记忆机制(SFT+Memory)的75.51%,同时完全不需要更新模型参数,无效输出率也降到了1.94%。

Q3:为什么单纯优化技能说明书的文字效果不好?

A:论文发现单纯的文本层技能优化(FRAUDSkill-Text)只把Macro-F1从41.54%提升到42.42%,且不稳定,因为模型自由生成的文字很容易偏离官方标签体系或破坏多步骤判断的一致性,必须靠标签投影和路由规范化这类结构化校验机制才能真正解决问题。