
こんにちは。まのです。
Agentforce向けの新しいスクリプト言語「Agentforce Script」が提供開始されました。これにより、従来は主に自然言語処理で構築していたAgentforceエージェントをスクリプトでも構築できるようになりました。
個人的には、設定画面上で「キャンバス」と「スクリプト」を切り替えることが可能なため、ノーコードで設定できる便利さも残しつつ、Scriptでの制御もかけることができるようになったのが嬉しいです。

今回は「Agentforce Script」を実際に使用してみて、個人的に「ここがすごい!」と思ったポイントを3つ紹介します。
参照:https://www.salesforce.com/agentforce/script/
ポイント1)エージェントやトピックの複製が簡単にできる
地味ですが、とても嬉しかったポイントの一つです!
エージェントを複製したい際、これまでは最初から同じ設定でエージェントを作成する必要があり、少し手間がかかるなと感じていました。
それがAgent Scriptの登場により、スクリプトをコピー&ペーストするだけで複製が可能になりました。他の人にエージェントの設定を共有するときにも便利です。

ポイント2)if文や変数などを活用して明確に挙動を制御できる
Agent Scriptではif文を活用した条件分岐や変数への値の代入を行うことが可能です。
これまで自然言語で指示していたエージェントの動きをスクリプトで定義することで、より明確にエージェントの挙動を制御することができるようになりました。
例:以下のように「変数に値が入っている場合はその値を示し、値が入ってない場合はそれをユーザーに伝える」ようにifを使った条件分岐を記述をした場合、
if @variables.test_var is not None and @variables.test_var != "":
| 変数に入っている値が{!@variables.test_var}であることをユーザーに伝えてください。
else:
| 変数に値が設定されていないことをユーザーに伝えてください。
①変数に値が入っているとき

②変数に値が入っていないとき

上記のように、「変数に値が入っているか」でエージェントの挙動を分岐させることが可能です。
「ユーザーがどのレコードページを開いているかによってエージェントのアクションを分岐させたい」「特定のユーザーIDに対しては挙動を制御したい」など、明確な条件分岐のルールがある場合にとても便利です!
ポイント3)変更管理やデバックがしやすい
エージェントの設定に変更をかけた際、変更前後の設定内容をScriptで比較することができるため、変更箇所の把握やバージョン管理がしやすくなったと感じます。
さらにコメントアウトでメモを残すこともできるので、変更日や詳細を書いておくと後から見返したときにも分かりやすく、エラーが起こってしまった際のデバックもしやすいです。

使ってみた感想・まとめ
個人的には、Agentforce Scriptが使えるようになり、エージェントの実装効率が上がったように感じます。
自然言語だけでは難しかったエージェントの挙動を、より柔軟に制御できるようになったのも、とてもありがたいです。
この記事では紹介しきれなかった「ここがすごい!」ポイントは他にもたくさんありますので、ぜひ実際に使って実感してみてください。