Agentforceの新しい「Agent Script」と「ハイブリッド推論エンジン」がついにGAとなりました。
従来の推論エンジンから何が進化したのか?開発者体験(DX)がどう変わるのか?気になるところです。今回は、最新のAgentforce DXが可能にしてくれる、VS Code上で完結するエージェントの高速プロトタイプ開発 について取り上げたいと思います。
New ハイブリッド推論エンジン & Agent Script
AIの柔軟な創造性と、ビジネスワークフローに必要な決定論的な厳格性を両立させるのが、新たな ハイブリッド推論エンジン です。そして、そのポテンシャルを最大限引き出すために誕生したのが Agent Script です。
Salesforceデベロッパーブログより
AIエージェント開発の悩みを解決!Agent Scriptとハイブリッド推論のすすめ
開発を加速させる2つのプレビューモード
Agentforce DXを活用することで、VS Code上でエージェントをライブプレビューし動作検証できます。用途に応じて2つのモードが用意されており、どちらもブラウザ不要で動かすことが可能です。
-
シミュレーションモード
- Agentforce Actionの実装前でも、エージェント全体の動作をシミュレート可能
-
ライブテストモード
- 個々のアクションを実際に動作させて動作検証が可能
本記事では、はじめの環境構築〜 シミュレーションモード を使ったプロトタイプ開発を行うまでの手順をご紹介します。
前提
紹介する手順の前提環境、知識についてです。
環境
- OS: Mac
- VS Code: 最新バージョン
- npm: 最新LTSバージョン
想定スキル・ナレッジ
- 基本的なコマンド操作
- npmでのパッケージインストール
- VS Codeの基本的な操作
1. Salesforce開発環境の取得
無償のDeveloper Edition組織を取得し、Agentforceを有効化します。
1-1. Salesforce組織のサインアップ
https://www.salesforce.com/form/developer-signup
にアクセスし、サインアップします。
しばらくするとメールが届くので、パスワードを設定すると利用可能になります。
1-2. Einstein 設定
Salesforceにログインし、ギアアイコン -> 設定 をクリックします。
左上の検索ボックスに Einstein 設定 と入力し、Einstein -> Einstein生成AI -> Einstein設定 を開き、Einstein を有効化をオンにします。
1-3. Agentforce の有効化
左上の検索ボックスに Agentforce と入力し、Einstein -> Einstein生成AI -> Agentforceスタジオ -> Agentforceエージェント を開き、Agentforceをオンにします。
Agentforceスタジオ配下のメニューが表示されない場合は、ブラウザをリロードします
2. Salesforce CLIのセットアップ
Salesforce開発に必要なCLI、Agentforce用プラグインをインストールします。
2-1. Salesforce CLI インストール
npm install @salesforce/cli --global
ここではnpmを使ってインストールします。npm以外でインストールする手段もあります - 詳細
インストールできていることを確認します。
sf --version
@salesforce/cli/2.115.15 darwin-arm64 node-v25.2.1
のようにバージョン情報が表示されることを確認します
2-2. Salesforce CLI - Agentプラグイン インストール
以下コマンドでインストールします。
sf plugins install agent@latest
インストールされたプラグインを確認します。
sf plugins --core
agent 1.26.0
のように、agentというプラグインが入っていることを確認します
3. VS Codeのセットアップ
SalesforceオフィシャルのVS Code拡張機能を2つインストールします。
3-1. Salesforce Extension Pack 拡張機能インストール
VS Codeの拡張機能の検索ボックスに salesforce extension と入力し、Salesforce Extension Pack を見つけてインストールします。
3-2. Agentforce DX 拡張機能インストール
続いて、agentforce と入力し、Agentforce DX を見つけてインストールします。
3-3. VS Code 再起動
拡張機能インストール後、念のためVS Codeを再起動しておきましょう。
4. Salesforceプロジェクト
Salesforceプロジェクトを作成し、その中でAgentforceエージェント開発を始めます。
4-1. Salesforceプロジェクトの作成
任意のディレクトリに移動し、任意の名前でSalesforceプロジェクトを作成します。
sf project generate --name my-first-next-gen-agent
Salesforceプロジェクト名の例:
my-first-next-gen-agent
作成したプロジェクトディレクトリに移動します。
cd my-first-next-gen-agent
4-2. Salesforce組織の接続
任意のエイリアス名で、取得したSalesforce開発環境に接続します。
sf org login web --set-default --alias DevOrg
エイリアス名の例:
DevOrg
ブラウザが立ち上がり、Salesforceログイン画面が開きます。
ユーザー名、パスワード を入力してログインします。
ログイン後、許可をクリックし、ブラウザを閉じます。
4-3. Agent Spec 生成
まずは、エージェントの仕様を定義するファイルを作成します。エージェントの役割、会社情報などの基本的な情報を入れます。
sf agent generate agent-spec --type internal --role "Sales Support" --company-name "Demo Company" --company-description "Provide IT Services" --tone neutral
type:
internalが社内の従業員向けエージェント。customerが社外の顧客向けエージェントを示します。
4-4. Authoring Bundle 生成
Authoring Bundle生成機能は、現在ベータ版での提供です
作成したAgent Specファイルから、Agent Scriptを記述するファイル = Authoring Bundleファイルを生成します。
sf agent generate authoring-bundle --spec specs/agentSpec.yaml --name "MyFirstAgent" --api-name "myFirstAgent"
VS Code コマンドパレットからも実行可
AFDX: Generate Authoring Bundle
4-5. Authoring Bundle の確認・編集
VS Codeを開きます。
code .
Authoring Bundleファイル:
force-app -> main -> default -> aiAuthoringBundles -> myFirstAgent -> myFirstAgent.agent を開きます。以下構造のAgent Scriptで記述されていることを確認します。
Agent Scriptの主な構成
system:
# エージェントの一般的な振る舞い(役割など)を指示
# また、welcome(開始時)とerror(エラー時)のメッセージ定義は必須
config:
# エージェントの表示ラベル、開発者名、デフォルトユーザー、説明文など
# メタデータを設定
variables:
# エージェント全体で使用する変数を定義
# 定義した変数はスクリプト内で @variables.変数名 として参照・更新を行う
language:
# エージェントがサポートする言語(デフォルトのロケールや追加のロケール)を定義
connection:
# 外部チャネル(チャットツールなど)との対話方法を記述
# エスカレーション時のメッセージや、有人対応へのルーティング設定など
start_agent:
# 会話の最初に必ず実行される特別なトピック
# ユーザーの入力を分析し、適切なTopicへルーティングする役割
topic:
# Agentforce Topic、Topic内のAgentforce Action等の定義
Agent Scriptのルールについては、↓のブログで解説してます
Agent Script 書き方ガイド
試しに、Agent Script で記述された言語設定の部分 language > default_locale項目を、日本語を示すjaに変更して保存してみましょう。
language:
default_locale: "ja"
additional_locales: ""
all_additional_locales: False
5. シミュレーションモードでのライブプレビュー
プレビュー機能は、現在ベータ版での提供です
VS Code内で、Agentforceエージェントを動かします。
5-1. エージェントのプレビューを起動
Agentforce DXのアイコン をクリックし、Select agent...から、myFirstAgentを選択します。
Start Simulation ボタンの右側にある 矢印アイコン をクリックし、Simulation が選択されていることを確認してから、Start Simulation をクリックします。
5-2. 会話のシミュレーション
デフォルトで表示される Agent Preview タブにて、プレビュー起動したAgentforceエージェントとの会話を試します。
まだAgent Script部分は言語設定以外デフォルトのままなので、ここでは日本語で会話できることのみを確認します
5-3. エージェントのデバッグ
Agent Tracer タブにて、会話のシミュレーションの過程での、推論の動作、トピック選択、アクションの実行順序、変数のIN/OUTなどが期待どおり行われているか?を確認できます。
6. エージェントの改善
機能を追加したり動作を修正したい場合は、Agent Script を編集するだけで、即座にシミュレーションへ反映可能です。本番稼働では必須の各Agentforce Actionの実装は、シミュレーションモードでは必要ありません。
6-1. Authoring Bundle の編集
これ以降、具体例での手順紹介になります。
例えば、
私の今日の面談予定に基づき、チェックしておくべきニュースを教えて。
と聞いたときに、
- 今日の面談予定の取得
- 取得した面談予定に関連する最新ニュースの取得
- 取得したニュースを教えてくれる
という動作をしてくれる営業支援エージェントを考えてみます。
この場合、例えば、以下のようなアクションが必要になりそうなので、Agent ScriptではAgentforce Actionを定義しますが、本手順においては各Apexコードは実装しません。
例) ユーザーの面談予定を取得するApexアクション
actions:
get_user_events:
description: "ユーザーの面談予定を取得します。"
inputs:
user_id: string
event_at: date
outputs:
events: list[object]
description: "ユーザーの面談予定のリスト。顧客名、顧客の業界、面談が行われる場所、面談時間、人物情報、面談のアジェンダ等の詳細が含まれる"
target: "apex://GetEvents"
例) 最新ニュースを取得するApexアクション
actions:
get_news_from_topic:
description: "企業、業界、人物などのトピックに関する最新ニュースを取得します。各ニュースは、ニュースタイトル、記事コンテンツを含みます。"
inputs:
related_topics: list[string]
description: "取得したいトピック情報(話題、業界、人物、企業、面談場所などに関する自然言語クエリー)のリスト"
outputs:
news_list: list[object]
target: "apex://FetchNews"
今回、公式の Agent Script Recipes に記載のある、BidirectionalNavigationパターンを使用し、ユーザーの面談予定取得、ニュースの取得 をそれぞれ専門Topicで動かし、Topic間を双方向遷移するような構成で、営業ユーザーのフロントとなる営業支援エージェントTopicを考えてみます。
例) 営業支援エージェントTopic
topic sales_agent:
label: "営業支援エージェント"
description: "営業活動をサポートするエージェント"
reasoning:
instructions: ->
| ユーザーの営業活動についてのQA、アドバイスや調査依頼等に対応します。箇条書きを使い、正確に簡潔に回答します。
if not @variables.Events:
| ユーザーの要望に答えるために、ユーザーの営業活動予定の取得が必要な場合、{!@actions.events_manager}を実行します。
if not @variables.NewsList:
| ユーザーの要望に答えるためにニュースの取得が必要な場合、{!@actions.news_analyst}を実行します。
actions:
events_manager: @utils.transition to @topic.events_manager
news_analyst: @utils.transition to @topic.news_analyst
(省略しますが、Agent Scriptのコード編集は、Agentforce Vibes をはじめとしたAIコーディングツールの活用がおすすめです)
6-2. プレビューの更新
Authoring Bundle の編集が完了したら、Stop Simulation の右上にある アイコン をクリックし、Compile & Restart をクリックします。
私の今日の面談予定に基づき、チェックしておくべきニュースを教えて。 と聞いてみると、各Agentforce Actionがダミーのデータを返したと推測される回答が得られました。
本日の面談予定は以下の通りです。株式会社山田商事(製造業/東京都千代田区丸の内) - 面談時間:10:00 - 参加者:山田 太郎(営業部長)、佐藤 花子(人事部長)... 株式会社山田商事が東京都内で新製品の発表会を開催。最新技術を活用した製品で業界関係者から注目されています。製造業界ではAIやIoTなど...
これが想定通りの動き(Topic/Actionの選択、実行順序、各アクションのINPUT/OUTPUTの値)なのかどうかを、Agent Tracerタブで確認します。

期待通りの動作:
ユーザーの面談予定取得→ニュースの取得でTopic実行 になっていることを確認します。
想定通りでない場合、また改善箇所が見えてきた場合は、Authoring Bundle の編集 に戻り、繰り返し改善を図ります。編集 ⇄ 検証 がすべてVS Code内でシームレスに完結することで、高速フィードバックループを実現します。
おわりに
今回、Agentforce DXを用いた開発環境の構築から、VS Code上での高速プロトタイプ開発の流れをご紹介しました。
Apex、フロー、プロンプトテンプレート等のロジック実装を待たずにエージェントの動きをコードで即座に検証できる開発体験は、開発スピード・品質共に劇的に向上することが期待できます。Agent Script Recipesには、豊富なAgent Script実装パターンと、そのサンプルコードもGithubで公開されてます。
是非、お手元の環境で Agent Script での次世代エージェント開発を体感してみてください。
↓こちらも合わせてご覧ください↓












