ある文脈においては一理あると思います。たださすがに誇大的な表現と思いますし、それはそれとしてソフトウェア技術の専門家は必要だろうと思います。

最近よくgithub copilotを使ってコーディング作業を補助してもらっています。copilotはかなり賢いですし、現状でもboilerplateのようなコードをさっと書くのには本当に向いています。すごく便利です。ただ現状ではそこまで賢いものではないので全く見当違いなコードを生成することも多いですし、なかなかいい線を行っていても細かい部分が間違っているというようなことばかりです。そのままでOKなことは自分の経験では皆無です。でも叩き台としては非常に便利で、それを元に細かい部分をちょこちょこ直したりとかで済むのであればコーディング自体の時間の短縮にはつながります。

現段階での技術はまだまだですが、これから数年経ってこの技術がさらに発展したり、現行のLLMたちの生成するコードの精度が上がって行ったりすると、ちょっとしたコードを書くのはもうそれでいい、みたいな状態になることは容易に想像されます。

それでいて同時に、自分のソフトウェア技術者としての仕事のコードをどこまで任せられるのか、あるいはソフトウェア技術者としての仕事をどこまで移譲できるか、と考えると、それは全然無理だなと思うことも多いです。

こうした近年のAI技術によって生成されるプログラムというものはそれ単体で完成するようなものが多いです。一方実際の仕事だともう少し違うことが求められることも多いでしょう。巨大なコードベースの中のどこに変更をするのが良いのか、全体的な設計や統一性などからどのような変更をすることが求められるのか、新しいコードが既存コードと同じような構造を持っているとき、何らかの抽象化を導入することが良いのかどうか、設計を見直す必要はあるのか、などなど……。実際の職業プログラマのコーディングというのは、そういう様々な制約条件を考慮した上で行うものでしょう。

そうした検討を人間の専門家が行った後で、実際のプログラムという文字列を人間が書くかAIに生成してもらうかでいうと、AIに生成してもらったほうが早くなるということはありうると思います。でもそうであってもソフトウェア開発において人間の専門家が必要になる、そういう状況はこれからも(それなりの期間は)続くだろうと思います。

ところが一方で、職業プログラマであってもなくても、ちょっとしたコードを書くとすぐ処理できるようなちょっとした手続き、というものは世の中に色々あるわけです。例えばCSVでダウンロードしてきたデータの特定の列の合計を見たいとか、単純な集計をしたいとか。「退屈なことはPythonにやらせよう」という素敵なタイトルの書籍がありますが、これはまさにそれです。そういうことはどんな職業でも一定数あり、プログラミングができると生産性が上がります。

こういった文脈からプログラミングというのは現代において極めて基礎的なリテラシーであり、どんな職業になるのであれプログラミングは学ぶべきである、というようなことは10年くらい前から盛んに言われてきました。

でももし、chatGPTなり何なりといったLLMがまともなコードを生成できるとしたら、そういう必要性はかなり下がってしまうかもしれません。こういう「ちょっとしたコード」は最初に述べた職業プログラマの仕事のコーディングとはかなり異なります。だいたい一回だけしか動かさないですし、その場で、今目の前にあるデータに対してだけ動けばそれでいいのです。セキュリティの問題とか、異常データへの対処とか、メモリリークがどうこうとか、そういう話はありません。ぱっと書いて動かして結果を見て終わりです。ほんとそれだけです。

そういうようなプログラムをAIが書いてくれるというなら、職業プログラマではないような人は本当にプログラミングを学ぶべきなんだろうか? それはAIにやらせればよく、その人が本当に注力すべきこと、本職の専門性の方を磨くべきなんじゃないだろうか?

Jensen氏がそのような文脈においてこういう発言をしたのかはわかりませんが、自分としては、そういう文脈であれば納得はいく、と思いました。

ただそれでも生成してもらったプログラムコードを見て、その内容を理解し、意図した通りのことをやっていそうか、という程度のことはわからないと困るんじゃないだろうか、微妙なところをちょっとだけ手直ししたりといったことも依然として必要になるんじゃないだろうか、そんなふうに考えています。

それに、コンピュータにやらせたりプログラムを書かせたりするためには、その課題はプログラムにやらせればいい類のことだということを理解していないといけません。電卓の方が圧倒的に速く計算できるとしても人間は一応四則演算は手でこなせるぐらいには学習をしておいた方がいいだろうなと思うわけで、何らかの基礎的な知識、考え方、といっても何が必要なのかは自分にもわかりませんが、そういう基礎的な何かはやっぱり必要なんじゃないかなあ。

そういうわけで、仮に当てはまる文脈において正しそうだとしても、結論はやや誇大的なんじゃないか、とも思うのです。

9か月

利用規約プライバシーポリシーに同意の上ご利用ください

Jun Mukaiさんの過去の回答
    Loading...