こんにちは、藤田です。
今回もメルマガをお届けします。
あっという間の6ヶ月
ChatGPTの登場からまだ2年も経っていませんが、書店のビジネス書コーナーに行くと「ChatGPT」というワードが付いた本ばかりが並んでいます。
そんなChatGPTを使って、私は昨年の秋ぐらいから生成AIを使ってシステム開発ができないかトライしてきました。
生業をマーケティングのコンサルティング事業に移してから10年以上経っており、その間リアルな開発作業からは完全に離れていたのにも関わらず、生成AIの可能性を感じて好機とばかりにシステム開発事業を再開したのです。
そして、あっという間に6ヶ月が経過しました。
私は元々バリバリの開発まで行うシステムエンジニア(SE)だったのですが、私の現役当時から比べると業界の状況は、当然ながら使われている技術も主流の開発言語も変わっています。
ただ、システム開発事業を再開しようと思った最大の理由は、開発言語などの細かいことについて学ぶ必要はないだろうという目論見があったからです。
つまり、私の様にシステム開発の本質部分を理解していれば、子葉末端である部分を生成AIにすべて任せることができるかという前提でのトライだったわけです。
そして、現時点では私の目論見は順調に進んでおり、すでに2つのシステムを開発して納品済みです。
ところで、最初は想定していなかった部分で足止めを食らいました。
去年の年内ぐらいまでは、開発環境やデプロイと呼ばれるシステムの配置のための仕組みの設定に四苦八苦して、肝心の開発の方に力が入らなかったのです。
もちろん、これらの作業もすべてChatGPTに質問して解決していきましたが、今から思うとこの部分についてはググって調べたが方が効率がよかったのかもと反省しています。
つまり、現時点ではすでに分かっているのですが、生成AI一本ではなく、やはり検索で見つかる情報も十分使えるので併用するのがベストということです。
話は逸れましたが、こういった周辺作業をクリアした後は、私の読み通り子葉末端である開発工程はほとんど生成AIに任せられました。
年が明けてからは、ほとんどの時間を開発に使える様になりどんどんと開発作業が進められたのです。
結論としては十分に使える
生成AIなんかに任せて本当にちゃんとしたものが作れるのかと疑問を持たれる方も多いと思いますが、もちろん現時点では丸投げはできません。
恐らく、丸投げ出来るまでにはもう一段階のブレイクスルーが必要だと思います。
ただ、現状の能力だけでもこれまでとは次元の違った開発効率の向上が可能です。
私は現役で開発していたときに一番辛かったのが、アルゴリズムをコード化する作業でした。
当時の私としては、本当にキツくて疲れる作業だったのです。
今では、素晴らしい開発環境があるため、コーディング支援の機能が普通に強力サポートを得られます。
特に、生成AIの登場とほぼ同じく登場したコーディング支援のAIである「GitHub Copilot」を使えば文字通り作業効率爆上がりになります。
ガリガリとコーディングをするのに慣れている人に聞いたのですが、ほぼカーソルキーとスペースキーでコーディングが進むとまで行っていました。
それでも、私はコーディングが余り好きではないので、こういった技術の登場にも職種が伸びることはありませんでした。
コーディングが苦手だった私ですが、システムの企画とか設計は好きでした。
アルゴリズムを考えるのも全く苦ではありません。
そんな私が苦手な部分を生成AIに任せられるようになったのです。
そのため、とてもシステム開発を楽しくやれています。
もちろん、いいことばかりではなくて、使っている間に露呈してきた問題点も多々あります。
例えば、生成AIが創り出す処理が複雑になればなるほど、処理の内容がブラックボックス化してしまうことです。
つまり、ぱっと見では何をやっているのかわからないコードが動いている状態になるのです。
ブラックボックス化してもしまうと問題が発生した際の対応が、これまた生成AI頼みになってしまいます。
もちろん、生成AIがサクッと解決してくれるなら問題はないです。
ただ、実際にはそこまで優秀ではないので、半分以上の問題解決には人間の介入が必要になります。
つまり、ブラックボックス化が進むと問題が起きたときに解決ができなくなるのです。
ただ、このブラックボックス化には対応方法はあって、何をやっているのかわからない部分のコードを生成AIに解説させればいいのです。
ChatGPTのコード解説はとても分かりやすいです。
これを読めば大抵の箇所は理解できて、問題の解決ができるようになります。
分かりにくい点があれば再質問すればさらに詳しく教えてくれます。
この点も生成AIの得意分野と言えます。
このように丸投げができないため、現時点では、コードの解説をしてもらって理解できるレベルの技術がないと、生成AIでの開発はできないということになります。
具体的には、コーディングに関していうなら、過去に何らかの開発言語を使いこなして開発をした経験があるというのが最低条件です。
このレベルのスキルがあれば、開発言語が変わってもバージョンが上がっても、知らないライブラリを使ったとしても、ChatGPTの作ってくれる解説を読めば問題なく理解できます。
SEの仕事はなくならない
米国を中心とした海外の生成AIの業界は変化が早く、開発専用の生成AIまで登場しています。
この「Devin」という名のAIを使うと、要件を与えるだけで完全自律でデバッグまでやってくれるというから驚きです。
このAIは発表されただけで一般公開されていませんので、その実力はまだわかりませんが、生成AIの技術革新の進んでいる方向がこういう方向ということです。
では、この先の革新が進むと、システムエンジニア、プログラマーの仕事はなくなってしまうのかというAIに仕事を奪われるという話です。
ただ、システム開発において、アイデア、デザイン(設計)の領域は、今の生成AIの技術発展の延長線でカバーされることは考えられないです。
これは、現在の機械学習・深層学習でブームとなっているAI技術の延長線上ではシンギュラリティが起こりえないのと同じ理屈です。
つまり、まだ何十年か先に起こるであろう次元の違うブレイクスルーを待つ必要があるということです。
逆に言えば、これからのシステムエンジニアはアイデア勝負ということになります。
従来に比べて格段に早くて正確な開発が可能ですから、アイデアをたくさん試せば当たる確率が上がるわけです。
ビジネスは、出した手数が多ければ当たる確率が上がります。
これまでのシステム開発では、手数を出すというのは、時間的にも予算的にも難しかったのですがこれが可能になりかけているといえます。