0416
ソフトウェアを継続的に改修している時、だんだん以前の設計ではしんどいなと感じる経験があり、それをきっかけに設計の変更をすることがある。しかしAIコーディングエージェントは今のところ過去の記憶が覚束なく、そのような経験を持つことは難しい。そこで、このような経験をコミットログから定量的に検出して指摘するプログラムがあれば、コーディングエージェントにもそのような「いつまでもこのまま開発しても手詰まりが近いぞ」という(暗い)気持ちを持ってもらえるのではないか。
というようなことをChatGPTに相談したところ、実際そういう研究は(当然)あり、たとえば境界を跨いで同時に変更される頻度などを指標にできるらしいので、じゃあそれを診断するコマンドを作ってよ、とcodexに依頼した。なんだか小難しい計算や重み付きの平均などが出てきたが、今の僕は全身がvibe coderなので、詳しい理論的背景は読んでいない。
今のところこのコマンドによる設計変更提案はないようだが、しばらく試していたら何かあるだろうか。
ところで、このような考えかたはパラダイム論っぽいなと思う。つまり、設計を再検討せずに改修を続けることは通常科学の営みであり、それによって説明できない現象(=設計の理念にうまく従わない改修・新しい要求・不具合)が頻発するようになると、それらを一挙に解決する新しい理論(=設計変更)によって飛躍が起きる。
逆方向に考えるならば、ニュートン力学は日常的なスケールの現象を説明する理論としては完成されていたが、光速に近いスケールや、電磁気学という別システムとの連携に課題を抱えていたため、時間と空間を統合してMinkowski計量を持つ四次元時空として扱うという設計の刷新を行うことでそれを解決したともいえる。ほんとかよ。