수정
무료 LLM으로 코딩 에이전트 돌리기, oh-my-free-models가 노린 빈틈
여러 무료 LLM 중 지금 가장 빠른 모델로 코딩 에이전트 요청을 라우팅하는 로컬 프록시 oh-my-free-models. baseURL 하나로 latency·quota 문제를 우회하는 발상과 그 의미를 짚는다.
diff --summary
- omfm은 무료 LLM 여러 개를 묶어 그중 가장 빠른 모델로 코딩 에이전트 요청을 라우팅하는 로컬 프록시다.
- OpenAI/Anthropic 호환 API라 baseURL만 localhost로 바꾸면 기존 에이전트가 그대로 동작한다.
- 한 모델이 latency·rate-limit·quota에 걸려도 다른 모델로 넘겨 요청 흐름을 끊지 않는다.
- 사용할 무료 모델 묶음을 직접 고르고 관리하는 구조다.
코딩 에이전트는 의외로 모델에 무관심하다. OpenAI나 Anthropic 호환 엔드포인트로 요청만 잘 받아주면, 그 뒤에 어떤 모델이 어떻게 붙어 있는지는 따지지 않는다. oh-my-free-models(omfm)는 정확히 이 무관심을 파고든다. 에이전트와 모델 사이에 끼어들어, “지금 가장 빠른 무료 모델”을 골라 요청을 대신 흘려보내는 로컬 프록시다.
모델 교체가 아니라 길목 장악
흥미로운 건 omfm이 새 모델을 내놓은 게 아니라는 점이다. 모델은 그대로, 그 앞 길목만 차지한다. 에이전트 입장에서 baseURL을 localhost로 한 줄 바꾸는 순간, 평소처럼 OpenAI/Anthropic API에 말을 걸고 있다고 믿는다. 실제로는 omfm이 그 요청을 받아 여러 무료 모델 중 가장 빠른 쪽으로 넘긴다. 코드 한 줄도 손대지 않고 백엔드를 통째로 갈아끼우는 셈이라, 도입 마찰이 거의 0에 가깝다.
이 구조가 노리는 약점은 무료 LLM의 고질병이다. 무료 모델은 느리거나, rate-limit에 걸리거나, quota가 동나면 그냥 멈춘다. 모델 한 개만 붙여 쓰면 그 멈춤이 곧 작업 중단이다. omfm은 같은 문제를 여러 모델을 묶어 분산시키는 방식으로 받아친다. 하나가 막히면 다른 쪽으로 넘긴다. 신뢰할 수 없는 무료 모델 여러 개를, “그럭저럭 안 끊기는” 한 덩어리로 묶어내는 발상이다.
무료의 불안정함을 라우팅으로 메운다
따져보면 omfm이 파는 건 성능이 아니라 가용성이다. 가장 빠른 모델을 고른다지만, 무료 모델의 빠름은 유료 최신 모델의 빠름과는 결이 다르다. 핵심은 절대 속도가 아니라 “지금 응답 가능한 놈에게 일을 맡겨 흐름을 끊지 않는다”는 데 있다. 품질을 약간 양보하는 대신 멈춤을 없애는 트레이드오프고, 가벼운 작업이나 비용을 한 푼이라도 줄여야 하는 상황에서 특히 맞아떨어진다.
한발 물러서서 보면, 이건 OpenAI/Anthropic 호환 API가 사실상 표준이 됐기에 가능해진 도구다. 인터페이스가 통일됐으니 그 뒤편 모델은 얼마든지 갈아끼우고 라우팅하고 묶을 수 있다. omfm은 그 호환성 위에 얹힌 작은 프록시 한 겹으로, 사용할 무료 모델 묶음을 직접 고르고 관리하게 해준다. 모델을 직접 만드는 경쟁이 한쪽에서 벌어지는 동안, 다른 한쪽에선 이미 깔린 모델들을 어떻게 영리하게 엮느냐가 새로운 판이 되고 있다는 신호다.