AIに任せる。でも、丸投げはしない。
本日、興味深いニュースを目にした。
米Anthropicが開発した最上位AIモデル「Claude Mythos 5」と、その保護機能版である「Claude Fable 5」の提供を停止したという。理由は米政府による安全保障上の輸出規制とのことだった。
ニュースを見た多くの方は、
「AIが危険だから規制されたのか」
と思ったかもしれない。
しかし、私はソフトウェア業界に長く身を置く人間として、少し違う視点でこのニュースを見ていた。
現在のAIは文章を書くだけではない。
コードを書く。
問題点を発見する。
修正案を提示する。
テストコードを生成する。
そして、そのAI自身の開発にもAIが利用されている。
言い換えれば、
AIがAIの進化を加速している。
ここに各国政府が敏感になる理由があるのだろう。
しかし、このニュースを見ながら私が考えていたのは、もっと身近な話だった。
ソフトウェア開発において、多くの人員と時間を投入している工程の一つがテストである。
システムを作る。
動かす。
確認する。
想定外の動作がないか調べる。
品質を確保する。
そのために膨大な工数が費やされる。
もしAIがコードを書き、テストケースを作り、不具合を発見し、修正案まで提示できるようになれば、この工程は大きく変わるだろう。
開発スピードは上がる。
品質も向上するかもしれない。
しかし、そこで私は一つの疑問を持った。
最後にOKを出すのは誰だろう。
障害が発生した時、最初に対応するのは誰だろう。
AIだろうか。
違う。
人間である。
顧客から電話が入る。
システムが停止した。
原因は何か。
影響範囲はどこまでか。
いつ復旧するのか。
その時に必要なのは、
「AIがそう判断しました」
という説明ではない。
システムを理解している人間による判断と説明である。
私はこれからの時代、人とAIの役割分担は確実に進むと思っている。
AIはコードを書く。
AIはテストする。
AIは解析する。
AIは提案する。
しかし、人間は理解する。
判断する。
説明する。
責任を持つ。
ここは変わらない。
最近はノーコードやローコードという言葉をよく耳にする。
確かに、ソフトウェア業界以外の人々が自らツールを作れる時代になっていくのだろう。
それは素晴らしいことだと思う。
しかし、ソフトウェア業界で生きていく技術者に求められるスキルはどうだろうか。
私は本質的には何も変わらないと思っている。
やはりコードは読めなければならない。
必要なら書けなければならない。
なぜなら、それはプログラムを作るためだけではなく、システムを理解するためだからだ。
AIが生成したコードであっても、その中身を理解できなければ障害対応はできない。
原因究明もできない。
顧客への説明もできない。
むしろAIが進化するほど、
「システム全体を理解する力」
の価値は高まるのではないだろうか。
私は今回のニュースを見て改めて感じた。
AIの時代だからといって嘆く必要はない。
技術者が不要になるわけでもない。
変わるのは役割であり、工程ごとにかける時間の比重である。
これまでコード作成やテストに多くの時間を費やしていたなら、これからは理解、判断、説明により多くの時間を使うことになるのかもしれない。
AIに何を任せるのか。
人間は何を担当するのか。
その役割分担を明確にしていくこと。
それこそが、これからの時代を生き残るためではなく、生き抜くために必要なことなのだと思う。
AIは強力な道具になる。
しかし、その道具を使いこなすのは人間である。
私はそう信じている。

