去年の今ごろ、チームで生成AIのコーディング支援ツールを本格的に導入した。最初は半信半疑だった。定型的なテストコードやボイラープレートを書かせるくらいならまだしも、設計判断が絡む部分まで任せるのは怖いという空気がチームにもあった。
一年経って振り返ると、使い方の勘所がだいぶ変わった。最初の数ヶ月は「とりあえず全部書かせてみる」フェーズで、出てきたコードを丸呑みしては後から痛い目に遭うことが何度かあった。存在しないライブラリの関数を平然と呼び出すコードが出てきたときは、さすがに全体をレビューし直す羽目になった。
道具として手に馴染んできた
今は違う。骨格の設計は自分で決め、退屈な実装の肉付けをAIに任せるという分担が、ようやく自分の中で定着した気がする。特にログやエラーハンドリングのような「書けば書くほど時間を食うが本質的ではない」部分を任せられるようになったのは大きい。体感として、実装にかかる時間は以前より短くなったと思う。
一方で、若手の学び方には少し気を配るようになった。自分で手を動かして詰まる経験を飛ばしてしまうと、後々のデバッグ力に響くのではないかという懸念は、今でも拭いきれていない。実際、レビューの場で「なぜこの実装にしたのか」を聞いても答えられないことが増えた気がする。
チームの運用ルールも少しずつ変わってきた。AIが生成したコードには必ず生成者本人がテストを書き、なぜその実装にしたかをPRの説明欄に一言添えるというルールを作った。些細なことだが、これだけでレビューの質が目に見えて上がった。丸投げではなく、間に人の判断を挟むという当たり前の工程を、改めて仕組みとして明文化する必要があったのだと思う。
導入コストの話もしておきたい。ライセンス費用自体はさほど高くないが、使いこなすまでのプロンプトの工夫や、社内のガイドライン整備には想像以上に時間がかかった。効果が数字で見えるようになるまで、半年近くかかったというのが正直な感想だ。短期的な費用対効果だけで判断していたら、途中で見切りをつけていたかもしれない。
結局のところ、道具そのものの是非というより、道具にどう向き合うかという話に帰着するのだろう。読書と同じで、要約だけ読んで分かった気になるか、原典に当たって自分の頭で咀嚼するかの違いに近いのかもしれない。自分はもうしばらく、後者のやり方にこだわっていきたいと思っている。
0 件のコメント:
コメントを投稿