개인 포트폴리오 겸 개발 기록을 위해 Next.js 19와 Tailwind v4 기반의 블로그 PorkLog를 구축하고 있다.
개발 과정에서 코딩 에이전트로 Claude를 적극적으로 활용해 왔는데, 프로젝트가 진행 될수록 상용 LLM 특유의 고질적인 벽에 부딪히기 시작했다. 바로 **입/출력 토큰 제한과 비용 압박(또는 메시지 한도 초과)**이다. 다른 말로하면 돈. 가난한 개발자에겐 해결하기 힘든 문제다.
웹 UI의 뼈대를 잡거나 단순 CRUD 코드를 뽑아내고, 수정하는 과정에서 Claude에게 파일 전체를 다시 쓰게 만들다 보면, 한 번의 턴(Turn)마다 수만 개의 토큰이 허공으로 날아갔다. 특히나 출력에는 입력에 비해 수배의 토큰이 사용된다고하니.. 조금 사용하다보면 "사용량 한계에 도달했습니다. 추가 크레딧을 구매하세요." 라는 가혹한 메시지를 마주할 때마다 개발 흐름도 끊기고, 내 지갑에도 구멍이 나기 시작했다.
이 문제를 해결하려면, 나의 가난함에 짐을 더한 *맥북 에어 M5**를 혹사 시키켜도 되지 않을까? 라는 결론이 나왔다. 현 상황에서 최적의 해결책은 로컬 LLM이라 생각했다. 로컬 LLM을 개발 워크플로우에 결합하는 '하이브리드' 환경을 구축하기로 결정했다.
🛠️ 왜 Qwen 3.6 버전을 선택했는가?
로컬 코딩 LLM 생태계에는 다양한 선택지가 있었지만, 최종적으로 선택한 모델은 **Qwen 3.6 27B (양자화 버전)**이다.
동급 체급에서 2.5 버전과 비교했을 때 3.6 버전을 고집한 이유는 명확하다.
-
레포지토리 단위(Repo-level)의 추론 능력 여러 후기들을 찾아본 결과, Qwen 2.5-Coder는 단일 파일의 코드를 짜는 데는 훌륭하지만, 여러 파일이 얽힌 구조를 보지 못한다고 했다. 반면 Qwen 3.6은 파일 수십 개를 넘나들며 컴포넌트 간의 결합 관계를 이해하는 '시니어급 시야'를 보여준다고 했다. 현재 개발 중인 블로그의 Giscus 포맷 포팅이나 DB 스키마-액션 연동 같은 다층적인 구조를 분석할 때 이 통찰력이 필수적이라 생각했다.
-
모던 스택(React 19, Tailwind v4)에 대한 이해도 Qwen 2.5-Coder의 지식 컷오프는 2024년 9월이라 React 19 정식 스펙을 모른다. 반면 최신 데이터를 학습한 Qwen 3.6은 별도의 프롬프트 가이드 없이도 React 19의
useActionState패턴이나 Tailwind v4의 시맨틱 토큰 구조를 훨씬 매끄럽게 받아들인다.
사양적 한계와 타협점
사실 24GB 램 환경의 맥북 에어에서 3.6 27B 모델을 상시 띄워두는 것은 램 스왑(Swap) 관점에서 꽤나 도전적이다. (Next.js 로컬 서버와 크롬 탭이 이미 6~8GB를 먹기 때문).
하지만 **"내가 허용할 수 있는 최고 지능의 모델을 먼저 써본다"**는 원칙하에, 레이턴시를 감수하더라도 Qwen 3.6을 메인 해결사로 채택했다. SSD 용량을 약 16~18GB 정도 차지하지만, 영구 무제한 무료에 오프라인 상태에서도 돌아간다는 점을 생각하면 충분히 지불할 만한 가치가 있지 않을까..
오늘 부터 도입을 진행시켜.