메인 콘텐츠로 건너뛰기
Amazon Bedrock Agents를 사용하면 AWS에서 파운데이션 모델, 지식 기반, 액션 그룹을 오케스트레이션하는 관리형 AI 에이전트를 구축할 수 있습니다. Weave는 bedrock-agent-runtime 클라이언트에 대한 Call을 트레이스하므로 파운데이션 모델, 토큰 사용량, 세션 ID, 에이전트의 응답을 포함한 각 invoke_agent 호출을 확인할 수 있습니다.
Weave TypeScript SDK는 현재 Bedrock Agents 인테그레이션을 지원하지 않습니다.

사전 요구 사항

  • W&B API 키. 자세한 내용은 API keys를 참조하세요.
  • Bedrock Agents에 액세스할 수 있는 계정용으로 구성된 AWS 자격 증명(Identity and access management for Amazon Bedrock 참조).
  • 기존 Bedrock 에이전트와 별칭. agentIdagentAliasId를 기록해 두세요. 다음 AWS CLI 명령을 실행하면 사용자 ID에 연결된 에이전트 목록을 조회할 수 있습니다. 이때 <your-region>은 에이전트가 위치한 리전 슬러그로 바꾸세요.

설치

Weave와 Python용 AWS SDK를 설치하세요:

invoke_agent Call 트레이스

bedrock-agent-runtime 클라이언트를 생성한 다음 patch_client에 전달하세요. Weave는 클라이언트 유형을 감지해 invoke_agent 방법을 래핑합니다. 패치한 후에는 평소처럼 클라이언트를 사용하세요.
invoke_agent Call은 Weave UI에 BedrockAgentRuntime.invoke_agent 트레이스로 표시됩니다. 이 트레이스에는 다음이 기록됩니다.
  • 에이전트 입력값(agentId, agentAliasId, sessionId, inputText)
  • completion 이벤트 스트림에서 추출한 assistant 텍스트
  • 에이전트가 사용한 파운데이션 모델(orchestrationTrace 트레이스에서 추출)
  • 에이전트가 보고하는 경우의 토큰 사용량(prompt_tokens, completion_tokens, total_tokens)
파운데이션 모델과 토큰 사용량은 orchestrationTrace 이벤트에서 추출되며, Bedrock은 invoke_agentenableTrace=True로 Call할 때만 이러한 이벤트를 내보냅니다. 이 플래그가 없으면 트레이스는 여전히 입력값과 생성된 응답 텍스트를 캡처하지만, 파운데이션 모델은 bedrock-agent:<agentId>로 대체되고 토큰 수는 사용할 수 없습니다. 전처리, 후처리 또는 연쇄 API 호출과 같은 관련 로직과 invoke_agent Call을 그룹화하려면 함수를 @weave.op로 감싸세요. Weave는 패치된 invoke_agent 트레이스를 상위 op 내부에 중첩합니다.

멀티턴 대화

Bedrock Agents는 sessionId를 재사용하면 서비스 측에서 대화 상태를 유지합니다. Weave UI에서 여러 턴을 하나의 트레이스로 묶으려면 weave.thread로 턴을 감싸세요:
Weave는 UI의 Threads 뷰에서 각 turn을 개별 행으로 표시합니다.

트레이스 보기

예시를 실행하면 Weave가 프로젝트 대시보드 링크를 출력합니다. 링크를 열면 각 invoke_agent Call의 에이전트 입력, 파운데이션 모델, 토큰 사용량, 생성된 응답을 확인할 수 있습니다.