Skip to main content
tracing 모듈을 통해 다음 항목에 액세스할 수 있습니다.

start_conversation

대화를 생성하고 활성화합니다. 모듈 간 액세스를 위해 contextvar를 설정합니다. attributes는 이 대화가 내보내는 모든 span에 기록됩니다(예: weave.integration.*와 같은 인테그레이션 ID). 시맨틱 규칙(semconv)에 속하지 않는 맞춤형 키를 사용하세요. 시맨틱 규칙 필드는 유형이 지정된 매개변수 (conversation_name, model, …)로 설정하세요. span 자체의 gen_ai.* / weave.* 속성과 충돌하는 키는 지원되지 않으며, 어느 값이 우선 적용될지는 경로(스트리밍 또는 log_turn)에 따라 달라집니다.

start_turn

turn을 생성하고 활성화합니다. 현재 대화가 있으면 해당 대화를 사용합니다. span을 시작하고 현재 span으로 설정합니다. 대화가 없으면 turn에 대화 ID가 지정되지 않습니다. end_turn(), end() 또는 with로 종료하세요.

start_llm

LLM Call을 생성하고 활성화합니다. 현재 turn이 있으면 해당 turn을 사용합니다. 활성 turn이 없더라도 span을 시작하고 현재 span으로 설정합니다. provider_name을 명시적으로 전달하세요. SDK는 모델 식별자에서 이 값을 추론하지 않습니다. 접두사 기반으로 추측하면 사용자가 파인튜닝한 모델(예: text-...라는 이름의 모델)의 공급자를 잘못 판별하게 되고, 향후 모델 이름에 대한 가정이 telemetry에 그대로 반영되어 사후에 바로잡으려면 많은 비용이 듭니다.

start_tool

도구 실행 span을 생성하고 시작합니다. Tool의 OTel span은 OTel 컨텍스트에서 현재 활성 상태인 span의 하위 span이 자동으로 됩니다. 일반적으로는 활성 상태인 Turn span이 있으면 해당 Turn span의 하위가 됩니다. turn을 명시적으로 위임할 필요는 없습니다. 부모-자식 관계는 Conversation SDK contextvar가 아니라 OTel 컨텍스트를 통해 전파됩니다.

start_subagent

하위 에이전트 호출 span을 생성하고 시작합니다. SubAgent의 OTel span은 OTel 컨텍스트의 현재 span이 무엇이든 자동으로 그 자식 span이 됩니다. 일반적으로 활성 상태인 Turn span이 있으면 해당 span이 부모가 됩니다. 구조는 start_tool과 동일합니다. 부모-자식 관계 전파는 OTel 컨텍스트가 처리하므로 명시적으로 위임할 필요가 없습니다.

end_conversation

contextvar에 저장된 현재 대화를 종료합니다.

end_turn

contextvar에서 가져온 현재 turn을 종료합니다.

end_llm

contextvar에서 현재 LLM Call을 가져와 종료합니다.

get_current_conversation

contextvar에서 현재 활성 대화를 반환하며, 없으면 None을 반환합니다.

get_current_turn

contextvar에서 현재 활성 turn을 반환하고, 없으면 None을 반환합니다.

get_current_llm

contextvar에서 활성 LLM Call을 반환하며, 없으면 None을 반환합니다.
마지막 수정일 2026년 9월 30일