GitHubAIツールが効果的なコーディングにどのように役立つか

あなたがプログラマーなら、長いプログラムを書くことに疲れ果てている可能性が高いです(またはそうするでしょう!)そしておそらくあなたは自分自身に疑問に思うでしょう。 ?」

これで、スクリプトをより効果的に作成するのに役立つ人工知能ツールであるGitHubCopilotができました。 GitHubコパイロットは、コード行を提案したり、関数を完成させたりすることができます。

この記事では、GitHubCoPilotとそれがあなたのために何ができるかについてもっと学びます。始めましょう!

GitHub CoPilotとは何ですか、またどのように機能しますか?

GitHubはMicrosoftの子会社であり、OpenAI(AI研究のスタートアップ)と提携してGitHubCopilotを開発しました。 Copilotを拡張機能としてインストールするか、GitHubCodespacesを使用してオンラインで使用できます。 VisualStudioコードでもシームレスに動作します。

AIペアプログラマーであるGitHubCopilotに会いましょう。 https://t.co/eWPueAXTFt pic.twitter.com/NPua5K2vFS

— GitHub(@github) 2021年6月29日

AIは、オープンプラットフォームとGitHubリポジトリで利用可能な数十億のソースコードから学習して、コード行または場合によっては関数全体を提案します。開発者は、開発者のプログラムから学習して、時間の経過とともに精度と精度を向上させるようにCopilotを設計しました。

コパイロットは、前の行、関数名、およびその他の要因に基づいて、プログラムに最適なコードを提案します。 Copilotが行う推奨事項を受け入れるか、Copilotが提案する追加の提案を調査するか、取得したコードに変更を加えるか、完全に無視することができます。それはあなた次第です。

明確にするために、Copilotは単純なオートコンプリートプログラムではなく、プログラム全体を作成するわけでもありません。これは、コンパニオンとして機能し、作業の進行状況を監視し、コーディング時に提案を提供する、コンテキストアウェアツールです。

副操縦士はあなたのために何をしますか?

いいえ、CoPilotはすべての答えを備えた未来のマシンではありません。それはあなたが書いているコードを見て、それが他の何十億ものプログラムから学んだことを思い出し、そしてあなたが次に書くべきものを推薦します。

GitHubによると、CoPilotはさまざまなフレームワークと言語を理解し、うまく機能します。開発者は、GitHubリポジトリからのソースコードだけでなく、いくつかのフレームワークと言語を理解するために学習AIツールをトレーニングしました。

テクニカルプレビューは、Python、JavaScript、TypeScript、Ruby、およびGoでうまく機能することを示しています。

インテリジェントな仮想プログラミングパートナーは、作成したコードからコンテキストを引き出し、プログラムで使用した関数を使用して同等のコードを生成します。それはあなたの意図を理解し、最良のコードを提案しようとします。ただし、提案が常に最適であるとは限りません。

関連: Githubで最初のリポジトリを作成する方法

その提案のあなたの承認と拒否に基づいて、それはあなたと他の何百万もの開発者からあなたのコーディングスタイルにより良く適合することを学びます。特定のプログラムで達成しようとしていることの説明に基づいて、さまざまなコードをまとめます。プログラムに繰り返しフレーズがある場合はコードが自動入力されるため、同じコードを何度も入力する必要がありません。それだけでなく、プログラムが生成する可能性のあるエラーに基づいてテストを推奨することもできます。

コパイロットの発表は開発者を騒がせています。多くの人がAIツールを手に入れて、それが何を提供するのかを知りたがっています。

開発者はコパイロットについて何と言っていますか?

世界中の開発者は、Copilotが物事を簡単にし、多くの時間を節約し、仕事に集中できるようにするだろうと言っています。

開発者は、さまざまなソーシャルメディアプラットフォーム上の新しいAIツールでの経験を共有しています。プライバシーとセキュリティ業界で働いている開発者によると、Copilotの提案は正確であり、明白で反復的なコードに費やす時間を大幅に節約できます。

私は過去2週間、Alphaで#GitHubCopilotをテストしてきました。それが思いついたコード提案のいくつかは不気味に良いです。

これは私が驚くべきことに気付いたいくつかの例を含むスレッドです。時間の経過とともに新しい例で更新されます。 https://t.co/lD5xYEV76Z

—フェロス(@feross) 2021年6月30日

「Copilotは2020年代の技術革新のトップ3の1つです」と、GitHubとOpenAIのCopilotの開発をフォローしているMicrosoftの上級研究者からの一連のツイートで共有しています。

ついに副操縦士について話し合うことに興奮しました!

私はそれをMSR内で何ヶ月も使用し、進化するのを見て、コラボレーションについて話し合いました。

[免責事項:技術は素晴らしい@github / @openaiによるもので、私は情報に基づいたオブザーバーです。]

誇張ではありませんが、コパイロットは2020年代のトップ3の技術開発に参加します https //t.co/aoQMfpSgtT

— Alex Polozov(@Skiminok) 2021年6月29日

開発者は、AIのオートコンプリートが有益であり、ここにとどまると信じています。しかし、彼らは自分たちの仕事のどれだけがCopilotのようなAIツールによって行われるのか疑問に思っています。また、開発者の間では、最終的にはそれらに取って代わる可能性があるという懸念も残っています。

コパイロットは開発者としてあなたに取って代わりますか?

GitHubのCEOであるNatFriedmanは、Copilotは、コードを実装するためのコード完了機能とアイデアを提供する生産性ツールであると述べています。彼は、CopilotのようなAIツールを使用して、ソフトウェア開発が次の生産性変更フェーズに入っていると考えています。フリードマン氏は、コンパイラー、デバッガー、ガベージコレクター、および言語によって、過去に開発者の生産性が向上したと述べています。次に、開発者はコードを改善するためにお互いの作業を共有しました。これでAIを使用してコーディングできますが、問題の説明は常に人間が解決するためのものです。

AIは、プログラムで既に記述した内容に基づいて、パターンマッチングコードを提案できます。ただし、これを効果的かつ正常に使用するには、プログラムのすべての行を理解する必要があります。

開発者としてのあなたの仕事は、コードを開発するだけでなく、解決しようとしている問題の要件と仕様に固有のコードを作成することです。 CopilotのようなAIツールは、自分で行うよりも迅速にコードを開発するのに役立ちます。

ただし、AIツールにプログラムで何を期待するかを伝える必要があります。開発者として、あなたは常にあなたのプログラムを担当しています。これは、電子メール、インスタントメッセージング、会話型AI、および私たちの生活を楽にするすべての技術に似たツールです。

AIはコーディングの未来ですが、AIが完全に支配し、プログラムを独自に設計する時期はまだ遠いです。

CoPilotは開発者を支援します

開発者は常に締め切りに間に合います。コードの行を提案し、繰り返しのコードを自動入力してスケジュールどおりに作業を完了するコーディングコンパニオンよりも優れています。

Copilotは初期段階で最初の約束を示していますが、GitHubでさえその適用性について慎重です。 GitHubによると、CoPilotの提案は、プログラムにとって意味がない、または有益でない場合があります。 Copilotまたはその他のAIツールから取得したコーディングの提案を常にクロスチェック、テスト、および確認する必要があります。

完璧なものはないので、副操縦士が間違いを犯す可能性は常にあります。ただし、AIツールの学習により、開発者はコーディングがはるかに簡単になります。それが長期的に開発者のコ​​ミュニティにどのように影響するかについてコメントするのは非常に早いです。それも危険でしょうか?