同一道编程题生成十份写法不同的代码,不一定代表模型没有把握;反过来,文本高度相似的答案也可能在一个边界条件上产生完全不同的行为。Code-MUE 针对这种“语法相似不等于语义相同”的问题,提出纯黑盒的不确定性估计框架。
从文本距离转向执行结果
框架对模型的多次候选进行执行,根据可观察的运行行为构建语义交互图,再用解空间的冯·诺依曼熵衡量全局语义多样性。它不需要访问 logits、隐藏状态或模型权重,因此也能用于闭源代码模型。
论文评测八个模型,报告 Code-MUE 与功能正确性的 Spearman 负相关最高达到 -0.98,并优于词法和嵌入相似度基线。负相关意味着语义解空间越分裂,候选正确的可能性通常越低;这是一种风险信号,并不是正确性的形式化证明。
对开发工具的影响
代码助手可以把不确定性用于选择性自动化:低风险、低熵答案进入自动测试,高熵答案要求补充测试、扩大上下文或转交人工。相比让模型自报置信度,执行信号更接近开发者真正关心的程序行为。
代价也很明确:需要安全沙箱、可靠测试输入和多次采样预算。若测试不能触达关键分支,不同错误实现可能呈现相同行为,熵会被低估。生产系统应把它与覆盖率、静态分析和属性测试结合,而不是单独作为放行门槛。
我的判断
Code-MUE 的价值在于把“模型是否在猜”落到可执行证据上。它尤其适合高价值代码生成流水线,但最终性能取决于测试环境能否揭示语义差异;没有好的输入生成,再精致的图指标也看不到隐藏错误。
一手来源:Code-MUE: Measuring Code LLMs’ Uncertainty through Execution-based Semantic Interaction Graphs