AIが書いたコード、その「なぜ」を説明できるか?コミットメッセージを自分で書く理由
Commit Description as a Thinking Tool
AIエージェントがコードとコミット説明を生成する時代。著者は、AIが書いたコミット説明を読むのが難しいと感じ、自分で書くことを実践している。理由は、書く行為がAIの変更を振り返り、意図通りか確認する思考ツールになるからだ。「なぜ」を説明できなければ、理解していないものを出荷していることになる。
説明できなければ、理解していないということだ。
HNでの議論
61- WD-42
書くことはあらゆる状況における思考そのものだ。コミットメッセージに限った話ではない。これは、人々が忘れつつある、あるいはもっと悪いことに、そもそも理解したことがなかったのではないかと私が危惧している事実だ。
- dkarl
私はAIのはるか以前にコミットメッセージを諦めざるを得なかった。他の連中のコミットメッセージがあまりに酷すぎて、すべてのPRはコミットをsquashすべきだという意見に喜んで賛成したほどだ。
少なくとも当時は、squashされたメッセージはたいていかなりマシだった。ところが人々がAIを使い始め(あるいはAIが人を使い始め)、git blameでざっと目を通すことも不可能な、人間が消費するには全体的に非常に有害な、とてつもなく巨大なコミットメッセージを作るようになった。
AIは事実上あらゆる面で飛躍的な進歩を遂げてきた。なぜ彼らは相変わらず無駄が多く、人間に敵対的な書き方を続けるのか?
これが意図的だなどと疑わないのは、よほどナイーブだとしか思えない。AI企業はソフトウェア開発プロセスにおいて人間を置き換えるという目標を明言しており、そのプロセス自体を人間にとって居心地の悪いものにすることに積極的に取り組んでいる。
彼らは大量のテキストを顧客の開発プロセスに注入し、それがトークンとなって、顧客はそれを何度も何度も処理するために彼らに金を払うことになる。まるでCO2を排出するCO2スクラバーのようだ。
- kccqzy
ずっと前に私はデフォルトのコミットメッセージに「Why?」と「How?」という見出しを含めるように変えた。変更がなぜ行われたのか(この記事が焦点を当てている点)、そしてどのように行われたのか(検討した別の実装アプローチ)を説明する必要があると自分に思い出させるためだ。私は長い間このフォーマットに従っていた。当社でコミットメッセージの長さでは上位1%に入っていた。
余談:コミットメッセージが長くなりすぎると何かが壊れるのではないかと一度心配したことがある。ものすごく長いコミットメッセージを試してみたが、何も壊れなかった:https://github.com/kccqzy/long-commit-messages/commit/ccfda4...
- arialdomartini
さらに加えて言えば、コードを書く前にコミットメッセージを書くことには見返りがある
https://arialdomartini.github.io/pre-emptive-commit-comments
- evnp
> AIは「なぜ」の部分を知らないとき、自分自身の理屈をでっち上げる。私はそれを危険だと感じる。後でそれを読んだとき、実際の理由はまったく別だったのだから、意味が通らないかもしれない。
さらに危険なのは、テキストが現実から乖離しているにもかかわらず、_意味が通ってしまう_ 場合だ。