

# Amazon Nova を使用した AI エージェントの構築
<a name="agents"></a>

**注記**  
このドキュメントは Amazon Nova バージョン 1 を対象としています。Amazon Nova 2 で AI エージェントを構築する方法については、「[AI エージェントの構築](https://docs.aws.amazon.com/nova/latest/nova2-userguide/building-ai-agents.html)」を参照してください。

AI エージェントは、お客様のエンドユーザーが組織データおよびユーザー入力に基づいてアクションを実行できるように支援します。エージェントは、基盤モデル (FM)、データソース、ソフトウェアアプリケーション、ユーザーとの会話の間のインタラクションを調整します。また、エージェントは API を自動的に呼び出してアクションを実行したり、ナレッジベースを呼び出してこうしたアクションの情報を補完したりすることもできます。デベロッパーは、エージェントを統合して生成 AI アプリケーションの配信を加速することで、開発にかかる数週間の労力を節約できます。

エージェントを使用すると、顧客のタスクや顧客からの質問への回答を自動化することができます。例えば、顧客が保険金請求を処理したり旅行を予約したりするのを支援するエージェントを作成できます。キャパシティのプロビジョニング、インフラストラクチャの管理、カスタムコードの記述は必要ありません。Amazon Nova は、プロンプトエンジニアリング、メモリ、モニタリング、暗号化、ユーザーのアクセス許可、API 呼び出しを管理します。

Amazon Bedrock で AI エージェントを構築する方法については、「[Bedrock エージェント](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html)」を参照してください。

エージェントは、以下のタスクを実行します。
+ 基盤モデルを拡張してユーザーのリクエストを理解し、エージェントが実行する必要のあるタスクを小さなステップに分割します。
+ ユーザーから、自然な会話を通して追加情報を収集します。
+ 会社のシステムに API コールを実行して、顧客のリクエストを満たすためのアクションを実行します。
+ データソースにクエリを実行することで、パフォーマンスと正解率を向上させます。

**Topics**
+ [Amazon Nova を AI エージェントの基盤モデルとして使用する](agents-use-nova.md)
+ [AgentCore での Amazon Nova の使用](#agents-agentcore)
+ [Strands での Amazon Nova の使用](#agents-strands)
+ [その他のリソース](#agents-resources)

# Amazon Nova を AI エージェントの基盤モデルとして使用する
<a name="agents-use-nova"></a>

Amazon Nova モデルを AI エージェントの基盤モデルとして使用するには、[Amazon Bedrock エージェント](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-how.html)を使用するか、[Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use-inference-call.html) または InvokeModel API を使用してツールを呼び出すことができます。Amazon Bedrockエージェントは、アプリケーションで自律エージェントを構築および設定するために使用できるフルマネージドサービスです。converse API および Invoke モデル API を使用して、他の創造的なエージェントフレームワークに接続したり、独自のエージェントフレームワークを構築したりすることもできます。

エージェントプロンプトテンプレートでプレースホルダー変数を使用できます。プロンプトテンプレートが呼び出されると、変数は既存の設定によって入力されます。これらのプレースホルダー変数の詳細については、「[Amazon Bedrock エージェントプロンプトのテンプレートでプレースホルダー変数を使用する](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html)」を参照してください。

**Topics**
+ [Amazon Bedrock エージェントでの Amazon Nova の使用](#agents-bedrock)
+ [Invoke API と Converse API で Amazon Nova の使用](#agents-converse)

## Amazon Bedrock エージェントでの Amazon Nova の使用
<a name="agents-bedrock"></a>

Amazon Nova モデルは [Bedrock エージェント](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html)で有効になっており、Amazon Bedrock エージェントのユーザーの指示に従います。Amazon BedrockAmazon Nova モデルで効果的に連携するため、エージェントは主要な機能およびプロンプトで事前設定されています。これらの設定により、最小限の労力で Amazon Bedrock エージェントの主要な機能を活用できます。
+ **自律型エージェント**: Amazon Bedrock エージェントを使用すると、広範囲なカスタムコーディングを必要とせずに、ユーザー入力および組織データに基づいてタスクを実行できる自律型エージェントを作成できます。時間および労力を大幅に節約できます。
+ **組み込み API 呼び出し**: Amazon Bedrock エージェントは API コールを自動的に処理してユーザーリクエストを処理し、外部サービスおよびデータソースの統合が簡素化されます。
+ **メモリとコンテキストの管理**: エージェントはインタラクション全体でコンテキスト、会話、メモリを維持でき、時間の経過とともによりパーソナライズされた一貫性のある会話を実現します。
+ **ナレッジベースの統合**: ナレッジベースをエージェントに関連付けることで、パフォーマンスおよび精度を向上させ、保存された情報に基づいてより関連性の高いレスポンスを提供できます。
+ **プロンプトエンジニアリングとカスタマイズ**: Amazon Bedrock エージェントは高度なプロンプトエンジニアリングをサポートし、デベロッパーは特定のユースケースに合わせるため、エージェントの動作およびレスポンスをカスタマイズできます。
+ **コード解釈**: コード解釈により、エージェントが安全なテスト環境でアプリケーションコードを生成、実行、トラブルシューティングできます。
+ **マルチエージェントコラボレーション：** 特殊なスキルを必要とする複雑なマルチステップタスクで連携する複数の AI エージェントを構築、デプロイ、管理します。

## Invoke API と Converse API で Amazon Nova の使用
<a name="agents-converse"></a>

Invoke API および Converse API で [Amazon Nova でのツールの使用 (関数呼び出し)](tool-use.md) を活用することで、Amazon Nova モデルをオープンソースと統合したり、カスタム AI エージェントフレームワークを構築したりすることもできます。これにより柔軟性を高めることができますが、API を直接使用する場合、一部の側面については、ユーザーによる実装またはライブラリで処理する必要があることに注意してください。

1. **会話/ユーザーデータの保存**: Converse API はユーザー入力や生成されたコンテンツを保持しません。つまり、エージェントは過去のインタラクションを覚えることができません。モデルを呼び出すたびに、過去のメッセージをすべて渡す必要があります。

1. **自動ツール呼び出し**: 開発者として、モデルのリクエストに基づいてツールを実装する責任があります。つまり、ツールの機能を実行して、モデルによって提供される入力パラメータを処理するコードを実行または記述する必要があります。ツールを実行したら、結果を構造化された形式でモデルに送り返す必要があります。

1. **組み込みメモリ**: API には組み込みメモリ機能がありません。つまり、エージェントは時間の経過とともにユーザー設定や過去のインタラクションを覚えられないため、パーソナライゼーションが制限される可能性があります。

## AgentCore での Amazon Nova の使用
<a name="agents-agentcore"></a>

Amazon Nova モデルはすべての Bedrock AgentCore サービスで使用できるため、非常に効果的なエージェントを大規模かつ安全にデプロイして運用できます。主なサービスには、ランタイム、アイデンティティ、メモリ、ゲートウェイ、オブザーバビリティなどがあります。詳細については「Amazon Bedrock AgentCore」、サンプルコードについては「\$1placeholder\$1」を参照してください。

AgentCore で Amazon Nova を使用する例を次に示します。

```
import boto3
from strands.models import BedrockModel

# Create a Bedrock model with the custom session
bedrock_model = BedrockModel(
model_id="model_id",
boto_session=session
)
```

## Strands での Amazon Nova の使用
<a name="agents-strands"></a>

 Strands は Amazon Bedrock のネイティブサポートを提供するため、これらの Nova モデルを最小限の設定でエージェントで使用できます。詳細については、「Strands Amazon Bedrock」を参照してください。

以下は、Amazon Nova で Strands を使用する方法を示すコード例です。

```
from strands import Agent
from strands.models import BedrockModel

# Create a Bedrock model instance
bedrock_model = BedrockModel(
    model_id="us.amazon.nova-premier-v1:0",
    temperature=0.3,
    top_p=0.8,
)

# Create an agent using the BedrockModel instance
agent = Agent(model=bedrock_model)

# Use the agent
response = agent("Tell me about Amazon Bedrock.")
```

## その他のリソース
<a name="agents-resources"></a>

1. [エージェントを使用してアプリケーションのタスクを自動化する](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html)

1. [Amazon Nova でのツールの使用 (関数呼び出し)](tool-use.md)

1. [テキスト理解のプロンプトのベストプラクティス](prompting-text-understanding.md)