AIがコードを書く時代に、人間は何を設計する?

「シフトレフト」という言葉から

先日、「AI時代の開発シフトレフトアプローチ」というウェビナーの案内が届きました。

AIコーディングによって、コードを実装する速度は大きく向上しています。

一方で、速く、大量にコードを作れるようになれば、それを後から人がレビューし、テストし、問題を見つける負担も大きくなります。

そこで、品質チェックを開発工程のもっと早い段階へ移す。

いわゆる、

「シフトレフト」

という考え方です。

ウェビナーの案内では、人間の開発チームが行ってきた品質チェックをAIにも徹底させる仕組みや、APIの「合格条件」を実装前に契約として定義するアプローチが紹介されていました。

なるほど。

AIが作る。

AIも検査する。

開発は、さらに速くなる。

でも、それを読んでいて、私はもう一つ気になりました。

では、そのもっと左には、何があるのでしょう。

速く作れることと、正しいものを作ること

AIに、

「これを作って。」

とお願いすると、驚くほど速く形になっていくことがあります。

でも、

作る速度が上がることと、欲しかったものができることは、同じではありません。

これは、システム開発だけの話ではないと思います。

たとえば、イラストを発注するとします。

どんなに腕のいいイラストレーターでも、

「かわいい女の子を描いてください。」

だけでは、発注者が頭の中で想像していたものと同じ絵になるとは限りません。

年齢は?

服装は?

どこにいる?

どんな表情?

どんなポーズ?

何を一番見せたい?

指示が具体的になるほど、作る側と頼む側の「完成」のイメージは近づいていきます。

AIでも、きっと同じです。

むしろ作る速度が速いからこそ、

曖昧なまま進めれば、

「ちょっと違うもの」が、修正の隙もないくらい、ものすごい速さで出来上がる

こともありそうです。

AIに何を作らせるかを、誰が決める?

AIがコードを書く。

AIがテストする。

では、

「何を作るのか」

を決めるのは誰でしょう。

誰が使うのか。

何をできるようにしたいのか。

どんな順番で使うのか。

どんな場合には、どうするのか。

誰が何を見ることができるのか。

どこまでできたら「完成」なのか。

何が起きたら「失敗」なのか。

こうしたことが決まっていなければ、

AIも「正しくできたか」を判断できません。

テストを自動化するなら、

その前に、

何をもって合格とするのか

を決める必要があります。

AIが実装と検証をどんどん速くしてくれるなら、

その一番手前にある、

「何を作り、何をもって成功とするかを決める仕事」

の価値は、むしろ大きくなるのかもしれません。

「SMSを送りたい」は、まだ仕様ではない

たとえば、

「SMSを送れるシステムが欲しい。」

という要望があったとします。

XoxzoのSMS APIを使えば、SMSを送ることはできます。

でも、本当にやりたいことは何でしょう。

たとえば、

「予約を忘れる人を減らしたい。」

なのかもしれません。

そうすると、次の質問が出てきます。

誰に送る?

いつ送る?

予約の何日前?

何時ごろ?

何を書く?

変更方法も知らせる?

送信できなかった場合はどうする?

予約が変更されたら?

キャンセルされたら?

そして、

何ができたら「予約忘れを減らせた」と判断する?

「SMSを送りたい」から始まった話が、

質問を重ねることで、

少しずつ「作りたい仕組み」に変わっていきます。

では、その仕事もAIと一緒にできないだろうか

ここで、もう一つ考えました。

「何を作るか」を明確にする仕事がこれから重要になるなら、

その仕事そのものを、AIに手伝ってもらうことはできないでしょうか。

たとえば、プログラミングを知らない人が、

「予約忘れを減らす仕組みが欲しいです。」

と入力する。

するとAIが、

「誰が使いますか?」

と聞く。

答える。

次の質問が出る。

「いつ知らせたいですか?」

答える。

「予約が変更された場合はどうしますか?」

答える。

「SMSが送れなかった場合は?」

「ここまでできたら、完成でいいですか?」

まるでカードを一枚ずつめくるように、

AIと普通の言葉で話していく。

ユーザーには、難しい要件定義の知識がなくてもいい。

でも、その裏側では、

要求。

ユーザーフロー。

必要なデータ。

権限。

例外。

合格条件。

テスト項目。

といった情報が、少しずつ整理されていく。

矛盾や抜けがあれば、

AIが、

「この場合はどうしますか?」

と聞いてくれる。

そんな仕組みがあったらどうでしょう。

開発の「一番左」を、もっと開いていく

そう考えると、未来の開発は、

人間の、

「こんなのが欲しい。」

から始まって、

人間のアイデア

↓

AIとの対話

↓

要件

↓

仕様・合格条件

↓

AIによる実装

↓

AIやCIによる検証

という流れになるかもしれません。

もちろん、人が考えなくてよくなるわけではありません。

むしろ、

誰のどんな問題を解決したいのか。

何を大切にしたいのか。

どんな状態になれば嬉しいのか。

その答えを持っているのは、人です。

でも、それを「システムを作るための言葉」に変えるところを、AIが手伝える。

そうなれば、

これまで専門的な知識が必要だった開発の最初の工程に、

もっと多くの人が参加できるようになるかもしれません。

AI時代だから、最初に戻る

AIによって、

「どう作るか」

のコストは、これからもっと下がっていくのかもしれません。

だからこそ、

「何を作るのか。」

「なぜ作るのか。」

「誰のために作るのか。」

「何ができたら成功なのか。」

という、ずっと昔からある問いが、むしろ重要になる。

新しい技術によって、

開発の一番新しい場所へ進んでいるようで、

実は、

開発の一番最初へ戻ってきている。

そんな感じもします。

Xoxzoから

APIは、何かを実現するための部品です。

SMSを送る。

電話をかける。

認証する。

それ自体が、本当の目的とは限りません。

その先に、

予約忘れを減らしたい。

大切な情報を届けたい。

本人確認をもっと使いやすくしたい。

そんな、人が実現したいことがあります。

AIがコードを書く時代になっても、

その「実現したいこと」がなくなるわけではありません。

むしろ、作ることが簡単になるほど、

何を作るべきかを考える時間が、もっと大切になる。

そして、その難しい最初の一歩さえ、

AIと一緒に考えられるようになるのかもしれません。

AIがコードを書く時代に、人間は何を設計する?

その答えは、

コードよりもっと手前にあるのかもしれません。

横山 愛子

横山 愛子

顧客支援及び運営担当

2014年1月に入社。関西外国語大学卒業後、貿易商社での勤務、オンラインストアの立ち上げ、運営、15年に亘る海外在住経験あり。幅広い視野を持って、お客様とのコミュニケーションに努めたいと思っております。