これまでSREでKubernetesをメインにやってきた私ですが、最近業務上フロントエンドの知見を貯めるべくアプリケーションコードを書いています。
いきなり実践投入され、「さりとてAIがあるから大丈夫!」と思っており、確かに大丈夫ではある。
Issueから詳細な仕様を起こしてもらい、実装。
テストがこければこけた内容に応じて直させる。
レビューコメントも全部読み込ませて直させる。
しかし、知見が一向にたまっていないことに気づいた。
さすがにできたコードをノールックでレビュー依頼するということはしていない。AIに修正内容をつぶさに解説してもらい、何が書かれているか理解しているつもりだ。
しかし、コードを読めるのと書けるのは違う。
「書いてあることが理解できる」ということと、「そのコードが最適かどうか判断できる」ことは全然違う。
レビューコメントを見ながら、後者ができていないことに気づいた。そしてこれは知見がたまっていないということだ。
まずい!ということで、私はClaude Codeに「//TODO(human): と書いて私に手を動かす機会をください」とお願いした。
尚、Claude Codeでは /output-style でLearning Modeを選ぶと勝手に上記と同じことをやってくれるはずだが、うまく動かなかったので手動で行った。
するとClaude Codeはわかりやすいヒントを書きながら、私に実装を行う余地を与えてくれた。
結局GitHub Copilotの補完を利用して私自身ほとんどコードを書いていないのはかわりないのだが、それでも一行一行自分が理解しながら進めていくと知識が身についている感覚がありこれまでの体験と全然違う。
た の し い!!!
乾いたスポンジに知識がぐんぐん染み込んでいく!!!!!
が、コード書くのおっそ〜〜〜〜!!!
毎日自転車使ってたのに突然徒歩になった、みたいな感覚である。
しかしここで誘惑に負けたらあかん。AIジャンキーにとってはもはや発作に近い。AIにシュッとコード書いてもらいてえ・・・。
AIがコードをシュッとかける現代で大事なのは「遅くなってでも知識を身につけたいと思う意志」が大事なのかもな、と思ったりもした。
明らかに生産性が(一時的には)落ちているわけですが、これが将来のためになると信じる力が必要。
以上、とりとめもない日記でした。
--- 宣伝 ---
本を出します!両方絶賛予約中!文章は1文字1文字真心をこめて私がタイピングしています。
AIを使うにしてもGitとGitHubは使えた方が便利だよね!
AIを使ってコーディングする方法も載っているよ!