目次
コンピュータ プログラミングはよりインテリジェントかつ自動化されています
ホームページ テクノロジー周辺機器 AI それは成果でしょうか、それとも弱体化でしょうか? AIコード生成ツールとプログラマーの間の争い

それは成果でしょうか、それとも弱体化でしょうか? AIコード生成ツールとプログラマーの間の争い

Apr 08, 2023 pm 09:11 PM
プログラミング ai

プログラマーは置き換えられる運命にあるのでしょうか? OpenAI の大規模言語モデル GPT-3 が、簡単な書面による指示に基づいて HTML Web サイトを作成する驚くべき能力を実証して以来、コンピューター プログラミング コミュニティはこの疑問に悩まされてきました。

それから数か月で、単純だが完全なコンピューター プログラムを自然言語記述 (人間の話し言葉または書き言葉) に基づいて作成でき、プログラマーの作業プロセスを高速化できることが判明しました。自動プログラミングアシスタント。 AI はプログラマーの仕事をどの程度代替または強化するのでしょうか?

IEEE Spectrum はこの件について何人かの専門家に尋ねましたが、悪い知らせは、プログラミングは置き換えられる運命にあるかもしれないということです。しかし、良いニュースは、コンピュータープログラミングとソフトウェア開発は、当面は人間が深く関与する仕事であり続けると思われることです。同時に、AI を活用した自動コード生成により、より短時間でより多くのコードを記述できるようになり、ソフトウェア開発がますます加速しています。

Amazon AI Services 担当副社長の Vasi Philomin 氏は、「AI が人間の開発者に完全に取って代わるとは思っていません。AI ツールはプログラマーを日常業務から解放しますが、コンピューター プログラミングは創造的です」と述べています。仕事は残り続けるのです。」

誰かが 10 年後に開発者になりたい場合、必ずしもプログラミング言語を学ぶ必要はありません。代わりに、コンピュータ プログラムを作成する際のセマンティクス、概念、論理的順序を理解する必要があり、これによりソフトウェア開発がより多くの人に開かれるようになります。

コンピュータ プログラミングはよりインテリジェントかつ自動化されています

電子コンピュータ プログラミングが 1940 年代に始まったとき、プログラマーはデジタル マシン コードを使用して記述していました。アメリカの著名な女性コンピューター科学者であるグレース ホッパーとレミントン ランド カンパニーの彼女のチームが、プログラマーが限られた英語の語彙を使用してプログラムを作成できるようにする FLOW-MATIC を開発したのは 1950 年代半ばになってからでした。

それ以来、プログラミング言語はますます効率的になり、プログラマーの仕事もより効率的になりました。

AI が作成したコードは、コーディングをまったく行わずにソフトウェアを作成できるようにする、より広範な変化の最前線にあります。現在では、Akkio のようなコード不要の AI 開発プラットフォームがあり、簡単なドラッグ アンド ドロップやボタンのクリック機能で機械学習モデルを構築できます。 Microsoft の Power Platform には、ユーザーが記述するだけで簡単なアプリケーションを生成できる一連のローコード製品が含まれています。

それは成果でしょうか、それとも弱体化でしょうか? AIコード生成ツールとプログラマーの間の争い

今年 6 月、Amazon は、Copilot に似た機械学習ベースのプログラミング アシスタントである CodeWhisperer のプレビュー バージョンを開始しました。 GitHub用。どちらのツールも、大規模なコード ベースでトレーニングされた大規模言語モデル (LLM) に基づいています。プログラマーがコードを作成すると、CodeWhisperer と Copilot の両方がオートコンプリートの提案を提供し、単純な自然言語フレーズに基づいて実行可能な命令を提案します。

それは成果でしょうか、それとも弱体化でしょうか? AIコード生成ツールとプログラマーの間の争い

数日前、GitHub は 2,000 人の開発者を対象にアンケートを実施し、コパイロットのタスク時間が半分に短縮され、開発者が仕事に対する全体的な満足度が向上します。

コードのオートコンプリートを超えるのは簡単ではありません

しかし、オートコンプリートを超えたい場合、問題はコンピューターに意図を教えることにあります。ソフトウェア要件は曖昧なことが多く、自然言語は不正確であることで知られています。

英国の人工知能スタートアップ Diffblue は、コードのチェックと修正に AI を活用することに取り組んでおり、共同創設者の 1 人であるピーター シュランメル氏は、英語の文章標準における曖昧さを解決したいと述べています。次に、人間と機械の間の対話など、段階的な改善が必要になります。

これらの問題に対処するために、マイクロソフトの研究者は最近、LLM ベースのコード生成にフィードバック メカニズムを追加して、コードを生成する前にコンピューターがプログラマーに曖昧さを明確にするよう要求することを提案しました。 TiCoder と呼ばれる Microsoft の対話型システムは、「テスト駆動型ユーザー意図形式化」(TDUIF) と呼ばれるものを生成することにより、ユーザー意図を洗練し、形式化します。

TDUIF は、反復フィードバックを使用してプログラマのアルゴリズムの意図を判断し、プログラマが表現した意図と一致するコードを生成しようとします。以下の図は、TDUIF のワークフローを示しています。

それは成果でしょうか、それとも弱体化でしょうか? AIコード生成ツールとプログラマーの間の争い

紙のアドレス: https://arxiv.org/abs/2208.05950

#関連論文によると、TiCoder は、Mostly Basic Programming 問題 (MBPP) ベンチマークで評価した場合に、自動生成コードの精度を 48% から 85% に向上させました。機械生成コードを評価するように設計された MBPP は、初心者レベルのプログラマーが解決できるクラウドソーシングされた約 1,000 の Python プログラミング問題で構成されています。

コード単位は数百行にも及ぶ場合があり、独立して保守および実行できるプログラムの最小部分です。単体テストのスイートは通常、数十の単体テストで構成されており、それぞれの単体テストには 10 ~ 20 行のコードが含まれており、ユニットが期待どおりに動作するかどうかをチェックするため、ユニットを積み重ねたときにプログラムが期待どおりに動作します。

単体テストは、個々の関数をデバッグしたり、コードを手動で変更する際のエラーを検出したりするのに役立ちます。さらに、単体テストはコード単位の仕様として機能し、プログラマーがクリーンでバグのないコードを作成できるようガイドします。単体テストが最初に書かれる真のテスト駆動開発を追求するプログラマーは多くありませんが、単体テストは単体と一緒に書かれることがよくあります。

専門家は信じています: AI コード生成によって人間のプログラマーが職を失うことはありません

2019 年の Diffblue 開発者調査の結果によると、開発者は、AI コード生成のために約 35% を費やしています。本番環境で使用するコードを作成する代わりに、品質管理テストを作成することに時間を費やすことができるため、この部分の作業を自動化すると生産性が大幅に向上します。

同時に、Copilot、CodeWhisperer、およびその他の AI プログラミング アシスタント パッケージを、単体テストを作成するための対話型オートコンプリート ツールとして使用できます。プログラマーはコーディングの提案を受け取り、最も効果的なものを選択します。

今年 2 月、DeepMind は完全に自動化されたコード生成に AlphaCode をさらに使用しました。 AlphaCode は、自然言語命令に基づいて単純なコンピューター プログラムを作成できる大規模な言語モデルです。これは、最初に問題の自然言語記述をエンコードし、次に結果のベクトルを解決に必要なコードにデコードするエンコーダー/デコーダー Transformer アーキテクチャを使用します。

それは成果でしょうか、それとも弱体化でしょうか? AIコード生成ツールとプログラマーの間の争い

#AlphaCode の概要。画像ソース: https://arxiv.org/pdf/2203.07814.pdfモデルは、ビューを生成できるようになるまで、最初に GitHub コード リポジトリでトレーニングされます。それは合理的だと思われます。モデルを微調整するために、DeepMind は 15,000 組の自然言語の問題記述と、以前のプログラミング コンテストで成功したコード ソリューションを使用して、入出力例の専用データセットを作成しました。

AlphaCode をトレーニングして微調整したら、これまでに経験したことのない問題についてテストできます。最後のステップでは、多数のソリューションを生成し、フィルター アルゴリズムを使用して最適なソリューションを選択します。 DeepMind の深層学習チームの責任者、Oriol Vinyals 氏は、言語モデルを 100 万回近くサンプリングして、さまざまなプログラムを作成したと考えています。

サンプル選択プロセスを最適化するために、DeepMind はクラスタリング アルゴリズムを使用してソリューションをグループ化します。クラスタリング プロセスでは、実行可能なソリューションがグループ化される傾向があり、プログラマーが作成したとおりに機能する可能性が高い候補の小さなサブセットを見つけやすくなります。

システムをテストするために、DeepMind は、AlphaCode で作成された 10 個のプログラムを、人気のある Codeforces プラットフォーム上のヒューマン プログラミング コンテストに提出し、ソリューションは上位 54% にランクインしました。

最近のインタビューで、Oriol Vinyals は修辞的に次のように尋ねました。「プログラムを生成するには、コーディングせずに自然言語で書くだけですか。そうすれば、解決策は次のようになります。」ヴィニャールらは、そこに到達するには時間がかかり、おそらく数十年かかるだろうと慎重だ。

Landing AI の創設者兼 CEO で、著名な AI 学者である Andrew Ng 氏は、人間が任意の複雑な関数を書くための要件をコンピュータに伝えられるようになるまでにはまだ遠いと述べました。コンピュータープログラムを作成し、自動的にコーディングを完了します。

しかし、わずか数年で AI コード生成が急速に進歩したことを考えると、最終的には AI システムが自然言語命令に基づいてコードを記述できるようになるのは避けられないようです。そして、手作業でプログラミングするソフトウェア プログラムは、ますます手編みのセーターに似てくるでしょう。

自然言語による命令をコンピューターに提供するには、開発者は論理的および機能的な概念と、物事を構造化する方法を理解する必要があります。開発者が特定のプログラミング言語を学習したり、コンピューター コードを記述したりしない場合でも、プログラミングの基礎を学ぶ必要があります。これにより、より多くのプログラマーがますます多様なソフトウェアを作成できるようになります。

ヴァシ・フィロミン氏は、AIが人間の開発者に取って代わるとは信じていないと述べています。 AI は開発者がしなければならない単純なルーチン作業を排除し、開発者がより価値の高いことに集中できるようにします。

Peter Schrammel 氏も、AI の自動コード生成により、ソフトウェア開発者はより困難でやりがいのあるタスクに集中できるという点に同意しています。ただし、少なくとも機械が理解していることが人間の意図であるかどうかを確認する必要があると付け加えた。

同氏はまた、自動コーディング ツールがソフトウェア開発者に取って代わるため、ソフトウェア開発者が職を失うことはなく、作成すべきソフトウェアは常に増えるだろうとも述べました。

以上がそれは成果でしょうか、それとも弱体化でしょうか? AIコード生成ツールとプログラマーの間の争いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Debian Mail Serverファイアウォールの構成のヒント Debian Mail Serverファイアウォールの構成のヒント Apr 13, 2025 am 11:42 AM

Debian Mail Serverのファイアウォールの構成は、サーバーのセキュリティを確保するための重要なステップです。以下は、iPtablesやFirewalldの使用を含む、一般的に使用されるファイアウォール構成方法です。 iPtablesを使用してファイアウォールを構成してIPTablesをインストールします(まだインストールされていない場合):sudoapt-getupdatesudoapt-getinstalliptablesview現在のiptablesルール:sudoiptables-l configuration

Debian Readdirが他のツールと統合する方法 Debian Readdirが他のツールと統合する方法 Apr 13, 2025 am 09:42 AM

DebianシステムのReadDir関数は、ディレクトリコンテンツの読み取りに使用されるシステムコールであり、Cプログラミングでよく使用されます。この記事では、ReadDirを他のツールと統合して機能を強化する方法について説明します。方法1:C言語プログラムを最初にパイプラインと組み合わせて、cプログラムを作成してreaddir関数を呼び出して結果をinclude#include#include inctargc、char*argv []){dir*dir; structdireant*entry; if(argc!= 2){(argc!= 2){

Debian Readdirによるファイルソートを実装する方法 Debian Readdirによるファイルソートを実装する方法 Apr 13, 2025 am 09:06 AM

Debian Systemsでは、Readdir関数はディレクトリコンテンツを読み取るために使用されますが、それが戻る順序は事前に定義されていません。ディレクトリ内のファイルを並べ替えるには、最初にすべてのファイルを読み取り、QSORT関数を使用してソートする必要があります。次のコードは、debianシステムにreaddirとqsortを使用してディレクトリファイルを並べ替える方法を示しています。

Debian Mail Server SSL証明書のインストール方法 Debian Mail Server SSL証明書のインストール方法 Apr 13, 2025 am 11:39 AM

Debian Mail ServerにSSL証明書をインストールする手順は次のとおりです。1。最初にOpenSSL Toolkitをインストールすると、OpenSSLツールキットがシステムに既にインストールされていることを確認してください。インストールされていない場合は、次のコマンドを使用してインストールできます。sudoapt-getUpdatesudoapt-getInstalopenssl2。秘密キーと証明書のリクエストを生成次に、OpenSSLを使用して2048ビットRSA秘密キーと証明書リクエスト(CSR)を生成します:Openss

Debian OpenSSLでデジタル署名検証を実行する方法 Debian OpenSSLでデジタル署名検証を実行する方法 Apr 13, 2025 am 11:09 AM

Debianシステムでのデジタル署名検証にOpenSSLを使用すると、次の手順に従うことができます。OpenSSL:Debianシステムがインストールされていることを確認してください。インストールされていない場合は、次のコマンドを使用してインストールできます。sudoaptupdatesudoaptinInstallopensslslに公開キーを取得できます。デジタル署名検証には、署名者の公開キーが必要です。通常、公開キーは、public_key.peなどのファイルの形で提供されます

Debian OpenSSLがどのように中間の攻撃を防ぐか Debian OpenSSLがどのように中間の攻撃を防ぐか Apr 13, 2025 am 10:30 AM

Debian Systemsでは、OpenSSLは暗号化、復号化、証明書管理のための重要なライブラリです。中間の攻撃(MITM)を防ぐために、以下の測定値をとることができます。HTTPSを使用する:すべてのネットワーク要求がHTTPの代わりにHTTPSプロトコルを使用していることを確認してください。 HTTPSは、TLS(Transport Layer Security Protocol)を使用して通信データを暗号化し、送信中にデータが盗まれたり改ざんされたりしないようにします。サーバー証明書の確認:クライアントのサーバー証明書を手動で確認して、信頼できることを確認します。サーバーは、urlsessionのデリゲート方法を介して手動で検証できます

Debian Hadoopログ管理を行う方法 Debian Hadoopログ管理を行う方法 Apr 13, 2025 am 10:45 AM

DebianでHadoopログを管理すると、次の手順とベストプラクティスに従うことができます。ログ集約を有効にするログ集約を有効にします。Yarn.log-Aggregation-set yarn-site.xmlファイルでは、ログ集約を有効にします。ログ保持ポリシーの構成:yarn.log-aggregation.retain-secondsを設定して、172800秒(2日)などのログの保持時間を定義します。ログストレージパスを指定:Yarn.Nを介して

Centosシャットダウンコマンドライン Centosシャットダウンコマンドライン Apr 14, 2025 pm 09:12 PM

Centos Shutdownコマンドはシャットダウンし、構文はシャットダウン[オプション]時間[情報]です。オプションは次のとおりです。-hシステムをすぐに停止します。 -pシャットダウン後に電源をオフにします。 -r再起動; -t待機時間。時間は、即時(現在)、数分(分)、または特定の時間(HH:mm)として指定できます。追加の情報をシステムメッセージに表示できます。

See all articles