← 返回藏书阁

ACQUIRE — QA-Driven Repository Knowledge Acquisition

wiki/ai/sources/acquire-qa-driven-repository-knowledge.md
分类:ai / sources · 更新:2026-07-15 09:09

ACQUIRE — QA-Driven Repository Knowledge Acquisition

ACQUIRE 的核心判断是:coding agent 的许多失败不是“不会写 patch”,而是没有先把仓库内部知识缺口显式化。传统 pre-repair exploration 往往从 issue 关键词出发找 suspicious files 或 code snippets,但这类上下文并不一定回答“为什么这里相关、接口契约是什么、跨模块依赖是什么”。ACQUIRE 因此把修复拆成两个阶段:先用 Questioner/Answerer 形成仓库证据型 QA,再让 Resolver 基于 QA 生成补丁。

为什么对用户重要

这篇论文直接对应 Hermes / llm-wiki 的一个长期痛点:任务开始时如果只靠问题描述和关键词搜索,agent 很容易找到“看似相关”的上下文,却没有回答真正的知识缺口。对代码修复如此,对 wiki ingest、技术雷达和长程自动化也一样:没有先问出缺口,就会把时间花在错误文件、浅层摘要或重复页面上。

它的耐久价值不在于又一个 SWE-bench 提分,而在于提供了一个可迁移 workflow:先生成可回答的问题,再读取证据并形成结构化 QA,最后才行动。这可以被改造成 Hermes 的任务前置清单、wiki ingest 的深度判断表、以及 coding-agent 的仓库探索模板。

机制 / 一阶原理

ACQUIRE 的一阶原理是把“隐式上下文不足”转为“显式知识缺口”。Questioner 根据 issue 生成互补问题,Answerer 以只读方式探索仓库并给出 evidence-grounded answer,Resolver 再用这些 QA 作为修复上下文。论文把问题类别分成四类:

类别问什么避免的失败
Mechanism and Behavior功能如何运行、状态如何变化、数据如何流动只改表面症状、不理解根因
Design and UsageAPI / 类 / 错误处理 / 设计约定是什么违反隐性接口契约
Locating and Structure相关代码在哪里、模块如何依赖搜索空间过大或定位错误
Ecosystem and Standards外部库、协议、语言语义要求是什么忽略仓库外部约束

这个设计把 context engineering 从“多读一些文件”推进到“按知识缺口组织证据”。它也让轨迹更可审计:失败时可以检查是问题没问对、Answerer 证据不足,还是 Resolver 没使用 QA。

实验信号与置信度

论文在 SWE-bench Verified 上报告:ACQUIRE 在 GPT-5-mini 上 Pass@1 62.2%,相对 Mini-SWE-Agent 58.4% 提升 3.8 个百分点;在 DeepSeek-V3.2 上 Pass@1 70.8%,相对 66.4% 提升 4.4 个百分点。相比 LingmaAgent / SWE-Debate,ACQUIRE 的额外成本和时间更温和。本文标记 confidence: medium,因为今天已读取 arXiv PDF 文本并摘取方法/结果,但尚未运行其开源代码,也未独立复现实验。

和既有 wiki 概念的关系

  • Context-Engineering:ACQUIRE 说明上下文质量不只是检索召回率,而是问题驱动的 evidence contract。一个好的 context provider 应能回答“这份上下文填补了哪个知识缺口”。
  • Agentic-Coding:它把仓库探索从 patch loop 中前置出来,降低 agent 在修复时边猜边找的风险。
  • Agent-Benchmarks:它提示 benchmark 不应只看最终 pass rate,还应评估 question quality、answer grounding、QA usage rate 和知识缺口覆盖。
  • Harness-Engineering:Questioner / Answerer / Resolver 是一个可实现的 harness 结构,适合放进复杂任务的前置理解阶段。

对 Hermes / llm-wiki 的可执行启发

  1. 对复杂代码任务,先生成 4 类问题清单,再读文件;不要直接从 issue 关键词开始 patch。
  2. 对 wiki deep ingest,深度判断也可用类似四类问题:机制是什么、和已有概念契约是什么、应放在哪里、是否依赖外部标准/项目。
  3. 每次报告可以把“已回答的知识缺口”和“未回答但影响行动的问题”分开,降低 unsupported completion claim。
  4. 对 llm-wiki 技术雷达,可把 ACQUIRE 作为候选内容晋升模板:只有能回答核心机制、关系、实践启发和边界条件的材料才晋升正式 source/concept 页。

边界与失败模式

ACQUIRE 的问题模板可能过于固定:不同语言、框架、产品域需要不同知识维度。预先生成 QA 也可能带来 stale context:修复过程中出现新假设时,旧 QA 不一定够用。论文也承认未来可动态请求/刷新知识,但成本会上升。对 Hermes 来说,安全默认应是:先用固定四类问题做低成本前置理解;当执行中出现新证据或矛盾时,再触发动态补问,而不是无限探索。

写入记录

  • 2026-07-15 09:02 CST:新增 ACQUIRE 论文的深度入库页,提炼 QA 驱动仓库知识获取机制、实验信号、与 Context/Harness/Agentic Coding 的关系和 Hermes 实践启发。