自由形式の手順
自由形式の手順
自然言語で記述したタスク固有の指示
概要
自由形式のプロシージャは、1つのタスクを平易で自然な言葉で説明するものです。エージェントは指示を解釈し、状況に合わせて表現や順序を調整します。自由形式のプロシージャでは、ツール(通話終了などのシステムツールを含む)の呼び出し、ナレッジベース文書の検索、他のプロシージャへの連結ができます。
自由形式のプロシージャを使う場合
エージェントが状況に合わせて表現や順序を調整でき、平易な言葉で素早く作成したい場合は、自由形式のプロシージャを使用してください。構造化プロシージャ、ワークフロー、システムプロンプトとの違いについては、プロシージャを使う場合を参照してください。
プロシージャの構成
エディターでの返金プロシージャの例です:

プロシージャは、トリガーとコンテンツという2つの主要部分で構成されます。どちらにも、上のスクリーンショットではレンチアイコン付きのタグとして表示されている、他のリソースへのインライン参照を含められます。各プロシージャには、ダッシュボードに表示される名前もあります。
名前
ダッシュボードでプロシージャを識別するための短いラベルです。名前はLLMに送信されないため、エージェントの動作には影響しません。
トリガー
エージェントがこのプロシージャを使用するタイミングの説明です。例:ユーザーが注文の返金を求めた場合。
トリガーを空にするのは、サブプロシージャを作成する場合だけにしてください。
コンテンツ
Markdownで記述するプロシージャの本文です。コンテンツでは、質問する、注文を検索する、ツールを呼び出す、通話を終了するなど、エージェントが何をすべきかを説明します。順番に実行する番号付きのステップにすることも、状況に応じた一般的なガイダンスにすることもできます。各ステップやガイドラインは、1文(ユーザーに注文IDを尋ねる)でも、何をすべきかとその理由を説明する短い段落でも構いません。
順番に実行するアクションには番号付きステップを、ステップ内の要件や項目には箇条書きを使用してください。
インライン参照
プロシージャでは、さまざまな種類のリソースをインラインで参照できます:
- ツール(例:注文の検索、カードへの請求、通話の終了、人間への転送)
- ナレッジベース文書
- 他のプロシージャ
ステップでエージェントがツール、ナレッジベース文書、または別のプロシージャを使用する必要がある場合は、必ずインライン参照を使用してください。参照するとリソースがプロシージャに自動で追加され、エージェントが使用できるようになります。単なる文章での言及(_ここで計算機ツールを使用する_など)も機能しますが、そのリソースがすでにエージェントに追加されている場合に限ります。
トリガーまたはコンテンツで/を入力し、スラッシュメニューからリソースを選択して参照を挿入します。参照はエディター内でクリック可能なタグとして表示されます。タグをクリックして元のリソースを開き、設定を確認してください。
APIを使用して自由形式のコンテンツを作成する場合は、次の構文で参照を挿入します:
インラインのプロシージャ参照には、同じエージェントのプロシージャを使用する必要があります。エージェントのスコープと複製時の動作については、制限事項を参照してください。
トリガー内の参照を使うと、リソースの出力に基づいてプロシージャを起動できます。たとえば、_get_userがtier「gold」を返した場合_などです。コンテンツ内の参照は、そのステップでリソースを呼び出すか参照するようエージェントに指示します。

参照先のリソースが後で削除された場合や、アカウントがそのリソースへのアクセス権を失った場合、タグは壊れた状態で表示されます。エディター上部のエラーバッジには、これらの参照が表示されます。リソースが存在しなくなった場合は_無効_、リソースは存在するもののアカウントにアクセス権がない場合は_利用不可_と表示されます。バッジを開いて影響を受けるステップを確認し、参照を修正または削除してください。

サブプロシージャ
サブプロシージャはトリガーが空のプロシージャです。これを参照する別のプロシージャからのみ実行できます。
サブプロシージャを使用すると、1つのエージェント内でステップを共有し、同時に使用可能なプロシージャの数を減らせます。入口となるプロシージャにはトリガーを設定し、そのコンテンツから関連するサブプロシージャを参照し、サブプロシージャのトリガーは空のままにします。
エスカレーション用のサブプロシージャには、会話を人間に引き継ぐためのステップをまとめられます。返金およびキャンセルのプロシージャからこれを参照し、トリガーは空のままにします。エージェントはどちらのプロシージャのステップとしてもエスカレーションできますが、それ以外ではサブプロシージャは使用できません。
ドキュメントからのインポート
既存の標準作業手順書(SOP)から作成を始められます。プロシージャ一覧の**+メニューでSOPから作成**を選択し、ファイルをアップロードしてください。
対応形式:PDF、DOCX、TXT、MD、HTML、EPUB。ファイルは20MB以下である必要があります。
インポーターはドキュメントを分析し、最大10件の異なるプロシージャを識別して、それぞれに生成された名前、トリガー、コンテンツを含む下書きを作成します。各下書きを開いて調整してください。ドキュメントに11件以上のSOPが含まれている場合は、アップロード前に小さなファイルに分割してください。

自由形式のプロシージャを管理する
ダッシュボードで作成
APIで管理
ダッシュボードでエージェントを開き、プロシージャを選択します。 **+**を使用して自由形式のプロシージャを作成します。トリガーを追加し、コンテンツエディターで指示を記述してから、エージェントの変更を公開してください。
ベストプラクティス
エージェントは、トリガーから適切なプロシージャを選択し、コンテンツに従う必要があります。プロシージャの数が増えるほど、より高性能なモデルのほうがこれを確実に実行できます。利用可能な選択肢についてはモデルを参照してください。
優れたプロシージャを作成するには、2つの部分を適切に記述する必要があります。適切なタイミングでプロシージャを実行するトリガーと、エージェントが従えるコンテンツです。
トリガーを書く
トリガーは具体的で重複しないようにする
トリガーが重複していたり曖昧だったりすると、誤ったプロシージャが実行されます。_ユーザーがアカウントについて質問した場合_よりも、_ユーザーがサブスクリプションのキャンセルを求めた場合_のように記述してください。
ユーザーの視点で書く
エージェントが何をすべきかではなく、ユーザーが何を求めているかを説明してください。エージェントのアクションとして表現されたトリガーは、信頼性が低くなります。
ユーザーが実際に使う表現を網羅する
トリガーが狭すぎると、ユーザーが異なる言い回しをしたときに実際のリクエストを見逃す可能性があります。ユーザーが使いそうな表現のバリエーションを含めてください。_ユーザーが注文の返金、返品、または返金を求めた場合_は、_ユーザーが返金を要求した場合_よりも確実に実行されます。
コンテンツを書く
命令形を使用する
_顧客の直近の注文を検索する_のように、_顧客の直近の注文を検索する必要があります_ではなく、エージェントへの指示としてステップを記述してください。直接的な指示は、提案よりも従いやすくなります。
そのステップが重要な理由を説明する
理由を示すと、プロシージャに列挙されていないエッジケースにも対応できます。_返金処理には注文IDが必要なため_という短い説明があると、ステップで想定していない状況にもエージェントが対応しやすくなります。1行の説明で同じ目的を達成できる場合は、すべて大文字の「必須」表記や硬直したスクリプトは避けてください。
各プロシージャは1つのタスクに集中させる
プロシージャが無関係な結果へ分岐し始めたら、より小さなプロシージャに分割し、エージェントがそれらを振り分けられるようにしてください。
プロシージャを組み合わせる
共有するステップを専用のプロシージャに抽出する
同じステップが複数のプロシージャに含まれる場合(顧客の本人確認、注文の検索、人間へのエスカレーションなど)、専用のプロシージャに抽出し、必要な各プロシージャからスラッシュメニューを通じて参照してください。共有ステップを1か所で管理すると、それらを使用するすべてのプロシージャの一貫性を保てます。
リアクティブなアクションにはサブプロシージャを使用する
本人確認やエスカレーションなど、別のプロシージャから要求された場合にのみエージェントが実行すべきアクションには、サブプロシージャを使用してください。トリガーがないため、会話開始時に入口となるプロシージャと競合しません。トリガーの選択肢が少ないほど、ルーティングを明確に保てます。
グローバルな動作にはシステムプロンプトを使用する
トーン、アイデンティティ、拒否ポリシー、ガードレールはシステムプロンプトに記述します。タスク固有のステップはプロシージャに記述してください。
プロシージャはエージェントとともにバージョン管理される
プロシージャはエージェント設定の一部であるため、新しいエージェントバージョンを公開すると一緒にスナップショットされます。以前のプロシージャセットにロールバックするには、以前のエージェントバージョンを復元してください。エージェントのバージョニングを参照してください。
既存のドキュメントから作成を始める
チームにすでにSOPがある場合は、インポーターを使用して下書きに変換し、そこから調整してください。