Nvidiaは AI がコーディングを殺すと言っていますが、それが間違っている5つの理由

要約

  • NvidiaのCEOは AI が人間のプログラミングに取って代わるため、もう教える必要はないと主張しています。
  • しかし、 AI は常に完璧ではありません。コードの品質を向上させるために人間の監視が不可欠です。
  • さらに、プログラマーは AI が欠けている問題解決能力と適応性を提供し、ユーザーのフィードバックやテクノロジートレンドを満たすスキルは AI の効率を打ち負かします。

NvidiaのCEOは、 AI がすべての面倒を見てくれるため、子供たちにプログラミングを教えるべきではないと述べています。 AI がコーダーの親友になれることは確かですが、AIによって生成されたコードをどれだけ使用するかに関係なく、人々はプログラミングを学ぶ必要があります。理由は1つではありません。

NvidiaのCEOは AI とプログラミングについて何を言いましたか?

ドバイで開催された2024年世界政府サミットで、NvidiaのCEOであるジェンスン・フアンは、近い将来プログラミングはすべて AI によって行われるため、人々にコードの書き方を教えることには意味がないと述べました:

誰もがプログラミングをしなくても済むようにコンピューティングテクノロジーを作成することが私たちの仕事です。そして、プログラミング言語は人間です。今、世界中の誰もがプログラマーです。これが人工知能の奇跡です。

AI は動作するコードブロックを生成できますが、プログラムを作成したい場合にプログラミングの基本を学ぶ必要はないという議論があります。

AI のプログラミングにおける優位性

ジェンセンの声明を分析する前に、彼がそもそもこの発言をした理由を調べる必要があります。

インターネット上のAIモデルは、プログラミングに役立ちます。ChatGPTなどの汎用モデルでもできますが、プログラミングのクエリを処理することに特化したCodeGPTなどの特別なモデルを使用できます。

一般的に、これらの AI モデルは、プロンプトをコードに変換する優れた仕事をしています。ジェンセンが上で示唆しているように、その最大の利点は、AIを使用してコードを生成するためにプログラミングを知らなくてもよいことです。英語で欲しいものを伝え、結果をコピーアンドペーストするだけで、エラーのないコードが理想どおりに作成されます。

Nvidiaが子供たちにプログラミングを教えないことが間違っている理由

フアンは優れた指摘をし、彼の声明は現実の証拠に基づいています。しかし、人々にコードの書き方を教え続ける理由はたくさんあります。

1. AI コードでもエラーをチェックするには知識が必要です

AIコードは多くの場合エラーを生成せずに実行できますが、完璧ではありません。コードの書き方を学ぶことで、 AI が生成するコードを洗練して磨くために必要な知識が得られます。CodeGPTの上記の報道で述べたように:

つまり、CodeGPTはコードを記述できますが、常に最適な出力が得られるとは限らないため、注意が必要です。エラーが発生したり、ベストプラクティスに従っていない場合があります。CodeGPTや他のAI搭載ツールを使用してコードを記述する場合は、常にコードが何をするかを最初に理解するようにしてください。コピーアンドペーストするだけではありません。

エラーの問題だけでなく、人間が読めるようにコードを作成し、すべてのプログラマーが知っているべき基本的なプログラミング原則に従うようにすることも問題です。AIで生成されたコードを盲目的に追加すると、解きにくい大きなコードの混乱や、さらに悪いことに、ソフトウェア、Webサイト、その他の脆弱性が発生するリスクがあります。

2. プログラマーは経験を適用してAIよりも優れた問題解決ができます

プログラマーは最終的に問題を解決しようとしています。自分自身またはクライアント向けのアプリを作成する場合でも、コンセプトをコードを使用して現実のものに変換する最善の方法を見つける必要があります。

プログラマーはアプリの作成に関する経験を積むことで、プロジェクトが紙に描いた図から機能するプログラムにどのように移行するかをより適切に把握できます。 AI チャットボットには、以前のプロジェクトから学習し、学んだことを適用して将来より優れた仕事を行うことができるのと同じレベルのトレーニングがありません。

3. プログラマーはユーザーの要求を満たすためにコードをより改善できます

誰かのためにプログラムを作成している場合、フィードバックが得られる可能性があります。クライアントが望む製品を入手できるようにするための自然なやり取りプロセスの一部です。

人間がアプリをコーディングした場合、自分でフィードバックを実装し、2番目のバージョンを送信して、クライアントの希望どおりになるまでこの傾向を続けることができます。ただし、誰かがAIで生成されたコードに固執している場合、最善の方法は AI に変更を加えて、人工知能がリクエストを適切に処理することを期待することです(そして、エラーを導入したり、すでに役立つコード部分を書き換えたり、脆弱性を導入したりしないことなど)。

4. プログラマーはAIよりも早く変化するテクノロジートレンドに適応できます

AIモデルは、既存のデータから知識を得ます。そのため、インターネット上にすでに存在するものを再作成することに非常に優れていますが、最新のテクノロジーやトレンドを理解することにそれほど優れていません。

プログラマーは、常に選択した言語の最新開発に遅れずについていき、それらをコード内に実装できます。また、どの言語がどのタスクに最適かを理解しており、1つが不評になったときに使用する言語を変更できます。

5. プログラマーはAIよりも緊急のパッチリクエストに迅速に対応できます

最後に、コードに問題が発生した場合、それを修正するにはプログラミングの知識が必要です。ゼロデイエクスプロイトの場合、時間は本質的です。問題はできるだけ早く特定してパッチを適用する必要があります。

コードが人間によって書かれたかAIによって書かれたかは関係ありません。どちらも間違いを起こす可能性があります。ただし、コードを理解している人は、問題をより簡単に見つけて理解できます。コードの仕組みを知らない人は、 AI に何をすべきかを尋ねることもできません。

ジェンセン・フアンの声明は誤解を招くものではありませんでした。 AI は、これまでプログラミングをしたことがない人でもコードを生成して使用できます。ただし、誰かが自分自身または他の人のために何かを作成したい場合、すべてがスムーズかつ効率的に実行されるようにするために基本的なプログラミングの知識が必要です。