optillm
무엇인가
OptiLLM은 OpenAI 호환 chat completions 엔드포인트 앞에 놓이는 추론 프록시다. 클라이언트와 LLM 제공자 사이에 위치하며, 요청을 그대로 전달하지 않고 추론 시점에 추가 연산을 수행하는 기법을 끼워 넣는다. 모델 가중치를 건드리지 않으므로 학습이나 파인튜닝 파이프라인이 필요 없다. 수학·코딩·논리 추론 과제의 정확도를 끌어올리는 것을 목표로 한다.
어떻게 동작하나
클라이언트는 base_url을 http://localhost:8000/v1로 지정한다. 어떤 기법을 적용할지는 세 경로로 정해진다. 모델 이름 앞에 붙인 slug(`moa-gpt-4o-mini`), extra_body의 optillm_approach 필드, system 또는 user 프롬프트 안의 태그다. `&` 기호를 쓰면 기법이 왼쪽에서 오른쪽으로 순차 파이프라인을 이루고 앞 단계 응답이 다음 단계 요청이 된다. `|` 기호를 쓰면 여러 요청이 병렬로 실행돼 응답 리스트가 반환된다. 상위 모델 호출은 LiteLLM SDK를 감싸 처리하며, 제공자별 환경 변수(OPENAI_API_KEY, GEMINI_API_KEY 등)를 읽어 대응 클라이언트를 고른다.
무엇과 다른가
일반적인 OpenAI 호환 프록시나 LiteLLM 프록시 서버는 요청을 다른 제공자로 라우팅하는 데 그친다. OptiLLM은 그 라우팅 앞뒤에 best-of-N, MCTS, planning, mixture of agents 같은 추론 기법을 삽입한다. 정확도 향상을 파인튜닝이나 별도 학습으로 얻는 방식과 달리, 같은 모델에 추론 연산을 더 투입하는 쪽을 택한다.
어떻게 쓰나
설치는 pip 또는 Docker 이미지(latest, latest-proxy, latest-offline)로 한다. 프록시를 띄운 뒤 기존 OpenAI 클라이언트의 base_url만 바꾸면 된다. 기본 바인딩은 127.0.0.1이고, 외부 접속이 필요하면 --host 0.0.0.0과 --optillm-api-key를 함께 쓴다. 자체 서명 인증서나 사내 프록시 환경에서는 --ssl-cert-path로 CA 인증서를 지정한다.
전제와 한계
상위에 OpenAI 호환 chat completions 엔드포인트가 있어야 한다. slug 규칙은 서버가 auto 추론 방식으로 시작됐을 때만 동작하고, 그 외에는 model에 순수 모델 이름만 넣어야 한다. SSL 검증 비활성화는 개발용이며 프로덕션에서는 CA 경로 지정을 권한다. latest-offline 이미지는 spaCy 모델을 미리 내려받아 오프라인에서도 동작하는 자체 포함 이미지다.
관련 논문 4
유사 도구
- headroomLLM에 도달하기 전에 도구 출력·로그·파일·RAG 청크를 압축해 토큰을 줄이는 Python 라이브러리 겸 로컬 프록시 겸 MCP 서버다.
- LLM-API-Key-ProxyOpenAI·Anthropic 호환 엔드포인트를 하나 띄워 여러 LLM 제공자를 provider/model 형식으로 중계하는 자체 호스팅 FastAPI 프록시다.
- gateway1,600개 이상 LLM과 40개 이상 가드레일을 하나의 OpenAI 호환 API로 중계하는 TypeScript 기반 AI 게이트웨이다. 재시도·폴백·로드밸런싱을 설정으로 처리한다.
- 9router여러 AI 코딩 CLI 도구를 40개 이상 제공자에 연결하고, 구독→저가→무료 순 폴백과 tool_result 압축으로 토큰을 줄이는 로컬 라우팅 프록시다.
- rtk명령 출력을 LLM 컨텍스트에 넣기 전에 필터·압축해 토큰을 줄이는 Rust 단일 바이너리 CLI 프록시다. Bash 훅으로 명령을 가로채 필터를 적용한다.
- bifrost23개 이상 LLM 제공자를 하나의 OpenAI 호환 API로 중계하는 Go 기반 AI 게이트웨이다. 5천 RPS에서 요청당 11µs 오버헤드를 추가한다.