AI活用の前にテストに向き合う
昨今では、こうしたCD/UTのプロセスにおいて生成AIが活用できる。藤原氏は、NECソリューションイノベータにおいて、これまでどのように生成AIを活用したコーディングやテスト生成を行ってきたのか、紹介した。
同社では、GitHub CopilotとChatGPT的に扱える社内LLMが導入された。初めはうまくいかなかったが、使ううちにどういったコードに対してAIが効果を発揮するのか、勘所がつかめたという。
「LLMにテストコードを書かせても、機能をテストできないなどの課題がありました。一方で、『単一責任の原則』を守っている場合はうまくテストコードが生成されることが分かりました。AIも結局はツールなので、AIの特徴や使い方を理解しなければいけません」
しかし、こうしたAI活用のポイントを他のメンバーに伝えても「あまり浸透しなかった」と藤原氏。その要因をひも解くと、AIの導入以前に「テストに対する忌避感」や「開発期間の短さ」といったマインド的な障壁があることがわかった。
そこで藤原氏のチームでは「テストを書かないとレビューが通らない」というルールを設定した。
「先述の通り、キレイなコードでないとなかなかテストコードは書けず、テストは終わりません。こうした失敗の体験を通して『このやり方ではだめだ、なんとかしないと』という意識になってくれれば、マインド変革のチャンスです」と藤原氏は語る。これは、失敗を経験させることで、「今までのやり方を踏襲」することに疑念を抱いてもらうのを目的としている。
このタイミングで「いい方法がある」と提案を行い、「キレイなコード」や「AIによるサポート」の効果を実感してもらうのだ。チームとして成功体験を得れば、後述する文化としての定着を図ることができる。
生成AIを最大限に生かすための「テキスト化」
続いて、開発作業全体における生成AIの活用について考える。「要件定義やアーキテクチャ設計といったタスクステップでも活用できそうだが、データの形式がバラバラのためマルチモーダル環境が必要。コストがかかりすぎる」と藤原氏。
そこで、藤原氏のチームでは開発プロセスに必要な多くの情報をテキスト化することで、AIのメリットを享受しやすくしているという。

藤原氏は、「仮にすべてがテキストエディタで完結すれば、GitHub Copilotが活用できます。レビューやリファクタの相談、アーキテクチャの改善、さらには上流工程であるニーズ探索まで、全てをAIに問える理想郷が実現する」と語る。
テキスト化によってAIの効果を感じられるようになれば、自然と手放せない存在となり、AIの活用が進むわけだ。