Skip to main content
공개 노트

LLM 0.32.1, 작은 패치가 보여준 의존성 관리의 중요성

Views 5약 2분생성형 AI 활용
Summary

LLM 0.32.1: 간접 의존성이 깨뜨린 신규 설치와 해결책

LLM 0.32.1은 새 기능보다 설치 안정성에 초점을 맞춘 호환성 패치다. 변경 범위는 작지만, 직접 사용하는 패키지를 전이 의존성에만 맡길 때 어떤 문제가 생기는지 분명하게 보여준다.

신규 설치가 실패한 이유

2026년 8월 21일 공개된 LLM 0.32.1은 OpenAI Python 라이브러리 버전을 3.0.0 미만으로 제한했다. 신규 설치에서 별도로 httpx를 추가하지 않아도 LLM이 작동하도록 하기 위한 조치였다.1

문제의 핵심은 전이 의존성이다. LLM은 httpx에 의존했지만, 이를 직접 설치하도록 선언하지 않고 OpenAI Python 라이브러리를 통해 간접적으로 설치했다. 이후 해당 라이브러리가 httpx 사용을 중단하면서 새로운 환경에는 httpx가 설치되지 않았고, 그 결과 LLM의 신규 설치가 정상적으로 작동하지 않았다.

LLM 0.32.1은 OpenAI 버전을 3.0.0 미만으로 고정해 기존 의존성 구성을 유지했다. 이는 호환 가능한 범위를 명시함으로써 신규 환경의 설치 실패를 막는 방어적 조치다.

기반이 된 LLM 0.32의 변화

이번 패치를 이해하려면 기반 버전인 LLM 0.32도 살펴볼 필요가 있다. 2026년 8월 4일 공개된 LLM 0.32는 하위 호환성을 유지하면서 메시지 표현, 모델 요청 경로, 로그 저장 구조를 개편했다.2

프롬프트와 응답은 Message 객체의 목록으로 표현되며, 각 메시지는 타입이 지정된 Part 객체로 구성된다. 대부분의 추론 지원 OpenAI 모델은 기본적으로 /v1/responses 엔드포인트를 사용한다. 기존 Chat Completions 경로가 필요하면 요청별로 -o chat_completions 1 옵션을 지정할 수 있다.2

로그에는 스레드, 턴, 콘텐츠 주소 기반 메시지 저장소로 구성된 새로운 SQLite 스키마가 도입됐다. 기존 responses 테이블의 레코드는 유지되며, llm logs는 새로운 데이터와 기존 데이터를 함께 조회한다.2

실무에서 확인할 사항

LLM 0.32.1 사례에서 얻을 수 있는 가장 중요한 교훈은 설치 성공 여부를 전이 의존성에 맡겨서는 안 된다는 점이다. 운영이나 배포 환경에서는 다음 사항을 확인하는 것이 좋다.

  • 코드가 직접 사용하는 패키지가 의존성에 명확히 반영돼 있는지 점검한다.

  • 기존 환경의 업그레이드뿐 아니라 깨끗한 가상환경에서 신규 설치를 테스트한다.

  • 잠금 파일이나 버전 제약 조건을 사용해 재현 가능한 설치 환경을 유지한다.

  • CLI와 플러그인 생태계에서는 기능 테스트와 함께 설치 테스트도 수행한다.

요약: LLM 0.32.1은 OpenAI Python 라이브러리를 3.0.0 미만으로 제한해 신규 설치 문제를 해결한 호환성 패치다. 이 사례는 간접 의존성의 변경이 설치를 깨뜨릴 수 있으며, 명시적인 의존성 관리와 깨끗한 환경에서의 검증이 중요하다는 점을 보여준다.

1Changelog - LLM

2Release 0.32 · simonw/llm · GitHub

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기