View a markdown version of this page

カスタムエージェント - Amazon Quick

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

カスタムエージェント

カスタムエージェントは、自然言語入力を処理し、統合されたツール呼び出し機能を使用して複雑なステップを自動化するインテリジェントなアクションです。主に統合をツールインターフェイスとして使用し、Code をツールとして使用できる拡張性や、ヒューhuman-in-the-loopタスクなどのその他のネイティブアクションを提供します。エージェントは、ダウンストリームの自動化ステップにシームレスに統合できるように最適化された、構造化された予測可能な出力を提供します。

プロパティ

  • タイトル: ステップ/カスタムエージェントの名前

  • モード: モードは、ユースケースに基づいてエージェントの動作を定義します。使用可能なモードは、高速、Pro、カスタムの 3 つです。Fast は、要約、分類、大量の自動化などのシンプルなタスクに最適です。Pro は、複数のツールやアクションの推論とオーケストレーションを伴う複雑なタスクに最適です。Fast および Pro はフルマネージドモードであり、事前にセットアップする必要はありません。カスタムモードでは、Bedrock ランタイムコネクタが必要で、使用するモデルを選択できます (以下で説明)。これは、特定の Bedrock モデルに対してプロンプトをファインチューニング済みである場合、特に エージェントに特定の Bedrock モデルが必要な場合、または Bedrock でホストされている独自のカスタムモデルまたはファインチューニングモデルを含める場合に最適です。カスタムモードでは、 統合を介して Bedrock から独自のモデルを取り込むため、モデル推論はその Bedrock 統合に関連付けられたアカウントに個別に請求されます。

  • 手順: このフィールドでは、エージェントのプロンプトを自然言語で書き込みます。プロンプトを記述する際のベストプラクティス:

    • 目的を明確かつ明確にします。

    • プロンプトを構造化します。最初に「タスク」または「ロール」に言及し、次に「指示」に言及して、番号付きのステップでタスクを達成する

    • ツールコールの精度を向上させ、エージェントをガイドするには、必要に応じて各ステップで使用するツールをプロンプトで明確に指定します。

    • 長さの要件 (100 語未満など) または出力形式 (MM/DD/YY 形式の日付など) を明確に指定する

    • テキストを三重引用符 ("") で囲み、複数行プロンプトを書き込みます。例えば、次のようになります。

      """You are content summarization agent. Summarize the last two paragraphs of the provided text, focusing only on the main conclusion."""
  • アクション: アクションは、AI エージェントが外部システムとやり取りしたり、特定のタスクを実行したりできるようにするツールです。これはオプションです。アクションなしでカスタムエージェントを実行できます。以下は、カスタムエージェントで使用できるさまざまなアクションです。

    • 一般的なアクション

      • ユーザータスクの作成 - 有効にすると、このツールを使用すると、エージェントが停止し、実行中に支援を必要とするたびに、Human-in-the-Loop (HITL) タスクをトリガーできます。エージェントは一時停止し、人による入力を待ちます。HITL タスクはタスクセンターに表示されます。最良の結果を得るために、作成者はエージェントが HITL を呼び出すタイミングを正確にプロンプトで指定できます。これはデフォルトで選択されています。自動化は、タスクが終了するまで実行されます。

      • Code - Code アクションは、コードアクションと同じ制限された Python 環境内で Python コードを生成して実行し、計算、データ操作、ファイル処理を含むタスクを解決します。コードジェネレーターとは異なり、Excel、PDF ファイル、さまざまなデータ形式、使用可能な統合を使用して、目標を達成するためのスクリプトを積極的に作成して実行します。

        • 主な機能:

          • ファイルオペレーション: マルチタブ Excel ファイルの処理、コンテンツの抽出、日付計算の実行、条件付き書式の適用、S3 への結果のアップロード

          • データ変換: JSON 形式とテーブル形式間の変換、データの変換、列の名前変更、テーブルの結合

          • 高度な計算: 数値シーケンスを生成し、自動検証を実行する

    • 統合: Salesforce、MS Exchange、Bedrock などの特定の統合アクションをオートメーショングループに追加した場合、対応するアクションがカスタムエージェントで使用できるようにここに表示されます。その後、作成者は、エージェントのツールとして使用する関連アクションを選択できます。

      カスタムエージェントのツール/アクションとして使用できる統合のリスト

      • Amazon S3

      • Amazon Bedrock データオートメーション

      • Amazon Comprehend

      • Amazon Textract

      • カスタム REST API

      • カスタム MCP コネクタ

      • Microsoft Outlook

      • Salesforce

  • 構造化出力 (オプション)

    ダウンストリームステップが処理できる構造化された JSON 出力を返すように AI エージェントを設定します。この機能は、テキストの要約、レポート生成、データ変換、非構造化コンテンツからの統計の抽出に最適です。これはオプションのフィールドです。構造化出力を定義しない場合、エージェントはデフォルトで自然言語で出力を返します。構造化出力は、出力にリスト、データテーブル、JSON などの定義された構造がある場合に使用します。

    注記

    カスタムエージェントの構造化出力設定は、UI エージェントと同じ形式に従います。詳細な設定手順については、UI エージェント構造化出力セクションを参照してください。

  • エージェントレスポンス: エージェントの出力を割り当てる変数の名前。レスポンスは、定義されている場合は JSON スキーマの構造化された出力形式に従います。それ以外の場合は自由形式のテキストです。

カスタムエージェントでのカスタムモデルの使用 (独自の基盤モデルを使用)

AWS Bedrock でホストされている目的またはカスタムの微調整されたモデルを Quick Suite 自動化ワークフローと統合します。

開始する前に、次の項目が揃っていることを確認してください。

  • AWS Bedrock でデプロイされ、アクセス可能な微調整されたモデル

  • コネクタを作成するためのクイックスイート管理者アクセス

  • モデルを呼び出すための Bedrock アクセス許可を持つ IAM ロール

  • モデル ID (例: us.anthropic.claude-3-5-sonnet-20241022-v2:0)

ステップ 1: の詳細な手順に従って Bedrock ランタイムアクション統合を作成する AWS サービスアクションコネクタ

ステップ 2: オートメーショングループを設定する

オートメーショングループを作成し、統合を接続します。

  • オートメーショングループを作成する - 「」の詳細な手順に従ってください。 セットアップタスク

  • 統合を設定する - 「」の詳細な手順に従ってください。 セットアップタスク

  • 設定すると、コネクタが使用可能なアセットリストに表示されます。

ステップ 3: カスタムエージェントを設定する

ファインチューニングされたモデルを使用するようにカスタムエージェントを追加および設定します。

  • 自動化ワークフロー内で、カスタムエージェントを追加する

  • 次のエージェント設定を構成します。

    • エージェントタイトル: エージェントのわかりやすい名前を入力します。

    • 手順: ユースケースに合わせたカスタムプロンプトを入力する

    • モード: カスタムを選択する

    • コネクタ: Bedrock ランタイムコネクタを選択します (カスタムモードが選択されている場合は必須です)

    • カスタムモデル: モデル ID を入力します (例: us.anthropic.claude-3-5-sonnet-20241022-v2:0) - カスタムモードが選択されている場合は必須です

次のステップ

設定が完了すると、カスタムエージェントはファインチューニングされたモデルを使用して、指定した手順に従ってリクエストを処理します。このエージェントを Quick Automate ワークフローに組み込むことができるようになりました。

注記

モデル ID が正しくフォーマットされ、 AWS Bedrock アカウントにデプロイされたモデルと一致することを確認します。モデル ID は、プロビジョニングされたモデルの Bedrock AWS コンソールにあります。

カスタムエージェントテスト

カスタムエージェントテストを使用すると、完全な自動化ワークフローとは別に個々のエージェントをテストできます。この機能は、ワークフロー全体を実行せずに、エージェントの動作を検証し、プロンプトをデバッグし、より効率的に反復するのに役立ちます。

前提条件

  • 1 つ以上のカスタムエージェントが設定された自動化ワークフロー

  • ワークスペースでオートメーションを実行するための適切なアクセス許可

テストを開始する

  • ワークフローキャンバスで、テストするエージェントカードにカーソルを合わせます。

  • カードの上部に表示されるユニットテストボタンを選択します。

  • 開いた変数コレクションウィンドウで、エージェントのプロンプトから自動的に検出された変数を確認します。

    • プロンプトプレビューには、検出されたすべての変数が強調表示されて表示されます。

  • 各変数の値を入力する

    • 値は有効な式構文を使用する必要があります

    • 値に無効な構文が含まれている場合、エラーメッセージが表示され、テストの実行が妨げられます。

テスト実行をモニタリングする

テストの実行中に、画面の右側にある監査パネルで進行状況をモニタリングできます。テストは前述のワークフローステップをすべてスキップし、選択したエージェントのみを実行します。完全なワークフロー実行と同じログ記録エクスペリエンスが得られます。

テスト結果を確認する

テストが完了したら、テストパネルで次の情報を確認します。

  • メトリクスカード (テストパネルの上部にあるモニタータブ)

    • 合計実行時間

    • 使用するツールの数

    • 作成されたタスクの数

  • 間のログイン

  • Watch Variables タブ (テストパネルの下部)

    • 入力 - 入力変数とその値を表示する

    • 出力 - エージェント実行からの出力結果を調べる

    • 構造化された出力の場合は、詳細の表示ボタンをクリックして JSON ビューワーを選択し、出力の表示ダイアログボックスを開きます。

      • フィールドタブ - ツリー構造ビューを使用してデータをナビゲートする

      • フィールド - フィールドタブでツリーノードを選択して、対応する値を強調表示します。

      • 出力フィールド - JSON キーに対応する値

Build with Assistant でのカスタムエージェントの使用

カスタムエージェントの現在の教義は、一貫して呼び出すには特に言及する必要があります。プロンプトで表示するために必要な事項は次のとおりです。

- Function names: `use_inline_agent` - Representation names: "Custom Agent", "Inline Agent" → use `use_inline_agent` - Generic terms: "agentic skills" → default to `use_inline_agent`

それ以外の場合は、決定的にワークフローを作成するモデルが推奨されます。

ただし、実際には、適切なアクションがない場合、プランナーは回避策としてカスタムエージェントを選択する場合があります。ただし、ワークフローでカスタムエージェントを一貫して呼び出すには、上記のフレーズをプロンプトで使用することをお勧めします。

エージェントユースケースの例

ユースケース 1: E メール分類と割り当てエージェント

ロール: E メールの分類と割り当てエージェントである

手順: 以下のステップに従います。

  • ステップ 1: 提供されたリファレンステーブルのカテゴリ列に基づいて受信 E メールをナレッジとして分類する

  • ステップ 2: E メールシステムを使用して通知を送信します。

    • 送信元: [system_email]

    • 宛先: [team_distribution_email]

    • 件名: [分類結果]

    • 本文: 分類の理由と元の E メールの主なポイントを説明する簡単な概要を含めます。

  • ステップ 3: すべての有効なカテゴリ (「不明」を除く) について、Salesforce で次のように新しいケースを作成します。

    • 件名: [元の E メール件名]

    • 説明: E メール本文からの問題の要約

    • Priority: コンテンツの緊急性に基づく (High/Medium/Low)

    • タイプ: 適切なタイプを選択する (Question/Problem/Featureリクエスト/その他)

    • ステータス: 「新規」

    • カテゴリ: [ステップ 1 の分類結果]

  • ステップ 4: 「不明」として分類された場合:

    • 手動レビューのためにスーパーバイザーにエスカレーションする

    • 分類が不確実な理由を説明するメモを追加

    • スーパーバイザーから受け取ったカテゴリに基づいて、ステップ 2 と 3 に従って停止します。

    • スーパーバイザーから受け取ったカテゴリが不明または無効な場合は、停止します。

カスタムエージェントでのナレッジベースの使用

Amazon Quick Automate では、ナレッジベースをカスタムエージェントに接続して、組織のドキュメントに対する AI を活用した検索と質問への回答を有効にできます。クイックスペースをオートメーショングループにリンクすることで、カスタムエージェントはそのスペース内のナレッジベースから情報を検索および取得できます。

これは、ポリシードキュメントからの質問への回答、レポートの要約、参照データに基づくコンテンツの分類など、組織の知識を参照する必要がある自動化に使用します。

ナレッジベースはセマンティック検索のためにドキュメントのインデックスを作成するため、カスタムエージェントはファイル全体を処理するのではなく、最も関連性の高いパッセージのみを取得します。これにより、特に大規模なドキュメントセット全体で、取り出しが高速かつ正確になります。

前提条件

カスタムエージェントがナレッジベースにアクセスする前に、それらのナレッジベースを含むスペースをオートメーショングループにリンクする必要があります。スペースをリンクすると、そのスペース内のナレッジベースとファイルにアクセスするアクセス許可がオートメーショングループに付与されます。

スペースをオートメーショングループにリンクするには:

  1. Automations タブで、プロジェクトページに移動します。

  2. グループ を選択し、スペースをアタッチするグループを選択します。

    ヒント

    右側のグループの作成を選択して、新しいオートメーショングループを作成することもできます。

  3. アセットセクションで、追加を選択し、スペースを選択します。

  4. 使用するナレッジベースを含むスペースを選択し、追加を選択します。

スペースがオートメーショングループの接続リストに表示されるようになりました。この自動化グループのカスタムエージェントは、リンクされたスペース内のナレッジベースとファイルにアクセスできます。スペース内の他のリソースは、オートメーションでは使用できません。

注記

追加後にスペースに制限付きアクセスが表示される場合は、すべてのナレッジベースがオートメーショングループと共有されているわけではありません。これは、リンク後にナレッジベースがスペースに追加された場合や、すべてのナレッジベースが最初に共有されなかった場合に発生する可能性があります。これを解決するには、スペース接続を更新して、すべてのリソースをオートメーショングループと共有します。個々のカスタムエージェントのナレッジタブを再設定する必要はありません。

カスタムエージェントにナレッジを追加する

スペースをオートメーショングループにリンクした後、そのスペース内のナレッジベースを使用するようにカスタムエージェントを設定できます。ワークフローは、スペースをアタッチしたのと同じオートメーショングループに存在する必要があります。

カスタムエージェントにナレッジを追加するには:

  1. ワークフロービルダーで、カスタムエージェントステップを追加します。カスタムエージェントノードをキャンバスにドラッグアンドドロップするか、オートメーションアシスタントとチャットしてこのステップを構築できます。

  2. エージェントプロパティパネルで、ナレッジ を選択し、追加 を選択します。

  3. ピッカーが開き、オートメーショングループにリンクされた使用可能なスペースが表示されます。エージェントで使用するナレッジベースを含むスペースを 1 つ以上選択します。

  4. [保存] を選択します。

カスタムエージェントは、オートメーションの実行時に、選択したスペースのナレッジベースからコンテンツを検索および取得できるようになりました。

スペースをアタッチすると、そのスペース内のすべてのナレッジベースがエージェントに自動的に使用可能になります。各ナレッジベースを個別にアタッチする必要はありません。実行時に、エージェントは各ナレッジベースを個別にクエリし、結果をレスポンスに組み合わせます。

注記

オートメーショングループの所有者がスペース内の特定のナレッジベースにアクセスできなくなった場合、そのナレッジベースはクエリ中にスキップされ、ワークフローエディタはスペースアタッチメントに警告バッジを表示します。

ナレッジベースクエリの記述手順

カスタムエージェントにナレッジベースがアタッチされている場合、指示に基づいて関連するコンテンツが自動的に検索および取得されます。エージェントが見つけるべき情報、またはナレッジベースコンテンツの使用方法を明確に説明する指示を記述します。

ベストプラクティス:

  • どの情報を取得または要約するかを明確にする

  • エージェントが検索するコンテンツのタイプを参照します (たとえば、「ポリシードキュメントを検索...」または「情報を検索...」)。

  • エージェントが取得した情報をレスポンスで使用する方法を指定します。

  • ナレッジベースに関連コンテンツが含まれていない場合のフォールバック手順を含める

例: ナレッジベースの顧客問い合わせエージェント

次の例は、ナレッジベースを使用して会社のドキュメントに基づいて顧客の問い合わせに回答するカスタムエージェントを設定する方法を示しています。

セットアップ:

  • 製品ドキュメントとよくある質問コンテンツを含むナレッジベースを含むスペース

  • スペースがオートメーショングループにリンクされている

  • スペースはナレッジとしてカスタムエージェントに追加されます。

手順:

"""You are a customer support agent. Task: Answer the customer inquiry using information from the knowledge base. Instructions: 1. Search the knowledge base for information relevant to the customer's question. 2. Provide a clear, concise answer based on the retrieved content. 3. If the knowledge base does not contain relevant information, respond with: "I don't have enough information to answer this question. Please escalate to a human agent." Constraints: - Only use information found in the knowledge base. Do not make up answers. - Keep responses under 200 words. - Include the source document name when referencing specific information."""

構造化出力:

{ "answer": "The response to the customer inquiry", "sourceDocument": "Name of the document used", "confidence": "high/medium/low", "escalationNeeded": false }