

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

# 実行時にインラインエージェントを設定する
<a name="agents-create-inline"></a>

[InvokeInlineAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent-runtime_InvokeInlineAgent.html) API を使用して、実行時にインラインの Amazon Bedrock エージェントを動的に設定して呼び出すことができます。インラインエージェントを使用すると、エージェントを呼び出すと同時に、基盤モデル、指示、アクショングループ、ガードレール、ナレッジベースなどのエージェント機能を柔軟に指定できます。エージェント機能を使用する前に事前定義する必要はありません。

以下は、インラインエージェントを使用することで、呼び出し時にエージェントを柔軟に設定できるユースケースの一部です。
+ 各種エージェント機能をさまざまな設定で試し、エージェントが利用できるツールを、個別のエージェントを作成せずに動的に更新することで、迅速に実験を行う。
+ エージェントを動的に呼び出して、新しいエージェントバージョンを作成したり、エージェントを準備したりすることなく、特定のタスクを実行する。
+ 実行時にエージェントを作成して呼び出すことで、単純なクエリを実行するか、単純なタスクでコードインタプリタを使用する。
+ タスクまたは会話で連携する複数のエージェントを[マルチエージェントコラボレーション](agents-multi-agent-collaboration.md)設定で作成する。

  マルチエージェントコラボレーションを使用する場合、インラインエージェント API を使用して、次の組み合わせでエージェントを作成できます。  
**エージェントのタイプ**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/agents-create-inline.html)

**サポートされているモデルとリージョン**

Amazon Bedrock エージェントでサポートされている任意の基盤モデルを使用してインラインエージェントを設定し、Amazon Bedrock エージェントがサポートされている任意のリージョンでインラインエージェントを呼び出すことができます。Amazon Bedrock エージェントでサポートされているモデルとリージョンの詳細については、以下を参照してください。
+ [Amazon Bedrock エージェントでサポートされているリージョン](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-supported.html)
+ [機能別のモデルサポート](https://docs.aws.amazon.com//bedrock/latest/userguide/models-features.html)

インラインエージェントでは、モデルを切り替えることができます。同じファミリーに属するモデルに切り替えることをお勧めします。異なるファミリーに属するモデルに切り替えると、動作に一貫性がなくなり、障害が発生する可能性があります。

インラインエージェントの設定と呼び出しは、現在 Amazon Bedrock コンソールではサポートされていません。

## インラインエージェントに詳細プロンプトテンプレートを使用するためのガイドライン
<a name="advanced-prompts-inline-guidelines"></a>
+ **ベースプロンプトテンプレート** – デフォルトでは、Amazon Bedrock はインラインエージェントにデフォルトのベースプロンプトテンプレートを使用しますが、プロンプトはいつでもバックグラウンドで変更できます。これにより、レスポンスに一貫性がなくなる可能性があります。クエリへのレスポンスに一貫性を持たせる必要がある場合は、デフォルトのベースプロンプトテンプレートのロジックを独自の設定で上書きして、インラインエージェントの動作をカスタマイズします。詳細については、「[詳細プロンプトテンプレート](https://docs.aws.amazon.com//bedrock/latest/userguide/advanced-prompts-templates.html)」を参照してください。
+ **暗号化** – `customer managed key ` を使用して保管時のセッションの詳細を暗号化します。カスタマーマネージドキーを使用してセッションを開始した場合、そのカスタマーマネージドキーは同じセッションに対して今後行われるすべてのリクエストに必要です。同じセッションで別のカスタマーマネージドキーを使用すると、例外が発生します。
+ **セッションの共有** – 今後のセッションはすべて、ロールレベルではなくアカウントレベルになります。`agentName` に一意の値を指定することで、エージェントレベルでセッションを分離できます。
+ **インラインセッションの状態** – `InlineSessionState` 内の属性はセッションを通じて保持されます。この属性を使用して、モデルと[数ショットプロンプト](https://docs.aws.amazon.com//bedrock/latest/userguide/what-is-a-prompt.html#few-shot-prompting-vs-zero-shot-prompting)に追加のコンテキストを提供します。

# 前提条件
<a name="inline-agent-prereq"></a>

**注記**  
インラインエージェント機能の設定と呼び出しは、Amazon Bedrock のプレビューリリースであり、変更される可能性があります。

インラインエージェントを呼び出す前に、次の前提条件を満たす必要があります。

1. インラインエージェントの設定に使用する基盤モデル、エージェントを呼び出すリージョン、インラインエージェントに実行すべき内容を伝える指示を決定します。

1. インラインエージェントに使用する次の Amazon Bedrock エージェントプロパティを 1 つ以上作成または準備します。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/inline-agent-prereq.html)

1. AWSIdentity and Access Management (IAM) ロールを作成し、このステップで説明したポリシーをロールにアタッチします。

   インラインエージェントを呼び出す前に、`InvokeInlineAgent` API の使用と、Lambda 関数、ナレッジベース、基盤モデルなどのリソースへのアクセスに必要なアクセス許可を提供する IAM ロールを作成する必要があります。

   「[IAM ユーザーにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com//bedrock/latest/userguide/getting-started.html)」の手順に従って、インラインエージェント用のカスタムサービスロールを作成します。IAM ロールを作成したら、以下のポリシーをロールにアタッチします。
**注記**  
セキュリティ上のベストプラクティスとして、*\$1\$1region\$1*、*\$1\$1account-id\$1*、*\$1.ids* をリージョン、アカウント ID、および特定のリソース ID に置き換えます。

# インラインエージェントを呼び出す
<a name="inline-agent-invoke"></a>

**注記**  
インラインエージェント機能の設定と呼び出しは、Amazon Bedrock のプレビューリリースであり、変更される可能性があります。

インラインエージェントを呼び出す前に、[前提条件](https://docs.aws.amazon.com//bedrock/latest/userguide/inline-agent-prereq.html)を満たしていることを確認してください。

インラインエージェントを呼び出すには、[Amazon Bedrock エージェントのランタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)を使用して [InvokeInlineAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent-runtime_InvokeInlineAgent.html) API リクエストを送信し、少なくとも次のフィールドを含めます。


****  

| フィールド | ユースケース | 
| --- | --- | 
| instruction | 何を実行し、どのようにユーザーとインタラクションを行うべきかをインラインエージェントに指示します。 | 
| foundationModel | 作成するインラインエージェントによるオーケストレーションに使用する[基盤モデル](https://docs.aws.amazon.com//bedrock/latest/userguide/foundation-models-reference.html)を指定します。例えば、Anthropic claude、meta Llama3.1 などです。 | 
| sessionId | セッションの一意の識別子。複数リクエスト間で同じ値を使用すると、同じ会話を続行できます。 | 

次のフィールドはオプションです。


****  

| フィールド | ユースケース | 
| --- | --- | 
| actionGroups | インラインエージェントが実行できるアクションを定義する各アクショングループを含む、アクショングループのリスト。 | 
| knowledgeBases | モデルが生成するレスポンスを強化するためのインラインエージェントとのナレッジベースの関連付け。 | 
| guardrailConfiguration | トピックをブロックし、ハルシネーションを防ぎ、アプリケーションの保護を実装するためのガードレール設定。 | 
| agentCollaboration | コラボレーターエージェントが複数のコラボレーターエージェント間で情報を処理し、最終的なレスポンスを調整する方法を定義します。コラボレーターエージェントをスーパーバイザーにすることもできます。 | 
| collaboratorConfigurations | コラボレーターエージェントの設定。 | 
| collaborators | コラボレーターエージェントのリスト。 | 
| promptOverrideConfiguration | デフォルトのプロンプトを上書きするために使用される詳細プロンプトの設定。 | 
| enableTrace | インラインエージェントの推論プロセスを追跡するために、トレースをオンにするかどうかを指定します。 | 
| idleSessionTTLInSeconds | インラインエージェントがセッションを終了し、保存された情報を削除するまでの時間。 | 
| customerEncryptionKeyArn | エージェントリソースを暗号化するための KMS キーの ARN を指定します。 | 
| endSession | インラインエージェントとのセッションを終了するかどうかを指定します。 | 
| inlineSessionState | セッションのさまざまな属性を指定するパラメータ。 | 
| inputText | エージェントに送信するプロンプトのテキストを指定します。 | 
| reasoning\$1config | どのように結論に達したかをモデルが説明できるように、モデルの推論を有効にするために使用します。additionalModelRequestFields フィールド内で使用します。出力トークンのサブセットであるモデル推論に使用する budget\$1tokens の数を指定する必要があります。詳細については、「[モデル推論を使用してモデルのレスポンスを強化する](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-reasoning.html)」を参照してください。 | 

次の `InvokeInlineAgent` API の例は、基盤モデル、手順、コードインタープリターを使用する、アクショングループ、ガードレール、ナレッジベースなど、完全なインラインエージェントの構成を説明しています。

```
response = bedrock_agent_runtime.invoke_inline_agent(
    // Initialization parameters: cannot be changed for a conversation
    sessionId='uniqueSessionId',
    customerEncryptionKeyArn: String,
    
    // Input
    inputText="Hello, can you help me with a task?",
    endSession=False,
    enableTrace=True,
    
    // Agent configurations
    foundationModel='anthropic.claude-3-7-sonnet-20250219-v1:0',
    instruction="You are a helpful assistant...",
    actionGroups=[
        {
            'name': 'CodeInterpreterAction',
            'parentActionGroupSignature': 'AMAZON.CodeInterpreter'
        },
        {
            'actionGroupName': 'FetchDetails',
            'parentActionGroupSignature': '',
            "actionGroupExecutor": { ... },
            "apiSchema": { ... },
            "description": "string",
            "functionSchema": { ... }
        }
    ],
    knowledgeBases=[
        {
            knowledgeBaseId: "string",
            description: 'Use this KB to get all the info',
            retrievalConfiguration: { 
                vectorSearchConfiguration: { 
                    filter: { ... },
                    numberOfResults: number,
                    overrideSearchType: "string"
               }
            }
        }
    ],
    guardrailConfiguration={
        guardrailIdentifier: 'BlockEverything',
        gurardrailVersion: '1.0'
    },
    promptOverrideConfiguration: {...}
    
    // session properties: persisted throughout conversation
    inlineSessionState = {
        sessionAttributes = { 'key': 'value' },
        promptSessionAttributes = {k:v},
        returnControlInvocationResults = {...},
        invocationId = 'abc',
        files = {...},
    }
  }
```

リクエストにモデル推論パラメータを含めることができます。以下は、`additionalModelRequestFields` でモデルの推論を有効にする、単一のプロンプトの例です。

```
{
    "basePromptTemplate": " ... ",
    "inferenceConfiguration": {
        "stopSequences": [
            "</answer>"
        ]
    },
    "parserMode": "DEFAULT",
    "promptCreationMode": "DEFAULT",
    "promptState": "DISABLED",
    "promptType": "ORCHESTRATION",
    "additionalModelRequestFields":
    "reasoning_config": {
        "type": "enabled",
        "budget_tokens": 1024
    }
}
```