
自分が3ヶ月前に書いたコードを、自分で見返して「これ、どういう時にどう動くんだっけ」と一瞬固まったこと、ありませんか。
書いた本人の頭の中には、書いた当時の「こう動くはず」という暗黙のお約束があったはずです。けれど時間が経つと、その記憶は薄れていきます。ドキュメントに残しておけばいいのですが、書く時間も、書いたあと最新状態に保つ時間も、現場ではなかなか取れません。
ここで「テストはすでに書かれていますよね?じゃあ、そのテストを走らせて観察すれば、コードが守っているお約束を機械が自動で抜き出せるのでは?」という発想があります。実は数十年前から続く研究の流れで、テストの実行結果から「このコードはこういう性質を持つ」というルールを自動で引っ張り出してくれるツールが、すでにいくつも作られています。
便利そうな話なのですが、実際にやってみると一つ大きな困りごとにぶつかります。機械が引っ張り出してきたルールのなかに、嘘が混じるのです。しかも、人間が一つずつ振り分けるしかない、という嘘が。
本記事では、その振り分け作業をLLMに手伝わせたら何が起きたか、という研究を紹介します。
※スキルファイルあり