方案 1 · SlsDetector 启发的
五维约束检测
约束维度框架 — Xu et al. TOSEM'26
将配置分解为 5 类约束逐项检测。每项只有「违反/通过」,用 CoT 链式推理给出确凿证据。强调「绝对确定」才标错,避免风格偏好误判。
检查维度
- 结构约束:文件存在、JSON/YAML 合法、必填字段不缺
- 内容约束:无死内容、无跨文件重复、无互相冲突规则
- 值约束:maxInputTokens 在模型窗口×0.4—0.8 区间、output 不超模型上限
- 依赖约束:AGENTS 引用的 references 文件确实存在、路径可解析
- 行为约束:自动触发条件可被 Agent 独立判断、误触发防护存在
评估方式
P/R/F1 每维算 Precision/Recall/F1,汇总加权
全局最优论证
5 维覆盖了配置的完整生命周期(格式→内容→值→关系→行为)。任何一维 P0 违规即可导致死循环,所以全局最优 = 5 维全部达到 P0 零违规。
+ 结构严谨+ 证据驱动
- 维度定义需维护- 边界判断主观
方案 2 · 因果推断启发的
影响链路分析
因果图 + 反事实推理 — Pearl 2009
为每条配置项构建「配置→行为→结果」因果链。检测链路中是否存在致命节点。不只检查「对不对」,而是检查「这个配置导致系统的哪个行为变好或变差」。
检查方式
- 构建因果图:20+ 配置项 → 8 个行为节点 → 4 个结果维度
- 标注每个链路的严重度:死循环(P0) > 信息丢失(P1) > 效率下降(P2)
- 检测断链(配置存在但未连到任何行为节点=死配置)
评估方式
Δnet 净影响 = Σ(正影响链路) − Σ(负影响链路)
全局最优论证
一条 P0 负影响链路(如缺 maxInputTokens→死锁)就足以否定全局最优。全局最优 = 零 P0 负链路 + P1 负链路需被正链路覆盖。
+ 直接回答「为什么」+ 可解释最强
- 因果图建模成本高- 首次建立需领域知识
方案 3 · 多目标优化启发的
帕累托边界审计
多目标 Pareto 前沿 — Deb 2001 / NSGA-II
定义 3 个互相制衡的目标:最小化 Token 消耗、最大化信息覆盖、最大化安全边际。检测当前配置是否在帕累托前沿上——如果不在,说明存在「零牺牲改进空间」。
三个目标
- Token 消耗:always-loaded 总字节 / 理论最小必需字节
- 信息覆盖:关键决策场景中「能找到所需规则」的比例
- 安全边际:maxInputTokens − 预估最大会话用量 的差值
评估方式
前沿距离 当前点离帕累托前沿的欧氏距离
全局最优论证
帕累托最优 = 不牺牲任一目标就无法改进另一目标。若配置不在前沿上 → 存在「免费午餐」改进。距离越小越接近全局最优。
+ 自动发现改进空间+ 三维权衡可视化
- 目标量化主观- 只给方向不给方案
方案 4 · 反事实推理
双向反事实评分
Counterfactual Evaluation — Pearl / Rubin Causal Model
对每项配置问两个反事实问题:「如果删掉它,系统会变差吗?」和「如果把它改成错误值,系统会崩溃吗?」。一项配置的正负影响通过反事实回答量化。
评分逻辑
- 删掉它 → 变差:这项是有效配置(+分)
- 删掉它 → 不变或变好:这项是死配置(−分)
- 改错它 → 崩溃:这项有攻击面(需标注高风险)
- 改错它 → 无影响:这项是伪规则(−分)
评估方式
效率比 净正向贡献项 / 总配置项
全局最优论证
全局最优 = 效率比 100%(每项配置都有正向净贡献)+ 零高风险攻击面。比空配置好的底线:效率比 > 0(至少有一项在帮忙)。
+ 直接区分好坏+ 暴露攻击面
- 反事实推理依赖 Agent 判断力- 边界模糊
方案 5 · 信息论启发的
信息效率比
Shannon 信息论 + LCWMS Token Budget 理念
计算 always-loaded 文件中「操作上有用的信息量」占总 token 的比例。将配置视为通信信道——死内容、重复、无触发条件的引用都是信道噪声。目标是最大化信噪比。
计算方式
- 有用信息 = 每条在至少一个决策场景中被使用的规则
- 噪声 = 文件自描述、过时元数据、无触发路径的引用、重复内容
- IE = 有用信息(token) / 总 token
评估方式
IE% + 每文件贡献拆解 + 噪声来源标注
全局最优论证
信道容量固定(上下文窗口),最大化信息传输速率 = 最大化 IE。全局最优 IE 取决于配置复杂度需求——简单场景可达 90%+,复杂场景 70%+ 即为优。
+ 量化直观+ 噪声可定位
- 有用性定义主观- 不检测错误值
方案 6 · 韧性工程启发的
系统弹性审计
Chaos Engineering + Resilience Assessment — Basiri 2016
不扫描文件,而是注入 5 类压力场景,观察系统行为。好的配置在压力下优雅降级,坏的配置在压力下崩溃(如我们遇到的死循环)。评估的是最差情况表现而非理想情况。
5 个压力场景
- 场景 1「长会话」:上下文接近上限时,压缩是否正常完成?
- 场景 2「工具请求」:用户问「用西瓜后台查 X」时,Agent 是否找到正确路径?
- 场景 3「设计任务」:用户要求设计新流程时,设计原则是否被加载?
- 场景 4「配置修改」:用户要求改配置文件时,config-rules 是否被读取?
- 场景 5「冲突指令」:两条规则矛盾时,Agent 是否按优先级选择?
评估方式
弹性分 5 场景 × 0-2 分(崩溃/降级/正常)
全局最优论证
一个配置的价值不由理想情况决定,而由最差情况决定。全局最优 = 所有压力场景得分为 2(正常),即系统在任何已知压力下都不崩溃。
+ 实测不猜+ 暴露隐藏缺陷
- 需要运行环境- 场景设计需维护