「AI駆動開発」と「AIでコードを書く」は別物です

「AI駆動開発」と「AIでコードを書く」は別物です

記事
IT・テクノロジー
「AI駆動開発とは、結局どこまでのことを指すのでしょうか」。この一年、日本のお客様との最初の打ち合わせでこの質問を受ける回数がはっきり増えました。ただ、話を聞いていくと、ひとつの言葉で二つのまったく違うものが呼ばれていることに気づきます。片方は「エンジニアがAIにコードを書かせること」。もう片方は「開発の進め方そのものをAI前提で組み直すこと」。前者は道具の話で、後者は体制の話です。この二つを混ぜたまま見積もりの議論に入ると、期待していたものと届くものが最初からずれます。

「AIでコードを書く」のは、個人の生産性の話

エンジニアが補完ツールを使ってコードを書く速度は、確かに上がります。これは事実です。ただ、開発プロジェクト全体で見たとき、コードを打っている時間はもともとそれほど大きな割合を占めていません。仕様の解釈を確認する、レビューの順番を待つ、テストを書く、環境の不具合を直す、認識のずれを直す。時間の大半はこちら側にあります。

そのため、個人がコードを書く速度だけを上げても、納品までの日数は思ったほど縮みません。もっと注意が必要なのは、速く書けるようになった分だけ、レビューされないまま先に進むコードが増える場合があることです。書く速度と、確かめる速度が釣り合っていない状態です。ここを放置すると、あとで支払う時間のほうが大きくなります。

AI駆動開発は、工程の組み直しの話

私たちが「AI駆動開発」と呼んでいるのは、AIを使う場所と、人が判断する場所を工程ごとに決めてしまうやり方です。個人の裁量に任せません。具体的には、こういう形になります。

コードを書き始める前に、受け取った仕様の曖昧な箇所をAIに洗い出させて、お客様への質問リストに変えます。テストは実装より先に生成して、それ自体をレビュー対象にします。ドキュメントはコードと同じ変更単位で更新し、あとでまとめて書く運用をやめます。AIによるレビューは一次的な指摘までで、採否の判断は必ず人が行います。

大事なのは、こうした工程を入れても責任の所在は動かないという点です。AIの出力は下書きであって、承認ではありません。この線引きが文書として決まっていれば、AIは安心して使えます。決まっていないと、便利なだけの道具になります。

発注先を検討するとき、次の三つを聞いてみると、道具の話をしているのか工程の話をしているのかが割とはっきり分かれます。

・AIが出した成果物を、誰がどの基準で承認していますか

・AIを使う工程と、あえて使わない工程を分けていますか

・こちらが渡した情報を、どのAIサービスにどこまで入力してよいと決めていますか

効く工程と、正直あまり効かない工程があります

万能ではありません。手応えがあるのは、やることが決まっていて、結果を機械的に検証できる工程です。テストの生成、既存コードの調査、移行作業の下ごしらえ、ドキュメントの更新あたりが該当します。

逆に、まだ仕様が固まっていない段階では、AIを入れても効果は限定的です。むしろ、決まっていないものを速く作ってしまう分、手戻りが早く大きく現れることがあります。それから、レビューに人手を割けない組織では導入しないほうが無難かもしれません。出力が増えるほど確認の負荷は上がるので、そこが詰まっている状態で速度だけ足しても、渋滞が悪化するだけです。

AI駆動開発とは、要するに「AIを使えば速い」という話ではなく、「どの工程を誰がどう保証するかを決め直す」という話です。決め直しの部分を飛ばして道具だけ入れた現場は、この一年でいくつも見てきました。

貴社の開発のどの工程にAIを入れると効くのか、そして入れないほうがよいのはどこか。現状の進め方を伺ったうえで一緒に整理したい方は、無料相談をお申し込みください。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す