← 最新论文
🤖 AI

Agentic Interpretation: Lattice-Structured Evidence for LLM-Based Program Analysis

本文提出“代理式解释”,这是一种将基于格格的静态分析原理应用于大语言模型驱动的程式推理的框架,通过将分析目标分解为在有限高度格中追踪的局部断言,从而相较于脆弱的单次式方法,实现更稳健、基于证据且可迭代的程式分析。

原作者: Jacqueline L. Mitchell, Chao Wang

发布于 2026-05-14
📖 1 分钟阅读☕ 轻松阅读

原作者: Jacqueline L. Mitchell, Chao Wang

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

想象一下,你正在试图解开一个庞大而复杂的谜团:“这个计算机程序使用是否安全?”

在过去,你有两种主要方式来回答这个问题:

  1. 机器人侦探(静态分析器):这是一台严格遵循规则的机器。它只查看屏幕上编写的代码。它非常擅长发现数学错误,但它无法阅读用户手册、无法查阅新闻以获取最新的安全漏洞信息,也无法理解库本应如何工作的“不成文规则”。
  2. 人类专家(大语言模型):这是一种超级智能的 AI,能够阅读手册、查阅安全新闻并理解上下文。但如果你用一个大问题问它:“整个程序安全吗?”,它往往会给出一个不稳定的答案。它可能会因为试图一次性吞下太多信息而遗漏关键细节,或者在毫无察觉的情况下自相矛盾。

本文提出了一种新的工作方式:代理式解释(Agentic Interpretation)

不要将此视为让 AI 一次性解决整个谜题,而应视为聘请 AI 作为一个由专业调查员组成的团队,在严格的项目经理领导下工作。

核心理念:将谜团拆解为微小线索

该框架不是让 AI 回答“程序是否安全?”,而是将这个大问题分解为成百上千个微小、具体的主张。

  • 主张 1:“这个特定的库是否能安全地处理不良数据?”
  • 主张 2:“安全检查是否涵盖了所有正确的字段?”
  • 主张 3:“如果检查失败,程序是否真的会停止运行?”

AI(即“代理”)逐一调查每个微小主张。但这里的神奇之处在于:项目经理(即框架) 为每一个主张保留一份非常具体的记分卡。

记分卡:“格”(Lattice)

想象一张记分卡,它不仅仅说“是”或“否”。它追踪支持或反驳每个主张的证据强度

  • 支持:我们是否有证据证明这是安全的?(弱、强,还是无?)
  • 反驳:我们是否有证据证明这是不安全的?(弱、强,还是无?)

这张记分卡被称为格(Lattice)。它就像一个网格,当你发现新信息时,你可以在其中向上或向下移动。

  • 如果 AI 发现一条安全警报,指出某个库存在漏洞,那么“反驳”分数就会上升到
  • 如果 AI 发现一份手册说明它是安全的,那么“支持”分数就会上升到

工作流程:“工作列表”游戏

该系统使用“工作列表”(类似于待办事项列表)来管理调查。以下是游戏如何进行的过程,使用了论文中的一个真实示例:

  1. 设置:该程序使用了一个“黑盒”库(我们只能看到它的名称,无法看到其代码)。目标是确定它是否安全。
  2. 第一轮(广泛搜索):AI 查看该库的一般文档。
    • 结果:“未发现明显漏洞,但手册含糊不清。”
    • 记分卡弱支持(可能安全),弱反驳(可能不安全)。
  3. “啊哈!”时刻(反馈循环):系统审视全局。它意识到:“等等,主程序依赖该库来阻止黑客,但该库的文档含糊不清。这是一个风险!”
    • 项目经理向 AI 发送反馈信号:“回去专门查找该库中的‘对象形状’攻击。”
  4. 第二轮(针对性搜索):AI 现在确切知道要寻找什么,便深入挖掘。
    • 结果:“找到了!关于此版本的特定漏洞存在已知安全警报。”
    • 记分卡更新:“反驳”分数跃升至
  5. 稳定化:系统更新全局视图。由于该库已被证明不安全,整个程序的最终结论从“可能安全”变为“不安全”。当找不到新线索时,系统停止运行。

为什么这比仅仅询问 AI 更好

  • 没有“黑盒”答案:你不会得到一个令人困惑的单一段落。你会得到一张清晰的地图,确切显示程序的哪一部分存在风险,以及什么证据证明了这一点。
  • 自我修正:如果 AI 犯错或遗漏线索,“反馈循环”会将其捕捉。如果全局视图无法自圆其说,系统会迫使 AI 重新检查其工作。
  • 它会停止:因为记分卡有上限(你无法获得“比强更强”的分数),系统知道何时停止搜索。它不会陷入无限循环的思考中。

总结

本文介绍了一个框架,它将大语言模型视为证据收集代理,而非魔法答案机器。通过迫使它们将大问题分解为小主张,在结构化的记分卡上追踪证据强度,并不断根据全局视图检查其工作,我们可以利用它们的智能来安全、可靠地分析复杂的软件——即使代码涉及我们无法查看的神秘第三方部分。

它将混乱的一次性猜测转变为纪律严明、可审计的调查。

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

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

试用 Digest →