ペアプログラミングからp-AI-rプログラミングへ:KiteがGitHubで訓練されたコード自動補完アシスタントの有料スピンを発表

Table of Contents

ペアプログラミングからp-AI-rプログラミングへ:KiteがGitHubで訓練されたコード自動補完アシスタントの有料スピンを発表

Kite は本日、プログラマーが迅速かつ効率的にコードを作成するのを支援するサブスクリプションベースのコーディング アシスタントをリリースします。

創業者兼CEOのアダム・スミス氏は、サンフランシスコ発の新興企業Kiteが6年以上をかけて、ソースコードの自動補完機能を備えた製品を開発してきたとThe Register紙に語った。その間、KiteはVisual Studio Code、Atom、Sublime、Vimなどのツールと統合し、JavaScriptとPythonをサポートする無料版「Kite Free」で、月間アクティブユーザー約25万人を獲得した。

現在、同社は Kite Pro というプレミアムフレーバーを宣伝しており、月額 19.90 ドル、または 1 年間支払う場合は月額 16.60 ドルかかります。

Kite は、GitHub から約 2,200 万のオープンソース ファイルを取得し、統計モデル ベースのシステムをトレーニングして、入力時にコードを自動的に補完できるようにしました。ソースを書き出すと、このツールは他のプロジェクトで取得したパターンから、ユーザーが何をしているかを予測し、次の部分を提案します。

「幅広く応用でき、役に立つモデルが欲しかったので、幅広いアプリケーションとライブラリを網羅するトレーニングデータを選んだ」とスミス氏は語った。

Kiteのソフトウェアは、スミス氏が「グローバルコード」と呼ぶこのデータセットからのみ学習するため、いくつかの制限があります。「コードベースに固有の複雑なパターンがある場合、それを検出できない可能性があります」と彼は言いました。

Kite Proは様々な機械学習技術を融合しているとスミス氏はThe Register紙に語り、「私たちは常にモデリング手法を進化させています。最初はゲート付きグラフニューラルネットワークを検討しました」と付け加えた。これらのネットワークは、一連のノードとエッジとして表現されるデータのパターンを学習する。これは通常、自然言語処理システムが文中の個々の単語間の関連性を学習・理解するために使用されている。

しかし、AIは進歩し、自然言語であれコードであれ、テキストを理解するためのより優れた技術が生まれています。Kiteのソフトウェアの中核を成すのはアテンションメカニズムです。この技術は、入力プロンプトに基づいてテキストを生成できるトランスフォーマーベースのモデルへの道を開きました。

コーディングをしているロボット

ペアプログラミング?2017年っぽい。ソースコードの行を自動補完してくれるディープラーニングAIボットを試してみてください。

続きを読む

例えば、OpenAIのGPT-2は、冒頭の文章を入力するだけでニュース記事や詩を書くことができます。同様に、Kite Proは、ユーザーが次に何をするか(関数の作成、変数への値の代入、ループの作成など)を予測することでコードの書き方を学習します。ユーザーはコード全体を入力するのではなく、キーを押すだけでKiteがより速くコードを完成させることができます。

「コードベース全体を考えると、何百万行にも及ぶかもしれません。しかし、開発者がコードを書くとき、実際に念頭に置いているのは、現在書いているコードに関連するいくつかの部分だけです。コードベースに関連する部分はごくわずかです」とスミス氏は述べた。

「注意を払うことで、ユーザーが行っていることに関連するコードベースの部分を見つけるのに非常に役立ち、ユーザーが何を書くかを予測するという課題の実現可能性が高まります。」

Kite Proはプロの開発者向けです。ただし、学生は無料でご利用いただけます。現在、プレミアムサブスクリプションサービスはPythonのみをサポートしています。無料版とPro版の違いについてはこちらをご覧ください。一般的に、有料版では1行単位のコード補完や複数行補完、サポートなどが提供されます。

無料版とプロ版のどちらを使用している場合でも、ソフトウェアはコンピューターまたはラップトップ上でローカルに実行され、クラウド サーバーにアクセスする必要はありません。

スミス氏は次に企業をターゲットにしている。「そのためには、さらに多くの機能を追加する必要があります。例えば、企業は学生よりもローカルコードが豊富であることは明らかです。」

ローカルコードは企業固有のものであり、独自の情報が含まれています。現在、Kiteはグローバルコードのみでトレーニングを行っていますが、スミス氏によると、ユーザー独自のコードベースでのトレーニングは将来的に可能になると考えているとのことです。®

Discover More