← 記事一覧へ

2026-10-04 · 設計判断 / 静的解析 / 再現率

6言語で同じ動きを再現したら、正解に対する再現率は約49%だった

同じ欠け方をする6台の機械が出した地図と、完全な設計図を並べた挿絵

既存テストから取り出した178件の期待値に、6つの実装が全部通りました。ところが独立した正解データで静的解析の再現率を測ると、約49%でした。AIエージェントと進めていた多言語への書き換えで、比べる基準を取り違えていたことが見えてきました。

満点は、正しさの証明ではなかった

テストが測っていたのは「既存の実装と同じ答えを返すか」でした。正解に対して必要な表をどれだけ拾えているかは、別の物差しで測る必要がありました。この記事では、その物差しを独立して用意し、6実装を採点し直しています。

一致を確かめる検査から、独立した正解で採点する検査へ切り替える流れの要約図

再現率と適合率を分けて見る

拾うべきものをどれだけ拾えたかが再現率、拾ったもののうち正しかった割合が適合率です。今回の採点範囲と、2つの指標の違いを図にまとめました。

再現率と適合率の違い、そして今回の採点範囲を示す図
同じ道が欠けた6枚の地図を、完全な設計図と見比べる挿絵

取りこぼしは、分類ごとに偏っていた

Pythonの分類別結果では、通常のSELECTは23/23でしたが、DDLは5/43、定数などを経由する表名は0/28でした。ただし今回の採点器が測るのは主に表の存在で、合成データの成績を実コード全体へそのまま広げることはできません。

分類別に見たPythonの取りこぼしを示す図

これは改善完了の記事ではありません。基準を見直したことで、まだ実用に足りないと分かった時点の記録です。結果と未確認の範囲、次の調査手順は、Qiita本文にまとめています。