로컬 LLM으로 Codex 구동하기

최신 Codex CLI를 로컬 LLM 환경에서 구동하기 위해 llama.cpp의 API 호환성 문제를 LM Studio CLI(lms)로 해결하는 방법을 제시합니다. RTX 5090 및 Mac Studio 환경에서 Qwen3.6-27B 모델을 활용해 2.67초 만에 모델 로딩을 완료하고 Codex 전용 Responses API 환경을 구축한 사례를 다룹니다.

AI 요약

생성형 AI 에이전트의 성능 측정을 위해 Codex와 로컬 LLM을 연동하려는 시도가 활발해지고 있습니다. 본 기사의 필자는 llama.cpp가 Chat Completion 및 Messages API는 지원하지만, Codex가 요구하는 'Responses' 형식의 API를 지원하지 않아 최신 버전(0.87.0 이후) 구동이 불가능하다는 문제에 직면했습니다. 이를 해결하기 위해 지연 시간이 발생하는 LiteLLM 프록시 대신, Responses API를 네이티브로 지원하는 LM Studio의 CLI 도구인 'lms'를 대안으로 선택했습니다. RTX 5090과 Mac Studio와 같은 고성능 원격 서버 환경에서 GUI 없이 터미널 명령만으로 GGUF 모델을 로드하고, Codex 전용 백엔드 서버를 구축하는 구체적인 워크플로우를 설명하고 있습니다.

핵심 인사이트

  • API 호환성 문제: Codex 0.87.0 이후 버전은 Responses 형식의 API를 요구하며, 이는 llama.cpp의 최신 표준 API와 호환되지 않아 별도의 대응이 필요합니다.
  • LM Studio CLI(lms) 활용: GUI 기반의 LM Studio 대신 CLI 도구인 lms를 사용하여 RTX 5090 및 Mac Studio 등 원격 환경에서 효율적으로 서버를 제어할 수 있습니다.
  • 모델 로딩 성능: Qwen3.6-27B-UD-Q4_K_XL.gguf 모델을 로드하는 데 약 2.67초가 소요되었으며, 16.40 GiB의 메모리 점유와 함께 200,000 컨텍스트 윈도우 설정이 가능함을 확인했습니다.
  • GGUF 호환성: llama.cpp에서 사용하던 기존 GGUF 파일을 심볼릭 링크(-l 옵션)로 등록하여 파일 중복 없이 LM Studio에서 재사용할 수 있습니다.

주요 디테일

  • 설치 프로세스: curl -fsSL https://lmstudio.ai/install.sh | bash 명령어를 통해 CLI를 설치하고 lms daemon up으로 백엔드 서비스를 실행합니다.
  • 최적화 설정: 모델 로드 시 context=200000, parallel=2, gpu=max 옵션을 부여하여 RTX 5090의 성능을 최대한 활용하도록 구성했습니다.
  • 프록시 배제: 성능 저하를 방지하기 위해 LiteLLM 같은 별도 프록시 계층을 사용하지 않고 추론 엔진 자체에서 Responses API를 처리하도록 설계했습니다.
  • 자동화 스크립트: GitHub Copilot과 GPT-4o를 활용해 GGUF 모델 등록부터 OpenAI 호환 서버 기동까지 한 번에 수행하는 lms-load-and-serve.sh 셸 스크립트를 작성하여 효율성을 높였습니다.
  • 서버 포트: LM Studio 백엔드는 기본적으로 8080 포트 등을 통해 OpenAI 호환 서버를 구동하며 이를 Codex CLI와 연동합니다.

향후 전망

  • 로컬 LLM의 추론 성능이 향상됨에 따라 Codex와 같은 상용 수준의 에이전트 도구를 로컬 환경에서 벤치마크하고 활용하는 사례가 더욱 늘어날 것입니다.
  • llama.cpp 등 주요 오픈소스 추론 엔진들도 향후 Responses API 지원을 강화하여 다양한 에이전트 프레임워크와의 통합성을 높일 것으로 예상됩니다.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...