奥地利与维也纳工业大学如何让机器自动编写人类可读“行事准则“
这项由奥地利KR Labs与维也纳工业大学联合开展的研究,以预印本形式发布于2026年7月1日,论文编号为arXiv:2607.01293,感兴趣的读者可通过该编号在arXiv平台检索完整论文。
**研究背景:一场关于"看得见"与"看不见"的博弈**
回到二三十年前,那时的电脑程序在处理语言任务时,依靠的是人工精心编写的一条条规则,就像一本厚厚的"行为手册"——遇到以"先生"开头的词组,就认定是人名;遇到日期格式,就标记为时间。这种方式的好处显而易见:每一个判断背后都有清晰的理由,任何人拿起这本手册都能看懂逻辑,也能随时翻到某一页修改某条规则。
然而随着深度学习和大型语言模型的崛起,语言处理的准确率大幅跃升,但代价是:判断逻辑被封印进了亿万个神经网络参数里,谁也看不清、摸不透。医院的AI在诊断报告里提取关键信息时,法院的AI在分析判决文书时,没有人能向监管机构解释"这个结论是怎么来的"。这在医疗、法律、金融等高度受管制的领域,是一个难以绕开的硬伤。
旧有规则系统的问题不在于准确率低,而在于编写和维护规则本身极为耗时费力,需要深厚的专业知识。KR Labs与维也纳工业大学的研究团队意识到,这两个世界之间存在一道可以架桥的峡谷:既然大型语言模型已经拥有丰富的语言知识,何不让它在"学习阶段"充当规则的起草人,而真正运行推断时,只让那些清晰透明的规则跑起来?
这便是RuleChef——一个以大型语言模型为"厨师"、以可读规则为"菜谱"的框架诞生的背景。
---
**一、RuleChef是什么:让AI当"食谱编辑",而非"黑盒大厨"**
理解RuleChef,最直接的方式是想象一家餐厅的运营模式。传统的黑盒神经网络模型就像一位神技绝伦却沉默寡言的厨师,每道菜都美味,但厨房永远对外封闭,顾客永远无从知晓食材配比和烹饪步骤。一旦某道菜出了问题,没有人能迅速找到原因。
RuleChef采取的是截然不同的路线。这位"厨师"(大型语言模型)只在厨房开发阶段出现,负责根据食客的反馈和已有的菜品案例,把烹饪心得整理成一本条条清晰的食谱。食谱写好之后,厨房就不再需要这位厨师了——任何一个助手拿着食谱都能做出同样的菜,而且每一步操作都透明可查。
具体来说,RuleChef接受三类输入:任务说明(告诉系统要做什么,比如"从法院判决文书中提取人名和案号")、带标注的样本数据(已知哪段文字应该被标记为什么类型),以及人类专家对现有规则的反馈意见。基于这些材料,大型语言模型会起草一批用正则表达式或Python代码写成的规则,这些规则经过严格筛选和迭代优化后,形成最终的规则系统。到了推断时刻,整个系统里没有任何神经网络在运行——只有这些条条清晰的规则在快速匹配文本,速度大约是每篇文档一毫秒,比大型语言模型直接推断快了大约一千五百倍。
---
**二、规则是怎么诞生的:从"一张白纸"到"精准菜谱"**
规则的生成过程颇像一位编辑打磨稿件的过程,绝不是一蹴而就的。
第一步,团队向大型语言模型提交一份详细的"任务简报",包含任务的输入输出格式、若干带标注的样本,以及可选的正则表达式提示。后者来自一个名为grex的工具——它能从样本字符串中自动提炼出结构性模式,相当于给语言模型提供了一些线索,但并不强制要求它照单全收。
对于多分类任务,系统会为每一个类别单独发起一轮规则生成请求,同时提供该类别的正面样本以及来自其他类别的反面样本,从而避免不同类别之间的规则相互干扰——就像编写一本烹饪书时,每道菜的食谱单独成章,而不是混在一起让读者自己猜。
每一条生成的规则在正式被纳入系统之前都要通过技术验证:正则表达式必须能正确编译,输出格式必须符合任务要求,以及任何会匹配几乎所有文本的过于宽泛的规则都会被直接拒绝——这一步就像烘焙前先检查面粉有没有发霉。
---
**三、迭代优化:失败是最好的老师**
初稿规则写好之后,真正的磨砺才刚刚开始。RuleChef会把数据集分成训练集和验证集两部分,用训练集上的失败案例来驱动规则更新,但决定一条新规则是否被接受的,是它在验证集(也就是模型从未见过的数据)上的表现。只有当新规则让验证集上的F1分数(一种同时衡量准确率和覆盖率的综合指标)不下降、甚至有所提升时,它才会被正式纳入菜谱。
这个筛选机制至关重要。研究团队在实验中发现,如果去掉这道关卡,让规则不经过验证集检验就随意进入系统,规则会逐渐变成"死记硬背"的机器——它学会的是如何精准描述训练样本中出现过的具体词语,而对从未见过的文本毫无适应能力,就像一位厨师只会照抄菜谱上出现过的食材,却不懂得举一反三地处理新鲜食材。
面对训练数据量庞大时产生的数以千计的失败案例,RuleChef不会把所有失败都堆给语言模型看——那样会超出语言模型的处理能力上限。系统会先把失败案例按照失败类型分类:在命名实体识别任务中,失败主要分为三种,分别是该找到的实体没找到、找到了不该找的内容、以及找到了实体但标错了类型。系统把每种失败的全貌展示给语言模型,同时附上每类失败中的若干具体样例,让语言模型有针对性地修补规则。
---
**四、冲突仲裁与自我剪枝:规则之间谁说了算**
随着规则越积越多,难免会出现两条规则对同一段文本给出不同判断的情况。RuleChef的解决方案是为每条规则在验证集上测量其"精准度",并将这个数值作为权威仲裁的依据——精准度更高的规则,优先级更高。
但这里有个微妙的陷阱:如果某条规则只在验证集上匹配了两次,而且两次都正确,它的精准度是百分之百,看起来比另一条匹配了一百次、正确了九十五次的规则还要"精准"。RuleChef采用了一种叫做"威尔逊下界"的统计方法来解决这个问题——这个方法的直觉是,样本量太少时不能轻信表面数字,一条只见过两次的规则获得的信任度,应该被打折扣。
此外,系统还会逐条测试每个规则的"边际贡献"——如果某条规则被移除后,整体性能丝毫不受影响,那这条规则就是多余的,应该从食谱中删去。这个过程就像整理一个拥挤的橱柜,把那些从未被用到的厨具清理出去,让真正有用的工具更容易被找到。
---
**五、"老饕"介入:人类反馈如何重塑规则**
RuleChef最具特色的能力之一,是允许人类专家以极低的门槛介入规则的修正过程。因为所有规则都是可读的文本,专家不需要懂得神经网络、不需要修改模型参数,只需要用一两句话说明某条规则哪里出了问题。
研究团队在实验中设计了一个具体场景来展示这个能力。他们发现在分析欧洲人权法院判决文书时,有三条规则出现了明显的错误:负责识别"数量"实体的规则,误把"1432/03"这样的案件编号也认成了数量;负责识别"案件编号"的规则,漏掉了某些格式的申请编号;负责识别人名首字母缩写的规则,把大量普通缩写词也误判为了人名。
研究团队为每条出问题的规则各写了一句话反馈,比如针对数量规则的反馈是:"永远不要匹配'数字/数字'这样的模式,比如'1432/03'——那些是案件编号,不是数量。"系统收到这条反馈后,会把它纳入下一轮规则更新的提示材料,语言模型在修改规则时必须考虑这条指示。
修复结果相当显著。数量类实体的识别F1分数从5.7分急剧攀升到35.6分,提升了近三十个百分点;案件编号类提升了3.4分;人名类提升了0.6分。整个修复过程只用了不到两分钟,调用了两次语言模型。这种"哪里不对改哪里"的能力,是神经网络模型根本无法提供的。
---
**六、"情报员"模式:从别人的行为中偷师学艺**
RuleChef还有一种颇为特别的运作模式,研究团队称之为"观察模式"。在某些场景下,一套语言模型系统已经在生产环境中正常运行,每天处理大量查询请求。然而,出于对可解释性和运行成本的考虑,团队希望逐步把部分请求转移到更透明、更廉价的规则系统来处理。
在观察模式下,RuleChef像一个安静的情报员,悄悄记录语言模型处理过的每一对输入输出,把这些对话当作训练样本,定期从中提炼出规则。随着积累的样本越来越多,规则系统的覆盖范围不断扩大,越来越多的请求可以直接被规则系统处理,不再需要调用昂贵的大型语言模型。系统还会为每条规则记录其在验证集上的精准度,只有当精准度超过设定阈值时,才将对应类型的请求路由给规则系统处理,其余请求仍然交给语言模型——这是一种审慎而渐进的"权力移交"。
更值得一提的是,这种模式甚至支持"任务自发现"。当RuleChef拿到一批原始的系统日志时,它会先向语言模型发出一个特殊提示,让模型根据这些对话案例推断出任务的类型和输入输出结构——相当于在没有任何人类说明的情况下,自己摸索出"这个系统在做什么事情",然后再开始提炼规则。
---
**七、"智慧管家":让AI自己决定何时调整规则**
除了固定轮次的规则优化,RuleChef还提供了一个"主动协调"模式。在这个模式下,每一轮优化结束后,系统不只是机械地进入下一轮,而是先让一个负责协调的语言模型读取各类实体当前的性能指标,分析哪些类型表现最差、哪些规则造成了最多的误判,然后给出具体的优化方向建议——比如"下一轮应该重点处理人名类实体,尤其是首字母缩写格式"。
与此同时,系统还会定期运行两个辅助模块。一个是"规则评审员",它扮演资深专家的角色,对整个规则系统进行全局审视,发现过于宽泛的规则、找出相互重叠或冗余的规则,并提出合并或收窄建议。另一个是"规则稽查员",专注于合并功能相似的规则、删除纯粹制造错误的规则,以及收紧那些误判率过高的规则,所有改动都先在验证集上测试,一旦性能下降就立即回退。
这套主动协调机制带来的一个意外惊喜是规则数量的大幅压缩。在处理欧洲人权法院数据的实验中,经过三轮主动协调后,规则总数从36条降至21条;经过八轮后,仅剩9条规则,却依然保持着出色的识别性能。一个占地更小、逻辑更清晰的食谱,往往比一本厚重却充斥着重复内容的工具书更好用。
---
**八、实验场地:两块截然不同的试炼之地**
为了检验RuleChef的实际效果,研究团队选择了两个来自真实世界的任务作为测试场。
第一个是文本匿名化基准数据集(TAB),包含1268份欧洲人权法院判决文书,任务是找出所有涉及个人信息的文字片段,并按照八种类型进行标注——人名、代码(如案件编号、电话号码)、日期时间、数量、机构、地点、人口属性(如国籍、职业),以及其他杂项。研究团队对这八种类型做了进一步的概念分组:前三种(代码、日期时间、数量)被归入"格式型"实体,因为它们的外貌往往遵循固定格式;后五种(人名、机构、地点、人口属性、杂项)被归入"语义型"实体,因为判断它们需要依赖语义理解。
第二个是Banking77数据集,包含超过13000条银行客服用户查询,每条都被分配到77个意图类别中的某一个。部分类别凭借关键词就很容易识别,比如"汇率查询";但也有一些颇为微妙,比如"收款方被拒绝"这种类型,光看字面很难把握边界。
---
**九、实验结果:格式型实体大获全胜,语义型实体尚需努力**
在欧洲人权法院文书数据上的实验结果清晰地呈现出两种截然不同的面貌。
对于格式型实体(代码、日期时间、数量),RuleChef生成的规则系统以89.1的精准度和70.5的召回率,取得了78.7的F1综合分数,全面超越了直接用语言模型提示(F1 74.8)、GLiNER2标签模式(F1 71.8)和GLiNER2模式模式(F1 74.4)三个对比系统。精准度数字尤为突出——89分意味着系统认定为实体的结果里,九成是对的。相比之下,语言模型直接推断的精准度仅有65.1。
对于语义型实体(人名、机构、地点等),RuleChef的表现则更接近一位刚开始摸索的厨师——47.8的F1分数虽然高于GLiNER2的两种配置(分别为37.6和40.8),却明显落后于直接语言模型推断的57.4。精准度依然是RuleChef的强项,达到了75.7,而语言模型直接推断的精准度只有54.6。
这种规律是符合预期的。格式型实体的识别本质上是一个"是否符合某种格式"的问题,正则表达式天生擅长这类任务。语义型实体的识别则需要理解上下文语义,规则系统在这里的局限性是客观存在的——但高精准度意味着系统找到的那些实体,大概率都是真实的,只是覆盖面不够全。
在运行速度上,规则系统的优势几乎碾压性。语言模型推断每篇文档约需1500毫秒,GLiNER2需要190毫秒,而RuleChef的规则系统只需0.6毫秒。整个规则学习过程调用了不到20次语言模型,耗时约12分钟。
---
**十、与官方基准的对比:和神经网络经典选手同台竞技**
为了更全面地评估规则系统的水平,研究团队还用TAB数据集的官方测试集(包含127份完整的未分块文档)进行了测试,并与该数据集原始论文报告的两个神经网络基准做了比较。
经过精细调优的Longformer模型(一种专门处理长文本的大型预训练模型)以0.836的精准度和0.919的全量召回率,代表着该任务目前最高水平的神经网络方案,训练了完整的1013篇文档。
RuleChef仅从1000个训练段落中学到的22条规则,取得了0.738的精准度和0.719的全量召回率,与精调Longformer相比还有明显差距,但已经远超另一个对比基准——直接套用通用RoBERTa命名实体识别模型的结果:那个模型的精准度只有0.441,比RuleChef低了约0.3个百分点,而召回率为0.906,高于RuleChef。
这组数据展示了规则系统的定位:精准度高而召回率相对较低,适合充当一个高可信度的"第一道筛网"——它找到的东西基本都对,只是有些漏网之鱼。在实际应用中,这种系统可以与高召回率的神经网络系统组合使用,形成一个分层处理的流水线。
---
**十一、分层消融:每一个组件都贡献了什么**
研究团队还做了一组细致的"消融实验",逐步添加各个组件,观察每一个新增组件带来的性能变化。
从最基础的"一次性规则生成"(仅凭任务描述和初始样本,让语言模型一次性写出全部规则)出发,格式型实体的F1分数为74.2,而语义型实体的F1分数仅有7.4,几乎等于什么都没学到——这说明语言模型在没有足够引导的情况下,生成的规则高度依赖于任务描述本身的泛化能力,对语义型实体几乎无能为力。
加入"在训练集上持续迭代优化"这一步骤后,格式型实体的性能反而小幅下降至63.2,但语义型实体的性能大幅提升至38.2。这个"格式型下降"的现象说明,无节制地将失败案例喂给规则更新过程,会导致规则往训练数据方向过度拟合,同时破坏了原本运行良好的格式规则。
加入"验证集过滤"(只有在验证集上表现不下降的新规则才被接受)之后,格式型实体的F1分数跃升至83.5,语义型实体的F1分数也进一步提升至44.4。这一步骤对格式型实体的改善最为显著,也最直接印证了"验证集作为质量门槛"这一设计的核心价值。
加入"主动协调(三轮迭代)"后,格式型实体的F1分数稍有下降至80.9,语义型实体降至35.9,但规则总数从36条压缩至21条。而将主动协调延长到八轮后,格式型实体的F1分数回升至81.7,语义型实体大幅攀升至47.8,而规则总数仅剩9条。换句话说,一套只有9条规则的精简系统,在语义型实体的识别上达到了整个消融研究中最高的分数。
---
**十二、Banking77分类实验:让规则替代问答机器人的第一步**
在Banking77意图分类数据集上的实验提供了另一个维度的视角,尤其是观察模式的表现让人印象深刻。
在有监督的少样本设置下,RuleChef生成了126条规则,在200个测试样本上达到了97.6的精准度,但召回率只有61.0,F1为75.1。与此相比,直接用语言模型推断的准确率超过98%,DeBERTa零样本分类和MiniLM句子嵌入加逻辑回归分类器也分别达到了96.5%和95%的准确率。规则系统在精准度上毫不逊色,但覆盖率的短板还是存在的。
观察模式下的进化轨迹更能说明问题。系统从零开始,仅靠观察语言模型处理的问答对,在看了10次调用后生成了14条规则,覆盖了20.5%的测试样本,精准度为92.7%;看了25次后扩展到24条规则,覆盖率升至42.5%,精准度提升至95.3%;看了50次后形成40条规则,覆盖率进一步提升至49.5%,精准度达到96.0%。
仅凭50个样本、无需任何人工标注,这套自动生成的规则系统就能正确处理近一半的查询请求,而且每次给出的答案十有九六是准确的。作为一个混合系统的"前置过滤器",这样的表现已经相当实用——它不仅降低了语言模型的调用频率(每次调用都意味着成本和延迟),还让那部分被规则处理的结果具备了完整的可解释性。
---
**归根结底,RuleChef在说什么**
归根结底,这个研究讲的是一件颇为简单的事:神经网络和规则系统之间,未必是非此即彼的替代关系。神经网络可以在"学习阶段"扮演高效的知识转化器,而规则系统在"运行阶段"则提供了神经网络无法给予的透明度、可编辑性和运行效率。
对于普通人来说,这项研究最可能产生影响的场景是那些"必须说清楚为什么"的地方:银行的风险审查系统、医院的病历信息提取工具、法院的文书分析软件。当监管机构要求解释某个AI决策时,一个能指着具体规则说"因为文本里出现了这个格式,所以判定为案件编号"的系统,远比一个只会说"模型算出了这个概率"的系统更能赢得信任。
当然,这套系统目前还有明显的局限。语义型实体的召回率和精准度都与顶尖神经网络存在差距;所有实验都基于英文文本;结果因运行随机性而存在约三个百分点的波动;不同语言模型在规则生成质量上的差异也尚未被系统研究。这些都是未来值得深挖的方向。
感兴趣的读者可以通过arXiv编号2607.01293查阅原论文,或直接访问该论文提供的GitHub仓库,代码以Apache 2.0协议开放,任何人都可以自由使用和修改。
---
Q&A
Q1:RuleChef生成的规则是什么形式的,普通人能看懂吗?
A:RuleChef生成的规则主要以正则表达式的形式呈现,比如"匹配以'先生'开头、后跟大写字母序列的词组,并标注为人名"。正则表达式本身有一定学习门槛,但懂得基础编程或数据处理的专业人员完全可以阅读、理解和手动修改这些规则。研究团队还通过语言模型自动为每条规则起了描述性名称,进一步提升了可读性。
Q2:RuleChef和直接用大型语言模型处理文本有什么本质区别?
A:核心区别在于"谁在运行时工作"。直接调用大型语言模型时,每处理一篇文档都需要调用模型,速度慢、成本高,且判断过程不透明。RuleChef则只在学习阶段调用语言模型来生成规则,一旦规则确定,运行时完全不需要语言模型参与——只有轻量级的规则引擎在工作,速度快约一千五百倍,结果完全可追溯。
Q3:RuleChef的观察模式在实际企业场景中怎么用?
A:假设一家公司已经有一套语言模型驱动的客服问答系统在运行,但每次调用都产生成本。观察模式下,RuleChef会悄悄记录系统处理过的问答对,随着样本积累,自动提炼出规则。当某类问题的规则精准度超过设定阈值后,这类问题就不再调用语言模型,直接由规则给出答案。实验显示,仅凭50个样本,规则系统就能正确处理近一半的请求,精准度高达96%。
