JavaScriptとHTMLでCSVクリーナーを開発していた際、GitHub Copilotから「CSVや文字コードを扱うなら、手動の関数処理をやめて、PapaParseライブラリを使うべきだ」と指摘を受けた。それまでは多くの文字処理関数を組み合わせ、すべて手動で実装していたため、バグやエラーのリスクを抱えていた。そこで、コードをPapaParseで書き直すことにした。
実際に移行してみて、その圧倒的な便利さに驚いた。これまでGeminiに頼りながら泥臭く実装していた複雑な文字コード処理が、わずか数行のスマートなコードで解決してしまったからだ。この経験から、フレームワークやライブラリも含めた言語周辺の知識(エコシステム)を正しく知ることの大切さを痛感した。
最初からGeminiがPapaParseを提案しなかった理由は、自分の質問の仕方にあったと考えている。「文字コード変換」という目先の部分的な機能ばかりをピンポイントで質問していたため、AIもその局所的な解決策しか返せなかったのだろう。開発の全体像を示していれば、最初から最適なライブラリを提示してくれたはずだ。
何事もせっかちに進めるのではなく、一度立ち止まって「どうすれば最も効率的かつ安全に実装できるか」を俯瞰して考える時間が不可欠である。AIに聞けば目先の答えはすぐに出るが、それだけに頼っていると、長期的な視点での最適なアプローチ(ベストプラクティス)を見失ってしまう。
今後は、全体設計や手段の選定という「人間が頭を使うべき領域」を疎かにせず、大方針を固めた上で生成AIを道具として賢く活用していきたい。
開発したCSVクリーナ:https://nnjrg248-debug.github.io/csv-cleaner/
githubリポジトリリンク:https://github.com/nnjrg248-debug/csv-cleaner.git