ローコード アプリの構築体験を究極のものにしようと考えた時、もし、アプリで何をしたいのかを単に文章で記述し、そのアプリが瞬時に作成されるとなるといかがでしょう?

今日、マイクロソフトはその夢に向けて大きな一歩を踏み出しました。

GPT-3と呼ばれる、地球上で最も先進的な自然言語AIモデルの1つを機械学習させ、自然言語入力に基づいてPower Fx を自動的に生成できるようにしました。Satya が本日の Microsoft Build の基調講演で発表したように、GPT-3 やその他のマイクロソフト AI テクノロジを Power Apps Studio に直接追加することで、すべてのアプリ作成者が必要なアプリをすばやく構築し、その構築に向けた概念をより簡単に習得できるようになります。

Power Apps に対して、単純に見たい物を入力すれば良いのです。例えば「愛知県の顧客の中から有効期限が切れたお客さん」と入力するだけで、関数を自動的に生成してくれます(現在は英語のみ対応)候補の中から利用したい関数をクリックするだけでアプリに組み込めます。

それだけではありません。マイクロソフトはPROSE(Program Synthesis using Examples)という別の機械学習を用いて更に、「サンプルでプログラムをする」機能を搭載させます。たとえば、ギャラリーの一覧では、フルネームの頭文字だけを取得したいとした場合に、例えば「Samantha B.」とサンプルを Power Apps に提供するだけで、アイデアの一覧から適切な関数を画面右側に候補を表示してくれます。

Power Fx – は今年の3月に発表した、数百万人が既に持っているExcel のスキルをそのまま活用できる、オープンソースのプログラミング言語ですが、最もPower Fx の経験を持つ人でさえも、複雑な関数について検索したり、勉強したり、デバッグすることもあります。Power Apps に組み込まれた、AIによって提供されるアイデアにより、初心者でも、プロの開発者でも今まで以上に素早くアプリを作ることが可能なのです。

それでは、各AIがどのようにしてアプリ作成をより簡単にさせるか見てみましょう。

自然言語を Power Fx に搭載

GPT-3は高度な自然言語AIモデルであり、1,750億のパラメーターでトレーニングされ、人間のようなテキストを理解して生成できるようにディープラーニングを実装しています。
マイクロソフトは、GPT-3の開発者である
OpenAI と戦略的に協力し、Power Apps などの製品にモデルを適用できるようにしました。

GPT-3を学習させ、Power Fx 数式がどのように構築されるかを理解させることで、自然言語入力におけるモデルの既存の長所を活用し、Power Apps 作成者が友人や同僚などへ話すのと同じように説明するだけで、正しい数式とロジックを記述できるようになります。

たとえば、アプリのギャラリーに対して、「注文情報」というデータを並べ替えて、購入日で並べ替えられたベビーカーの注文を10個表示し、最新のものを一番上に表示したいとします。複雑な数式を覚えて書く代わりに、自然言語で以下のように入力するだけで済みます。

入力した内容

AIが自動生成した結果

Show 10 orders that have “stroller” in the product name and sort by purchase date with newest on the top

日本語訳:注文情報から stroller が商品名に含まれて最新の購入日から順に10件だけ表示

FirstN(Sort(Search(‘BC Orders’, “stroller”, “aib_productname”), ‘Purchase Date’, Descending)

テーブルやコントロールなど、アプリに配置された内容に基づいて、Power Appsは、選択できる最も関連性の高いPower Fx数式を1つまたはいくつか生成し、数式の構文にふさわしくない結果を自動的に事前に除外し、 使用可能な式を選択できます。 とても簡単ですよね?

サンプルからプログラミング

サンプルからのプログラミング(PBE – Programming by examples)は、ユーザーが入出力の例から関数を作成できるようにするAIの最新の技術です。 AIを利用したPBEを使用し、元の値にパターンや数式を適用することで、ギャラリーやデータテーブル内のデータを簡単に管理および操作できます。 ユーザーは、複雑な式を適用する代わりに、サンプルをを提供することで候補を表示できます。 データが適切にフォーマットされている場合は、1つの例で候補を表示できます。 そうでない場合、ユーザーはより多くの例を使用してモデルを学習させられます。

例えば、発注管理アプリで表示したい顧客の名前を姓名のフルネームではなく、名前と姓の頭文字だけを表示させたいとします。例えば、John Smith ではなく、John S. と。今回の新機能により、関数を入力することなく、サンプルのデータを入力することで自動で関数が生成され、より素早く、より簡単に構築できるようになるのです。

サンプ

AIが生成した関数

John S. Concatenate(Text(First(Split(ThisItem.’Account Name’, ” “)).Result), ” “, Left(Text(Last(Split(ThisItem.’Account Name’, ” “)).Result), 1))

責任のあるAI実装へのコミットメント

今回のような機能を有効化するためには、Power Apps はGPT-3(Generative Pre-trained Transformer 3)と PROSE SDK を活用しました。これは、Azureでの最初のスーパーコンピューターの共同開発から新しいAIテクノロジーのテストと商品化まで、AIの進化を加速するための Microsoft と OpenAI との戦略的コラボレーションの一部です。 PROSE の研究およびエンジニアリングチームは
Microsoft Research の一部であり、プログラム合成(例と自然言語によるプログラミング)用のAPIを開発し、実際の製品に組み込んでいます。 PROSEは、Power BI、Excel、および Visual Studio にすでに統合されています。

AI を搭載したアプリ開発を始めよう

2021年6月からプレビュー機能として、Power Apps のギャラリーとデータテーブルで利用できるようになります。最初の段階では、この機能は
Search()、Sort()、SortByColumns()、Filter()、FirstN()、LastN() 関数で利用可能となる予定です。よりシンプルで明確な内容にすることで、結果もより精度の高い物となります。例えば、実際に利用したい列名やテーブル名を入力する方が、より的確な結果が得られるでしょう。この機能にはIntellisenseも組み込まれるため、入力するにつれてテーブル名や列名、パーツの名前などを候補として表示し、タイピングエラーをなくしますプレビューでは、この機能はNorth Americaリージョンで英語のみサポートしますが、今後より多くの地域でも利用できるようにする予定です。

全ての開発者がより良いアプリを作れるように

アプリを強力にするために、多くの場合、作成者は Excel のような数式バーで Power Fx 数式を利用します。マイクロソフトの目標は、すべての人に向けて、アプリ開発を民主化することです。Excel に精通している人なら誰でも、すぐに Power Apps と Power Fx を使用してすばらしいアプリを作成できますが、作成者は正しい関数と構文を見つけて数式を改良することに時間を費やしていることがあります。場合によっては、特に複雑な式の場合、関数の設定と調整が面倒になることもあり、すべての作成者がより戦略的で付加価値のあるタスクに時間を費やす可能性がありますが、AIを活用したアプリ開発により、作成者はアプリ開発の取り組みを加速させ、より複雑なソリューションを構築し、より生産的に時間を費やせるようにするのになるのです。

この取り組みは、ほんの始まりに過ぎません。 Power Apps と Microsoft Power Platform 全体でAIを利用したアプリ開発の使用を拡大するにつれ、すべての開発者に強化された直感的で加速されたエクスペリエンスを推進する方法に投資を続け、最高の開発者をさらに向上させます。