来源:HN (245pts)
URL: https://pwning.systems/posts/llm-memory-program-analysis/
精读日期:2026-08-30
模型:DeepSeek V4 Flash(AI 生成,人工未审校)
正文获取:全文
一、核心论点/事实
1. LLM 在长时间漏洞研究(数小时级)中会逐渐丢失已确立的事实,导致重复已排除的方案、基于失效假设继续推理等幻觉问题。
2. 传统记忆系统(存储+嵌入+检索)只能让模型“记住”内容,无法自动处理事实变更后的结论失效,需要模型反复重建整个推理状态。
3. 作者将问题类比为程序分析中的增量计算:当输入事实变化时,应只更新受影响的结果,而非从头重算。
4. 核心思路:将 LLM 负责的“非结构化信息理解”与确定性的“事实推导与维护”分离,后者交给自研的 Datalog 引擎(Lemmalog)。
5. Lemmalog 支持事实的依赖追踪、增量删除(多路径支持时保留结论)、结论溯源(provenance)以及事实的有效期区间(validity intervals)。
6. 溯源能力让研究者可以质问模型“为什么相信某结论”,无溯源支撑的结论不会成为调查状态的一部分,显著减少无依据结论的静默扩散。
二、方法/架构拆解
- 架构分层:
- LLM 层:负责自然语言、源码、调试器输出等非结构化信息的理解与事实抽取。
- Lemmalog 层(Datalog 引擎):负责结构化事实的存储、规则推导、依赖追踪与增量更新。
- Datalog 基础:声明式逻辑编程语言,由事实(facts)和规则(rules)推导新事实,例如传递闭包规则:若 A 调用 B,B 可达 C,则 A 可达 C。
- 增量删除机制:删除事实时需检查该事实是否还有其他推导路径;若结论有多个独立支撑,删除单个事实不会使结论失效。
- 溯源(Provenance):引擎记录每个派生事实的依赖链,可回答“为什么得出此结论”,并支持在底层事实变更时自动失效相关结论。
- 有效期区间:事实可关联时间区间(如
[t1, t2)),支持查询历史状态(如“为什么之前认为 primitive_a 可行”),避免同时保留矛盾事实。 - 实现要点:固定点计算(fixed point)、依赖图维护、事实版本化。
三、值得注意的局限/争议
作者承认的局限:
- 无法阻止 LLM 在事实抽取阶段产生幻觉——引擎只保证“已入库事实”的推导正确性,不保证抽取本身正确。
- 需要将非结构化信息手动/半自动转换为结构化事实,这一转换过程本身可能丢失上下文或引入错误。
AI 判断的局限/争议:
- 事实抽取的准确性成为新的瓶颈:若 LLM 抽取的事实本身有误,Datalog 引擎会“正确”地推导出错误结论,且溯源机制可能让错误结论看起来更有说服力。
- 规则(rules)的编写需要人工定义,覆盖漏洞研究中的复杂推理模式(如控制流、数据流、权限提升链)可能成本较高。
- 有效期区间机制增加了状态管理的复杂度,对于长时、多分支的探索场景,历史状态的存储和查询可能带来性能开销。
- 该方案更适用于“事实驱动”的漏洞研究,对于需要创造性联想、类比推理的场景(如寻找新的攻击面)支持有限。
四、与 RRLab 研究的关联
- Harness 工程:Lemmalog 的“LLM 负责理解、引擎负责确定性推导”的分层思想,可借鉴到 Harness 设计中——将 Agent 的“记忆”从 prompt 中解耦,用结构化知识库承载事实与依赖,减少上下文长度和幻觉。
- 多模型协同:该架构天然支持“抽取模型 + 推理引擎”的协同模式;不同模型可负责不同子任务(如源码分析、调试输出解析),由 Datalog 统一维护事实一致性。
- 模型评测:溯源机制可作为评测工具——检查模型结论是否有事实支撑,量化幻觉率;也可用于构建“推理链正确性”的评测基准。
- Agent 落地:对于长时运行的 Agent(如自动化渗透测试、代码审计),增量更新和自动失效机制可显著提升稳定性,避免 Agent 在数小时后“精神错乱”。
- AI 原生产品:该思路可产品化为“可解释的 AI 调查助手”,面向安全研究、代码审计等场景,提供带溯源和版本历史的推理状态管理能力。
本笔记由 DeepSeek V4 Flash 自动生成,未经人工审校。原文链接:https://pwning.systems/posts/llm-memory-program-analysis/