Code Fingerprints: Disentangled Attribution of LLM-Generated Code

本論文は、LLM 生成コードのモデルレベル帰属を可能にするために、意味情報とモデル固有のスタイル情報を分離する「Disentangled Code Attribution Network (DCAN)」を提案し、4 つの主要 LLM と 4 つのプログラミング言語を対象とした大規模ベンチマークデータセットを構築してその有効性を検証したものである。

Jiaxun Guo, Ziyuan Yang, Mengyu Sun, Hui Wang, Jingfeng Lu, Yi Zhang

公開日 2026-03-05
📖 1 分で読めます☕ さくっと読める

Each language version is independently generated for its own context, not a direct translation.

この論文は、**「AI が書いたコード(プログラム)が、いったいどの AI によって作られたのかを特定する」**という新しい技術について書かれています。

まるで、**「誰が書いた手紙か、筆跡(ふであと)で判別する」**ような話です。

以下に、専門用語を避け、身近な例えを使ってわかりやすく解説します。


🕵️‍♂️ 物語:AI 作家たちの「隠れた筆跡」

1. 背景:AI 作家たちの大活躍

最近、ChatGPT や Claude、DeepSeek といった AI が、人間の代わりにプログラミング(コード)を書くことが当たり前になってきました。これは便利ですが、もしそのコードに**「バグ(ミス)」や「セキュリティの穴」があった場合、「どの AI が作ったのか」**がわからないと、責任の所在がわからなかったり、修正が難しかったりします。

これまでの研究は「人間が書いたか、AI が書いたか」を区別するだけでしたが、この論文は**「AI 同士(A 社か B 社か)を区別する」**という、さらに難しい課題に挑みました。

2. 問題点:同じ料理でも、味付けが違う

同じ料理(例えば「カレーライス」)を作っても、

  • A さんは「スパイスを多めにする」
  • B さんは「野菜を大きく切る」
  • C さんは「少し甘くする」
    というように、**「作り手の癖」**が出ます。

AI も同じです。同じプログラミングの課題を与えても、

  • ChatGPTは「変数名を短くする」
  • Claudeは「コメント(説明書き)を丁寧に書く」
  • Qwenは「特定の書き方を好む」
    といった、**「AI 特有の癖(指紋)」**がコードに隠れています。

しかし、この「癖」は、コードが「何をしようとしているか(機能)」という大きな情報に埋もれてしまい、見つけにくいのが難点でした。

3. 解決策:DCAN(指紋分離装置)

この論文では、**「DCAN(Disentangled Code Attribution Network)」**という新しいシステムを提案しています。

これを**「料理の味を分析する機械」**に例えてみましょう。

  • 従来の方法: 料理全体を一口食べて、「これはカレーだ!」と判断するだけ。でも、「誰が作ったか」まではわからない。
  • DCAN の方法: 料理を**「2 つの成分」に分解**します。
    1. 「レシピ(機能)」:これは「カレーを作る」という共通の目的。どの AI にも共通しています。
    2. 「作り手の癖(指紋)」:これは「スパイスの量」や「切り方」など、AI ごとに異なる部分

DCAN は、「レシピ(機能)」の部分を一度取り除いて捨ててしまい、残った「作り手の癖(指紋)」だけを取り出して分析するのです。

4. 実験の結果:驚くほど的中する!

研究者たちは、4 つの有名な AI(DeepSeek, Claude, Qwen, ChatGPT)に、4 つのプログラミング言語(Python, Java, C, Go)で 9 万 1 千以上のコードを書かせ、このシステムをテストしました。

  • 結果: DCAN は、98% 以上の確率で「どの AI が書いたか」を当てました!
  • 驚きの発見:
    • 難しい問題ほど当たりやすい: 簡単な問題だと、どの AI も似たような答えを書くので区別しにくいですが、難しい問題になると、AI 独自の「癖」が強く出るので、逆に当てやすくなりました。
    • コメントがある方が得意: AI がコードに「説明書き(コメント)」を入れると、その文章の書き方(語彙や文体)までが指紋になるため、さらに精度が上がりました。

5. なぜこれが重要なのか?

この技術は、以下のような場面で役立ちます。

  • セキュリティ: 「このコードにウイルスが入っている!でも、どの AI が作ったか特定して、その AI の修正パッチを当てよう!」
  • 著作権: 「このコードは、A 社の AI が作ったものだから、ライセンス料を払わなければならない」といった判断。
  • 品質管理: 「B 社の AI は、特定の言語でミスが多い傾向があるから、チェックを強化しよう」といった分析。

🌟 まとめ

この論文は、**「AI が書いたコードには、人間が気づかない『AI 特有の癖(指紋)』が必ず残っている」ことを発見し、「その指紋だけをくっきりと浮き彫りにする技術」**を開発したという画期的な研究です。

まるで、**「誰が書いた手紙か、筆跡鑑定で特定する探偵」**のような仕事をして、AI 社会の安全と責任を担うための重要な一歩を踏み出したと言えます。