GitHubコパイロット:コーディングAI

GitHubコパイロット:コーディングAI

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

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

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

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

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

Meet GitHub Copilot - your AI pair programmer. https://t.co/eWPueAXTFt pic.twitter.com/NPua5K2vFS

— GitHub (@github) June 29, 2021

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

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

GitHubコパイロット:コーディングAI

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

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

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

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

GitHubコパイロット:コーディングAI

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

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

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

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

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

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

世界中の開発者は、Copilotによって作業が簡単になり、多くの時間を節約し、仕事に集中できるようになると述べています。

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

I've been testing #GitHubCopilot in Alpha for the past two weeks. Some of the code suggestions it comes up with are eerily good.

Here's a thread with some examples that I found surprising. Will update with new examples over time. https://t.co/lD5xYEV76Z

— Feross (@feross) June 30, 2021

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

So stoked to finally discuss Copilot!

I've used it inside MSR for months, watched it evolve, and discussed collabs.

[Disclaimer: the tech is by the amazing @github/@openai, I'm an informed observer.]

Not exaggerating, Copilot will be in top-3 tech developments of 2020s 🧵👇 https://t.co/aoQMfpSgtT

— Alex Polozov (@Skiminok) June 29, 2021

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

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

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

GitHubコパイロット:コーディングAI

画像ソース:https://news.ycombinator.com/item?id = 27677110

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

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

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

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

CoPilotは開発者を支援します

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

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

GitHubコパイロット:コーディングAI

画像ソース:https://copilot.github.com/

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


国際プログラマーの日とは何ですか?今年を祝う3つの方法

国際プログラマーの日とは何ですか?今年を祝う3つの方法

国際的なお祝いの日は、社会的問題、歴史的な日、およびそれぞれのキャリアを認識するための良い方法です。国際プログラマーの日は、プログラマーが日常生活を改善するために果たす役割を祝います。私たちが住んでいる文明の世界は、プログラマーの努力の賜物です。

Gitで新しいブランチを作成する方法

Gitで新しいブランチを作成する方法

ブランチは、プログラミング、特にGitのバージョン管理の概念の中心です。このスターター記事では、ブランチとは何か、およびさまざまなツールを使用してブランチを作成する方法について説明します。

UbuntuにNpmとNode.jsをインストールする方法を学ぶ

UbuntuにNpmとNode.jsをインストールする方法を学ぶ

Node.jsは、事実上、オープンソースのクロスプラットフォームJavaScriptランタイム環境です。Node.jsを有効にすると、ブラウザーを開くことを心配することなく、UbuntuマシンでJavaScriptを実行できます。ChromeのV8JavaScriptエンジン上に構築されており、Linuxにさまざまな方法でインストールできます。

Pythonsカレンダーモジュールの使用方法

Pythonsカレンダーモジュールの使用方法

Pythonには、特定の日または月のコードを操作できる組み込みのカレンダーモジュールが用意されています。たとえば、これを使用して、1年のすべての暦月の文字列を出力できます。

9つの最高のオンラインAPIテストツール

9つの最高のオンラインAPIテストツール

API機能のテスト、実行時の動作の評価、セキュリティの検証など、自動化されたAPIテストツールを使用すると、退屈なコードを記述せずに技術を操作できます。プログラマーではないが、プログラミングチームに推奨する前にAPIをテストしたい場合でも、これらは便利です。

Visual Studio 2022と2019:今すぐアップグレードする必要がありますか?説明

Visual Studio 2022と2019:今すぐアップグレードする必要がありますか?説明

今年の初めに、マイクロソフトはVisual Studio2022のプレビューバージョンをワイルドプログラミングの世界にリリースしました。これは良い知らせです!これは非常に人気のあるIDEですが、それが繁栄するDevOpsエコシステムの変化のペースを考えると、調整またはおそらくオーバーホールが必要です。

最初のASP.NETWebアプリケーション:開始方法

最初のASP.NETWebアプリケーション:開始方法

ASP.NETは、Webアプリとサービスを構築するためのMicrosoftの無料のクロスプラットフォームフレームワークです。ASP.NETプラットフォームは、さまざまなアプリケーションの構築に使用されるツール、プログラミング言語、およびライブラリの開発者プラットフォームである.NETの拡張機能です。

JavaScriptのイテレータとジェネレータの概要

JavaScriptのイテレータとジェネレータの概要

2015年以来、EcmaScript6(ES6)はJavaScriptコーディングの実践に多くの進歩をもたらしました。多くの最新の概念がJavaScriptに導入され、コーディングエクスペリエンスが大幅に向上しました。この記事では、JavaScriptのイテレーターとジェネレーターについて学習します。

WordPressの投稿にツイートを埋め込む方法

WordPressの投稿にツイートを埋め込む方法

WordPressの投稿にサードパーティのサービスを埋め込むことは、訪問者の興味を引くための刺激的な方法です。埋め込まれたコンテンツは、スキャンを容易にする視覚的な手がかりも提供します。WordPressにより、このタイプのコンテンツを簡単に追加できるようになりました。

SQLとNoSQL:次のプロジェクトに最適なデータベースは何ですか?

SQLとNoSQL:次のプロジェクトに最適なデータベースは何ですか?

SQLとNoSQL:次のプロジェクトに最適なデータベースは何ですか?

PythonをWindowsのPATH変数に追加する方法

PythonをWindowsのPATH変数に追加する方法

ターミナルからPythonを実行することは避けられないことがよくあります。ただし、PythonをWindows 10に初めてインストールした場合、Windowsターミナルを介して実行できるのは、PythonがWindowsPATH環境変数に追加されている場合のみです。

Pythonをコマンドライン計算機として使用する方法

Pythonをコマンドライン計算機として使用する方法

コンピューターでグラフ電卓を使用できますが、Pythonプログラミング言語インタープリターは卓上電卓を兼ねることができます。公式チュートリアルで言及されているほど、Pythonコミュニティで人気のあるランニングジョークです。Pythonを電卓として使用する方法は次のとおりです。

MongoDBでデータベースとコレクションを作成する方法

MongoDBでデータベースとコレクションを作成する方法

SQLデータベースエンジンはデータをテーブルに編成しますが、MongoDBはそのデータをコレクションに格納します。ただし、従来のエンジンと同様に、データベースという用語を使用して、組織の最高レベルを指します。

レスポンシブウェブデザインの原則

レスポンシブウェブデザインの原則

今日では、ブラウザやデバイスに応じてユーザーインターフェイスを調整するウェブサイトやアプリを作成するのが一般的です。この目標を達成するには、2つのアプローチがあります。1つ目は、デバイスごとに異なるバージョンのWebサイトまたはアプリを作成することです。しかし、それは非効率的であり、予測できないエラーにつながる可能性があります。

npkillを使用してノードモジュールフォルダを削除する方法

npkillを使用してノードモジュールフォルダを削除する方法

Node.jsは、Webブラウザーの外部でJavaScriptを実行できるJavaScriptランタイム環境であり、あらゆる種類のアプリケーションを開発するための一般的な選択肢となっています。その人気の一部は、開発者のエクスペリエンスを容易にするためにそこにある多数のNPMパッケージによるものです。

例で説明されたCSSボックスモデル

例で説明されたCSSボックスモデル

すばらしいWebページのレイアウトを作成する場合は、余白、境界線、パディング、およびコンテンツについて知っておく必要があります。画像であろうとテキストであろうと、Webデザインのすべての要素は、これらのプロパティを持つボックスを使用します。ボックスモデルをいじって、複雑なレイアウトを簡単に作成できます。この記事では、CSSボックスモデルを分析し、これらのプロパティの使用方法を実際の例とともに示します。

HerokuでPythonWebサイトを無料でホストする方法

HerokuでPythonWebサイトを無料でホストする方法

つまり、Pythonを使用して単純なポートフォリオWebサイトを完成させたところですが、無料のホスティングを使用してそれを立ち上げたいと考えています。Herokusの無料ホスティングについて聞いたことがありますが、関連する技術を完全には理解していません。

Python String format()メソッドはどのように機能しますか?10例

Python String format()メソッドはどのように機能しますか?10例

データベースクエリであろうと数学演算の結果であろうと、Python文字列形式の方法は、結果をユーザーに提示するためのより動的で魅力的な方法を提供します。

PythonとJavaScriptを使用してAPIをテストする方法

PythonとJavaScriptを使用してAPIをテストする方法

アプリケーションプログラミングインターフェイス(API)を選択することと、それを使用できるかどうかを決定することの間の細い線です。ほとんどのRESTAPIには汎用アーキテクチャがあり、共通のリクエストパスをスレッド化します。しかし、そこにあるいくつかのAPIは標準から逸脱しています。その結果、それらは使いにくくなります。

国際プログラマーの日とは何ですか?今年を祝う3つの方法

国際プログラマーの日とは何ですか?今年を祝う3つの方法

国際的なお祝いの日は、社会的問題、歴史的な日、およびそれぞれのキャリアを認識するための良い方法です。国際プログラマーの日は、プログラマーが日常生活を改善するために果たす役割を祝います。私たちが住んでいる文明の世界は、プログラマーの努力の賜物です。

GitHubコパイロット:コーディングAI

GitHubコパイロット:コーディングAI

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

Gitで新しいブランチを作成する方法

Gitで新しいブランチを作成する方法

ブランチは、プログラミング、特にGitのバージョン管理の概念の中心です。このスターター記事では、ブランチとは何か、およびさまざまなツールを使用してブランチを作成する方法について説明します。

UbuntuにNpmとNode.jsをインストールする方法を学ぶ

UbuntuにNpmとNode.jsをインストールする方法を学ぶ

Node.jsは、事実上、オープンソースのクロスプラットフォームJavaScriptランタイム環境です。Node.jsを有効にすると、ブラウザーを開くことを心配することなく、UbuntuマシンでJavaScriptを実行できます。ChromeのV8JavaScriptエンジン上に構築されており、Linuxにさまざまな方法でインストールできます。

Pythonsカレンダーモジュールの使用方法

Pythonsカレンダーモジュールの使用方法

Pythonには、特定の日または月のコードを操作できる組み込みのカレンダーモジュールが用意されています。たとえば、これを使用して、1年のすべての暦月の文字列を出力できます。

9つの最高のオンラインAPIテストツール

9つの最高のオンラインAPIテストツール

API機能のテスト、実行時の動作の評価、セキュリティの検証など、自動化されたAPIテストツールを使用すると、退屈なコードを記述せずに技術を操作できます。プログラマーではないが、プログラミングチームに推奨する前にAPIをテストしたい場合でも、これらは便利です。

Visual Studio 2022と2019:今すぐアップグレードする必要がありますか?説明

Visual Studio 2022と2019:今すぐアップグレードする必要がありますか?説明

今年の初めに、マイクロソフトはVisual Studio2022のプレビューバージョンをワイルドプログラミングの世界にリリースしました。これは良い知らせです!これは非常に人気のあるIDEですが、それが繁栄するDevOpsエコシステムの変化のペースを考えると、調整またはおそらくオーバーホールが必要です。

最初のASP.NETWebアプリケーション:開始方法

最初のASP.NETWebアプリケーション:開始方法

ASP.NETは、Webアプリとサービスを構築するためのMicrosoftの無料のクロスプラットフォームフレームワークです。ASP.NETプラットフォームは、さまざまなアプリケーションの構築に使用されるツール、プログラミング言語、およびライブラリの開発者プラットフォームである.NETの拡張機能です。

JavaScriptのイテレータとジェネレータの概要

JavaScriptのイテレータとジェネレータの概要

2015年以来、EcmaScript6(ES6)はJavaScriptコーディングの実践に多くの進歩をもたらしました。多くの最新の概念がJavaScriptに導入され、コーディングエクスペリエンスが大幅に向上しました。この記事では、JavaScriptのイテレーターとジェネレーターについて学習します。

WordPressの投稿にツイートを埋め込む方法

WordPressの投稿にツイートを埋め込む方法

WordPressの投稿にサードパーティのサービスを埋め込むことは、訪問者の興味を引くための刺激的な方法です。埋め込まれたコンテンツは、スキャンを容易にする視覚的な手がかりも提供します。WordPressにより、このタイプのコンテンツを簡単に追加できるようになりました。