테스트 커버리지 93%인데 런타임 에러? OpenAI SDK 버전 파편화 주의
최신 SDK에서 비동기 클라이언트 호출 방식이 변경됨에 따라 기존 라이브러리에서 발생할 수 있는 의존성 문제 주의.
요약
LLM 에이전트용 디버거 'agent_lens'의 진입점인 agent_lens.install()에서 OpenAI SDK 사용 시 AttributeError가 발생하는 치명적인 오류가 4개월간 방치된 사실이 밝혀졌다. 해당 코드는 존재하지 않는 Completions.acreate 속성을 호출하고 있었는데, 이는 OpenAI SDK 1.0.0 버전부터 최신 버전까지 AsyncCompletions 클래스로 분리되어 있어 구조적으로 불가능한 호출이었다. 놀라운 점은 테스트 커버리지 93%를 유지하고 있었음에도 이 문제가 발견되지 않았다는 것이다. 이는 테스트 환경에서 실제 OpenAI SDK가 아닌 가짜(fake) SDK를 사용하여 비동기 경로를 검증했기 때문으로, 실제 환경과의 간극으로 인해 테스트가 무용지물이 된 사례다. 이번 사건은 높은 테스트 커버리지 수치에만 의존하지 말고 실제 환경과의 정합성을 검증하는 통합 테스트의 중요성을 시사한다.
AI가 원문을 요약한 내용으로, 부정확할 수 있습니다.
원문 제목 My LLM tracer had 93% test coverage and couldn't start
원문 보기 ↗