検索
ホームページテクノロジー周辺機器IT業界Github Copilotとは何ですか?すべての人のためのAIペアプログラマー

Github Copilot:AIプログラミングパートナー、効率を向上させるための強力なツール

What is GitHub Copilot? An AI Pair Programmer for Everyone

コアポイント:

  • Github Copilotは、コードコンテキストとユーザー注釈に基づいて完全なコード提案を提供し、開発効率を大幅に改善する強力なAIアシストプログラミングツールです。
  • Copilotは、強力なCodex AIシステム(GPT-3モデル)に基づいて、GithubとOpenaiと共同で開発され、GitHubのパブリックコードの数十億行からのトレーニングデータを提供しています。
  • 現在、Copilotは、Python、JavaScript、Rubyなどの言語を適切に提供しています。
  • Copilotはプログラマーを置き換えることではなく、プログラマーが繰り返しタスクを完了するのを支援し、複雑な問題の解決策を提供します。
  • 公開GithubコードでのCopilotのトレーニングは、商用AI製品でのパブリックコードの使用に関する倫理的および著作権の問題を提起します。

プログラマーの作業の大部分は、コードの作成に費やされています。コードエディターなどのツールは、構文のヒント、コードスニペット、デバッグの提案などのヘルプを提供できます。しかし、人工知能(AI)を活用して、より多くのコードを書くのに役立つツールがある場合はどうなりますか?それがGithub Copilotが目指していることです。

最近Twitterを閲覧していて、公式のGithubアカウントが投稿したこのツイートを見ました:

Github Copilot -AIプログラミングパートナーに会います。 [link] [picture]

- github(@github)2021年6月29日

私は、AIがコードを書くのを支援するというアイデアに驚いた(すべての重い持ち上げを行うことさえ)ので、Github Copilotページを訪れました。

すべてをスキップすると、ページの下部に直接移動してテスト方法を見つけます。 GitHub Copilot Technologyのプレビューに登録するようユーザーに呼びかけるバナーを見ました。

What is GitHub Copilot? An AI Pair Programmer for Everyone

数日(または数週間)待った後、私は技術プレビューにアクセスしましたが、今ではAIを書くことができます。

github copilotとは何か、私の経験、それがあなたにどのように影響するか、またはなぜそうでないのかを学ぶために読み続けてください。

copilotとは何ですか?

簡単に言えば、Github Copilotは、編集しているファイルのコメントとコンテキストに基づいてコード提案を提供するAIツールです。

copilotは、GithubとOpenai(Microsoftによって強くサポートされている)のコラボレーションの結果です。 GPT-3モデルに基づいたCodexと呼ばれる新しいAIシステムを搭載しています。

GPT-3は、単純なプロンプトに基づいてテキストシーケンスを生成できる言語モデルである生成事前処理コンバーターの第3世代を表します。 Codexはこのモデルから派生しており、テキストだけでなく、最も人気のある言語の一部でもコードを生成できます。

Copilotは、GitHub上の公開されているリポジトリから数十億行のコードでトレーニングされているため、コードがこのAIツールをある程度改善した可能性があります(後で進みます)。

ほとんどのプログラミング言語をサポートしていますが、現在、Python、JavaScript、TypeScript、Ruby、およびGoで最適に機能しています。

Github Copilotがどのように機能し、現在何ができるかを見てみましょう。

github copilot practical

co操縦士の設置は非常に簡単です。テクノロジーのプレビューにアクセスできる場合は、[拡張機能]タブでVSコード拡張子を検索してアクティブにするだけです。

What is GitHub Copilot? An AI Pair Programmer for Everyone

その後、

GitHubアカウントにログインする必要があります。これにより、Tech Previewにアクセスできるかどうかを確認できます。

現時点でcopilotを使用する唯一の方法は、VSコードにあります。これは、Copilotのページに応じてしばらく続く場合があります。

次の例のほとんどは、Pythonを使用します。これは、このAIツールが取り扱いに非常に優れている言語の1つであるためです。

コードの提案がどのように機能するか

github copilot編集中のファイルのコンテキストに基づいて複数の提案を生成します。ファイルに書いたコメントと以前に書いたコードに基づいて提案を提供します。

Copilotは、コードの提案を提供した後に使用するように促します。データセットの平均値を計算する関数を作成して、カピロットをテストしましょう。 Copilotのコメントと関数名のみを提供します。

What is GitHub Copilot? An AI Pair Programmer for Everyone

ご覧のとおり、灰色のテキストはcopilotによって提案されています。tabキーを押して受け入れることができます。しかし、私が最初の提案が気に入らない場合は、ctrl ]を使用して、より多くの提案を閲覧するか、ctrlreturnサイドバー複数のソリューションを表示するためのサイドバー。

What is GitHub Copilot? An AI Pair Programmer for Everyone

印象的ですね。しかし、別の課題を設定しましょう。これで、Copilotは、ユーザーがスペース分離の数値を入力できるようにする主な関数を作成する必要があります。これらの数値を分割し、結果リストをcompute_average関数に渡してから、結果を印刷する必要があります。

What is GitHub Copilot? An AI Pair Programmer for Everyone

最後に、copilotに、実行エントリポイント__name__ == '__main__'を使用してメイン関数を呼び出すように依頼します。

What is GitHub Copilot? An AI Pair Programmer for Everyone

これは、Github Copilotが私がそれを与えるコマンドに基づいて機能的なPythonスクリプトを書く方法です。もちろん、コードは完璧ではありません。たとえば、compute_average関数はsum(dataset) / len(dataset)に簡素化できますが、全体的な結果はかなり良好です。

Copilotを使用するためのアイデア

copilotは非常に興味深いツールです。一見すると、コードを書くのはとても楽しかったし、テストに何時間も費やしました。

エンコードに数日を費やすと、慣れます。場合によっては、ドキュメントの作成や新しいテクノロジーの使用を開始するなど、本当に便利です。

ただし、完璧ではなく、以下にプログラミングプロジェクトを構築するときに存在する可能性のある問題をリストしています。

コードの完了が遅い

現在(Copilotはまだ技術的なプレビュー段階にあることを忘れないでください)、コードの完了は少し不器用になる可能性があります。

特にラインごとの提案では、Copilotがそれを示す前に解決策を入力することができました(平均タイピング速度は1分あたり48ワードであり、他の開発者と比較しては速すぎません)。

これは、インターネットから提案を取得し、何らかの遅延を引き起こす可能性があるため、理解できます。もちろん、それはあなたのインターネットの速度に依存します。

さらに、Copilotは通常、より広い完了を提供します。これは、上記のテストで示されているように、単純な関数方法が示唆するよりも多くのリソースを必要とします(Copilotが配置されているサーバー上)。

ワークフローの中断

これらの初期段階では、重要なプロジェクトを構築するときに使用するツールではありません。

もちろん、Copilotがいつ到着することを提案するかはわかりません。到着すると、AutoCompleteに気を取られるため、ワークフローを中断できます。

私に提案するコードのすべての部分を見るのは面倒なので、私はしばしばこれに遭遇します。幸いなことに、Nat Friedman(GithubのCEO)はTwitterでこれを解決し、Copilotはコード提案を生成しているかどうかを示すUIを持っているかもしれません。

提案されたコードにはエラーがあります

時々、Copilotの提案は機能しません。 Github Copilotページで確認したように、最高のコード完了を提供することが最善ですが、それはCopilotが提供するコードのすべてのスニペットが完全に機能することを意味しません。

Tech Previewにアクセスできるか、将来の読者であるかにかかわらず、Copilotを最大限に活用するために、最高のドキュメント文字列と関数名(上記のコードスニペットと同様)を提供する必要があります。

さらに、Copilotは露出したGithubコードベースをトレーニングに使用するため、古いライブラリまたはモジュールのスニペットを使用することをお勧めします。

依存関係は時間の経過とともに発生する可能性があります

copilotは非常に強力なツールですが、時間が経つにつれてそれに頼ることができます。

エディターにスタックオーバーフロークライアントを直接入れるようなものです。クライアントは、コードを理解し、可能な限り10のソリューションを提供しようとしています。

誤解しないでください。それは素晴らしいことであり、時間が経つにつれて業界で最も使用されているツールの1つになるかもしれませんが、時間が経つにつれて、それに大きく依存する問題になる可能性があります。この少しの詳細は、Copilotが提供するいくつかの結果が予想どおりに機能しない可能性があるという事実と組み合わされています...

copilotは、あなたが理解できないかもしれないというコードを提案します

前のコードの例のいくつかに示されているように、copilotは大量のコードを示唆し、それが何をしているのかを理解するのは必ずしも容易ではありません。

Copilotに重い仕事をさせてもらうのは魅力的です。これは、初心者(および高度な開発者)の学習プロセスに影響を与える可能性があります。ほとんどの場合、コーディングの最も重要なことはエラー除外であり、Copilotが提供するコードの完了はこのスキルの開発に影響を与える可能性があります。

これを避けるために、copilotが提案したコードを必ずチェックして、それが何をしているのかを理解してください。

copilotは、多くの間違いを持つまったく新しいツールです。 Github Copilotのディスカッションページにいくつかの投稿を作成しました(テクニカルプレビューバージョンのユーザーが利用できます)、コミュニティからフィードバックを受け取りました。

このツールは、公式にリリースされる前にこれらの問題のほとんどを解決すると考えています。

copilotの訓練をめぐる論争

私たち全員が知っているように、Copilotは公開Githubコードベースで訓練されており、コミュニティからいくつかの反応を引き起こしています。無料でオープンソースコードが副操縦士を訓練するために使用されるため、一部の人々は怒っています。

ご存知のように、ほとんどのオープンソースライセンス(GNU、BSD、Apacheなど)を使用すると、ソフトウェアを使用、変更、配布できます。唯一の条件は同じライセンスを使用することです。ただし、Copilotは商業製品になるように設計されています。

Creative Commonsの下で、公開データを使用してAIモデルをトレーニングしても、少なくともCCライセンスの場合は、デフォルトで著作権を侵害しません。ナット・フリードマンはまた、このトピックについてTwitterスレッドで話しました:

一般的に言えば:(1)パブリックデータでのMLシステムのトレーニングは合理的な使用です(2)出力は、コンパイラのようにオペレーターに属します。

知的財産と人工知能は、今後数年間で世界中の興味深い政策議論のトピックになると予想しており、私たちは参加したいと思っています!

- ナットフリードマン(@natfriedman)2021年6月29日

copilot(ページで主張するように)は単なるコードシンセサイザーであるため、トレーニングセットから文字通りの提案を抽出するのは本当に奇妙です。

このツールはまだ技術的なプレビュー段階にあります。つまり、GitHubコードベースから個人データを出力する可能性がありますが、この問題は公式にリリースされる前に解決されると予想できます。

別のAIコード完了ツールであるTabnineもGitHubのオープンソースコードを使用してトレーニングされていることを忘れないでください。これは何度か発生しました。

要約、一般に、AIモデルはパブリックデータを使用してトレーニングされると考えられています。しかし、この慣行に関する倫理的な問題は、今後数年間で強力な議論のトピックになります。

github copilotをトレーニングしていますか?

Github Copilotは常にコードスタイルを学習しており、ニーズを満たす準備ができています。ただし、他のユーザーの提案としてプライベートコードを共有することはありません。これは非常に重要だと思います。これは、VSコードに機密情報を直接保存する構成ファイルを編集することがあります。これらのファイルが他のファイルと共有されるとひどいことです。

一方、他のAIモデルと同様に、Copilotはユーザーから学び、提案の受け入れや拒否などの特定の操作にテレメトリデータがあることがよく知られています。興味がある場合は、Copilot Telemetryページを必ずチェックしてください。

Copilotは開発者に取って代わりますか?

現在、Copilotは主張するとおりです。開発者のAIアシスタントです。少なくとも短期的または中期的に開発者に取って代わるとは思わない。

現実世界の問題を理解し、ソリューションを計画し、それを構築し、世界を示すことはできません。開発者(および人間)が完了するのが得意なタスクです。

たぶん、将来的には、Github Copilotのようなツールは、プログラミング業界のゲームを変えます。仕事を盗むのではなく、開発者の生産性を向上させることで変化します。前世紀(コードエディター、デバッグツールなど)から開発者エクスペリエンスを改善しており、AIテクノロジーの台頭により、より多くのツールを作成することを楽しみにしています。

人間が月に上陸する前に、「コンピューター」は数学的な手術を手動で解決するのが非常に得意な人たちにとって私たちの名前だったことを思い出してください。今日私たちが知っているように、コンピューターは数え切れないほどの仕事を破壊しましたが、新しい雇用も生み出し、最終的には世界最大の産業の1つを生み出しています。

copilot

の代替案

現在、Copilotはユニークな技術です。ただし、優れたAI完了システムのみが必要な場合は、他にもいくつかのオプションがあります。

Copilotはまだ公開されていないため、お気に入りの言語でコーディングするには、より成熟した製品が必要になる場合があります。

一方、コーディングを学習し始めたばかりの場合は、コードロジックを実装せずに役立つため、これらの代替案を使用することを強くお勧めします。より多くの経験があると、CopilotをAIプログラミングパートナーとして使用できます。

intellisense

あなたがVSコードユーザーの場合、初日からIntellisenseを使用している可能性があります。これは、VSコードのデフォルトのコード完了システムであり、使用しているプログラミング言語ごとにサポートをインストールできます。必要なのは、[拡張機能]タブを起動し、サポートされている言語を検索することです。

kite

Kiteは、ほとんどすべての人気のあるコードエディターにインストールできるAIコード完了サービスです。ほとんどの場合、十分な無料プランを提供し、ブラウザを起動せずにPythonドキュメントを表示できる完全に機能するコピー(GitHub Copilotとは異なり)タブもあります。

残念ながら、Kiteの主な目標はPythonなので、決定を下す前にTabnineをチェックする価値があります。

tabnine

Tabnine(以前はCodotaとして知られていました)は、何百万人もの開発者が使用する別のAI完了ツールです。現在、30以上の言語をサポートし、15のIDEにインストールできます。

興味深いことに、TabnineはGitHubで利用可能なパブリックコードを使用してトレーニングされています。これは、GPT-2(GPT-3の以前のバージョン)を使用してコード完了を生成します。 Copilotの技術的なプレビューにアクセスできない場合、Tabnineは良い選択肢かもしれません。

これらの自動補完システムは、マシンで(少なくとも無料バージョン)に実行する必要があることに注意することが重要です。つまり、Github Copilotよりも多くのシステムリソースを消費することを意味します。 Copilotは、リモートサーバーからすべてのコード提案を取得することを忘れないでください。

結論

AIツールがコードを生成するのを見るのは本当に印象的です。 GitHubは、プログラマーを置き換えることではなく、特に機能やクラスの優れたドキュメント文字列を作成するなど、繰り返しエンコードタスクでコーディング効率を改善するのに役立つことを目的としています。

私はしばらくの間copまたはcopまたは全体的に使用した後、いくつかの問題に気付きましたが、全体的には良好な(ただし完璧ではない)コードの提案を提供します。いくつかの一般的なコードの問題の解決策をテストしましたが、結果に非常に満足していました。それを念頭に置いて、上記のように理由で完全に初心者がコピロットを使用すべきではないと思います。

このプロジェクトは非常に新しいため、重要なプロジェクトを構築するときは理想的なパートナーではありませんが、将来的には最も一般的に使用されるコーディングツールの1つになる可能性があります。

「AIプログラミングパートナー」の声明は現実ではないかもしれませんが、将来実現すると思います。

最後に、私はあなたに、Copilotが私がこの結論を書くのを助けていることを知ってほしい。

What is GitHub Copilot? An AI Pair Programmer for Everyone

Github Copilot(FAQ)

についてのFAQ

(FAQパーツは元のコンテンツと高度に複製されているため、ここでは省略されています。冗長性を回避するためにコアポイントを維持してください。)

要するに、この擬似オリジナルの記事は、元のテキストを書き直して、その表現をより滑らかで自然にします擬似原産性の目的が達成されました。

以上がGithub Copilotとは何ですか?すべての人のためのAIペアプログラマーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
AWS ECSとLambdaを備えたサーバーレス画像処理パイプラインAWS ECSとLambdaを備えたサーバーレス画像処理パイプラインApr 18, 2025 am 08:28 AM

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

CNCF ARM64パイロット:インパクトと洞察CNCF ARM64パイロット:インパクトと洞察Apr 15, 2025 am 08:27 AM

このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

GOでネットワークの脆弱性スキャナーを構築しますGOでネットワークの脆弱性スキャナーを構築しますApr 01, 2025 am 08:27 AM

このGOベースのネットワーク脆弱性スキャナーは、潜在的なセキュリティの弱点を効率的に識別します。 Goの同時機能機能を速度で活用し、サービスの検出と脆弱性のマッチングが含まれます。その能力と倫理を探りましょう

2025年のトップ10のベスト無料バックリンクチェッカーツール2025年のトップ10のベスト無料バックリンクチェッカーツールMar 21, 2025 am 08:28 AM

ウェブサイトの構築は最初のステップに過ぎません:SEOとバックリンクの重要性 ウェブサイトを構築することは、それを貴重なマーケティング資産に変換するための最初のステップにすぎません。検索エンジンでのWebサイトの可視性を向上させ、潜在的な顧客を引き付けるために、SEO最適化を行う必要があります。バックリンクは、ウェブサイトのランキングを改善するための鍵であり、Googleや他の検索エンジンにWebサイトの権限と信頼性を示しています。 すべてのバックリンクが有益であるわけではありません:有害なリンクを特定して回避する すべてのバックリンクが有益であるわけではありません。有害なリンクはあなたのランキングに害を及ぼす可能性があります。優れた無料のバックリンクチェックツールは、ウェブサイトへのリンクのソースを監視し、有害なリンクを思い出させます。さらに、競合他社のリンク戦略を分析し、それらから学ぶこともできます。 無料のバックリンクチェックツール:SEOインテリジェンスオフィサー

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版

SublimeText3 Mac版

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