Skip to main content
run()은 하나의 에이전트 실행을 기록하는 기준입니다. callback 안에서 기록한 이벤트는 같은 실행과 세션에 연결됩니다.

언제 사용하나요

사용자 입력부터 최종 결과까지 어떤 흐름으로 실행됐는지 나중에 확인하고 싶을 때 사용합니다.

동작 방식

run()은 async context를 만듭니다. SDK는 그 안에서 기록된 이벤트에 runId, sessionId, workspaceId, agentId, spanId, parentSpanId를 붙입니다. 중첩된 run()은 부모 실행을 이어받고, 자식 실행 단계(span)로 연결됩니다. 루트 run() callback이 명시적인 outcome() 없이 반환되거나 오류를 던지면 SDK가 기술 결과 COMPLETED 또는 FAILED를 자동으로 기록합니다. 비즈니스 작업의 성공, 부분 성공, 실패 여부도 알고 있다면 outcome()을 호출하세요. 이 경우 SDK는 자동 결과를 중복으로 추가하지 않습니다.

예시

에이전트 이름만 넘길 수도 있습니다.

Semantic helper

가능하면 일반 로그보다 의미가 분명한 helper를 사용하세요. Lynx 화면에서 실행 흐름을 더 쉽게 읽을 수 있습니다.

Lynx에서 확인할 수 있는 것

실행 추적 데이터는 다음 화면의 기반이 됩니다.
  • 세션 타임라인
  • 에이전트 판단 이력
  • 컨텍스트와 메모리 스냅샷
  • 오류와 느린 실행 단계 분석
  • 관련 근거가 있는 원인 후보

주의할 점

같은 에이전트는 배포가 바뀌어도 같은 agentId를 사용하는 것이 좋습니다. 변경 전후 동작을 비교해야 한다면 appVersion, deploymentId, promptVersion을 함께 기록하세요.

다음 단계