SCOPE: Compiling Natural-Language Policies into Neurosymbolic Predicate Programs
Arnon Mazza, Elad Levi
cs.AI, cs.CL
2026-10-22
SCOPE 把自然语言策略编译成小模型谓词加 Python 组合代码,弱模型执行就追平旗舰推理模型的准确率,成本低 9-47 倍。
给 LLM agent 上策略护栏,判的对象已经从一条消息变成多轮对话和完整的工具调用轨迹,策略本身也少有单一分类,多半捆着条件、例外、计数和子句之间的交互。现有两条路各有硬伤:微调的小 guardrail 模型快且便宜,但容量就是天花板,策略一复合准确率就往下掉;LLM-as-a-judge 让旗舰模型现场读策略,表达力最强,但每次拦截都付一次旗舰调用的钱,预测还不稳定,子句越多方差越大。神经符号路线把策略拆成小判断、再用显式逻辑组合,看着对症,但已有的符号层要么表达力不够,checklist 和加权规则集装不下条件分支与运行时计数,要么对着固定数据集优化,拟合的是数据不是策略。
SCOPE(Symbolic Composition over Predicates and Extractors,Plurai 出品)把一条自然语言策略编译成可执行程序,三种组件:
组合层是代码,这是表达力的来源。「根据前一个答案决定下一个问什么」「对运行时挑出的多段输入重复同一检查」「精确计数」都是几行 Python 的事,规则形式系统装不下。谓词不绑定输入,由组合代码决定喂什么,同一条谓词可作用于全文、某个片段或反复调用。
程序和训练数据联合优化。搜索从「策略原文当唯一谓词」起步,每轮优化器在训练池上执行程序,靠执行 trace(每次谓词调用的记录)把错误归因到谓词措辞或组合逻辑;再由两个对抗生成器造反例,systemic 级找整条组合漏掉或接错的子句,local 级找措辞偏离子句的单条谓词;强 teacher 读完整策略复核标签,与生成意图一致才入池。这套循环借自反例引导的程序合成(counterexample-guided synthesis),策略本身就是规格说明。
执行器故意选弱。谓词在搜索期间就由次旗舰模型(sub-frontier)关掉推理回答,答不动的会被自动改写或拆分,执行器越弱拆出的谓词越多;强模型的账单只在编译期付一次,推理期全走便宜模型。
四项策略任务:审计自动评审员的输出(Coaching)、跨轮计数判断该不该转人工(Escalation)、在 45k 字符的 agent 轨迹里查计划合法性(Plan)、多标签的 tile 指认(Tile-match)。最弱执行器 gpt-5.4-nano 下:
| 方法 | Coaching | Escalation | Plan | Tile-match |
| 直接提示 | 0.60 | 0.56 | 0.59 | 0.38 |
| 提示优化(GEPA/MIPROv2 取优) | 0.69 | 0.61 | 0.66 | 0.56 |
| AFlow | 0.83 | 0.86 | 0.75 | 0.68 |
| SCOPE | 0.85 | 0.82 | 0.87 | 0.78 |
12 个「任务×执行器」格子里,SCOPE 拿下或并列 10 个最高分,剩下两个(Escalation 的两档弱执行器)归 AFlow。分解还压缩了模型差距:执行器从最弱换到最强,提示优化平均涨 0.26,SCOPE 只涨 0.09,策略一旦拆成小模型答得动的谓词,准确率对执行器选择就不再敏感。用 nano 编译的程序直接搬到 5 个开源模型上、不再优化,平均每个模型涨 0.13-0.22;DeepSeek-V4.1-Flash 和 Qwen3-235B 追平 gpt-5.5(高推理档)与 gemini-3.1-pro 直接判任务的水平,DeepSeek 还在两项任务上全场最高。推理成本按论文估算为每千样本 $0.23-1.49,gemini-3.1-pro 是 $6.88-50.79,便宜 9 到 47 倍。稳定性:Tile-match 连跑五次,DeepSeek/Qwen3-235B 只有 5-7% 的样本至少改过一次判定,gpt-5.5 是 37%。消融证实对抗生成是核心组件:去掉后 Plan 从 0.865 掉到 0.813(p=0.005),Coaching 从 0.839 掉到 0.783(p=0.033),Escalation 不受影响。
做 agent 护栏、审核、合规检查的团队多了一条生产路径:策略变更就重新编译一次,运行期全走不开推理的便宜模型,每个判定都能追溯到具体谓词的输出。和微调 guardrail 比,不用攒标注数据,一小池种子样本就能起步;和 LLM-as-a-judge 比,省掉每次调用的旗舰账单,还换来后者给不了的稳定性。跨执行器迁移最实用:用最便宜的 API 模型编译,部署到自托管的开源模型上,中间不再花优化成本。
作者自承最大的坑:程序由强 teacher(Claude Opus 4.8)对策略的读法把关,没有形式化验证器,正确性上限就是 teacher 的读法,怎么验证这类程序仍是开放问题。评测上,Coaching 和 Tile-match 是作者自建数据集,规模各一两百条;CheckEval 和 RLIE 只支持二分类,只参加了四项里的两项;AFlow 还被允许在中间步骤引入推理,论文披露了这点,但对比因此不完全干净。Escalation 的消融对对抗样本无反应,说明该任务收益主要来自分解本身,对抗机制并非对所有策略形态都起效。编译期搜索成本,强模型 agent 循环至多 8 轮,论文没报账单,只给了推理侧对比。