← 最新论文
💻 computer science

From Program Slices to Causal Clarity: Evaluating Faithful, Actionable LLM-Generated Failure Explanations via Context Partitioning and LLM-as-a-Judge

本文表明,大语言模型生成的故障解释的质量因果性地取决于上下文构成,证明富含证据且针对特定故障的工件相比通用或过于庞大的上下文,能显著提升因果清晰度与可操作的修复结果。

原作者: Julius Porbeck (Hasso Plattner Institute, University of Potsdam, Germany), Christian Medeiros Adriano (Hasso Plattner Institute, University of Potsdam, Germany), Holger Giese (Hasso Plattner Institute
发布于 2026-05-21
📖 1 分钟阅读☕ 轻松阅读

原作者: Julius Porbeck (Hasso Plattner Institute, University of Potsdam, Germany), Christian Medeiros Adriano (Hasso Plattner Institute, University of Potsdam, Germany), Holger Giese (Hasso Plattner Institute, University of Potsdam, Germany)

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象你是一名侦探,正在试图解开一个谜团:一个计算机程序崩溃了,你需要知道为什么会发生,以便修复它。

在过去,我们曾请求强大的 AI 助手(大型语言模型,或称 LLM)充当我们的侦探。它们可以查看混乱的代码和错误信息,告诉我们哪里出了问题。但有时,这些 AI 侦探给出的答案含糊不清、具有误导性,甚至完全错误。如果侦探给了你错误的线索,你可能会修复机器的错误部分,从而使问题恶化。

这篇论文就像一本AI 侦探的培训手册。研究人员想要弄清楚:我们应该向 AI 提供什么样的信息,才能让它给出最好、最有帮助的解释?

以下是他们利用简单类比对调查过程的分解:

1. 问题:“信息过载”

想象你正试图在干草堆里找到一根特定的针。

  • 旧方法:你把整个谷仓、整个农场以及邻居的田地都倒进一堆,然后问 AI:“找到那根针。”AI 会被所有多余的干草(无关代码)压得喘不过气,可能会错过那根针,或者给出一个令人困惑的答案。
  • 新想法:与其倾倒一切,不如仔细挑选最有可能藏有针的干草捆。你给 AI 提供信息的“切片”——即真正导致崩溃的代码、具体失败的测试以及错误信息。

2. 实验:“上下文自助餐”

研究人员开展了一场大规模的品尝实验。他们选取了 12 个真实的软件缺陷,并为 AI 创建了93 种不同的“自助餐”(上下文配置)供其“享用”。

  • 有些自助餐只包含错误信息。
  • 有些包含代码和测试。
  • 有些包含代码加上程序的“切片”,精确显示崩溃时正在运行的行。
  • 有些则包含所有内容(整个谷仓)。

他们让三个不同的 AI 模型(将其想象为三个性格各异的侦探)查看这些自助餐,并撰写关于缺陷发生原因的解释。

3. 记分牌:什么是好的解释?

研究人员不仅问了"AI 修复了缺陷吗?”,还问了“这个解释好吗?”。他们像老师批改作文一样,从六个方面对 AI 进行评分:

  1. 可读性:是否易于阅读?
  2. 问题识别:是否正确识别了什么坏了?
  3. 因果链:是否逐步解释了问题如何发生?(例如:“因为 X 发生了,Y 出错了,从而导致 Z 崩溃。”)
  4. 可操作性:是否告诉人类接下来具体该什么?
  5. 依据性:是否指出了具体的代码行或证据,还是仅仅在猜测?
  6. 简洁性:是否过于冗长啰嗦?

4. "AI 法官”与人类法官

由于无法让成千上万的人类阅读每一份解释,他们使用了一位AI 法官来评估 AI 的工作。

  • 发现:AI 法官在“严肃”事项上与人类专家非常一致(是否找到了正确的问题?逻辑是否严密?)。
  • 故障:AI 法官在“风格”事项上与人类的一致性较差(例如答案的长短)。人类发现很难一致地判断“简洁性”,AI 法官也对此感到困惑。

5. 重大发现

以下是他们关于如何“喂养”AI 所学到的内容:

  • 少即是多(但要是正确的“少”):向 AI 提供整个代码库(整个谷仓)往往会使解释更模糊。AI 会被噪音分散注意力。
  • “黄金门票”成分:最好的解释出现在 AI 获得可执行证据时——具体而言,就是出错的代码和失败的测试。这些是最有帮助的线索。
  • “噪音”成分:添加长文档或描述(如“文档字符串”)往往会使解释变得更糟。这就像给侦探提供嫌疑人的 50 页传记,而不是犯罪现场的照片。
  • “切片”策略:对于某些 AI 模型,使用“程序切片”(在数学上仅剔除实际影响崩溃的代码行)有助于 AI 更好地集中注意力。

6. 回报:更好的解释 = 更好的修复

最重要的发现是好的解释好的修复之间的联系。

  • 当 AI 提供高质量、清晰且可操作的解释时,它在下一步成功修复缺陷的可能性要大得多。
  • 当 AI 提供低质量、模糊的解释时,其效果实际上AI 完全没有解释就尝试修复缺陷还要。糟糕的解释会将你引向错误的道路。

总结

这篇论文教导我们,为了从 AI 调试工具中获得最佳结果,我们不应只是将所有数据倾倒给它们。我们需要成为策展人。我们需要仔细挑选正确的“线索”(代码、测试和具体的错误行),并过滤掉噪音。当我们这样做时,AI 就会变成一名更敏锐的侦探,为我们提供清晰、真实的原因,说明事物为何崩溃,从而帮助我们更快、更准确地修复它们。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →