AIのせいでプログラマーは絶滅してしまうのか?

Published on 05 Dec 2021

この質問について考えてみると、かなり皮肉なことに思えます。創造物、つまりインテリジェントシステムが、最終的にはその作成者であるプログラマーに取って代わったり、取って代わったりする可能性はあるのでしょうか? まるで SF 映画のストーリーのようではありませんか? しかし、最も差し迫った問題は、これが真実かどうかです。

仕事の未来に関する最近の調査によると、米国の全職業のおよそ半分が 2030 年までにデジタル化されると予測されています。この調査結果を真実として受け入れるなら、近い将来はいくぶん暗いものになりそうです。しかし、ロボットが人間の職業のすべてを奪う終末のシナリオを思い描く前に、人工知能 (AI) がプログラマーをどのように支援するかを考えてみましょう。

参照: ベスト・バイが英国企業カレント・ヘルスを買収

人工知能がプログラマーを支援する方法

標準的なソフトウェア開発サイクルが始まる前であっても、プログラマーは製品の技術的要件、つまり機能と機能性を定義する必要があります。その後、テスト、実装、保守を含む実際の設計および開発プロセスを開始できます。

当然のことながら、あるフェーズから次のフェーズに進むと、対処しなければならない問題やギャップが明らかになります。ソフトウェアはリリースされる前に、複数回の検証と改善を経る必要があります。ソフトウェア開発のライフサイクルは時間がかかり、費用がかかり、退屈な場合があります。人間にとっては、これは苛立たしいことかもしれません。プログラマーには支援が必要であり、そこで AI の出番となります。

1. プログラムの作成

人工知能技術により、プログラマーはコードの作成時にその欠陥を検出できます。このソフトウェアを開発したフランスの Ubisoft は、この分野の先駆者です。同社は、過去のプロジェクトでよく見られるコーディング エラーのソフトウェア ライブラリを使用して不適切なコードをチェックする人工知能ツールである Commit Assistant を開発しました。そのため、Commit Assistant はプログラマーが以前のエラーを繰り返さないように保護し、プロセスの後半で問題を修正する際の時間と労力を節約します。

さらに、プログラマーがコードを入力している間に自動補完の提案を行うインテリジェント プログラミング アシスタントは、プログラマーの作業を簡素化する AI テクノロジーの例です。プログラマーがこうしたテクノロジーを利用しない理由は何でしょうか? 正直なところ、何百ページもの書類を精査するのは疲れる作業です。

2. バグの解決

ソフトウェアの欠陥の多くは、インストールされて初めて明らかになります。メーカーは競争に勝つために急いで市場に投入しなければならないことが多いため、これはむしろ典型的なことです。その結果、悪用可能な弱点のないアプリケーションはほとんどありません。

これは、人工知能 (AI) と機械学習 (ML) の手法を使用して解決できる可能性があります。コンピューターを設定してプログラムをスキャンし、リリース前に欠陥を修正することができます。

3. プロジェクト納期の正確な見積り

ソフトウェア開発プロジェクトは、開始前に設定された期間と予算を遵守することはほとんどありません。

しかし、AI の支援により、プログラマー (より正確には、そのプロジェクト マネージャー) は、考えられるすべての状況と起こりうる障害を考慮しながら、より現実的なタイムラインと資金ニーズを経営陣に提示できるようになります。

AIはコーディングが可能か?

簡潔で意地悪な答えは「はい」です。そのようなシステムの 1 つは「GPT-3」と呼ばれ、これは「世界で最も危険な AI」と称された GPT-2 の後継です。

2020年7月13日、研究者のシャリフ・シャミーム氏は、説明を提供するだけでGPT-3を利用してWebページをレイアウトしたと述べました。これらはGPT-3を使用してJSXコードに変換されました。JSXはJavaScript(JS)への構文追加であり、ユーザーインターフェイス(UI)またはそのコンポーネントを作成するためのオープンソースのJavaScript(JS)ツールキットであるReactを使用してWebサイトを開発できるようにします。

GPT-3 はさまざまな言語 (たとえば、カスケーディング スタイル シート [CSS]、JSX、Python) でコーディングできますが、新しく構築されたプログラムと同様に、いくつかの問題が残っています。その 1 つは、GPT-3 によって生成されたコードが役に立たない可能性があることです。さらに、人の助けがなければ修正が非常に難しい間違いを犯します。たとえば、「100 万の前に来る数字は何ですか?」などの些細で初歩的な数学のクエリに対して、GPT-3 は「90 万と 99」と応答します。

参照: Apple AirPods は補聴器になるか?

人工知能システムはプログラマーに取って代わることができるか?

主な話題に戻ると、「AI システムはプログラマーの地位を奪えるか?」という疑問が浮かびます。さしあたり、世界中のソフトウェア エンジニアは一息つくことができます。重要な問題は、常にそうであるとは限らないということです。

現在、基本的なコードを記述できる AI ツールは存在しますが、機能に優先順位を付けたり、開発中のソフトウェアが解決する問題を認識したりする能力が欠けています。

今のところ、非常に優れた才能を持つプログラマーだけが、正確な仕様とニーズを完全に理解した上でコードを作成できます。そして、例が示すように、明確な解決策がない、または複数の妥当な解決策がある複雑な問題を理解できるのは、現在ではプログラマーだけです。

実際、研究者が当初予測していたこと、つまり、AI システムが改良されるにつれてプログラマーの役割は進化するだろうという予測は、今でも真実です。プログラマーはコードを作成するのではなく、最終的にソフトウェアを生成する AI アルゴリズムの入力変数として使用されるデータの評価と管理を担当することになります。

では、AI は最終的にプログラマーに取って代わるのでしょうか? いいえ、少なくとも当面はそうはなりません。ただし、プログラマーは、コーディングを必要とせずにコンピューター プログラムを迅速に作成できる GPT-3 などの新興技術に留意する必要があります。ソフトウェア開発者は、アプリケーションの準備やプライミングに使用するパラメーターやコンポーネントを簡単に提供できます。前述の AI は、特にプライミングの点でさらに改良が必要ですが、プログラマーのいくつかの作業を軽減する可能性があります。

プログラマーは、暗い見通しを示すのではなく、AI のプラス面を積極的に受け入れるべきです。多くの分野では、生産性の向上と経費の節約のために、すでにこのテクノロジーを採用しています。この傾向は避けられないため、プログラマーは変化する状況に適応するためにスキルセットを開発するのが賢明です。

注目の画像: rawpixel.com が作成したデザイン写真 - www.freepik.com

Whitepapers.online を購読して、健康、マーケティング、ビジネス、その他の分野に影響を与えるテクノロジー大手による新しいアップデートや変更について学んでください。また、当社のコンテンツが気に入った場合は、Facebook、WhatsApp、Twitter などのソーシャル メディア プラットフォームで共有してください。