AIToday
AIコーディングオープンソースAIZenn AI/ML掲載日時: 2026年11月4日 6:00

depgraphがAI生成コードの負債を検出

LINEで送る
depgraphがAI生成コードの負債を検出

3つのポイント

  1. 何が起きたか

    depgraphはunused-export、duplicate-code、import-cycle、god-packageなど8つのルールをGo、TypeScript、JavaScript、Pythonに適用するtree-sitterベースの単一Goバイナリ。

  2. なぜ重要か

    既存のlinterはファイルやパッケージの内部しか見ないため、毎日数十ファイルを書き換えるAIエージェントが残す負債はレビューをすり抜ける。depgraphはリポジトリ全体を検査する。

  3. 注目点

    ロードマップには、インストール済みのNeo4jを子プロセスとして起動するローカルプロバイダー、依存関係の増加をセッション単位で時系列分析する機能、グラフを直接クエリできるMCPサーバーモードが加わる。

誰に効くかこれはClaude CodeなどのAIコーディングエージェントをリポジトリ上で動かす開発者やレビュアーが、マージ前に積み上がる構造的負債を捉えるために有用であり、既にNeo4jを運用しているチームにも関わる。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

このツールは、AIコーディングエージェントに関するある具体的な観察を出発点に作られた。エージェントが書くコードはコンパイルも型チェックもlintもテストも通るのに、リポジトリは少しずつ劣化していく。名指しされたパターンは具体的だ。検索せずに新しい名前で書き直された関数、リファクタリングの途中で置き去りにされたexport、下位レイヤーから上位レイヤーへのimport、あらゆるものが依存する共有パッケージ。go vet、tsc --noUnusedLocals、eslintは単一のファイルやパッケージの内部しか見ないため、これらはいずれもエラーにならない。

グラフデータベースの選択は問題の形から自然に導かれる。依存関係はノードとリレーションシップなので、ルールはクエリになる。たとえばgod-packageルールは、そのパッケージがリポジトリ内の3つ以上のパッケージに依存しているという条件も加えるため、多くのパッケージからimportされていても自身は何もimportしない安定したドメインモデルは対象外になる。cycleルールは、密なグラフでは実行時間が指数関数的に増える長さ2〜8の全サイクル列挙から、importエッジごとに最短の戻り経路を1つ見つける方式に書き換えられ、新しいクエリは25個のランダムグラフで旧クエリと突き合わせて検証された。

2つの設計判断がツールの想定用途を示している。Neo4jはdepgraph自身が起動・破棄し、親プロセスが正常終了しても、パニックしても、SIGKILLで殺されてもコンテナを削除するウォッチドッグの子プロセスを備える。統合テストではCI上でDockerとPodmanの両方の実コンテナランタイムでこれが検証されている。またclaude-hook-gateを通じて、depgraphはセッション開始時のベースラインと比べて指摘が増えたセッションを失敗させるため、エージェントは負債を増やしたまま作業を終えられない。作者によれば、depgraph自身のリポジトリをスキャンしたところimport解決層とパース層の間に実際の重複が見つかり、共有パッケージに切り出されたという。

よくある質問
depgraphの利用にNeo4jのインストールは必要ですか?
いいえ。depgraphはDocker、Podman、nerdctlを使ってNeo4jをコンテナ内で自ら起動し、クラッシュやSIGKILLの後でも終了時にクリーンアップする。既にNeo4jを運用している場合は、NEO4J_URIを設定すれば起動も削除も行わずに接続する。
Serena MCPとの違いは何ですか?
Serenaは言語サーバーを通じて、エージェントがシンボル単位でコードを検索・編集するためのツールを提供する。depgraphはむしろエージェントの作業結果をリポジトリ全体の負債という観点で検査するもので、両者は併用することを想定している。
誤検知にはどう対処しますか?
depgraphは誤検知をバグとして扱うため、package.jsonのbin、Next.jsのapp/、Djangoのmodels.py、動的importなど多数のエントリーポイントのシグナルを収集する。それでも見逃すものは// depgraph:entryコメントや.depgraph.ymlのentriesでマークできる。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

このようなAIの動きを、御社の業界・競合に合わせて毎日届ける法人プランもあります → 詳しく見る

関連記事

GENSHI AIが自作コードエディタを社内導入

GENSHI AIは、長嶋大地氏が2026年7月に開発を始め、8月に公開、9月に完全移行したAGPL-3.0の無料Rustエディタ「necoder」を社内導入したと発表した

NEWPR TIMES (AI)1時間前

オープンLLM公開モデルの52.6%で埋め込みがほぼゼロ

Xin Liu氏らはオープンウェイトLLMリポジトリ291件を調査し、非共有のゲート付き・ハイブリッドチェックポイント38件のうち20件(52.6%)で入力埋め込みのノルムが10−6未満だった

NEWAI Weekly1時間前

JevがOllaya破り1位 自転車ルート判断対決

Nvidia DGX Spark上の自転車ルート判断テストで、TypeSafe AIのJevがwinnowモデルを動かすOllayaを破り1位

AI Watch (Impress)7時間前

Anthropic、AI出力の出所を証明するシステム公開

Anthropicは、AIの出力をその生成元の特定モデルに結びつける暗号学的証明を生成するオープンソースシステムFlashProveの研究成果、コード、技術仕様をGitHubで公開した

TechCrunch AI7時間前

Databricks、Claudeのトレース受信に対応

Databricks MLflowが、Claude PlatformからのネイティブOpenTelemetryエクスポートの対応先となった

Databricks AI Blog11時間前

AIだけの階層組織を24日間運用し516コミット

AIのみの階層組織を3リポジトリ(AI Hub、SlideshowSuite、FastFiler)で24日間運用し、516コミット・76,000行超を生成

Zenn AI/ML11時間前
次の記事へAIリスク警告へ非誹謗条項の撤廃要求