bedrock-agent-runtime 클라이언트에 대한 Call을 트레이스하므로, 각 invoke_agent 호출의 파운데이션 모델, 토큰 사용량, 세션 ID, 에이전트 응답을 살펴볼 수 있습니다.
Weave TypeScript SDK는 현재 Bedrock Agents 인테그레이션을 지원하지 않습니다.
사전 요구 사항
- W&B API 키. 자세한 내용은 API 키를 참조하세요.
- Bedrock Agents에 액세스할 수 있는 계정으로 설정된 AWS 자격 증명(Identity and access management for Amazon Bedrock 참조).
-
기존 Bedrock 에이전트와 별칭.
agentId와agentAliasId를 기록해 두세요. 다음 AWS CLI 명령을 실행하면 ID에 연결된 에이전트 목록을 가져올 수 있습니다.<your-region>은 에이전트가 있는 리전 슬러그로 바꾸세요.
설치
Weave와 AWS SDK for Python을 설치하세요.invoke_agent Call 트레이스하기
bedrock-agent-runtime 클라이언트를 생성한 후 patch_client에 전달하세요. Weave가 클라이언트 유형을 감지하여 invoke_agent 메서드를 래핑합니다. 패치가 적용되면 평소처럼 클라이언트를 사용하면 됩니다.
invoke_agent Call은 Weights & Biases UI에 BedrockAgentRuntime.invoke_agent 트레이스로 표시됩니다. 트레이스에는 다음 정보가 기록됩니다.
- 에이전트 입력(
agentId,agentAliasId,sessionId,inputText) - 완료 이벤트 스트림에서 추출한 assistant 텍스트
- 에이전트가 내부적으로 사용하는 파운데이션 모델(오케스트레이션 트레이스에서 추출)
- 토큰 사용량(
prompt_tokens,completion_tokens,total_tokens). 에이전트가 보고하는 경우에만 기록됩니다.
orchestrationTrace 이벤트에서 추출됩니다. Bedrock은 invoke_agent를 enableTrace=True로 Call한 경우에만 이 이벤트를 내보냅니다. 이 플래그를 설정하지 않아도 트레이스에는 입력과 생성된 응답 텍스트가 캡처되지만, 파운데이션 모델은 bedrock-agent:<agentId>로 대신 표시되고 토큰 수는 제공되지 않습니다.
관련 에이전트 Call을 함께 중첩하기
전처리, 후처리, 연쇄 API 호출 등 관련 로직과invoke_agent Call을 하나로 묶으려면 함수를 @weave.op로 래핑하세요. 그러면 Weave가 패치된 invoke_agent 트레이스를 상위 op 안에 중첩합니다.
멀티턴 대화
sessionId를 재사용하면 Bedrock Agents가 서비스 측에서 대화 상태를 유지합니다. Weights & Biases UI에서 여러 턴을 하나의 트레이스로 묶으려면 해당 턴들을 weave.thread로 래핑하세요.
트레이스 보기
예시를 실행하면 Weave가 프로젝트 대시보드 링크를 출력합니다. 링크를 열어 각invoke_agent Call의 에이전트 입력, 파운데이션 모델, 토큰 사용량, 생성된 응답을 살펴보세요.