それでも、生成AIとのシステム開発は簡単ではありません。
JTALKでは、従来約30人月を想定する規模を約3人月で構築しました。
「動くシステムを作る」という点では、生成AIによって約1/10という大きな生産性向上の可能性を実際に確認できたことになります。
しかし、この数字をそのまま一般的なシステム開発の工数削減率として考えているわけではありません。
JTALKの初期開発では、まず生成AIだけでどこまで実現できるかを重視しました。
従来のシステム開発で求められる、十分な仕様確認、体系的なドキュメンテーション、共通化・標準化、
テスト基準に基づく品質確認までを最初から整えた開発ではなく、それらは実開発を通じて必要性を確認しながら整備してきました。
次に目指すのは、従来の開発基準と品質を維持したうえで、開発工数を約1/3へ。
単に速く作るのではなく、仕様・設計・標準化・ドキュメント・テストまで含めたシステム開発全体の生産性向上を目指しています。
だからこそ、「AIに頼めば簡単にシステムができる」とは考えていません。
実際に長期間AIと開発したからこそ、何度も逆戻りし、システム開発を経験してきたSEとして
心臓が止まりそうになるような思いもしました。
このようなドキュメントも、AIが理解しやすく、作成・更新しやすい形へ見直してきました。
AIは、良かれと思って「より良いもの」を作ろうとする。
指示が十分でなければ、AIは自分なりに改善しようとします。
すでに共通の処理があるのに似た処理を新しく作ったり、
同じシステムの中に少しずつ違う作り方が増えたりすることがあります。
人が大切にしている画面の項目配置や操作の統一感も、きちんと伝えなければ維持されません。
AIの得意な「推測」が、システム開発では困ることがある。
「ほかの画面と同じにして」と頼んだとき、欲しいのは本当にその画面を確認したうえで同じにすることです。
ところがAIは、確認せず「おそらくこうだろう」と推測して似たものを作ろうとすることがあります。
普段は便利な能力でも、システム開発では「推測する前に現物を確認する」ことが重要になります。
作業を細分化するほど、「元の目的」を見失うことがある。
AIに作業を依頼すると、まず作業を細かな単位に分けて進めようとすることがあります。
一度に大きく変更して暴走することを防ぐという意味では、決して悪い進め方ではありません。
しかし、細分化した一つの作業で問題が起きると、AIはその原因を深く追い、解決のためのやり取りを重ねていきます。
その問題を解決できても、深く入り込んだ結果、もともとどこまで進んでいて、次に何をする予定だったのかという
「復帰点」を見失うことがあります。
その結果、全体の進行状況と次の作業を人間側が把握し、改めてAIへ指示しなければなりません。
個々の問題を解決する能力が高くても、作業全体の目的と現在位置を維持しながら最後まで進めるためには、
人間側の進行管理がまだ重要だと感じています。
※ この画像は、生成AIが自ら内容を整理し、作成したものです。
長く一緒に仕事をしたAIとの経験を、どう引き継ぐか。
AIとはチャットという枠組みの中で会話を進めていき、長く仕事をすると、
その中には細かな約束や判断の経緯が蓄積されていきます。
しかし、やり取りが膨大になると応答が重くなり、新しいチャットへ引き継ぐ必要が出てきます。
同じアカウント内では大きな考え方が共有されても、細かな経緯まで完全に共有できているとは限りません。
引継ぎを誤れば、せっかく仕事をしやすくなった関係を一から作り直すことになります。
もし、とんでもない失敗をAIがしても、正確な原因を調べ、元の状態に戻し、
そこからどう立て直せばよいかを判断するのは人間です。
AIに責任を取らせることはできません。作業は驚くほど速く進む一方で、
うまくいかなくなったときの人間側の負担は決して小さくありません。
それでも、AIが悪いわけではない。
AIの力をどこまで引き出せるかは、人間側の付き合い方次第だと私たちは考えています。