「IntelliCode」がさらに進化し、行全体を候補として提案。まるでAIとペアプロしているように
マイクロソフトは、AIによるコーディング支援機能の「IntelliCode」がさらに進化し、コーディング中の行全体を提案できる能力を備えるようになったことを明らかにしました。
下記は「Re-imagining developer productivity with AI-assisted tools」から引用です。
IntelliCode now provides whole-line code completion suggestions mined from the collective intelligence of your trusted developer knowledge bases. This is like having an AI-developer pair-programming with you, providing meaningful, suggestions and whole-line code completions without disrupting your flow.
IntelliCodeは、信頼ある開発者のナレッジベースから抽出された情報を基に、行全体のコード補完を提案するようになりました。これはまるで、AIデベロッパーとペアプログラミングを行っているようなものであり、有益な提案や行全体のコード補完を、作業の流れを邪魔することなく行います。
これまでのIntelliSenseやIntelliCodeは、プログラマがいままさに入力しようとしている変数名やクラス名、メソッドといったものの候補を示すことで、入力の手間を減らすとともにスペルミスなどを減らしてくれるものでした(機能はそれだけではありませんが)。
今回進化されたIntelliCodeでは、ifと入力すると、次に入力すべき条件の全部を候補として示したり、下記のように左辺を入力した途端に右辺全体を候補として提案してくれる能力を備えるようになりました。
こうしたより高度な動作を実現するため、 自然言語を理解し文章を生成する能力を持つGPT-2 transformer言語モデルを採用し、GitHubのトップ3000以上のリポジトリを読み込ませて学習させたと説明されています。
これがどう作用するのか、再び引用します。
Our base model extracts statistical coding patterns and learns the intricacies of programming languages from GitHub repos to assist developers in their coding. Based on code context, as you type, IntelliCode uses that semantic information and sourced patterns to predict the most likely completion in-line with your code.
基本モデルは統計的なコーディングのパターンを抽出し、GitHubリポジトリからプログラミング言語の複雑さを学習して、開発者のコーディングを支援します。IntelliCodeは入力されたコードのコンテキストに基づき、そのセマンティック情報とソースパターンを用いて、コードのインラインで最も可能性の高い補完コードを予測します。
さらにIntelliCodeは機械学習機能が拡張され、プログラマのチーム自身でIntelliCodeを追加学習させることも可能。これによりあまりGitHubのオープンソースソフトウェアのリポジトリでは利用されていないようなチーム特有のフレームワークなどでの精度をあげることができるとのこと。
またこの学習の際にもコードの情報が外部に流出することはないと説明されています。
IntelliCodeは今後どう進化するのか、その方向性は次のように説明されています。
We’re particularly interested in making learning and retrieving typical code snippets whilst learning a new API or re-learning an old one, a lot easier.
私たちが特に興味を持っているのは、典型的なコードスニペットの学習と習得、と同時に、新しいAPIの学習もしくは古いAPIの再学習、これらをさらに容易にすることです。
下記が、「Re-imagining developer productivity with AI-assisted tools」でも紹介された、最新のIntelliCodeの動作の様子です。
関連記事
あわせて読みたい
マイクロソフトが方針転換。Windows 7の2023年までの延長サポート/「Windows Virtual Desktop」正式サービスに/VSCodeがPython対応強化ほか、2019年10月の人気記事
≪前の記事
Google App Engineが「Java 11」サポート開始。Spring Boot、Micronaut、Quarkus、Ktorなどのフレームワークも利用可能