

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 런타임 시 인라인 에이전트 구성
<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/ko_kr/bedrock/latest/userguide/agents-create-inline.html)

**지원되는 모델 및 리전**

Amazon Bedrock Agents에서 지원하는 파운데이션 모델을 사용하여 인라인 에이전트를 구성하고 Amazon Bedrock Agents가 지원되는 모든 리전에서 인라인 에이전트를 간접 호출할 수 있습니다. Amazon Bedrock Agents에서 지원하는 모델 및 리전에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Bedrock Agents에 지원되는 리전](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 에이전트 속성을 하나 이상 생성하거나 준비합니다.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/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 Agents 런타임 엔드포인트](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 요청을 보내고 최소한 다음 필드를 포함합니다.


****  

| Field | 사용 사례: | 
| --- | --- | 
| instruction | 인라인 에이전트에게 수행해야 할 작업과 사용자와 상호 작용하는 방법을 알려주는 지침을 제공합니다. | 
| foundationModel | 생성한 인라인 에이전트에 의한 오케스트레이션에 사용할 [파운데이션 모델](https://docs.aws.amazon.com//bedrock/latest/userguide/foundation-models-reference.html)을 지정합니다. 예: anthropic claude, meta Llama3.1 등 | 
| sessionId | 세션의 고유 식별자. 요청 간에 동일한 값을 사용하여 동일한 대화를 계속합니다. | 

다음 필드는 선택 사항입니다.


****  

| Field | 사용 사례: | 
| --- | --- | 
| 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
    }
}
```