arXiv論文メモ
新着一覧
cs.CL / cs.AI / cs.LG · 査読状況未確認

コード変更で記憶を無効化するには差分より個別の主張を問う

Impact Is Not Invalidation: Ask About the Claim, Not the Diff

Atul Anand

この論文をやさしく読む

ひとことで言うと

コードが変わった際、AIの記憶にある具体的な主張がまだ正しいかを直接確かめる方法を評価する。

何に役立つ?

コーディングエージェントの記憶を、不必要に消さず、誤った情報は見つける判断に役立つ。

この研究の面白いところ

同じ差分とモデルでも、質問を「変更全体の意味」から「この主張の真偽」に変えると適合率が大きく上がる。

どこまで分かった?

正解はテスト実行で確認した主張の反転に基づく。評価対象は23のPythonライブラリで、他言語や全種類の記憶への一般化は要旨にない。

v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。

アブストラクトの日本語訳

コーディングエージェントの記憶システムは、リポジトリが変わったとき、保存したどの主張が誤りになったか判断しなければならない。内容の出所となったファイルが変われば無効化する方法は頻繁に発火する。差分が振る舞いを保存するかを分類する方法は、保存した個々の主張ではなく差分自体を問うている。著者らは、この二つ目の信号がモデルの能力と無関係な理由で失敗すると示す。40倍の価格差を持つ五つのモデルに、コミットが振る舞いを保存するかを問うと、実際のコミットの59~72%で警告し、陽性率の基準値0.25に対する適合率は0.291~0.329にとどまった。同じモデルに同じ差分を示し、一つの具体的な主張がまだ成り立つかを問うと、適合率は0.705~0.974に達した。 振る舞い保存を判定する側に主張の文章だけを与え、質問を変えない対照実験では、適合率は0.010と0.016しか動かなかった。質問自体を変えると0.49と0.65動いた。また、カバレッジから得た依存関係データを使う実運用の回帰テスト選択器pytest-testmonとも比較した。再現率0.868、適合率0.415であり、変更が到達しうる箇所をほぼ把握しても、どの主張が偽になるかは特定できないと示す。 正解は人手の注釈ではなく実行で確かめる。主張はコミットtで成功するテスト関数とし、同じアサーション文が次のコミットt+1で失敗すれば反転とする。このデータを作るには、CIで確認される主系列では、既存のテストを失敗させるコミットは統合できず、単純な作り方だと陽性例が設計上ゼロになるという問題を解く必要があった。著者らは、23のPythonライブラリから得た1万369の主張と、実行で確認した184の反転を報告する。リポジトリ単位の分割、知識カットオフ以後の分割、差分をシャッフルした対照、言い換えの対照、17リポジトリでの一つずつ除外する解析も行う。

v1の要旨から自動生成。本文の精読・人による確認は未実施。

初稿
2026-09-20(UTC)
最新改訂
2026-09-20 · v1
査読・掲載
査読状況未確認
arXivで読むPDF

更新履歴

取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。

原文の要旨

Memory systems for coding agents must decide, when a repository changes, which of their stored claims have become false. Content anchoring invalidates a claim whenever the artifact it came from changes, which fires constantly. Semantic-equivalence classification asks whether a diff preserves behavior, a question about the diff rather than about any stored claim. We show the second signal fails for a reason unrelated to model capability: asked whether a commit preserves behavior, five models spanning a 40x price range fire on 59-72% of real commits and reach precisions of only 0.291 to 0.329 against a 0.25 base rate. Asked instead whether one specific claim still holds, the same models on the same diffs reach 0.705 to 0.974. A control that hands the behavior-preservation judge the claim text, changing only the question, moves precision by 0.010 and 0.016; changing the question moves it by 0.49 and 0.65. We also compare against pytest-testmon, a deployed regression-test selector with coverage-derived dependency data: it reaches 0.868 recall at 0.415 precision, so near-complete knowledge of what a change can reach does not identify what it falsifies. Ground truth is execution, not annotation: a claim is a test function passing at commit t, and it has flipped if that same assertion text fails at t+1. Building this required an observation we did not find in prior work. On a CI-gated mainline a commit that leaves a pre-existing test failing cannot merge, so the naive construction has an empty positive class by design. We report 10,369 claims with 184 execution-verified flips mined from 23 Python libraries, splits held out by repository, a post-knowledge-cutoff split, a shuffled-diff null, a paraphrase control, and a leave-one-repository-out analysis over 17 repositories.

著者のコメント

9 pages, 3 figures, 6 tables

arXiv ID: 2609.25130 / 要約の誤りについて