AI使った開発の感想、工夫
僕はシステムエンジニアである。ちょっと前からGithubCopilotを仕事にもつかえるようになって、以前にまだまだAIに仕事を奪われることはなさそうだな、という記事を書いた。そこからも僕は自分でソースコード書くよりはAIに指示を出して実装してもらっている。そのおかげもあってAIへの指示の出し方、こうするとよさそう……!みたいなものが段々と自分の中に集積されてきたので、備忘録として書き残しておこうと思う。
ファイルのパスはちゃんと明記した方がいい
当たり前のことなんだけど、人に指示するときより圧倒的に細かく指示すべきである。全部相対パスでファイルは指定しないと読み込んでくれない。「この実装に関係するところを読んで」とかだとかなり見落としがあるので、具体的な情報提供を人にするとき以上に細かくするべき……というかしないと頓珍漢な実装してくる。
詳細設計書を読み込ませて実装させるなら、パスや参照先ははっきりさせると適当な実装をすることがかなり減る。
参考の実装を用意する
これは自分が実装するときもあると早くなるんだけど、AIの場合はそれが特に顕著。プロジェクトの追加実装なんて、既存の実装に書き方合わせてなんぼなんだから、真似させるべきである。じゃないとAIがオリジナルの実装し始めるから、細かい違いを大量に修正することになりかねない。
これを真似させられる実装があればかなり削減できる。機能自体は参照できるところがなくても「このファイル(実装の相対パス)の実装を参照にしてください」と言うだけでかなり変わる。
ちょこちょこ確認する
AIに「まとめてやって!」、「このエラーを解消して!」はかなり厳禁だな~、と感じてる。大体の場合にかなり的外れの実装をするか、変えちゃいけないところの実装まで変えてしまうことがかなり多い。なので、段階的に実装するようにするか、実装させる前に方針を確認した方がいい。
僕がよくやるのは「提案して」と言う指示。そうするとソースコードの変更はせずに、実装方針の説明だけしてくれる。それで問題なさそうなら実装させてみる。と言う感じだ。
AIの弱点として勝手に推測して実装しちゃうことがあるので、それを避けるには1つ1つ確認することが重要だな~と感じている。ここが個人的には一番大事そうに思う。
まとめ
簡単にAIに実装させるときに意識することを書き出してみた。まぁ~改めて言われると人に指示するときも同じだよね……AIも人間もそこは同じなんだな~と書き出してみて改めて思いました。