tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Einstein for Developersを試してみました

設定ページから有効化できるようになっていたEinstein for Developersを試してみました。まだベータ版ですが、お試しで使えるみたいです。


有効化ページの説明文を翻訳すると次のように書かれていました。

Einstein for Developers 拡張機能は、VS Code マーケットプレイスからダウンロードできます。 VS Code デスクトップ アプリケーションまたは Code Builder に拡張機能をインストールします。


Einstein for Developers を使用して、Apex クラス、トリガ、または匿名 Apex の自然言語命令から定型コードを生成します。 何を構築するかを説明するプロンプトを入力するだけで、サイドパネルに生成された Apex コードが表示されます。


有効化ボタンをクリックすると規約に同意のメッセージが表示されます。


Einstein for Developers 拡張機能はベータ版であり、独自の判断で試用することを選択できます。 これらの使用には追加の利用規約が適用されます。


利用規約のリンクをクリックすると規約ページにアクセスできます。GitHubページ上に用意されていました。


Salesforce側の設定作業は有効化ボタンをクリックするだけで完了です。有効化後に設定メニューが追加されたりはしませんでした。

Einstein for Developersについて

使い方についてはこちらのサイトが公式サイトのようです。

Einstein for Developers (Beta) | Salesforce for VSCode


現時点でできることについての記載もありました。

Einstein for Developersのセットアップの流れ

大まかな流れは次の3工程です。

1. VS Code に拡張機能をインストールします。
2. Einstein for Developers が有効になっている組織に接続します。
3. 拡張機能を使用して、自然言語命令から Apex コードを生成します。


VS Codeのバージョンについては1.76以降で利用可能と記載もありました。自分の環境のVSCodeのバージョンをチェックしたところ1.82だったので普通にアップデートしていれば1.76以降になっていると思います。

Einstein for Developers 拡張機能をインストール

VSCodeに拡張機能をインストールします。Salesforceプロジェクトの開発環境構築でも拡張機能の「Salesforce Extensions」をインストールしましたが、VSCODEの拡張機能のインストールは簡単に実施できます。VSCode内から検索してインストールする方法とWebサイト上からインストールする方法があります。今回はWebサイトからインストールしました。

Einstein for Developers - Visual Studio Marketplace


Webサイトから進めた場合も最後はVSCodeが開いてそこでインストールを実施します。


拡張子のインストールサイトに前提条件の記載がありました。Salesforce CLIとSalesforce Extensionsも準備しておく必要があるみたいです。

Einstein for Developersの利用方法

Einstein for Developers拡張子をVSCodeにインストールするとメニューにEinsteinアイコンが追加されます。


ここからEinstein for Developersの機能を使うことができます。


基本の使い方は質問ボックスにやりたいことを記載してAskボタンをクリックする感じです。


日本語もサポートしてくれるとのこと。試しに取引先レコードの登録処理を質問してみました。


生成されたコードは「Copy code」のリンクをクリックしてコピーできます。それを対象のApexクラスに貼り付ける感じで利用するようです。タブインデックスがつかないのと余計な改行が末尾に追加されたのが少し気になりますが、今後改善されるかそのぐらいは手修正する感じでも特に問題はないのかも。


また、生成した情報(Prompt)はVSCodeのパネルの「HISTORY&FEEDBACK:Einstein」のメニューに記録が残ります。


ここから生成結果の良い/悪いのフィードバックができます。良い/悪いはサイドバーのところにもありますが、パネル部分はコメントアイコンをクリックすることでテキストメッセージを入力する形でフィードバックできるようになっていました。


いくつか質問してみた結果はこんな感じとなりました。

生成例1


生成例2


生成例3


生成例4

質問テキストはけっこう正しく認識されている感じでそれらしいコードを生成することができました。ただし、SNSで流れてきた情報によると複雑な質問には間違った回答をするケースがけっこうあるみたいなので、あくまで参考情報という使い方になるようです。

スクラッチ組織でEinstein for Developersを利用する

スクラッチ組織で利用するには次の準備が必要となるとのことです。

1. スクラッチ組織作成時のDevHub組織でEinstein for Developersを有効化する。
2. config/project-scratch-def.jsonでEinsteinGPTForDevelopersを宣言する。


詳細はこちら。

コマンドパネルからEinstein for Developersを利用する

サイドバーではなく、コマンドパネルからも利用できます。Macの場合は「Cmdキー + shiftキー + pキー」という感じでコマンドパネルを開けると思いますが、そこで「Einstein: Generate Code」を検索して実行すると処理が開始されます。


サイドバーと同じくやりたいことを入力します。


するとコードが生成されてそのままApexクラスのカーソルの位置に挿入されます。最初はグレーアウト状態ですが、コード部分をクリックすると通常の色に切り替わりました。(グレーアウト状態の場合は、escキーを押すことで挿入をキャンセルできるようです。)


コマンドパネルからの利用はこんな感じで使えました。Apexクラスに直接挿入されるのはコピーの手間がなくて少し便利かもしれませんが、思わぬ形で挿入されてしまうという見方もあるので、サイドバーの方で使って内容を確認してコピーする方が安心かもしれないです。

コードの生成例

どんなことができるかなという応答例についてもいくつかサイトに記載がありました。

Einstein for DevelopersのFAQ

よくある質問集もサイトにまとめられていました。一番気になりそうな「私のコードが開発環境の外で共有されますか」や「コードに機密情報が含まれている場合はどうなりますか?」という質問の回答が記載されています。(内容はChromeの翻訳機能で変換したものです。)


Einstein for Developersを試してみた結果はこんな感じでした。動かしてみるのはすごい簡単でした。複雑なコマンドを覚えたり、ツールをたくさんインストールしたりせずに環境構築ができるのは良かったです。まだベータ版でGAになったときに有償製品になったりするんじゃないかなという気がしますが、開発者向けAI製品を体験できる良い機会になりました。