[Paper] 致力于解释大型语言模型在软件工程任务中的应用
发布: (2025年12月23日 GMT+8 20:56)
7 min read
原文: arXiv
Source: arXiv - 2512.20328v1
概述
本文提出了 FeatureSHAP,一个模型无关的框架,用于解释大型语言模型(LLM)在软件工程(SE)任务(如代码生成和代码摘要)中的决策。通过将基于 Shapley 值的归因方法适配到源代码和自然语言文档的特殊性,作者旨在将 LLM 的“黑箱”转变为对在安全关键或高影响环境中工作的开发者更透明、可信的工具。
关键贡献
- FeatureSHAP 框架 – 首个面向软件工程(SE)领域的全自动可解释性方法,专用于 LLM。
- 任务感知特征定义 – 在计算 Shapley 值之前,将原始 token 映射到高级 SE 概念(例如 API 调用、控制流结构、文档字符串章节)。
- 模型无关设计 – 可与任何 LLM 配合使用,无论是开源的(如 LLaMA、CodeBERT)还是专有的(如 OpenAI Codex)。
- 实证评估 – 在代码生成和摘要基准测试中,相较于通用 SHAP 和基于注意力的基线,展示出更高的保真度和更低的对无关输入的归因。
- 以人为本的验证 – 对 37 位软件从业者的调查表明,FeatureSHAP 解释能够提升审查模型输出时的信心和决策质量。
- 开源发布 – 实现代码已公开,可促进可重复性研究和社区扩展。
方法论
- 特征工程用于 SE – 将输入提示解析为语义上有意义的组(例如,函数签名、周围注释、导入的库)。每个组成为归因的“特征”。
- 扰动与相似度 – 对于给定特征,FeatureSHAP 通过屏蔽或替换该特征来生成提示的扰动版本,同时保持其余部分不变。使用任务特定的相似度度量(生成任务使用 BLEU,摘要任务使用 ROUGE)将得到的模型输出与原始输出进行比较。
- Shapley 值近似 – 通过 Monte‑Carlo 抽样,框架估计每个特征对最终输出分数的贡献,得到归一化的重要性得分,所有得分之和为 1。
- 解释渲染 – 将得分可视化并展示在原始提示旁边,突出显示代码或注释的哪些部分对 LLM 的答案影响最大。
- 评估流水线 – 作者将 FeatureSHAP 与基线 SHAP(基于 token 级别)以及注意力权重可视化进行基准比较,使用两个数据集:(a) 从文档字符串生成 Python 函数,(b) 从源代码片段进行代码摘要。通过归因与受控“真实”特征重要性(合成注入)的对齐程度来衡量忠实度。
结果与发现
- 更高的保真度 – FeatureSHAP 的归因与合成真实值的相关系数在代码生成上为 0.78,摘要上为 0.74,优于 token 级别 SHAP(0.61 / 0.58)和注意力基线(≈0.45)。
- 噪声降低 – 不相关的特征(例如无关的 import 语句)得到几乎为零的重要性,而基线方法常会分配虚假的权重。
- 人工研究 – 84 % 的受访开发者报告称 FeatureSHAP 解释帮助他们更快发现模型错误建议,71 % 表示在受监管项目中更愿意采用基于 LLM 的工具。
- 性能开销 – 基于扰动的方法为每次解释增加约 2 倍的推理时间,作者认为在调试或代码审查场景中是可以接受的。
实际意义
- 调试 LLM 生成的代码 – 开发者可以快速识别提示词的哪些部分(例如缺失的类型提示)导致了错误的建议,从而进行有针对性的提示工程。
- 合规性与审计 – 在汽车或医疗软件等领域,FeatureSHAP 提供了可追溯的证据,说明模型为何产生特定实现,支持监管文档的编制。
- 工具集成 – 该框架可以封装为 VS Code 扩展或 CI 流水线插件,在 AI 辅助建议旁边展示解释,而无需重新训练模型。
- 跨模型可移植性 – 使用专有 API(如 OpenAI)的团队仍然可以获取解释,而无需暴露模型内部细节,既保护了知识产权,又实现了透明性。
限制与未来工作
- 可扩展性 – 为 Shapley 估计所需的 Monte‑Carlo 采样在非常大的提示或多文件上下文中可能成本高昂。
- 特征粒度 – 当前的特征分类是为 Python 手工制作的;扩展到其他语言或混合语言项目需要额外的工程工作。
- 动态代码 – 运行时行为(例如副作用、性能)未被捕获;未来工作可以将静态归因与动态分析相结合。
- 用户交互 – 本研究侧重于静态调查;需要在真实开发工作流中的纵向研究,以量化生产力提升。
FeatureSHAP 标志着在使基于 LLM 的软件工程工具不仅强大,而且对日常开发者可理解、可信赖方面迈出的具体一步。
作者
- Antonio Vitale
- Khai‑Nguyen Nguyen
- Denys Poshyvanyk
- Rocco Oliveto
- Simone Scalabrino
- Antonio Mastropaolo
论文信息
- arXiv ID: 2512.20328v1
- 分类: cs.SE, cs.AI, cs.LG
- 发表时间: 2025年12月23日
- PDF: Download PDF