Agentforce DXとCLIでエージェントをプレビューしてみる
Winter '26 で気になったこちらのpreview機能を使ってみる。
基本的には書いてあることを忠実に設定すれば、問題なく動作した。そんなに罠はない印象。
APIの疎通確認
新しいものを使う前に、そもそもちゃんとAPIが疎通できるかを確認しておく。(久しぶりなので)
接続アプリを作る
「外部クライアントアプリケーション設定」から新規作成する。
最近はこんな設定があったのね、という驚き。

エージェントの「接続」に接続アプリを追加
エージェントビルダーの「接続」から、作成したアプリを選択して設定。
VScodeから接続アプリを認証
これ以降はVScodeの操作。
事前にアプリケーションマネージャーで、前項で作成したアプリを確認し、鍵とシークレットの値をコピペしておくき、下記で認証を通す。
マイドメインは、Sandboxでもマイドメインの設定ページと一致させれば大丈夫。
curl https://マイドメイン/services/oauth2/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=鍵' \
--data-urlencode 'client_secret=シークレット'結果として下記が返ってくればOK。
{"access_token":"長々しいトークン","signature":"FrXMswssZXXXX","token_format":"jwt","scope":"sfap_api chatbot_api api","instance_url":"https://マイドメイン","id":"https://test.salesforce.com/id/00DH10000008kziMAA/005F9000009vWWxIAM","token_type":"Bearer","issued_at":"1757919053677","api_instance_url":"https://api.salesforce.com"}%エージェントの起動
エージェントビルダーで言うと、プレビューを開始するところ。
curl --location -X POST https://api.salesforce.com/einstein/ai-agent/v1/agents/エージェントのId/sessions \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer トークン' \
--data '{
"externalSessionKey": "前のレスポンスのSessionId",
"instanceConfig": {
"endpoint": "https://マイドメイン"
},
"streamingCapabilities": {
"chunkTypes": ["Text"]
},
"bypassUser": true
}'
エージェントに質問する
curl --location 'https://api.salesforce.com/einstein/ai-agent/v1/sessions/前のレスポンスのSessionId/messages' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer トークン' \
--data '{"message": {"sequenceId": 1,"type": "Text","text": "領収書は発行できる?"}}
会話を終了し、疎通確認完了
curl --location --request DELETE 'https://api.salesforce.com/einstein/ai-agent/v1/sessions/前のレスポンスのSessionId' \
--header 'x-session-end-reason: UserRequest' \
--header 'Authorization: Bearerトークン'Agentforce DX
疎通確認が取れたので、ようやく Agentforce DX を使ってみる。これも言われるがままに対応すれば特に問題なし。
「Agentforce DX」をインストール
https://developer.salesforce.com/docs/einstein/genai/guide/agent-dx-preview.html#prerequisites
接続アプリを認証
sf org login web --client-app 接続アプリ名 --username ユーザー名 --client-id 鍵 --scopes "sfap_api chatbot_api refresh_token api web"Agentforce DX が有効化しなかったので、VSCodeは再起動が必要だった。
下部の選択リストでエージェントを選択したら、そのまま会話が開始できた。
この機能も初めて使ったけど、ブラウザでいちいち開くよりはラクかもしれない。

CLIでpreview
ここまできたら、あとはpreviewコマンドを打つだけ。
sf agent preview --client-app 接続アプリ名 --target-org 組織名ターミナルとしてはこのような表示になるらしい。枠で囲われていて意外とわかりやすい。

会話を投げるとこんな感じ。

会話を終了すると、勝手に responses.json と transcript.json が作成された。



Agentforce DX のほうがやりやすいような気もするから、どう使い分けるかは謎。。
Agent Builder上で表示される推論の中身までVSCode上で見られるようになったら便利かも。