アイキャッチ

AIがコードを書く時代、エンジニアの役割って? カミナシ原トリ・10X石川洋資・ばんくしが討論!【聴くエンジニアtype Vol.21】

働き方

エンジニアtypeが運営する音声コンテンツ『聴くエンジニアtype』の内容を書き起こし! エンジニア読者が抱える仕事やキャリアのお悩みに、注目企業のCTOやさまざまな領域の第一線で活躍する技術者が回答します
>音声で聴きたい方はこちら

今回から、Vol.11~15に出演したカミナシの原トリさんと10Xの石川洋資さんがゲストとして再登場。これまで同様、エンジニアからの質問や相談に応えていく。

今回のテーマは、最近話題に拍車が掛かっている「AI」について。『ChatGPT』などが生成するコードのクオリティーの高さに注目が集まる中、エンジニアに求められるものはどのように変化していくのか。

MCのばんくしさんも共に、それぞれの考えを聞かせてくれた。

プロフィール画像

【MC】
キャディ株式会社 Tech Lead
河合俊典(ばんくし)さん(@vaaaaanquish

プロフィール画像

【Speaker】
株式会社カミナシ 取締役CTO
原トリさん(@toricls

プロフィール画像

【Speaker】
株式会社10X Co-Founder, 取締役CTO
石川洋資さん(@_ishkawa

【今回の相談】

(Yさん・35歳)

AI技術の普及によって、誰もがコードを書ける時代がやってくると言われていますが、これからのエンジニアの役割はどのように変化すると思いますか?

それによってエンジニアが身に付けるべき知識・スキルはどのように変化すると思いますか?

AI活用が必須の時代、エンジニアへのニーズは「エンジニアリング」に帰結?

河合:このテーマだけで3時間くらい話せそうですね。まずはお互いのスタンスを知る意味でも、お二方の意見をお伺いできますか?

石川:今、ソフトウエアエンジニアに期待されている役割の幅って広いですよね。よりテックリード的な仕事、と言うのでしょうか。

プロダクトで何を解決しようとしているのか、技術的にどんなアプローチをとるのか、どういう計画でプロダクトの価値を検証していき、その計画をどうアーキテクチャに落とし込むのか……これらの具体的な検討事項で出てきたものを、今後はAIが担っていくことになると考えています。

すでにAIはコードを生成できていますし、『GitHub Copilot』だと、コメントに従った作業をしてくれる。関数をつければその通りに実装してくれます。

なので、これからのソフトウエアエンジニアはより抽象度が高い部分に脳みそを使うようになっていくんじゃないかな、と思うんです。

昔、Twitterで「映画のハッカーはキーボードをカタカタしているけど、実際のハッカーはPCの前で考えている時間の方が長い」というツイートを見たことがあるんですけど、今後はそれがさらに進むんだろうなと思います。

河合:コードを書く時間は確実に減るでしょうね。原さんも似たような考えですか?

原:『聴くエンジニアtype』はぶっちゃけた話をして良い場所だと聞いているので……ぶっちゃけると、「知らんがな! こっちが聞きたいわ」という気持ちです(笑)

ジェネレーティブAI(生成AI)がコードを書いてくれるようになった世界でソフトウエアエンジニアの役割や身に付けるべき知識・スキルがどういう風になっていくか、という観点で僕の考えを端的に言うと、プルリクエストのレビューを書くのが上手いエンジニアが重宝されるだろうな、と思います。

多くのWebアプリケーション開発の場合、プルリクエストのレビューの価値は、メンテナンスアビリティーやコードの意図をクリアにしていくことにあると思うんですよ。その中でバグも発見できたら超ファインプレー、みたいなね。

なので、もし僕がジェネレーティブAIと一緒に仕事をするとしたら、プルリクエストのレビューを書くのが得意なエンジニアがいたら嬉しいですね。

聴くエンジニアtype

原:石川さんもおっしゃっていた通り、コードの生成はAIが担っていくことになるかもしれないですが、ものづくりの「意図」の部分はエンジニアのスキルとしてさらに重要になるだろうと想像しています。

河合:AIがどこまでやってくれるかも気になりますよね。テストもレビューもAIがやる……となったらエンジニアは何をやったら良いんだろう、とは思います。

今後はコードに変更を加えたりシステムを安全に保ったりするには「AIがゼロから書いた方が早い」みたいな状況が増えていきそうですね。

原:メンテナンスをしない、ということですよね。

河合:そうです。一度AIにコードを読ませて、「こういう感じに直してくれ」って指示を出したら一気に構造が変わる……みたいな世界がくるんじゃないかな、と思って。そうなるとレビューも必要なくなりますよね。

私も最近、「10年後にはコンパイラとプロダクション環境にAIが生成したコードを投げまくる時代になっていそう」というツイートがバズっているのを見たのですが、もしそんな時代がきたらエンジニアの仕事は「投げること」になってしまうなと思いました。

原:毎回フルスクラッチってことですね。

河合:『ChatGPT』や『GitHub Copilot』を使えば可能だと思うんですよね。

原:そのうちジェネレーティブAIを使ってコードを書く場合の凝集性の考え方についての論文が書かれるようになりそうですね。

河合:今で言うサービスメッシュみたいに、「動作は担保するけど中身(コード)はAIが書いたからよく分からない」ということもありえるな、と思ったりします。

原:例えばBtoBのアプリケーション開発だと、開発の過程で発生したレガシーなシステムがどんどん積み上がっていくじゃないですか。個人的な希望としては、この過程の部分を理解しながら良い感じにフルスクラッチしてくれるジェネレーティブAIが出てきてほしいですね。

河合:プロダクトとコードをつなげる、先ほど石川さんがおっしゃっていた「エンジニアリング」の部分は人間がやるしかないような気もしますよね。

ソフトウエアエンジニアの役割がエンジニアリングに寄っていく一方で、ミスの発生が1%も許されないような、AIには任せられないコードも一定数存在するじゃないですか。そういう方向性で戦っていくキャリアもあるとは思います。

原:AIがコードを生成することが一般化したら、そのうち逆に「AI使用禁止です」というSIer案件なんかも生まれそうですよね。メンバー間で「この案件、AIが使えないから重たいんだよね」という会話が展開されたりするかも。

河合:「人間にコードを書かせること」が価値になることはあり得ますよね。

原:AIの学習に利用されるのを忌避する……というニュアンスでAIを禁止する企業は一定数いそうですよね。

聴くエンジニアtype

河合:今も職場によってはGitHub禁止というところもありますが、そういう観点ですよね。

とすると、エンジニアにとってソフトウエアスキルはずっと必要なのかな。

原:でも、昔はSlackに抵抗感のある会社もたくさんあったけど、今では顧客とSlack上でカジュアルに会話できる時代に変わってきましたよね。AIに対する考え方も今後は変わってくるような気がします。

河合:たしかに。AIがコードを書くのが当たり前になって、エンジニアの役割はプロダクト開発の方に寄っていくかもしれないですね。

僕、最近一周まわってプログラミングが楽しいんですよ。ある意味自分の頭の中にあるものをカタチにしていく作業なので、自己表現の一つでもあると感じています。

競技プログラミングじゃないですけど、プログラミングがエンジニアスポーツ的なものになったらいいなと思ったりするんですよね。

原:昔は移動手段でしかなかった「歩く」という行為が、今や趣味や健康のための「ウォーキング」になっているように、コードを書くことも仕事ではなく趣味になったりするのかな。

河合:プログラミングが仕事ではなく趣味になっていくと、やはりエンジニアが身に付けるべき知識・スキルはプロダクトに寄っていくことになりそうですね。

こういったスキルってどう身に付けていけば良いと思いますか?

石川:やはり打席に立たない限りプロダクト視点を身に付けるのは難しいと思います。

これまでのエンジニアに対するニーズはコーディングが基本で、プロダクト視点は責任があるポジションの人に求められていた傾向があったと思います。

今後、AIベースのコードが一般化し、チームが出せるアウトプットの量が増えたら、必然的にエンジニアがプロダクト的な意志決定をしなければいけない場面が増えていきますよね。

世の中が変わった時にその波に乗り遅れないことがすごく大切だし、むしろその波の少し先に行くことを意識しないといけないと感じています。

河合:確かに、このタイミングでAIの技術を使わなかったり、習得しないままでいたりするとエンジニアとしてのニーズは減っていきそうです。

原:ちなみに今ChatGPTのGPT-4に「ジェネレーティブAIの普及によってソフトウエアエンジニアの役割がどう変化していくか、短期・中期・長期の視点で教えてください」という質問をしてみたので結果のスクショを共有しますね。

河合:回答を読み上げますね。

「短期的には、ソフトウエアエンジニアはより高度なAI指数を利用して効率的に開発を行うことが可能になります。コーディングの一部が自動化されてデバッグや最適化が容易になります。

AIの出力の精度や品質を向上させるために、データの整理やフィードバックの与え方に意識が向けられるようになります。

中期的(3~10年)には、ソフトウエアエンジニアの役割はAIと共同で働くことに重点が置かれるようになります。

AIモデルの設計や選択、データセットの作成、そしてAIの結果を評価し適切な方法で組み込む技術が必要になります。また倫理的・法的・セキュリティの観点からAIの適切な使用法と制限にも関心が高まるでしょう」

原:「長期的(10年以上)には、多くの開発タスクが自動化されます。エンジニアはAIシステムの戦略的な設計や複雑な問題解決に焦点を当てるようになるでしょう」

河合:AIの回答を見ても、やはりエンジニアという仕事自体は残る気がします。

セキュリティーやQAなどは人の知識が必要ですし、AIに置き換えられにくい分野ですよね。プロダクト開発の方に寄っていく人もいるでしょうけど。

石川:例えば、データの完全性を確保したい一方で一定のパフォーマンスも維持したい、でも予算は限られている……という課題がある場合、どこに重点を置き、技術的にどうソリューションを生み出すかに関してはやはり意志決定が必要ですよね。

その部分では、今後もソフトウエアエンジニアが求められる気はしています。

原:今回はテキストのジェネレーティブAIの観点で話を展開したと思うのですが、ステイブルディフュージョン(画像生成AI)方面の方にも話を聞いてみたいですね。

河合:たしかに、課題の発見・解決とは違ったニュアンスで話を聞けそうな気がしますね。

6月25日(日)『聴くエンジニアtype』公開収録を赤坂で開催!

ポッドキャストチャンネル『聴くエンジニアtype』初の公開収録を東京赤坂の会場で開催します。MCのばんくしさんをはじめ、澤 円さん、池澤あやかさん、小城 久美子さん、増井 雄一郎さんが、エンジニアから寄せられた仕事・転職・キャリアの悩みに回答。収録後には懇親会や、書籍サイン会も開催予定です!
※公開収録はエンジニアtype主催のテックキャリアカンファレンス『ECDW2023』の中のコンテンツとして開催いたします

>>エントリーはこちら(ECDW2023特設ページ)

【開催場所】
〒107-0052 東京都港区赤坂2-5-1 S-GATE赤坂山王ビル 5階
株式会社キャリアデザインセンター 赤坂山王オフィス

【参加費】
無料
※懇親会は15:30~30分程度の予定です
※懇親会への参加は自由です

【定員】
60名(先着)

【エントリー方法】
以下より詳細をご確認の上、エントリーフォームより必要事項をご記入の上エントリーください。

>>エントリーはこちら(ECDW2023特設ページ)

聴くエンジニアtype

文/赤池沙希

Xをフォローしよう

この記事をシェア

RELATED関連記事

RANKING人気記事ランキング

JOB BOARD編集部オススメ求人特集





サイトマップ