

# 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 Agents](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 Agents](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)할 수 있습니다. Amazon Bedrock Agents는 애플리케이션에서 자율 에이전트를 구축하고 구성하는 데 사용할 수 있는 완전관리형 서비스입니다. Converse API 및 Invoke Model API를 사용하여 다른 기본 제공 에이전트 프레임워크에 연결하거나 자체 에이전트 프레임워크를 구축할 수도 있습니다.

에이전트 프롬프트 템플릿에서 자리 표시자 변수를 사용할 수 있습니다. 프롬프트 템플릿이 직접적으로 호출되면 기존 구성으로 변수가 채워집니다. 이러한 자리 표시자 변수에 대한 자세한 내용은 [Use placeholder variables in Amazon Bedrock agent prompt templates](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html)를 참조하세요.

**Topics**
+ [Amazon Bedrock 에이전트와 함께 Amazon Nova 사용](#agents-bedrock)
+ [Invoke 및 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)에서 활성화되며 Amazon Bedrock Agents의 사용자 지침을 따릅니다. Amazon Bedrock Agents는 Amazon Nova 모델에서 효과적으로 작동할 수 있도록 주요 기능과 프롬프트로 사전 구성되어 있습니다. 이러한 구성을 사용하면 최소한의 노력으로 Amazon Bedrock Agents의 주요 기능을 활용할 수 있습니다.
+ **자율 에이전트**: Amazon Bedrock Agents를 사용하면 광범위한 사용자 지정 코딩이 필요 없이 사용자 입력과 조직 데이터를 기반으로 태스크를 수행할 수 있는 자율 에이전트를 생성할 수 있습니다. 이를 통해 상당한 시간과 노력을 절약할 수 있습니다.
+ **기본 제공 API 간접 호출**: Amazon Bedrock Agents는 API 직접 호출을 자동으로 처리하여 사용자 요청을 이행하므로 외부 서비스와 데이터 소스의 통합이 간소화됩니다.
+ **메모리 및 컨텍스트 관리**: Agents는 상호 작용 전반에 걸쳐 컨텍스트, 대화 및 메모리를 유지할 수 있으므로 시간이 지남에 따라 보다 개인화되고 일관된 대화를 수행할 수 있습니다.
+ **지식 기반 통합**: 지식 기반을 에이전트와 연결하여 에이전트의 성능과 정확성을 높이고, 저장된 정보를 기반으로 더욱 관련성 있는 응답을 제공할 수 있습니다.
+ **프롬프트 엔지니어링 및 사용자 지정**: Amazon Bedrock Agents는 고급 프롬프트 엔지니어링을 지원하므로 개발자는 특정 사용 사례에 더 잘 맞게 에이전트의 동작과 응답을 사용자 지정할 수 있습니다.
+ **코드 인터프리터:** 코드 해석을 통해 에이전트는 보안 테스트 환경에서 애플리케이션 코드를 생성 및 실행하고 코드의 문제를 해결할 수 있습니다.
+ **다중 에이전트 협업:** 전문 기술이 필요한 복잡한 다단계 작업을 함께 수행하는 여러 AI 에이전트를 구축, 배포, 관리합니다.

## Invoke 및 Converse API와 함께 Amazon Nova 사용
<a name="agents-converse"></a>

Invoke 및 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 서비스와 함께 사용할 수 있으므로 매우 효과적인 에이전트를 대규모로 안전하게 배포하고 운영할 수 있습니다. 주요 서비스에는 런타임, ID, 메모리, 게이트웨이 및 관찰성이 포함됩니다. 자세한 내용은 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)