SCOPE:把自然语言策略编译为神经符号谓词程序 SCOPE: Compiling Natural-Language Policies into Neurosymbolic Predicate Programs
将自然语言策略编译为由弱模型执行、与对抗反例协同优化的可解释程序,低成本稳定执行复合策略
前置知识
神经符号方法(Neurosymbolic)
将神经网络组件(提供语义判断)与符号组件(以显式逻辑组合判断结果)配对的系统范式。例如用一个 LLM 回答“这句话是否含攻击性”这样的窄问题,再用确定性代码把多个判断按 if/else、计数、循环组合成最终结论。由于组合逻辑显式可读,结论可追溯且比单体判断更稳定;子决策足够窄,可由小模型承担,运行便宜。
SCOPE 正是该范式的代表作:谓词是神经组件,Python 组合代码是符号层。理解本文的稳定性、可解释性与低成本主张,首先要理解这种“窄判断+显式组合”的分工。
LLM-as-a-judge
把 LLM 当作裁判:运行时把完整策略文本连同待判样本一起喂给前沿模型,直接读取其判定。优点是通用——任何能用自然语言写出的策略都能执行;缺点是每次判定都要调用一次昂贵的前沿模型,且预测不稳定,方差随策略条款数增加而上升,推理模型超过复杂度阈值后甚至会崩溃而非平滑退化。
它是 SCOPE 主要对比的基线范式。本文的成本分析(表 5)、稳定性实验(5–7% vs 26–37% 翻转率)全部围绕“单体前沿裁判 vs 编译后的弱模型程序”展开。
谓词(Predicate)与程序分解
带固定标签集(通常是二元 yes/no)的自然语言分类问题。在 SCOPE 中谓词不指定输入范围,由组合代码决定把哪段文本喂给它,因此同一谓词可施加于全文、某个片段,或循环施加于多个片段;谓词必须自包含,写清定义、范围与例外。执行时由关闭推理的弱模型只返回标签。
谓词是 SCOPE 程序的原子单元。策略如何被拆分、谓词措辞如何自包含、谓词漂移如何被局部对抗器捕捉、弱执行器为何产生更多谓词(图 3b),全部围绕谓词展开。
反例引导的程序合成(CEGIS)
程序合成中的经典循环:提出候选程序,验证器报告其失败的反例输入,再把反例并入规格修正程序,如此往复。SCOPE 把“可靠验证器”换成“应用完整策略的强教师模型”,牺牲形式化保证换取对任意自然语言策略的适用性,训练数据随程序演化共同增长,监督集中在程序出错之处。
SCOPE 的双层级对抗生成器正是这一思想在策略编译上的实例化,消融实验(表 4,p<0.05)也证明它是性能增益的核心来源。
提示词优化(GEPA / MIPROv2)
在不改变任务结构的前提下自动改写 LLM 提示词以提升准确率的技术。GEPA 维护候选指令池,基于执行轨迹与指标反馈的反思从帕累托前沿选择下一步变异对象;MIPROv2 是贝叶斯优化器,联合搜索指令与少样本示例组合。两者均通过 DSPy 框架实现,只打磨一个单体裁判的指令。
它们是 SCOPE 的关键对照:同样用弱执行器、同样训练集,只优化提示而不分解任务。与 SCOPE 的差距证明增益来自“结构性分解”而非“提示词打磨”。
Jaccard 指数
衡量两个集合重叠程度的指标,定义为交集大小除以并集大小:$J(A,B)=\frac{|A\cap B|}{|A\cup B|}$,取值 0 到 1。对多标签任务(每个样本的候选标签集合不同),逐样本计算预测集合与真值集合的 Jaccard 再取平均,即平均 Jaccard 指数。
SCOPE 的评分函数 $s(\pi, D)$ 对单标签任务用准确率、对多标签的 Tile-match 任务用平均 Jaccard。读懂实验表格与消融数据需要知道这一差异。
研究动机
LLM 正被大量部署用于执行组织策略——从内容规则、合规义务到对智能体行为的应用级约束——但策略执行的形态已从单轮内容审核演化为在多轮轨迹上评估复合策略。判定单元变成了长对话、结构化计划或智能体轨迹(Plan 任务中的轨迹平均长达 45k 字符),而现代策略往往捆绑条件、例外、计数与条款间交互,遗漏一个条款就会产生误判的违规或漏掉的义务。现有两条路线各有硬伤:其一是微调小型护栏模型,它们在单条边界清晰的规则上快且便宜,甚至能匹敌大得多的模型,但模型容量是天花板,一旦策略复合了单次前向传播难以同时解析的交互条件,准确率就下降;其二是运行时把策略交给前沿模型做 LLM-as-a-judge,虽然能处理复合策略,但推理成本和延迟使其在生产规模上不现实——它要为每一次被把关的交互付费——且预测不稳定,方差随输入条款数上升,推理模型超过复杂度阈值后甚至崩溃而非平滑退化。
本文的目标是本文的目标是让策略执行同时具备三样此前互相矛盾的性质:前沿模型裁判的表达力、小分类器的成本与可重复性、以及可归因的可解释性。具体而言,SCOPE 要把一条自然语言策略“编译”成一个可执行程序——由弱模型回答的神经谓词、确定性抽取器和 Python 组合代码构成——使程序部署时完全运行在关闭推理的次前沿模型上,却在复合策略上达到接近前沿推理模型的准确率;程序与训练数据联合优化,通过反例驱动的对抗生成把监督集中到程序与策略不一致的地方;最终每个判定都能追溯到产生它的谓词输出,跨运行高度稳定,可在廉价模型上以生产规模部署。作者把它表述为范式转变:策略是“要编译的规范”,而不是“要解释的提示词”。
与已有工作不同的是,已有神经符号方法的弱点在符号层本身,沿两个轴展开。表达力轴:清单计数(CheckEval 式 yes/no 求和)、自然语言规则的线性加权(RLIE)、轨迹谓词上的概率电路、SMT 检查的逻辑编码等形式化之所以易推导正因为它受限,但无法表达“下一个问题依赖此前答案”“对运行时选出的片段重复检查”“对抽取的跨度精确计数”等真实策略的常见结构。偏差轴:这些方法把符号层拟合到策略的代理物上——对训练样本调出的规则、对静态基准搜索出的程序、对自生成测试验证的函数——而非策略本身。另一支把组合写成代码获得表达力的工作(手写 rails、自验证合成函数、逐任务生成程序)却把程序冻结:谓词是固定提示词,一个偏离条款的谓词会一直偏离。SCOPE 的独特切入是同时占据两个轴:组合是普通 Python,且结构与谓词都针对策略本身联合优化——优化单元是复合策略整体而非单条规则,训练池由对抗器随程序演化共同增长。
核心方法
直觉上,SCOPE 把“每次判案都请前沿模型”变成“一次性把判案流程写成手册,让实习生照手册执行”:编译期花大钱请强模型把策略拆成一串窄问题(谓词)和精确计算(抽取器),配上把答案组装成结论的 Python 代码;部署期只用弱模型回答这些问题。技术路线是一个搜索过程:SCOPE 搜索可执行程序 $\pi$,使 $\pi$ 在每个谓词都由弱模型回答的约束下复现自然语言策略的判定。程序从“未分解的单谓词(策略本身)”出发,交替执行两个组件:优化器在当前训练池 $D_t$ 上执行 $\pi$,利用谓词调用轨迹把每个失败归因到某个谓词或组合代码并修改程序;对抗生成器比较策略与当前程序,生成二者可能分歧的反例样本,由强教师按完整策略标注后并入池中形成 $D_{t+1}$。搜索在训练池得分达到阈值 $\tau=0.98$ 或 $K=8$ 轮后停止,返回在固定种子池 $D_0$ 上得分最高的程序。搜索由强 LLM 智能体(Claude Opus 4.8)完成,而谓词在搜索过程中就由弱执行器回答——程序只有弱模型能执行好才算数,与目标部署设定严格一致。
核心创新有三层。第一,把策略当作要编译的规范:单元优化对象是复合策略整体,组合层是普通 Python 而非受限形式化(计数清单、加权规则表、布尔电路),因此能自然表达条件调用、循环施加、跨轮次语义比较和确定性计数——例如 Coaching 任务里 word_count≥18 的词数违规由确定性抽取器精确判定而非模型估计,这正是规则式形式化做不到的。第二,训练数据与程序共同演化:不同于一次性合成的静态训练池,每轮由两个层级的对抗器制造反例——系统级对抗器针对全局漂移(组合整体遗漏或错误路由某条款的交互),局部对抗器针对局部漂移(单个谓词措辞偏离它转写的条款),每个样本由教师按完整策略盲标、仅当与生成器预期标签一致才入池,使监督集中在程序出错之处,类似反例引导合成但以策略为规格。第三,谓词执行器被刻意设为关闭推理的次前沿模型,使搜索自动适配部署能力:执行器答不准的谓词会被改写或拆分,越弱的执行器产生越多的谓词,程序结构本身成为执行器能力的函数。
方法步骤详情
完整流程如下。(1) 输入一条自然语言策略和小种子池 $D_0$,教师先为每个种子样本写标注理由。(2) 第 $t$ 轮:教师标注上一轮对抗器新增的样本,并在 $D_t$ 上执行当前程序——谓词由弱执行器(如 gpt-5.4-nano,关闭推理、只返回标签)回答,产生轨迹:按序记录每次谓词调用收到的确切文本与返回标签。(3) 分析器接收策略、程序及每个样本的预测、真值、理由与轨迹;因监督只存在于最终判定,它向后回放组合代码:找出哪些谓词标签必须不同才能得到真值,再检查那些调用收到的文本,把失败归因到“谓词措辞没有编码其条款”或“组合代码错误编码策略”;分类正确的相似样本充当对比集,防止修复造成回归。(4) 分解器权衡修改建议(改写/拆分谓词、增删谓词或抽取器、在谓词与抽取器间移动条件、重写组合代码)与搜索历史(历史程序及得分、上轮修改、已试失败方向);不再改进时回溯到最优程序并强制换方向以防原地打转;所有修改必须锚定在策略条款、定义或例外上,仅凭样本中观察到的措辞修改会被拒绝——这是防止过拟合训练池的关键设计。(5) 系统级对抗器读完整程序生成至多 3 个反例,每个谓词的局部对抗器结合其收到的输入轨迹各生成至多 1 个,教师盲标后双标签一致才入池。重复直至 $s(\pi,D_t)\ge 0.98$ 或 8 轮,返回 $s(\pi,D_0)$ 最高者。
技术新颖性
技术新颖性体现在与最近邻方法的本质差异。对比提示优化(GEPA/MIPROv2):它们优化单体裁判的一次性调用,SCOPE 改变判定结构本身;且 SCOPE 的初始化就是未分解任务,分解无益时自然退化为提示优化——例如 Coaching 任务在 gemini-3.5-flash 上搜索收敛回单谓词,准确率反而从 0.87 升至 0.93。对比 CheckEval/RLIE:清单计数与逻辑回归加权规则无法表达条件依赖与循环,SCOPE 的组合代码可以,且其谓词在搜索中被持续改写而非冻结。对比 AFlow:AFlow 用蒙特卡洛树搜索开放式程序空间、生成器从不针对策略调优,SCOPE 的搜索空间是策略的分解、修改建议必须锚定策略条款,防止拟合训练池。对比经典 CEGIS:验证器不是可靠的求解器而是读策略的强教师,牺牲形式化保证换取任意散文策略的适用性。此外“执行器即搜索约束”的设计——以部署目标模型(关闭推理)回答每个候选谓词——使程序复杂度自动对齐执行器能力,这解释了图 3b 中弱执行器对应更多谓词的现象,也是跨模型迁移(表 3)成立的结构性原因。
实验结果
基准为四个真实策略任务(表 1):Coaching(审计健身教练消息的自动评审器,Pass/Fail/Bug,174 样本)、Escalation(客服对话中用户重复同一未解决意图≥3次是否应升级,371 样本)、Plan(45k 字符轨迹中研究计划是否合法,163 样本)、Tile-match(识别用户消息指代哪些屏幕磁贴,动态多标签,124 个测试样本中 55 个指代零磁贴作难负例,按平均 Jaccard 计分)。主结果(表 2、图 2,gpt-5.4-nano 执行器,3 次优化运行×3 次评估):SCOPE 达 Coaching 0.85±0.03、Escalation 0.82±0.02、Plan 0.87±0.02、Tile-match 0.78±0.03,超过直接提示(0.60/0.56/0.59/0.38)、GEPA(0.58/0.61/0.66/0.55)、MIPROv2(0.69/0.57/0.58/0.56)、CheckEval(0.58/0.54)与 RLIE(0.58/0.73);12 个任务-执行器格中 SCOPE 在 10 格最高或并列最高,AFlow 占其余 2 格,且 SCOPE 以 nano 为执行器时各任务标准差≤0.03,在 Plan/Tile-match 上仅为 AFlow 的四分之一到三分之一。分解压缩能力层级:从最弱到最强执行器,提示优化平均提升 0.26 而 SCOPE 仅 0.09(图 3a)。跨执行器迁移(表 3):nano 编译的程序不经再优化跑在五个开源模型上,Coaching/Escalation/Plan 平均提升约 0.11、Tile-match 提升 0.33;DeepSeek-V4.1-Flash 达 0.78/0.91/0.86/0.89,与前沿推理模型 gpt-5.5(0.94/0.89/0.89/0.82)和 gemini-3.1-pro(0.96/0.78/0.89/0.83)相当,成本仅 1/9 至 1/47(表 5,如 Escalation 每千样本 $0.23 vs $10.71)。稳定性:Tile-match 五次重复运行中 DeepSeek 与 Qwen3-235B 仅 5–7% 样本翻转预测,gpt-5.5 为 37%、gemini-3.1-pro 为 26%。消融(表 4):去掉对抗生成使 Coaching 从 0.839 降至 0.783(p=0.033)、Plan 从 0.865 降至 0.813(p=0.005)、Tile-match 从 0.782 降至 0.744(p=0.045),Escalation 无显著变化。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Coaching(评审器审计,gpt-5.4-nano 执行器) | 准确率 | 0.85 ±0.03 | 直接提示 0.60;GEPA 0.58;MIPROv2 0.69;AFlow 0.83 | 较直接提示 +0.25,较最强基线 AFlow +0.02 |
| Escalation(升级判定,gpt-5.4-nano 执行器) | 准确率 | 0.82 ±0.02 | 直接提示 0.56;CheckEval 0.58;RLIE 0.58;AFlow 0.86 | 较直接提示 +0.26(AFlow 为例外,SCOPE 落后 0.04) |
| Plan(计划校验,gpt-5.4-nano 执行器) | 准确率 | 0.87 ±0.02 | 直接提示 0.59;RLIE 0.73;AFlow 0.75 | 较直接提示 +0.28,较 RLIE +0.14,较 AFlow +0.12 |
| Tile-match(磁贴指代,gpt-5.4-nano 执行器) | 平均 Jaccard 指数 | 0.78 ±0.03 | 直接提示 0.38;AFlow 0.68 | 较直接提示 +0.40,较最强基线 AFlow +0.10 |
| Tile-match 预测稳定性(开源模型部署,5 次重复运行) | 预测翻转的样本占比 | 5–7%(DeepSeek-V4.1-Flash / Qwen3-235B-A22B 执行编译程序) | gpt-5.5 单体推理 37%;gemini-3.1-pro 26% | 降低约 20–32 个百分点 |
| 推理成本(开源模型执行编译程序 vs gemini-3.1-pro 直接判案) | 每千样本美元成本 | $0.23–$1.49(按任务,按 $0.15/1M 输入 token 计) | gemini-3.1-pro:$6.88–$50.79 | 便宜 9–47 倍 |
局限与改进
作者明确承认:程序正确性的最终裁判是强教师模型对策略的阅读而非形式化验证器,因此系统没有正确性的形式保证,“如何验证此类编译程序仍是开放问题”。我自己的观察还有几点:其一,编译期成本不低——搜索由 Claude Opus 4.8 在智能体循环中驱动,包含教师标注、双对抗器生成与分析器/分解器多轮迭代,虽是“一次付费”,但策略频繁变更的场景需要反复支付;其二,基准规模偏小(测试集 71–286 样本,Tile-match 仅 39 个训练样本),小测试集上的差距(如 Coaching 上 SCOPE 0.85 vs AFlow 0.83)统计意义有限;其三,对抗生成对 Escalation 无显著收益(0.816→0.815),说明其价值依赖任务结构,并非普适;其四,所有执行器均关闭推理,未测开启推理或更强执行器时 SCOPE 是否仍占优;其五,教师与搜索模型同为 Claude Opus 4.8,存在同源自偏好导致标签偏差的隐患;最后,池增长规则(系统级每轮至多 3 条、每谓词至多 1 条)是手工超参数,其敏感性未报告。
独立分析的弱点
独立分析有四个弱点。第一,判定的“真值”依赖教师模型对策略的解读,当策略文本本身有歧义时,SCOPE 只是把前沿模型的判断冻结进程序,无法比教师更正确——改进方向是对歧义条款引入多教师仲裁,或让教师输出条款级置信度,低置信条款交人工复核。第二,谓词自包含要求把定义、范围、例外全部复制进每个谓词,策略很长时谓词提示会膨胀,弱模型的长上下文利用效率成为新瓶颈——可用共享定义块或条款引用机制压缩。第三,对抗器受硬性预算限制(系统级每轮 3 条、每谓词 1 条),对条件空间组合爆炸的策略覆盖可能不足,Escalation 上消融无收益或与此有关——改进方向是按条款覆盖率而非固定数量分配反例预算。第四,组合代码是搜索产物,可读但未经系统测试,附录 E.1 展示的真实漏洞(sentence_count 分支只确认违规存在、未校验引用证据是否捏造,导致应判 Bug 的样本被判 Fail)说明符号层自身也会漂移——可为组合代码生成属性测试或符号执行检查。另外,四个基准任务均由作者构造或改编,对真实生产策略的分布外泛化尚未验证。
未来方向
作者在结论中提出两条延伸:其一,验证编译程序是开放问题——正确性目前完全建立在教师对策略的阅读上,可探索 SMT/LLM 混合验证器对组合代码做条款覆盖检查;其二,“程序与反例共同演化”的优化范式不限于策略执行,可推广到基于量规的 LLM 评估与奖励建模等以自然语言规范定义的任务。基于成果还可延伸:把多个谓词蒸馏进单个小模型以进一步降本(目前每个谓词仍是一次独立 API 调用);引入持续学习,让生产环境中发现的误判自动成为新反例回流搜索;策略变更时的增量重编译,只重跑受影响谓词的局部对抗与标注;对 Tile-match 类多标签任务,把 Jaccard 目标纳入搜索目标函数而非仅作评测;以及把框架用于智能体轨迹的实时护栏,在轨迹生成过程中增量调用谓词而非事后审计整段轨迹。
复现评估
可复现性较好。四个数据集已公开在 HuggingFace(Plurai/SCOPE),基准构造规则(附录 B)、搜索智能体的完整系统提示(附录 F)、完整分解示例与两类对抗样本(附录 A、E)均写入论文;方法不含需梯度训练的参数,只有搜索过程,算力需求主要是编译期的 Claude Opus 4.8 智能体循环(至多 8 轮)与执行期廉价的弱模型调用,多数实验室可负担。风险点在于:论文仅明确开源数据集,未说明是否开源 SCOPE 搜索框架代码;搜索依赖强模型的具体行为(Claude Opus 4.8),换用其他强模型可能收敛到不同质量的程序;结果为 3 次优化运行的均值,种子敏感性以标准差呈现(≤0.03)但单任务样本量小。综合估计:有经验的工程师用公开数据集与附录提示复现主表结果约需数天到一周,难度中等;复现消融与迁移实验需额外算力但流程相同。
论文图表