通过让 LLM 同时执行压缩编码与逆向解码,揭示现有模型缺乏真正双向代码推理一致性的深层问题。
RTCE 将一条压缩管道拆成四个方向,要求 LLM 分别扮演"执行正向/逆向函数"的角色:
| # | 任务名 | 给定 | 预测 | 难点 |
|---|---|---|---|---|
| 1 | Output Prediction | x, enc | \(\hat{z}\) | 正向执行 enc |
| 2 | Input Prediction with Inversion | z, enc | \(\hat{x}'\) | 心算 enc⁻¹ |
| 3 | Output Prediction with Inversion | x, dec | \(\hat{z}\) | 心算 dec⁻¹ |
| 4 | Input Prediction | z, dec | \(\hat{x}'\) | 正向执行 dec |
Round-trip check:任务 1+4(或 2+3)的输出串联后,若 \(x = x'\) 则模型自洽。
"AAABBBCC",z = [(A,3),(B,3),(C,2)])任务 1 — Output Prediction(正向执行 enc)
任务 2 — Input Prediction with Inversion(心算 enc⁻¹)
任务 3 — Output Prediction with Inversion(心算 dec⁻¹)
任务 4 — Input Prediction(正向执行 dec)
任务 2 和 3 是"逆向"任务——提供的是另一方向的函数代码,模型须自行推导逆函数后再执行,难度显著高于任务 1 和 4。
选取了四种难度递增的无损压缩算法,覆盖字典型、统计型、行程型、前缀码型:
250 个唯一输入来自约 45 个类别(有规律字符串、结构化日志、YAML 配置、表格数据),长度从几字符到数百字符不等,覆盖短/中/长三个区间,确保难度分布均衡。
依次评估三条改进路径,测试是否有方法能突破 LLM 的 round-trip 瓶颈:
要通过 round-trip 测试,模型必须同时维护精确的内部状态并执行逆向推理,这远比"正向代码生成"更能暴露模型是否真正理解算法。
所有模型的任务难度排序一致:Output Prediction ≫ Output Prediction-Inversion ≫ Input Prediction ≫ Input Prediction-Inversion。规模效应明显:
结论:自我反思能带来增量改善,但无法突破算法理解层面的根本性错误——模型达到自洽上限后便停滞。
对 QwQ-32B 使用 LoRA 在执行轨迹上微调后,Pass@5 提升幅度约 30–87%(因算法和任务而异),但模型仍无法同时在四类任务上保持双向一致。对分布内模式的过拟合不能保证泛化到新输入。
所有算法的 Pass@5 均随输入长度增加而下降,但下降速度不同: