生成AI活用で変わるもの、変わらないもの
まず、末村氏が「生成AIの登場によって、社内の開発に対する考え方・やり方の変化」があったか尋ねた。
五十嵐氏は先述の「トライアル的な開発がやりやすくなった」ことのほかに、生成AIの活用によって、開発生産性が上がったことでアウトプットの質をより高められるようになったと話した。
要件が多く、工数の見積もりもシビアな大規模プロジェクトにおいては、リソースや時間・コストの問題があってすべてを理想的に進められてはいなかった。生成AIの登場によって、追加の開発で設計を変えたり、リファクタリングしたりといった、これまでなかなか手を出しづらかった活動にも、挑戦できるようになったという。
末村氏が「アウトプットの量に関してはどうか」と尋ねると、五十嵐氏は「開発できる量も確実に増えている」としたうえで「生成AIが一発で正しいアウトプットを出してくれるかというのはまた難しい問題」と答えた。その正しいアウトプットを保証するために、テストという軸を整えている最中だ。
一方で、生成AIが開発に浸透しても変わらない部分もある。五十嵐氏は「テストしやすいアーキテクチャや設計、レビューしやすい粒度といった、人間の認知負荷を下げるアプローチは引き続き必要なのでは」と提言。
「人間がやっていたタスクを生成AIが行うようになっても、時間が短くなっただけで構造としては同じ。生成AIでいうコンテキストウィンドウが人間の認知と同じようなものだと考えていて、そこに収まる範囲での作業が理想なのでは」と持論を話した。
続いてのテーマとして、「AIに任せられるところ・任せられないところの違いは?」と尋ねた末村氏。「バイブコーディングには限界があるという話が話題になっていて、AIに任せられるところとそうでないところの選定は、人間が行わなければならないのではないか」と問いかけた。
これに対して五十嵐氏は、「なんとなく頭の中にある複雑な実装や、コンテキストを渡しにくいものはAIに任せづらい」と考察する。
「例えば、実行環境がCLIツールと別のウィンドウで開いている場合など、背景を人間しか理解していない状況でタスクを任せると、認識の齟齬が生じやすい。逆に言えば、コンテキストを適切に渡せるような仕組みを整えれば、複雑な実装もAIに任せることが可能だと考えています」(五十嵐氏)
AIがコンテキストにアクセスしにくいものには、例えばハードウェアの情報などがある。エアコンのリモコンに表示されている温度を把握するには、人間なら目視で確認すればよいが、AIが理解できるようにするためには工夫が必要になる。
末村氏が「ダイキン工業のAI活用においては、そういったハードウェアとソフトウェアの連動に関しても工夫が求められるのではないか」分析すると、「まさにトライしている最中」と五十嵐氏。「物理世界はアクセスしづらいので、IoTシステムへの生成AI活用はより難しくなる。人間がやらなければいけない部分もあり、工夫してテストを重ねていく必要がある」と説明した。
最後に、「AIと共に歩む時代、これからの開発のあり方」をどう考えているか、二人がそれぞれ語った。
「生成AIは大量のアウトプットを出してくる。そのすべてに目を通すのは大変なので、仕組みを工夫する必要があります。そこで今思い描いているのは、テストをしっかり整備し、それが動く状態を保ったまま次はコードを変えていく……というプロセスです。テストを起点にそういったサイクルを早く回していくことが重要だと考えています」(五十嵐氏)
これを受けて末村氏は「すごく面白い考え方。『テストから何かを始める』というアイデアは昔からあった。今、生成AIが膨大なアウトプットを作るようになったことで頻繁に検証することの重要性が高まってきた。これにより、十分な情報を必要な時に与えられる環境も重要になってきている」と考察した。
五十嵐氏は今後の展望について、「現在は生成AIを使ってドキュメントからテスト、テストを起点にコードを書くといった、ドキュメント・テスト・コードを三位一体で表現するアプローチを模索しているところ。これからもトライアルアンドエラーでノウハウを見つけていこうと思います」と締めくくった。

