メインコンテンツにスキップ

Fin手順の構築

ステップ、ツール、ガイダンスを使って構造化され信頼できるFin手順を作成する方法。

Fin Proceduresは、複雑な問い合わせを処理する際にFinを導く明確で繰り返し可能なフローを設計できます。Stepsで構造を定義し、ToolsでFinの能力を拡張し、Guidanceで動作を形作ります。

情報収集、分岐ロジック、外部システムへの接続、チームメンバーへの引き継ぎなど、Finが会話を開始から終了までどのように処理するかを完全にコントロールできます。

注意:Proceduresを作成するには「can manage workspace data」の権限が必要です。

ヒント:コミュニティエキスパートやIntercomソリューションアーキテクトとProcedures Meetup Office Hoursでつながりましょう。隔週開催のこのセッションでは、Fin ProceduresやData connectorsの設定と最適化を支援する実践的なリアルタイムサポートとライブQ&Aを提供します。


始める

新しいFin Procedureを作成するには、ワークスペースのFin AI Agent > Train > Proceduresに移動します。+ New procedureをクリックし、希望の作成方法を選択してください。

オプション1:AIに手順を作成させる

すでにプロセスが頭にあるか文書化されている場合、これが最速の方法です。

  1. Let AI draft your procedureを選択します。

  2. 開始点を選択してください:

    • プロセスを説明する:自然言語でプロセスを書き、既存のステップバイステップの指示や標準作業手順書(SOP)をテキストボックスに直接貼り付けます。Finが自動的に適切な手順形式に構成します。含めるattributesData Connectorsを選択してください。すべてを渡すのではなく特定のコネクターを選べます。attributesは単なるプレースホルダーではなくコンテキストとして機能します。

    • テンプレートを選択する:業界別テンプレート(例:SaaS、Ecommerce、Fintech、Gaming)を選び、「サブスクリプションのキャンセルまたは一時停止」などの一般的なシナリオを選択します。含めるattributesとData Connectorsを選択してください。すべてを渡すのではなく特定のコネクターを選べます。attributesは単なるプレースホルダーではなくコンテキストとして機能します。

  3. Continueをクリックします。Finは入力内容を分析し、過去の顧客との会話既存のドキュメント、およびData Connectorsを検索してドラフトをワークスペースのコンテキストに基づいて作成します。

  4. Finが特定のロジックや指示を具体化できるように、明確化の質問に答えてください。これらは任意ですが、提供するとより正確なドラフトが得られます。

  5. Finがドラフトを生成すると、フィードバックモーダルが表示されます。Keepを選択してドラフトを承認、Clearで破棄してやり直し、またはTry againで再生成します。

ヒント:すでにステップバイステップの指示や文書化されたプロセスがある場合は、オプション1:AIに手順を作成させるを使用してください。既存の指示を貼り付けるだけで、Finが適切な手順形式に構成します。各ステップを手動でフォーマットする必要はありません。使用例を先にドラフトして、ライブ前に必要なData Connectorsを特定することもできます。

オプション2:ゼロから作成する

手動でProcedureを作成したい場合にこの方法を使います。

  1. Create from scratchを選択します。

  2. Procedureに名前を付け、エディターに入り手動でステップを追加し始めます。

ヒント:最初のFin Procedureを作成するためのクイックスタートガイドをお読みください。

FinにこのProcedureを使うタイミングを伝える

エディターの上部にWhen to use this procedureセクションがあります。これはFinにこのProcedureをいつ使うか正確に伝えるために重要です。Finが意図した時だけ起動するように、明確なトリガーロジックと高品質な会話例を提供する必要があります。これら2つの要素が連携して信頼性を高め、誤検知を減らします。

1. 「When to use this Procedure」ロジックを書く

このProcedureを開始すべき(および開始すべきでない)正確なタイミングを説明してください。強力なトリガーは具体的な条件と除外を含みます。

高品質なトリガーロジックの例:

このProcedureを起動するタイミング:顧客がソフトウェアが正しく動作しない、または予期しない動作をしていると報告したときに起動します。

含む条件(起動する場合):

  • 顧客が特定の技術的な問題やエラーを説明している。

  • 顧客が機能が壊れていると述べている。

  • 顧客がbug、glitch、または不具合について言及している。

除外条件(起動しない場合):

  • 顧客が新機能を要求している。

  • 顧客がアカウント関連の質問(例:パスワードリセット)をしている。

明確で包括的なトリガーにより、Finは適切な顧客の意図に対してProcedureを起動し、無関係な問い合わせでの誤作動を防ぎます。

2. Finを例でトレーニングする

ロジックを書いたら、Finに会話例を提供してください。

  • Train Fin on examplesボタンをクリックします。

  • When to use:このProcedureが適切なフレーズやシナリオの例を提供してください。

  • When NOT to use:誤起動を防ぐために類似するが無関係な問い合わせの例を提供してください。

注意:これらの例は、AIが「パスワードリセット」と「一般的なログインポリシー情報」を区別するために重要です。

Procedureのトリガー動作の仕組み

Finはすべての顧客メッセージを評価し、Procedureのトリガー説明に合致するか判断します。会話が始まっただけでProcedureは開始されません。Finが顧客の意図がProcedureの目的に合致すると確信したときに開始します。テスト時は「When to use this procedure」指示の意図を明確に表現したメッセージを送ってください。短く曖昧な開始メッセージは避けてください。

Procedureに指示を追加する

Procedureが起動したときにFinに何をすべきか指示を書けます。これに加え、条件やツールなどの決定論的コントロールを追加して、Finに外部データへのアクセスや属性の更新などの権限を与えることも可能です。

  • Stepsはフローを定義します。新しい行で「/」を入力して追加します。

  • ToolsはFinに権限を与えます(APIの確認など)。Instructionステップ内で「@」を入力して追加します。

Feature

何をするか

いつ使うか

指示

デフォルトのブロック。自然な言葉での指示。

ほぼすべてに使用。「顧客にメールアドレスを尋ねる。」

条件

分岐ロジック(IF / ELSE)を追加。

フローを大きく変える主要で相互排他的な経路に使用(例:「IF アイテムが壊れている場合はXを行い、ELSEはYを行う」)。

小さな変化や軽微な明確化には、分岐ではなく自然言語の指示を使いましょう。これにより手順が簡潔になり、FinのAIがより自然に会話を処理します。

サブプロシージャを実行

サブプロシージャを実行します。

共通のフロー(例:「Verify Identity」)を再利用したり、メインフローから隠したい複雑なフローに使います。

終了

プロシージャを即座に終了し、Finに戻します。各終了ステップにはカスタムメッセージを設定可能で、空欄にすると何も送信されません。終了時の動作はアクションなし(会話は開いたまま)、会話を閉じる(会話を終了)、会話を閉じて返信を禁止(会話終了後、顧客は返信不可)から選べます。

特定の目標や条件が満たされたらプロシージャを停止し、Finが手順を続けないようにします。

データコネクタを呼び出す

接続されたアプリ(Shopify、Stripeなど)からライブデータを取得します。

ステップ内で注文状況や残高を確認する際に使用。

属性を読み取る

既存の顧客データを参照します。

ステップ内でユーザーのプランやIDを確認するために使用。

属性を更新する

顧客から得た情報を属性に保存します。

ステップ内で後で使うために回答を記憶します。

チームに引き継ぐ

意図的に会話をチームやチームメイトに引き継ぎます。

ステップ内でボットが問題を解決できない場合に使用。これはDeployセクションで定義されたFinブロックのワークフローに従うエスカレーション経路です。

重要:

  • ネスト禁止: Conditionステップを他のCondition内にネストできません。

  • 単一ロジックタイプ: 1つのステップ内でコード条件と自然言語条件を混在させることはできません。

  • 未対応属性: 日付や小数などの属性は条件で参照できません。

サブプロシージャ

  • 再利用: 同じ親プロシージャ内でサブプロシージャを複数回再利用できます。

  • スコープ: サブプロシージャは現在ローカルで、他の無関係なプロシージャから呼び出せません。

データコネクタの操作

属性スコープ: データコネクタの出力はプロシージャ内のステップ出力として利用可能ですが、Inboxの会話属性には表示されません。コネクタの返却値を会話属性に保持するには、Handoff to workflowステップを使い、ワークフロー内で属性を設定してください。プロシージャは引き継ぎ後に再開しません。

常にコネクタの失敗を処理: 各データコネクタ呼び出し後にConditionステップを追加し、エラーや空の応答を処理してください。フォールバックがないと、Finはコネクタが静かに失敗した場合に予期せずエスカレーションする可能性があります。

ガイダンスを追加

プロシージャ実行中にFinが顧客とどのようにやり取りするか、具体的なガイダンスを与えます。ガイダンスを追加するには、Fin Procedureを開き、指示エディタの右上にあるガイダンスをクリックしてください。

このプロシージャに適用するワークスペースレベルのガイダンスを選択してください。Finは選択されたすべてのガイダンスを組み合わせます。

  • コミュニケーションスタイル

  • コンテキストと明確化

  • 引き継ぎとエスカレーション

  • その他のガイダンス

このプロシージャにのみ適用されるカスタムの手順固有ガイダンスも書けます。Finはこれを選択したワークスペースレベルのガイダンスと組み合わせます。例:「顧客が先に言及しない限り、返金については決して話題にしない。」


終了メッセージを設定する

デフォルトでは、Finは手順が終了すると「他にお手伝いできることはありますか?」を送信します。このメッセージは各Endステップごとにカスタマイズ可能で、グローバルデフォルトを設定するか、空欄にして何も送信しないこともできます。

各Endステップには設定可能なメッセージがあります。Endピルをクリックするとサイドパネルが開き、リッチテキストと@attributeメンションを使ってカスタムメッセージを作成できます。

手順が自然に完了したとき(Endステップに到達しない場合)のデフォルトメッセージを設定するには、手順の設定ダイアログを開き、終了メッセージタブに移動します。

指示ステップ内にもEndステップを追加できます。@Endと入力してください。Endステップに到達したときの動作を制御するには、Endピルをクリックしてサイドパネルを開き、終了アクションを選択します。

  • アクションなし: 手順終了後も会話はオープンのままです。

  • 会話を閉じる: Endステップに到達すると会話が閉じられます。

  • 会話を閉じて返信を防止: 会話は即座に閉じられ、顧客はそれ以上返信できません。

注意: 終了メッセージは自動ローカライズに対応しています。ワークスペースの許可された言語に翻訳され、用語集設定を尊重し、顧客の会話ロケールで提供されます。


チャネルを選択する

Web、iOS、Android、Facebook、WhatsApp、Instagram、SMS、Email、Slackなど特定のチャネルで手順を実行するには、手順エディター内のオーディエンスターゲティング設定を使用します。チャネルドロップダウンメニューで希望のチャネルが選択されていることを確認してください。

特定のオーディエンス向けに手順を実行するには、手順エディター内のオーディエンスターゲティング設定を使用します。オーディエンスドロップダウンメニューで希望のチャネルが選択されていることを確認してください。


AI手順レビュー

手順を公開する前に、AIレビュアーを使って実際の顧客との会話で問題を引き起こす可能性のある設定の問題を検出します。手順エディターでレビューをクリックして分析を実行してください。

レビュアーは具体的で実行可能な提案とともに問題を指摘します。内容は以下の通りです。

  • 不足しているツール: 手順に追加されていないツール(例: @Handoff to team)を参照しているステップを指摘します。

  • 壊れたステップ参照: 存在しないか到達不可能なステップへの参照を検出します。

  • ロジックと条件の問題: 属性が設定される前に読み取る条件や信頼性の低い自然言語条件を特定し、代わりにコード条件を提案します。

  • 未処理のelse分岐: フォールスルーのelse分岐が考慮されておらず、予期しない動作を引き起こす可能性があるケースを指摘します。

ヒント: シミュレーション前にAIレビュアーを実行して設定問題を早期に修正しましょう。レビュアーはビルド時の問題を検出し、シミュレーションは実際の会話フローを検証します。

手順のテストと検証

手順を公開する前に、意図した通りに動作するか検証する必要があります。エディター上部のテストボタンをクリックして、2つのテスト方法にアクセスしてください。

プレビュー

プレビュータブでは、顧客としてFinと対話できます。会話のトーン、挨拶、全体の流れを把握するのに役立ちます。

シミュレーション

シミュレーションタブでは、指示内の異なるロジックパスを自動的にテストできます。これにより、手順を実際の顧客に公開する前にFinが意図通りに動作することを確認できます。

プレビューとシミュレーション — どちらを使うべき? プレビューは顧客向けの完全な体験を表示します。手順が公開中に使うと実際の顧客にメッセージが表示される可能性があります。シミュレーションはバックグラウンドで手順を実行し、顧客向けの出力がないため、公開前のロジック検証に最も安全です。

シミュレーションタイプを選択してください:

  • ハッピーパス: FinのAIが標準的なシナリオを自動提案し、すぐに始めて機能を確認できます。

  • カスタムシミュレーションも作成可能: 特定のシナリオを作成し、エッジケースや技術的統合をテストできます。内容は以下の通りです。

    • コンテキスト: 開始時の顧客メッセージと会話の進行方法を設定します。

    • モックデータ: カスタム入力とモックData Connectorの応答を定義し、Finがライブデータ(例:「Payment Failed」のStripe応答)を処理する様子をシミュレートします。

    • 成功基準: どのツールが起動されるか、Finが提供すべき情報など、期待する正確な結果を指定します。

実行とレビュー:

シミュレーションを実行して、Finがステップを実行し、モックAPIをトリガーし、ロジックに従う様子を確認します。

  • 合格: シミュレーションはすべての定義された基準を満たしました。

  • 不合格: シミュレーションは失敗しました。シミュレーション内をクリックして、Finが指示から逸脱した箇所を正確に確認してください。

結果に満足したら、公開設定をクリックして手順を顧客に提供可能にします。


バージョン履歴を表示

手順を公開するたびに、そのバージョンは保存され、バージョン履歴サイドパネルでアクセス可能です。これにより、Finに影響を与えたすべての変更を、過去のドラフトのノイズなしで管理できます。

サイドパネルには以下が表示されます:

  • これまでに公開されたすべてのバージョン

  • 現在公開中のバージョン

  • アクティブなドラフト(存在する場合)

サイドパネルの任意のバージョンをクリックすると、そのバージョンの読み取り専用ビューがエディターで開きます。編集に戻るには、編集に戻るボタンをクリックしてください。

注意: バージョン履歴には過去のドラフトは表示されません。公開されたバージョンのみが記録されます。


手順を賢く切り替える

有効にすると、Finは顧客の意図が変わり、別の手順の方が状況に適していると判断した場合に、現在の手順から別の公開中の手順に自動で切り替えます。

  • 顧客の変化するニーズに自動適応:

    Finは会話とProcedure Trigger Descriptionsをレビューし、手順の切り替えが顧客にとってより良いサービスになるタイミングを判断します。

  • 必要に応じて明確化の質問をする:

    複数の手順が顧客の状況に適している場合、Finは明確化の質問をして曖昧さを解消し、最適なオプションを選択することがあります。

  • Help Centerが優先されます:

    Finは顧客の質問に対応する際、Agentic SwitchよりもHelp Centerのコンテンツを優先し続けます。

注意: 手順で有効になっている場合、Finはこの手順から他のライブ手順に切り替えることができます。移動先の手順はAgentic Switchを有効にしている必要はありません。@Switchコマンドを使って手動で手順を切り替えることも可能です。

こちらの回答で解決しましたか?