生成AIでコーディングする上で重要なポイントが見えてきた
面倒は省こう.重要な点は下記3つ
- 常に目的を忘れるな
- 困難は分割せよ
- 結局のところ自分の目が一番信用できる
常に目的を忘れるな
生成AIで一番重要なのは,最終的に何をやりたかに常に立ち返れることだ.
プロジェクトを立ち上げた際は,必ず目的をまとめたファイルを作成し,それを読み込ませてからコーディングに入ってもらもう.
具体的には,Caludeのプロジェクト機能を利用して,README.mdを読み込ませておくとよい.
そうすることで,チャットが分割されても統一的な指示だしが容易になる.
困難は分割せよ
これは,きわめて重要なポイント.
生成AIはプロンプトの長さに限界がある.なので,1セッションで読み込ませる文章や,コードの長さには注意を払う必要がある.
いままで人間は意味ごとにファイルを分割して管理してきたが,生成AI全盛時代は,コード長での分割がおそらくスタンダードになる.一定の文字数に達したら,別のファイルに分割する.つまり今まではutil.pyに細々した処理はすべてまとめていたとしたら,今後はutil1.py, util2.py, util3.pyとコード尾の文字数によって細かく分割する必要が出てくるだろう.人間は読むのが面倒になるが,機能ごとの編集が可能になるので,生成AIが編集するのは容易になる.
また,それらを駆使しても,各チャットの限界文字数はすぐに到達してしまうだろう.
そうすると,チャットを分割する必要がある.
そのために一つ目の,目的を忘れないということが重要になる.
目的や,プロジェクトの構造など,全体情報を常に各チャット(指示だし)ごとに更新して,毎回冒頭で読ませて文脈を把握したうえでコーディングを行ってもらえば,意図の統一されたコーディングが可能になる.
今まででは考えられないが,おそらくREADME.mdすら単一のファイルではなく,各機能ごとに分割する必要が今後出てくるだろう.
結局のところ自分の目が一番信用できる
最後のポイントは,特にコードの改修で重要になる.生成AIはそれっぽいコードをものすごい速度で生み出すが,必ずしも正確じゃない.というか大体完全にはいかない.
なので人間も手伝ってデバッグする必要がある.たいていの場合ただエラーコードだけ渡しても変な修正になる.
なので人間がエラーの意味を正確に理解し,どこでエラーが起きたのかを突き止め,改修のための方針を決定する必要がある.方針が決まれば生成AIは非常に優秀な修正能力を持つ.やっていて思うのは,生成AIを使いこなせるのはエンジニアだけだろうということ.サンプルゲームのようなものはワンプロンプトで素人でもすぐに出せるが,細かく調整が必要になったとたん謎のエラーと戦う工程が入る.エラーと戦うセッションは残念ながら生成AIの得意とするところではない.なぜなら,エラーハンドリングが正確に記述されている文章は過去になかなか存在しないからだ.当面,これはまだ人間が担当することになるだろう.エンジニアの諸君.我々の仕事は今後書くことではなく,エラーと戦うことが主戦場になる.一番面倒なところだけはまだ少々手を貸す必要がある.
以上.楽しくVibe codingをしていこう