Image Credit:Natural Language Programming AIs are taking the drudgery out of coding

「Learn to code.(プログラミングを学べ)」というフレーズは、直近のメディア局のレイオフが発表される際には、常にインターネットのトロールやテックブロスたちの口や指先から流れる言葉である。ただの無意味な言葉だが、最近のコード生成人工知能(AI)の出現により、Pythonのようなプログラミング言語の細かいところは知っている必要があるかもしれないとなってきている。実際、これらのAIは、詳細なプログラミング作業の大半を処理することで、プロのソフトウェア開発者がより早く効果的にコーディングするのを支援している。

現在最も広く配布されている2つのコーディング言語はJavaとPythonである。Javaは1990年代半ばにリリースされ、ほとんど一人でクロスプラットフォームの操作革命を起こし、スマートカードから宇宙船まであらゆるものに対応している。一方、PythonはJavaよりも少し前に開発され、Dropbox、Spotify、Instagramなどの現代的なアプリケーションのコード基盤として使用されている。

Javaは実行する前にコンパイルする必要があり、人間が読めるコードをコンピュータが実行可能なマシンコードに変換する。一方、Pythonは解釈言語であり、プログラムが実行されるたびに、人間のコードを行ごとにマシンコードに変換して実行するため、コンパイルする必要がない。Pythonは、解釈方法により、コードを複数のプラットフォームに容易に対応させることができる。どちらの言語でも、実際のコード作成プロセスはほぼ同じであり、誰かがテキストエディタまたは統合開発環境(IDE)を開き、すべての命令行を書き出す必要がある。しかし、最近までは、コーディングは人間によって行われていた。

AIによるコーディング処理では、「自動的なプログラム作成」により、プログラマーは一度に1行ずつコードを書く代わりに、コンピュータがタスクの高レベル抽象を生成してローレベルのコードを自動的に生成する。AIによるコーディングシステムは、自然言語を隠しているため、開発者はプログラムを書き込むために必要なコードをAIに伝えることができる。

コーディングAIの最も初期の例の1つは、OpenAIが開発したCodexであり、2021年後半にリリースされた。 OpenAIはすでにGPT-3を実装しており、Codexを作成する際には、100 GB以上のGitHubデータを使用してそのモデルを精密に調整した。Codexは、12の異なる言語でコードを生成でき、既存のプログラムを翻訳することができる。

Copilotは、Visual Studio Code、Visual Studio、Neovim、JetBrains IDE向けの購読プラグインを通じて、クラウドベースのAI支援コーディングオートコンプリート機能を提供する。リリース初期段階では、ユーザーは自然言語テキスト入力から実行可能なコードを生成することができるだけでなく、コードの一部、プログラミング関数などを補完することができた。Copilotのコードは、ほぼ全てが読みやすく、GitHubは、システムが意図せずに悪質なコードを生成することを防ぐ追加の保護を組み込んでいる。

GitHubの他にも、オープンソースAIプラットフォームのGPTを活用して構築された数多くのAIコーディングシステムがある。また、AmazonのAWS CodeWhispererシステムやGoogleのBard、Codeyなど、AIを活用したプログラミング支援ツールも登場し、発展している。今後、AIコーディングシステムはどのように進化し、その技術がどのようにテクノロジー業界に影響を与えるかはまだ分からない。しかし、ジェネラティブAIが目指す未来に向け、開発者がプロジェクト全体の成長に焦点を当てることができるようになる可能性がある。


Pexelsによる写真提供

「Learn to code.」という言葉が、メディアの解雇が発表されるたびに、インターネットのトロールやテックブロの口髭や指先に常にあります。この言葉自体は無用なものですが、最近登場したコード生成AIでは、Pythonなどのプログラミング言語の詳細を知ることが、サンスクリットのような死語を流暢に話すことと同じくらい有用になる可能性があります。現在、これらのGenAIは、プロのソフトウェア開発者がプログラミングの骨仕事を処理することで、より速く、効果的にコードを生成するのを手助けしています。
現在、広く配布され、書かれているプログラミング言語の2つはJavaとPythonです。前者は、90年代半ばにリリースされたとき、クロスプラットフォーム操作をほぼ一人で革命化し、現在は「スマートカードから宇宙機まですべてを駆動する」とJava Magazineが2020年に述べている。後者は、実際にJavaよりも数年前に開発され、Dropbox、Spotify、Instagramなどの多くの現代的なアプリのコードベースとして機能しています。
彼らは、Javaが実行される前に(人間が読めるコードをコンピュータ実行可能なマシンコードに変換する)コンパイルする必要があるのに対して、Pythonはインタプリタ言語であるという点で大きく異なります。つまり、プログラムが実行される際に人間のコードが行ごとにマシンコードに変換されるため、コンパイルされる前に実行できるということです。解釈的な方法は、複数のプラットフォームのためのコードをより簡単に書くことを可能にし、コンパイルされたコードは通常特定のプロセッサタイプに焦点を合わせられます。それらが実行方法に関係なく、2つの間の実際のコード作成プロセスはほぼ同じです:誰かが座って、テキストエディタまたは統合開発環境(IDE)を開き、実際にすべての命令の行を書き出す必要があります。そして、最近まで、その人物は通常人間でした。
AIがコードを生成するようになった今、プログラミング言語の詳細を知ることが、いかに有用かは別にして、今まで以上に役立つことがあります。オープンエイトによって開発され、2021年後半にリリースされたCodexのような今日の会話のAIコーディングシステムは、プログラマーが書きたいプログラムや方法をAIに伝え、マシンが必要なコードを自動生成できるようになりました。GitHubのCopilotやOpenAIのChatGPTなど、AIのコード生成システムはすでに、プロのソフトウェア開発者がコーディングの骨仕事を処理するのを手助けしています。

引用元記事はこちら
Natural Language Programming AIs are taking the drudgery out of coding

error: Content is protected !!