IT2026年7月18日

私たちは、AIコーディングエージェントがこれまで持っていなかった記憶をオープンソース化しました

Andrea Borghiによる
私たちは、AIコーディングエージェントがこれまで持っていなかった記憶をオープンソース化しました

私たちは、AIコーディングエージェントがこれまで持っていなかった記憶をオープンソース化しました

記憶喪失のヨガ講師を思い浮かべてください。毎回のクラスで、その人はあなたが前屈に入るのを見て、「膝をゆるめてください」と声をかけます。次のクラスでも、同じ身体、同じ膝をロックする習慣なのに、今度は「関節を少しだけ曲げましょう」と声をかけます。前回そう言ったことを忘れてしまっているからです。どちらの声かけも間違いではありません。でも今、ひとつの習慣に対して二つの指示を抱えることになり、部屋の誰にも、それらが同じことだとは分かりません。

AIコーディングエージェントが、毎回まさにあなたのコードベースに対してやっていることがこれです。

誰も diff しない問題

Claude、Kilo、Cursor、Copilot — どれも前回何をどう名付けたかを覚えていません。月曜にエージェントへ再試行回数の上限を追加するよう頼むと、MAX_RETRIES と書きます。水曜に別のセッションへ隣接する処理を頼むと、月曜の記憶がないので、同じくらいもっともらしく RETRY_LIMIT と書きます。どちらも悪くない名前です。ただ、二つ並ぶと、片方を修正してもう片方を忘れるのを待っているバグになります。

これは勘ではありません。GitClear の「The Maintainability Gap」は、2023年から2026年にかけて変更された6億2300万行を追跡し、重複コードブロックが81%増加した一方で、実際にリファクタリングを行うコミットの割合は21%から4%未満に落ち込んだことを示しました。CodeRabbit が470件のプルリクエストを分析したところ、AI作成の PR は人間のものより1.7倍多く問題を抱え、命名の不一致はおよそ2倍の頻度で現れました。エージェントは書きます。誰も統合しません。そして通常の diff レビューには決して現れません。なぜなら、個々のコミットはそれぞれ単独では完全にもっともらしく見えるからです。不整合が存在するのはセッションをまたいだ全体であり、まさに誰も見ていない場所だからです。

VarAlign が実際にやっていること

VarAlign は、AIエージェントが書いたすべての変数を監視し、セッションをまたいで保持されるリポジトリごとのレジストリを維持し、それをリポジトリ内に実際にあるものと照合します。これにより、名称のずれ、削除、異なる名前で表現された重複概念を検出します。これは決定論的です。LLM はループに入りませんし、トークンも消費せず、何もマシンの外には出ません。レジストリはあなた自身のリポジトリ内にプレーンファイルとして保存されるため、git で diff 可能で、あらゆるツールから読み取れ、データベースの奥に閉じ込められません。

検出は言語を理解しており、ここは見た目以上に重要です。Go の先頭大文字の名前は、Python の CONST_CASE とは意味が異なります。PowerShell の識別子は大文字小文字を区別しません。異なる末尾の語を持つ共通の接頭辞(HTTP_GET / HTTP_POST)は、重複ではなく意図的な系列です。ここを誤ると、ツールは何度も誤報を出し、やがて誰も報告を読まなくなります。それ自体が、別種の記憶喪失です。

継続こそが実践そのもの

クラスを教える人にも、定期的に受ける人にもおなじみの話でしょう。実践が積み重なるのは、何かが次へ引き継がれる場合だけです。あなたの右股関節が硬いことを覚えている講師なら、3か月分の小さな修正を本当の変化へとつなげられます。毎回ゼロから始める講師は、ただ同じことを、少し違う言い方で繰り返すしかなく、生徒はどの版を信じるべきかを突き合わせることになります。

AIコーディングエージェントは、デフォルトでは記憶喪失の講師です。VarAlign は、本来その講師がつけておくべきだったノートです。エージェントを賢くするわけではありません。ただ、3回目のセッションが1回目のセッションですでに決まっていたことを確実に知れるようにし、コードベースが3つの語彙ではなく1つの語彙を蓄積していくようにします。

本日出荷されたもの

本日時点で、VarAlign は v1.0.0 です。エンジンと Claude Code プラグインは Apache-2.0 のもと GitHub でオープンソース化されています。インストールは2コマンドで済み、ローカルクローンは不要です。

/plugin marketplace add greenyogainc/varalign
/plugin install varalign

検出はファイルベースなので、Claude Code、Kilo、Cursor、Copilot、あるいは人間が直接入力したかに関係なく、重複やずれた変数を見つけ出します。VS Code 拡張機能は別配布で、色分けされた重複リストにワンクリックの上書きとメモ機能を追加し、Marketplace と Open VSX で無料提供されています。

実際の dogfooding はどう見えるか

私たちは、自分たちで試していないものを売りません。現在 VarAlign は、私たち自身の15個のリポジトリにまたがる36,000以上の変数代入をリアルタイムで監視しており、これまでに1,390件の重複およびずれの疑いを、自身のレビュー作業を通じてトリアージしています。このリリース前後の24時間だけでも、さらに先へ出荷される前に3件の本当の問題を検出しました。ダッシュボード内で静かに重複していた計算、共有元から import されるべきだったのに再定義された重大度定数、そして1か所を参照すべきだったのにスクリプト全体に散らばっていた設定値です。これらはどれも通常のコードレビューでは見つかりませんでした。各変更は単体では正しく見えたからです。

VS Code 拡張機能の最初の本番リリースは3日前に公開され、すでに2,300件のダウンロードを突破しています。

今週のひとつの一手

Claude Code、Kilo、Cursor、Copilot を、ある程度の規模があるリポジトリに対して使っているなら、あなたにもこの問題はすでにあります。ただ、まだレポートを見ていないだけです。プラグインをインストールし、スキャンさせ、何かを却下する前に、何がフラグされるか読んでみてください。表面化するものの大半は、5分で済む簡単なリネームでしょう。価値は、どれか1つの修正にあるのではありません。コードベースが概念ごとに1つの名前に落ち着き、スプリントごとに新しい方言を蓄積しなくなることにあります。

それは、マットの上で数か月かけてよい実践がもたらすものと同じです。劇的な一発逆転ではなく、最初からやり直すのではなく、自分自身の上に積み上がっていく1つの語彙です。


VarAlign のエンジンと Claude Code プラグインは、github.com/greenyogainc/varalign でオープンソース公開されています。VS Code 拡張機能は Marketplace と Open VSX で無料です。より大きな組織全体への展開について支援が必要な場合は、reach out してください。