tenjuu99(天重誠二)
@tenjuu99@hollo.tenjuu.net
テストのためだけにモジュールが作られ、実装ではこのモジュールは利用しない(実装にはテスト用モジュールの中身をコピーする)、という状況は、以前は逆の問題があって、実装で作られたコードをテストのなかにコピーする、ということをやられたことがある。 どちらも、この分類で言えば「偽陰性(プロダクトコードが間違っているのにテストに合格する)」にあたる。 https://gihyo.jp/dev/serial/01/savanna-letter/0002
端的には、AIがプロダクトコードとテストの関係を把握していないから発生するのだけど、古典的なフレーム問題にも見える。なにが、主タスク(プロダクトコードの生産)に対して関連するタスクなのかわかっていない。フレーム問題であると把握すると解決不能な問題ということになってしまうのだけど、人間はこういうのどうやって対処しているんだろうか。テスト対象となるものと、プロダクトコードが一致すること、など言うまでもなく自明であるとおもっていたのだけど、ここにAIの認知の亀裂があるということにびっくりした。
tenjuu99(天重誠二)
@tenjuu99@hollo.tenjuu.net
AI、モジュールを作って仕様を満たすような実装コードを書き、テストもあるが、実コードではそれを使わない、みたいな、謎の嘘のつきかたするんだという驚きがある。テストとモジュール化を意図的にリンクさせているから、そこは強固な結合があるんだけど、あとは import して使うだけなのに、実コードではなぜかその関数をコピーしてしまっていて、まじで驚いた。テストがとおってれば何でもいい感じがすごい。