

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 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**
+ [在 AI 代理程式中使用 Amazon Nova 作為基礎模型](agents-use-nova.md)
+ [搭配 AgentCore 使用 Amazon Nova](#agents-agentcore)
+ [搭配 Strands 使用 Amazon Nova](#agents-strands)
+ [其他資源](#agents-resources)

# 在 AI 代理程式中使用 Amazon Nova 作為基礎模型
<a name="agents-use-nova"></a>

若要在 AI 代理程式中使用 Amazon Nova 模型作為基礎模型，您可以使用 [Amazon Bedrock 代理](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-how.html)程式，也可以[使用 Converse API 或 InvokeModel API 呼叫工具](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use-inference-call.html)。 InvokeModel Amazon Bedrock 代理程式是一項全受管服務，可用來在應用程式中建置和設定自動代理程式。您也可以使用 Converse API 和調用模型 API 來連線到其他立即可用的代理程式架構，或建置您自己的代理程式架構。

您可以在代理程式提示詞範本中使用預留位置變數。呼叫提示詞範本時，變數將會由預先存在的組態填入。如需這些預留位置變數的相關資訊，請參閱[在 Amazon Bedrock 代理程式提示詞範本中使用預留位置變數](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html)。

**Topics**
+ [搭配 Amazon Bedrock 客服人員使用 Amazon Nova](#agents-bedrock)
+ [搭配調用和 Converse API 使用 Amazon Nova](#agents-converse)

## 搭配 Amazon Bedrock 客服人員使用 Amazon Nova
<a name="agents-bedrock"></a>

Amazon Nova 模型會在 [Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html) 中啟用，並遵循 Agents 的使用者指示 Amazon Bedrock 。 Amazon Bedrock Agents 已預先設定關鍵功能和提示，以便有效地使用 Amazon Nova 模型。這些組態可讓您輕鬆地利用 Amazon Bedrock 代理程式的主要功能：
+ **自發代理程式**： Amazon Bedrock 代理程式允許建立自發代理程式，以根據使用者輸入和組織資料執行任務，而不需要大量的自訂編碼。這可以為您節省大量時間和精力。
+ **內建 API 調用**： Amazon Bedrock 代理程式會自動處理 API 呼叫以滿足使用者請求，這會簡化外部服務和資料來源的整合。
+ **記憶體和上下文管理**：代理程式可以在互動之間維護上下文、對話和記憶體，以便隨著時間的推移實現更個人化的一致對話。
+ **知識庫整合**：您可以將知識庫與代理程式建立關聯，以提高其效能和準確性，使其能夠根據儲存的資訊提供更相關的回應。
+ **提示詞工程與自訂**： Amazon Bedrock 代理程式支援進階提示詞工程，允許開發人員自訂代理程式的行為和回應，以更符合特定使用案例。
+ **程式碼解譯器：**程式碼解譯可讓您的代理程式在安全的測試環境中產生、執行和疑難排解您的應用程式程式碼。
+ **多代理協同作業：**建置、部署和管理多個 AI 代理程式，共同處理需要專業技能的複雜多步驟任務。

## 搭配調用和 Converse API 使用 Amazon Nova
<a name="agents-converse"></a>

也可以搭配調用和 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)