#poem

AI が作りすぎるのも問題だなあと思うこの頃


AI を使った開発は推進力が上がりますし,アイディアを形にするまでの時間を大幅に短縮できるメリットは非常に大きいです.
さらに,エンジニアは怠惰な生き物で,怠惰なことは美徳であるとすら言われるほどなので,AI を使うこと自体はエンジニアにとって自然な方向だろうと思います.

一方で,AI が人間の想定よりも作りすぎることも多く,最低限の機能よりも過剰に実装し,人間が意図していない設計,機能まで入ってしまっているものも最近ちょくちょく目にします.

増えたぶんだけ,読む量も変更時に見る範囲も増えます.
本来そこを止めるのはレビューのはずですが,自分の知識が足りない領域だと止まりません.
それっぽいコードと説明が並んでいると,一見正しそうに見えるので,そのまま Approve してしまいます.

そもそも,大きなシステムほど,ドキュメントに書かれていない仕様は多くなりがちです.
こういったものへの対応は AI には難しいです.
対して,人間の脳はよくできていて,ミーティングでちらっと話したようなことを思い出したり,社内政治的な事象にも対応したりと,器用に立ち回れます.
これが今の AI にはできない人間らしさなのかもしれません.
もし,AI にすべて人間の考えていることをすべて伝えることができたら,このようなことは発生しにくいかもしれませんが,現実はそううまくいっていないです.

様々な領域のエキスパートが,社内にはいます.
わからないなら聞けばいいだけで,ドメイン知識もインフラの知識も,たいていはそこで補えます.
AI の答えを鵜呑みにして通すより,一度誰かに聞いたほうが結局は早いように思います.

AI が作りすぎるのはコードだけではないです.
コメントも同じで,丁寧にたくさん書かれているのは,読み手の理解を助けているとは限らず,デメリットも多いです.
文章は書かれる回数より,読まれる回数のほうが圧倒的に多いので,簡潔に書かれていることが望ましいです.
書き手が一度書いて満足したぶんを,読み手は何度も読まされることになるので,過剰なコメントは明らかに負債です.メンテナンスもしなきゃいけなくて,書かれているものが腐る速度も速いです.
しかも次に読むのが AI なら,大量のトークンを使うことにもつながります.

理解しないまま積み上げた分のツケは,障害対応でも払うことになります.
障害時の判断は結局のところ人間がやりますが,そこで初めてコードの挙動と真剣に向き合うことになります.
人間が理解していれば,アラートが発生した時点である程度アタリをつけて進むことができます.
私の経験則では,作った機能やレビューした機能についてはかなりアタリを付けられています.
AI が書いて人間が把握していない実装は,読みながら原因を探すことになるので,どうしても判断が遅くなります.

だからこそ,理解することや思考することから逃げずに,知的生物らしく取り組みたいなあ,と思うこの頃です.