기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
추적을 사용하여 에이전트의 step-by-step 추론 프로세스 추적
Amazon Bedrock 에이전트의 각 응답에는 에이전트가 오케스트레이션하는 단계를 자세히 설명하는 트레이스가 수반됩니다. 추적은 대화의 해당 시점에서 응답으로 이어지는 에이전트의 추론 프로세스를 추적하는 데 도움이 됩니다.
추적을 사용하면 사용자 입력부터 반환되는 응답까지 에이전트의 경로를 추적할 수 있습니다. 추적은 에이전트가 호출하는 작업 그룹에 대한 입력과 사용자에게 응답하기 위해 쿼리하는 지식 기반에 대한 정보를 제공합니다. 또한 추적은 작업 그룹 및 지식 기반이 반환하는 출력에 대한 정보를 제공합니다. 에이전트가 수행하는 조치 또는 지식 기반에 적용하는 쿼리를 결정하는 데 사용하는 추론을 볼 수 있습니다. 추적의 어떤 단계가 실패할 경우, 추적에서는 실패 사유를 반환합니다. 추적의 세부 정보를 사용하여 에이전트 문제를 해결합니다. 에이전트에 문제가 있거나 예기치 않은 동작이 발생하는 단계를 식별할 수 있습니다. 그런 다음 이 정보를 사용하여 에이전트의 동작을 개선할 수 있는 방법을 고려할 수 있습니다.
트레이스의 구조
추적은 콘솔과 모두에서 JSON 객체로 표시됩니다API. 콘솔의 각 단계 또는 Trace 의 는 다음 추적 중 하나일 API 수 있습니다.
-
PreProcessingTrace - 에이전트가 사용자 입력을 컨텍스트화하고 분류하여 유효한지 확인하는 사전 처리 단계의 입력 및 출력을 추적합니다.
-
OrchestrationTrace - 에이전트가 입력을 해석하고 작업 그룹을 호출하며 지식 기반을 쿼리하는 오케스트레이션 단계의 입력 및 출력을 추적합니다. 그런 다음 에이전트는 오케스트레이션을 계속하거나 사용자에게 응답하기 위해 출력을 반환합니다.
-
PostProcessingTrace - 에이전트가 오케스트레이션의 최종 출력을 처리하고 사용자에게 응답을 반환하는 방법을 결정하는 사후 처리 단계의 입력 및 출력을 추적합니다.
-
FailureTrace - 단계가 실패한 이유를 추적합니다.
-
GuardrailTrace - Guardrail의 작업을 추적합니다.
각 트레이스( 제외FailureTrace
)에는 ModelInvocationInput 객체. 은ModelInvocationInput 객체에는 이 단계에서 에이전트에 제공된 프롬프트와 함께 단계의 프롬프트 템플릿에 설정된 구성이 포함됩니다. 프롬프트 템플릿을 수정하는 방법에 대한 자세한 내용은 섹션을 참조하세요Amazon Bedrock에서 고급 프롬프트 템플릿을 사용하여 에이전트의 정확도 향상. ModelInvocationInput
객체의 구조는 다음과 같습니다.
{ "traceId": "string", "text": "string", "type": "PRE_PROCESSING | ORCHESTRATION | KNOWLEDGE_BASE_RESPONSE_GENERATION | POST_PROCESSING", "inferenceConfiguration": { "maximumLength": number, "stopSequences": ["string"], "temperature": float, "topK": float, "topP": float }, "promptCreationMode": "DEFAULT | OVERRIDDEN", "parserMode": "DEFAULT | OVERRIDDEN", "overrideLambda": "string" }
다음 목록은 의 필드를 설명합니다. ModelInvocationInput 객체:
-
traceId
- 추적의 고유 식별자입니다. -
text
- 이 단계에서 에이전트에게 제공된 프롬프트의 텍스트입니다. -
type
- 에이전트 프로세스의 현재 단계입니다. -
inferenceConfiguration
- 응답 생성에 영향을 미치는 추론 파라미터입니다. 자세한 내용은 추론 파라미터를 사용한 영향 응답 생성 단원을 참조하십시오. -
promptCreationMode
- 이 단계에서 에이전트의 기본 기본 프롬프트 템플릿이 재정의되었는지 여부입니다. 자세한 내용은 Amazon Bedrock에서 고급 프롬프트 템플릿을 사용하여 에이전트의 정확도 향상 단원을 참조하십시오. -
parserMode
- 이 단계에서 에이전트의 기본 응답 파서를 재정의했는지 여부. 자세한 내용은 Amazon Bedrock에서 고급 프롬프트 템플릿을 사용하여 에이전트의 정확도 향상 단원을 참조하십시오. -
overrideLambda
- 기본 파서가 재정의된 경우 응답을 파싱하는 데 사용되는 파서 Lambda 함수의 Amazon 리소스 이름(ARN)입니다. 자세한 내용은 Amazon Bedrock에서 고급 프롬프트 템플릿을 사용하여 에이전트의 정확도 향상 단원을 참조하십시오.
각 추적 유형에 대한 자세한 내용은 다음 섹션을 참조하세요.
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" } "parsedResponse": { "isValid": boolean, "rationale": "string" }, "traceId": "string" } }
는 로 PreProcessingTrace 구성됩니다. ModelInvocationInput 객체 및 PreProcessingModelInvocationOutput 객체. 은PreProcessingModelInvocationOutput 에는 다음 필드가 포함되어 있습니다.
-
metadata
- 파운데이션 모델 출력에 대한 다음 정보를 포함합니다.usage
- 파운데이션 모델 사용에 대한 다음 정보를 포함합니다.-
inputTokens
- 파운데이션 모델 사용의 입력 토큰에 대한 정보를 포함합니다. -
outputTokens
- 파운데이션 모델 사용의 출력 토큰에 대한 정보를 포함합니다.
-
-
rawResponse
- 파운데이션 모델의 원시 출력을 포함합니다.-
content
- 파운데이션 모델의 원시 출력 콘텐츠입니다.
-
-
parsedResponse
- 파싱된 사용자 프롬프트에 대한 다음 세부 정보가 들어 있습니다.-
isValid
– 사용자 프롬프트가 유효한지 여부를 지정합니다. -
rationale
- 에이전트가 취해야 할 다음 단계에 대한 이유를 지정합니다.
-
-
traceId
- 추적의 고유 식별자입니다.
는 로 OrchestrationTrace 구성됩니다. ModelInvocationInput 객체, OrchestrationModelInvocationOutput 객체 및 이론적 근거 , InvocationInput및 관찰 객체의 모든 조합. 은OrchestrationModelInvocationOutput 에는 다음 필드가 포함되어 있습니다. 이론적 근거 , InvocationInput및 관찰 객체에 대한 자세한 내용은 다음 탭에서 를 선택합니다.
{ "modelInvocationInput": { // see above for details }, "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" }, "rationale": { ... }, "invocationInput": { ... }, "observation": { ... } }
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "rawResponse": { "content": "string" }, "metadata": { "usage": { "inputToken": int, "outputToken": int } }, "parsedResponse": { "text": "string" }, "traceId": "string" } }
는 로 PostProcessingTrace 구성됩니다. ModelInvocationInput 객체 및 PostProcessingModelInvocationOutput 객체. 은PostProcessingModelInvocationOutput 에는 다음 필드가 포함되어 있습니다.
-
rawResponse
- 파운데이션 모델의 원시 출력을 포함합니다.-
content
- 파운데이션 모델의 원시 출력 콘텐츠입니다.
-
-
metadata
- 파운데이션 모델 출력에 대한 다음 정보를 포함합니다.usage
- 파운데이션 모델 사용에 대한 다음 정보를 포함합니다.-
inputTokens
- 파운데이션 모델 사용의 입력 토큰에 대한 정보를 포함합니다. -
outputTokens
- 파운데이션 모델 사용의 출력 토큰에 대한 정보를 포함합니다.
-
-
parsedResponse
- 구문 분석기 함수에서 텍스트를 처리한 후 사용자에게 반환text
할 를 포함합니다. -
traceId
- 추적의 고유 식별자입니다.
{ "failureReason": "string", "traceId": "string" }
다음 목록은 FailureTrace 객체의 필드를 설명합니다.
-
failureReason
- 단계가 실패한 이유입니다. -
traceId
- 추적의 고유 식별자입니다.
{ "action": "GUARDRAIL_INTERVENED" | "NONE", "inputAssessments": [GuardrailAssessment], "outputAssessments": [GuardrailAssessment] }
다음 목록은 GuardrailAssessment 객체의 필드를 설명합니다.
-
action
– 입력 데이터에 가드레일이 개입되었는지 여부를 나타냅니다. 옵션은GUARDRAIL_INTERVENED
또는 입니다NONE
. -
inputAssessments
- 사용자 입력에 대한 Guardrail 평가의 세부 정보입니다. -
outputAssessments
- 응답에 대한 Guardrail 평가의 세부 정보입니다.
GuardrailAssessment
객체 및 Guardrail 테스트에 대한 자세한 내용은 섹션을 참조하세요가드레일 테스트.
GuardrailAssessment 예:
{ "topicPolicy": { "topics": [{ "name": "string", "type": "string", "action": "string" }] }, "contentPolicy": { "filters": [{ "type": "string", "confidence": "string", "action": "string" }] }, "wordPolicy": { "customWords": [{ "match": "string", "action": "string" }], "managedWordLists": [{ "match": "string", "type": "string", "action": "string" }] }, "sensitiveInformationPolicy": { "piiEntities": [{ "type": "string", "match": "string", "action": "string" }], "regexes": [{ "name": "string", "regex": "string", "match": "string", "action": "string" }] } }