0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Agent ScriptのIf/Else実装まとめ|Agentforceで確定ロジックを組み込むパターン

0
Posted at

はじめに

Agentforceの新しいBuilderでAgent Scriptを書き始めると、if/elseの構文とサブエージェントへの遷行(トランジション)の使い分けで手が止まることがあります。

本記事では、キャンバスビューの条件ステートメントの構文、変数の型ごとの値の書き方、検索条件やフォローアップアクションとの組み合わせ方を実装観点で整理します。

公式のAgent Script Developer Guideの記法に沿って、確定ロジックとLLM推論を安全に共存させるパターンを押さえておきましょう。

そもそもAgent Scriptって何者?

新しいAgentforce Builderでは、エージェントの動きを「Agent Script」という言語で記述します。

要するに、AIの自由な判断と、人間が決めた確定ルールを1つの台本にまとめられる仕組みのこと。Excelでいうと、セルに文章を書きつつIF関数も混在させられる、そんなイメージに近いです。

Agent Scriptには2つの見た目があります。ブロックで表示される「キャンバスビュー」と、コードで直接書ける「スクリプトビュー」です。

どちらで編集しても中身は同じなので、最初はキャンバスビューだけ触っておけば十分です。慣れてきたら、スクリプトビューをのぞいてみるくらいでちょうどいいと思います。

つまり、キャンバスビューから始めて、慣れたらスクリプトビューを覗く、という理解でOKです!

if/elseの書き方【手順あり】

実際にif/elseを書く手順を見ていきましょう。

  1. Agentforce Studioを開き、対象のエージェントを選択する
  2. エクスプローラーパネルからサブエージェントを選び、キャンバスビューで指示(Instructions)を開く
  3. 指示の入力欄で「/」と入力し、インラインアクションの候補を表示する
  4. 候補一覧から条件ステートメント(if/else)を選択する
  5. 条件に使う変数を「@」で呼び出す。変数名を入力すると候補が出るので、対象の変数を選ぶ
  6. 演算子と比較する値を入力する。値の形式は変数の型によって決まっていて、真偽値ならTrue/False、数値ならそのまま60のような数字、文字列なら"example@salesforce.com"のようにダブルクォートで囲む
  7. 条件が真の場合の処理、偽の場合の処理を、それぞれ自然言語かインラインアクションで記述する
  8. 保存すると、キャンバスビューの内容が自動でスクリプトビュー側にも反映される

正直、7番の「条件が真の場合の処理」を書くところで最初は迷いました。自然言語で書いていいのか、アクションを直接指定すべきなのか、境界線がよく分からなかったんです。実務で使うなら、ここは「重要な分岐は必ずインラインアクションで確定させる」と決めておいた方が安心です。

つまり、キャンバスビューの「/」と「@」さえ覚えれば、条件分岐は組み立てられるということでOKです!

「金額10万円以上ならAへ」を実装するパターン

ここでは実務でよくある「金額が一定額を超えたら必ず別の担当ルートへ回す」というパターンを見てみます。

条件ステートメントの中では、サブエージェントやアクションの参照、アクションの実行、変数の設定、別のサブエージェントへの遷移がまとめて指定できます。

たとえば「注文金額が10万円以上ならエスカレーション用のサブエージェントへ移行し、それ以外はAIの判断に任せる」という指示を、条件ステートメントの中に書きます。

別のサブエージェントへ移す仕組みは「移行(トランジション)」と呼ばれていて、条件が成立した瞬間に、それ以降の推論を待たずに会話をリダイレクトします。

orderAmount という変数が既定値以上なら別のサブエージェントへエスカレーションする指示を入れている

また、推論の中でアクションを実行させたい場合は「推論に使用できるアクション」という設定を使うと、インラインアクションの代わりに「検索条件」(条件を満たしたときだけそのアクションを使えるようにする設定)や「フォローアップアクション」(アクション実行後に次の一手を決める設定)が使えます。

実務で使うなら、金額のようなブレてはいけない基準はすべてインラインアクションか検索条件で確定させて、あいさつや共感の言葉づかいだけAIに任せる、という役割分担がおすすめです。

つまり、「守ってほしいルール」と「会話の空気を読む部分」を分けて書く、という理解でOKです!

ここは注意!つまずきポイント

新しいAgentforce Builderと条件分岐機能は、Enterprise Edition、Performance Edition、Unlimited Edition、Developer Editionで利用できますが、エージェントの種類によって必要なアドオンライセンスが変わるので注意してくださいね!
契約しているエディションで対象のエージェント種別が使えるか、事前に確認しておくと安心です。

また、条件ステートメントで指定する値は、変数の型によって書き方が決まっています。数値のつもりで"60"とダブルクォート付きで書いてしまうと、文字列として扱われてエラーになることがあります。私も最初この型の違いに気づかず、しばらく条件が反応しない原因を探してしまいました。

なお、複数のサブエージェントが連携するマルチエージェントオーケストレーション機能は、今回調べた時点ではベータ機能として扱われています。本番の重要な業務フローに組み込む前に、ベータである点を踏まえて検証環境で十分にテストしておくのがおすすめです。

追加費用については、今回調べた範囲では新Agentforce Builder自体やAgent Scriptの利用に特別な追加課金があるという記載は見つかりませんでした。ただしAgentforceの利用そのものにFlex CreditsやAgentforce関連ライセンスの費用が発生するため、契約内容は営業担当や公式の料金ページで確認してください。

まとめ

今日のポイントをまとめます。

  • Agent Scriptは、自然言語の柔軟さと確定ロジックの信頼性を1つの台本で両立させる仕組み
  • キャンバスビューでは「/」でインラインアクション、「@」で変数などのリソースを呼び出せる
  • 条件ステートメントの値は変数の型によって書式が決まる(Boolean・数値・文字列・リスト・オブジェクト)
  • 金額のような譲れない基準は、AIの判断に任せずインラインアクションや検索条件で確定させるのが安全

新しいAgentforce Builder、最初は少し身構えてしまいますが、一緒に少しずつ慣れていきましょう!

出典:Trailhead: Explore the New Agent Builder


AI×資格学習の情報をnoteで発信しています。

note


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?