AI エージェントでの Answers コンポーネントの使用
このページでは、AIエージェントのツールとしてコンポーネントを使用する方法と、それらを構成するためのベストプラクティスについて説明します。
Answers コンポーネント
コンポーネントは、情報の取得、FAQ への回答、アクションの実行などのタスクを実行する再利用可能なブロックです。例: 予約の空き状況の確認、予約の実行、またはエンド ユーザー情報の取得。
コンポーネントは、AI エージェントのツールとして追加できます。また、AIアシスタントと統合してナレッジベースをクエリし、検索拡張生成(RAG)を可能にすることもできます。
機能、利点、設定方法は、 Answers Componentsドキュメントをご参照ください。
AI エージェントでコンポーネントが使用される理由
コンポーネントを使用すると、エージェントが行う必要があるツール呼び出しの数が減り、パフォーマンスと信頼性が向上します。
コンポーネントは、単一の API 呼び出しに限定されません。次のことができます。
- 複雑なロジックの管理: コンポーネントには複数のダイアログがあり、複雑な条件付きロジックを管理できます
- API結果の処理: API結果を解釈するためにLLM主導の洞察が必要な場合は、API呼び出しの後にカスタムプロンプトエレメントを追加して、データを処理し、AIエージェントに意味のある情報を返すことができます。
- 複数の操作の順序付け: 連続した API 呼び出しを 1 つのコンポーネントにグループ化して、応答時間を最小限に抑え、エージェントの意思決定を簡素化します。
AI エージェントでコンポーネントを使用する
コンポーネントには、LLM に「いつ」、どのように使用するかを指示する明確な説明が必要です。コンポーネントで使用される components および input attributes のベストプラクティスのセクションを参照してください。
コンポーネントをナレッジベースと統合する (AI アシスタント)
コンポーネントは AI アシスタントと統合して、ナレッジ ベースにアクセスできます。これにより、AI エージェントは検索拡張生成 (RAG) を使用して会社固有のドキュメントを取得できます。
仕組み
- AIアシスタントの作成 に移動し、ナレッジベースをアップロードします。例: ドキュメント、FAQ、サポート記事。
- Answers でコンポーネントを作成します。
- AIアシスタントエレメントをコンポーネントに追加します。
- コンポーネントを AI エージェントのツールとして構成します。
AI エージェントがこのコンポーネントを呼び出すと、ナレッジ ベースにクエリを実行し、エンド ユーザーの質問に答えるための関連情報を返します。
ユースケース
- 社内ドキュメントから製品固有の質問に答える
- 会社の方針と手順に基づいたサポートを提供する
- 技術マニュアルまたはナレッジベースから情報を取得する
詳細な設定手順は、 AIアシスタントドキュメントを参照してください。
コンポーネント記述のベストプラクティス
AI エージェントのツールとして使用するコンポーネントを作成するときは、LLM にこのツールをいつ使用するか、また何をするかを伝える明確な説明を提供する必要があります。説明は、エージェントの使用可能なアクションのリストにおけるツールの役割を定義します。
コンポーネントの説明を使用する理由
この説明は、次の点に役立ちます。
- これは、LLM がこのコンポーネントがエンドユーザーの要求に対して正しい選択であるかどうかを判断するのに役立ちます。
- この情報がないと、エージェントはこのコンポーネントをいつ呼び出すべきかわからなかったり、間違ったコンポーネントを選択したりする可能性があります。
- これにより、正しい意図の認識が保証され、類似したコンポーネント間の混乱が軽減されます。
コンポーネント記述のベストプラクティス
-
明確な目的からStart
例: このツールを使用して、エンドユーザーがお金を使うことに言及したときに新しい経費を記録します。
-
一般的なユースケース/ユーザーインテントの説明
例: エンドユーザーが「今日の昼食に 20 米ドルを追加してください」または「昨日家賃を支払いました」などと言ったときに、このツールを呼び出します。
-
キー入力の指定
例: *このツールは、金額、カテゴリ、日付、説明を受け取ります。
-
出力目的を説明する
例: *経費が追加された後に確認メッセージを返します。
-
明確で短い文章を使用する
1〜2つの簡潔な段落を使用します。
コンポーネントの説明例
Use this tool to record a new expense. Call it when the end user mentions paying for something, such as "Add 30 dollars for groceries today."
Takes amount, category, date, and description as inputs, and returns a confirmation message after the expense is recorded.入力属性の説明
コンポーネントは、入力属性を介して入力を受け取ります。これらの属性について明確な説明を提供し、そのフィールドに入力する必要がある情報をLLMに伝えることが重要です。形式と意味を説明し、期待される内容の例を示します。
入力属性の説明を使用する理由
- モデルは、このテキストを使用して、エンドユーザーのメッセージから何を抽出するかを認識します。
- 日付、通貨、テキスト形式の誤りなどの書式設定エラーを防ぎます。
- 毎回同じ種類のデータを同じフィールドにマッピングすることで、一貫性を確保します。
ベストプラクティス
-
属性が表すものからStart
例:経費発生日
-
必要な形式または単元を説明する
例: *DD-MM-YYYY 形式を使用します。「今日」または「昨日」を実際の日付に変換します。
-
例を追加
例: 例: 15-09-2025
-
あいまいな入力の管理方法を指定する
例: *エンドユーザーがカテゴリを指定しない場合は、それを「その他」にマッピングします。
-
簡潔だが具体的に
各属性に最大 3 行を使用します。
入力属性の説明の例
The date when the expense occurred. Use DD-MM-YYYY format.
Example: "12-10-2025". Convert natural language inputs ("today", "yesterday") into actual dates.入力属性の入力書式フィールド
入力形式 フィールドは、ツールの実行前に入力データを検証します。これにより、各入力が特定の構造または形式に従うことが保証されます。例: 有効な日付、数値、またはキーワード。
検証では、入力として許可されるものと許可されないものを記述するテキスト パターンである 正規表現 (regex) を使用します。
入力形式を検証する理由
検証を行わないと、エージェントは次の 1 つ以上を実行する可能性があります。
- 誤ったデータを送信します。例: 20 という数字の代わりに 20 ドルをテキストとして書きます。
- 必要なすべての入力なしで、または部分的な情報のみを使用してツールを呼び出しようとします。
- 一貫性のない形式を使用します。例: 2025 年 3 月 11 日ではなく 2025 年 11 月 3 日。
- 入力の形式が間違っているか、予期しない値が含まれている場合、ツールが失敗します。
正規表現の検証は、ツールの実行前に入力をチェックすることで、これらの問題を防ぎます。この安全手順により、ツールは正しくフォーマットされたデータでのみ動作することが保証されます。入力が許可された形式と一致しない場合、エージェントは入力が修正されるまでツールを実行できません。
正規表現の検証の仕組み
各入力属性には、有効な入力がどのように表示されるかを記述する正規表現パターンを定義する独自の 入力形式 フィールドを含めることができます。
AI エージェントがエンドユーザーのメッセージから値を抽出してツールに送信すると、次のことが起こります。
- 値が正規表現パターンと一致する場合、ツールが実行されます。
- 値がパターンと一致しない場合、システムは明確化を求めるか、実行を停止します。
正規表現パターンを作成してテストする方法
オンライン正規表現テスターを使用して、次の操作を実行できます。
- パターンを対話的に作成してテストする
- 各正規表現部分の説明を取得する
- 期待したもののみと一致することを確認します
入力形式検証の使用例
日付の検証
- 目標: DD-MM-YYYY 形式の有効な日付のみを許可します。
- 正規表現:
^(0[1-9]|[12][0-9]|3[01])-(0[1-9]|1[0-2])-(19|20)\d\d$ - 有効な例:
05-11-2025 - 無効な例:
2025-11-05,5/11/25,tomorrow - 利点: ツールや要約全体ですべての日付の一貫性を保ちます。
数値
- 目標: 正の数 (整数または 10 進数) のみを受け入れます。
- 正規表現:
^\d+(\.\d{1,2})?$ - 有効な例:
20,19.99 - 無効な例:
$20,twenty,19,99 - 利点: 無効な記号や単語が金額として保存されるのを防ぎます。
カテゴリ名
- 目標: 許可される値を既知のカテゴリに制限します。
- 正規表現: '^(食品と食料品|交通機関|住宅|エンタメ|ショッピング|健康|旅行|その他)$'
- 有効な例:
Transport,Health - 無効な例:
Bills,Groceries,Fun - 利点: 要約とレポートのカテゴリの一貫性を確保します。
期間
- 目標: 事前定義された期間または日付範囲のみを許可します。
- 正規表現: '^(日|週|月|年|今日|今週|今月|今年|[0-3]?\d-[0-3]?\d4\s*(to|-)\s*[0-3]?\d-[0-3]?\d4)$'
- 有効な例:
month,this week,01-09-2025 to 30-09-2025 - 無効な例:
weekly,current month - 利点: 予測できない言い回しを防ぎ、レポートを安定させます。