ソートリーダー

未来を再プログラムする:AIが開発者と言語を再定義する方法

mm
Unite.AI を Google の優先ソースに追加

AIによるプログラミングの時代が到来し、それは単なるサポート役ではなく、主役を務めるものです。AIはすでにコード作成のルールを書き換えています。しかし、これはその潜在能力のほんの一部です。近い将来、アルゴリズムは言語の壁を排除し、人間の開発者の役割を根本的に変革することになります。つまり、人間のプログラマーは終焉を迎えるのでしょうか?それを見ていきましょう。

AIの影響:進歩と課題

Stability AIのCEOは、暗い絵を描き、人工知能が5年以内にプログラマーを置き換えるだろうと主張しています。OpenAIは、外部契約者を集めてモデルをトレーニングし、エントリーレベルのコーディングジョブを不要にする可能性があります。Bloombergは、インドの500万人のコーダーがAIによるジョブ喪失の危機に瀕していることを報告しています。しかし、これらの予測にもかかわらず、Redditの議論では、多くのプログラマーが仕事の安全性について無関心であることがわかります。しかし、そんな大きな変化の前に、無神経なままではいられません。

AIは単なる余興ではないかもしれませんが、もう一度考え直す必要があります。現在、AIは人間が書いたコードの構造と文法を模倣することができますが、しかし、「なぜ」という理由を理解することができません。つまり、基礎となるロジックと意図を深く理解することができません。

しかし、すでに92%の米国開発者は、AIコーディングツールを仕事や自由時間に使用しています。これらの知能アルゴリズムは、コードの40%を生成できます。人間のエラーは過去のものになり、開発のスピードは加速され、AIはコードのドキュメント化時間を45-50%、コードの書き込み時間を35-45%短縮します。

AIの影響は一つの言語に限定されません。すべての言語に及んでいます。私たちのデータによると、Java、Python、C++の開発者はすべて、MachinetのAIチャット機能から同等の利益を得ています。この機能は、特定のプロジェクトのコンテキストと説明を使用してコードを生成できます。これにより、ユーザーの関与度が25%向上します。

しかし、それでも止めません。AIはすでにアプリケーション内のバグを暴露し、製品が堅牢で信頼性が高く、堅固なものになることを保証しています。ニューラルネットワークは、人間が見逃す可能性のある脆弱性を無尽にスキャンできます。AIは、ソフトウェアの弱点を特定し、防御を強化するスキルを磨いています。人間の監視が不要になる未来に一歩近づいています。

AIのアルゴリズムはすでにコードの翻訳をマスターしています。AIは、ポリグロットプログラマーのように、ある言語で書かれたコードを分析し、別の言語で書かれた等価なバージョンを生成できます。例えば、IBMは最近、COBOLをJavaに翻訳するアシスタントを発表しました。人間の専門家や複数のプログラミング言語が必要になるでしょうか?AIがすべてを行うことができるようになれば、必要ありません。

言語の多様性の終焉

私は、GPT-4のような大規模言語モデルが台頭するのを止めることはできないと確信しています。これらは、自然言語とコードの両方を理解し、以前とは比べものにならないほど境界を曖昧にしています。

AIの台頭は、プログラミングの将来について疑問を提起します。現在、数百のプログラミング言語があり、新しい言語も開発されています。いくつかの言語は業界で積極的に使用されています。PYPL Indexによると、Pythonは世界で最も人気のある言語で、Java、JavaScript、C#、C/C++に続きます。他のデータによると、2022年時点で、JavaScriptはソフトウェア開発者の中で最も一般的な言語でした。いくつかの言語は、JavaとGOのように、類似の目的とアプリケーションに適しています。

これらの言語は、それぞれ独自のニッチと目的を持っていますが、AIがコーディングに優れてくると無意味になるでしょうか?私は、AIが古い、遅い、安全でない技術を時代遅れにする瀬戸際に立っていると考えます。これにより、言語の集中化が起こり、最も速く効率的な言語のみが残る可能性があります。開発者は、個人的な好みや歴史的なコードベースに基づいて言語を選択するのではなく、パフォーマンスに基づいて選択するでしょう。AI駆動のツールは、言語を分析してベンチマークし、特定のタスクに最適な選択肢を特定します。これらの分析では、実行速度、メモリ使用量、スケーラビリティなどの要素が考慮されます。

一般的なコーディングタスク用の、AIに優しい中心的な言語が登場する可能性もあります。しかし、科学計算などの特定のドメインでは、専門化された言語が残るでしょう。AIは、これらの言語を統合し、特定の問題に使用する必要があるときにそれらを容易に利用できるようにします。このハイブリッドアプローチにより、集中化の効率と専門化の力が組み合わさり、開発プロセスで柔軟性と多様性が提供されます。

レガシーシステムの標的

AIの影響は、新しいコードの作成に止まらず、レガシーシステムにも及んでいます。古い言語から新しい、より効率的な言語への移行は、面倒で高価なプロセスになる可能性があります。しかし、レガシーシステムを維持することも、高いコストを伴うことになります。通常、テクノロジーチームは、開発予算の75%をメンテナンスタスクに割き配しています。また、組織がレガシーソリューションに依存し続ける場合、毎年約15%の予算増加を予想できます。

ここで、AI駆動の移行ツールが登場します。これらは、組織が既存のソフトウェアを新しい時代の最適な言語に更新することを容易にします。AI駆動の製品は、古いコードベースの複雑さを自動的に分析して理解し、コア機能、依存関係、潜在的な問題を特定し、移行プロセスを計画して実行することを容易にします。

私は、AIが最も適切な言語を特定し、コードベースを自動的に変換し、ベストプラクティスに従ってセクションを書き直し、冗長または古い関数を削除し、結果を最適化してパフォーマンスとセキュリティを向上させることを期待しています。こうして、AI駆動の移行ツールは、レガシーコードを過去のものにします。

人間のプログラマーは革命を生き残ることができるか

最終的に、AIが支配するこの風景の中で、人間のプログラマーの役割は変化することになります。コードを手動で書く代わりに、ビジネスニーズとAIの能力の間のギャップを埋めることになります。目標を定義し、フィードバックを提供し、コードがビジョンに合致することを保証することになります。つまり、開発者は「コネクター」になり、基本的なプログラミング知識を持つことになります。一方で、AIコーディングアシスタントは、ユーザーがアルゴリズムにニーズを効果的に伝えることができる、包括的なソリューションに進化するでしょう。

これらの変化は、プログラミングの分野を民主化することになります。現在、世界には260万人のソフトウェア開発者がいます。AIの進歩は、数十億の人々がソフトウェアクリエイターの役割を担う道を開くことになります。彼らは、ゲームや企業プログラムなど、特製のアプリケーションを作成するためのアルゴリズムを依頼することができます。猫をフィーチャーした新しいAngry Birdsバージョンを作成することを考えてみましょう。AIシステムにアイデアを説明し、すぐに結果を得ることができます。ブラックボックスがどのように機能するかについて心配する必要はありません。

この文脈では、ジュニアおよびミドルレベルの開発者にとって、どのような将来が待っているのかという疑問が生じます。私の見方では、多くはありません。AIは、すべての面で彼らを上回る可能性があります。彼らはAIの監視者になるか、または、高度なスキルを持つプログラマーと同等のレベルに達するために、報酬の少ないプロジェクトに取り組むことで、スキルを磨く必要があるかもしれません。

一方で、高度なスキルを持つプログラマーは、ミスが高額になる分野で需要が続くでしょう。例えば、高頻度取引では、10ミリ秒の差が利益または損失を決定づけることがあります。銀行や軍事技術のプログラミングもそうです。これらの分野では、5%の精度の向上が数百万または数十億の節約につながる可能性があります。

この変化は、プログラマー間の世界的な競争を生み出すでしょう。現在、競争はある程度の世界的な枠組みの中で行われています。ミュージシャンがSpotifyのようなプラットフォームで世界中の仲間と競争するのと同様に、開発者はまだ主に地元の市場と特定のタスクに焦点を当てています。しかし、AIがプログラミングタスクの重要な部分を管理できる市場では、競争は激化するでしょう。『十分な』というレベルでは十分ではありません。プログラマーは、仲間とAIの両方と競争するために、卓越性を目指さなければなりません。

ウラジスラウは、machinet.netmate-os.com のCEOであり、イギリスと米国で認められたAI科学者です。彼の革新的なAI駆動型製品は、OpenAIによって紹介されています。生成的なAI、投資、分析にわたる幅広い専門知識を持つウラジスラウは、WargamingにおけるAIアプリケーションに大きく貢献し、主要な製品運用を強化しています。