AIが読み書きするコードも読みやすいほうがいい

AIが読むんだから読みやすくする必要はないんでは、という話が流れてきた。 けど、実際にはAIにも読みやすさは大事だと思う。

データ形式によって、そのデータに関する回答精度がどうかわるかという調査がある。
Which Table Format Do LLMs Understand Best? (Results for 11 Formats)

HTMLまでの上位5形式はキーワードによってレコードが区別される。JSON以降は記号や改行によってレコードが区別される。また、上位4形式ではキーと値が一緒に書かれる。

このように、表現形式でAIによる読み取りの精度は変わる。GPT-4.1-nanoなので失敗しやすいということはあるだろうけど、どう書いても同じというわけではない。

OpenAI公式のGPT-5コーディングチートシートでも、構造はMarkdownよりXMLがいいと書いてあるし。というか、恐らく上記調査はこのチートシートに触発されたものだと思う。
https://cdn.openai.com/API/docs/gpt-5-for-coding-cheatsheet.pdf

AIでも適切な名前が適切な場所についているほうが認識が的確になる。

読みやすいコードというのは、字面だけの問題ではなく、コードのトポロジーの問題がむしろ大きい。 ひとまとまりの処理の間に無関係な別処理がはさまっていたり、同じ処理があちこちに書いてあったり、関連処理がまとまっていなかったりすると読みにくくなる。

トポロジーが整理されて読みやすいコードは、AIじゃなくても機械的に扱いやすくなる傾向がある。 関連処理がまとまっていれば、間に違う処理が挟まるよりも、キャッシュが効きやすくなる。 同じコードが散乱しているよりも、メソッドとしてまとまっているほうがJITが早く効く。

プログラミングというのは、処理のトポロジーをいかに抽象化して表現するかで、うまく簡潔に抽象化して表現されていれば読みやすく扱いやすいので、それは機械になっても扱いやすい。

あと、字面で読みやすいコードは、むしろAIは得意で、逆に「字面が読みやすいだけじゃないか」というコードを吐きがち。

精度が変わっても自分の手を動かすわけじゃないから内部で何度試行してもいい、ということにもならないように思う。 待ち時間は少ないほうがうれしい。 コードを壊す可能性も変わると思う。 また、コーディングエージェントの課金は割と高いので、安く抑える方がいいと思う。

エージェントによるコーディングはサイクルが早いので、精度による影響も出やすいように思う。

人間向けに読みやすくするのも、効率よく作業できるように、間違いが減るように、作業時間が減るように、人月費用が抑えられるようにという目的がある。 AI向けにも、効率よく処理できるように、間違いが減るように、処理時間が減るように、利用料金が抑えられるようにと、コードは読みやすいほうがいいと思う。

我々はAI様が作業しやすいようドキュメントを用意してコードを整える係なのです。

あと、人間向けでも、どうでもいいこだわりはどうでもいいので好きにしていいし、AI向けなら不要だと思う。ローカル変数の名前は適当でいい。