2 minute read

로컬 LLM으로 코딩 시켜본 개발자라면 누구나 피눈물 흘려본 공통의 경험이 있다. “수정 완료했습니다!”라는 씩씩한 대답을 철석같이 믿고 파일을 열었더니, 단 한 줄도 안 고쳐져 있거나 멀쩡한 코드를 날려먹은 참사. (몇 번을 당했는지 셀 수도 없다…) 결국 “역시 로컬 모델은 장난감이고, 일 시키려면 클라우드 API 써야지”라며 씁쓸하게 결제창으로 돌아가는 게 국룰이었다.

그런데 어제 r/LocalLLM에 올라온 글 하나가 뒤통수를 세게 후려쳤다. 은퇴한 시니어 소프트웨어 엔지니어가 Mac Mini M4 Pro 64GB에서 Qwen 3.8을 돌려, 실제 프로덕션 오픈소스 3D 라이브러리에 기능 PR을 통째로 꽂아 넣은 후기다. 그것도 사람 손 거의 안 타고 밤새 혼자서 계획 수립, 구현, 테스트 작성, 리팩토링까지 끝마쳤단다.

실험 설계

단순히 “야, 코드 짜줘” 하고 엔터 친 게 아니다. 짬바 있는 시니어답게 워크플로 설계부터 남달랐다.

우선 문제 상황을 깊게 이해시키고 PRD(제품 요구사항 정의서)부터 쓰게 만들었다. 그다음 해야 할 일 목록(Todo)을 쪼개서 한 단계씩 밟아가게 유도했다. 이렇게 컨텍스트를 잘게 나눠야 소형 모델이 환각의 늪에 빠지지 않는다는 걸 정확히 꿰뚫어 본 거다.

압권은 테스트 검증이다. 구현이 끝나면 자체 유닛 테스트를 짜게 시킨 다음, 거기에 ‘돌연변이 테스트(mutation testing)’까지 돌렸다. 테스트 코드가 100% 통과해도 테스트 자체가 허술하면 무용지물이라는 걸 알기에, 일부러 소스 코드를 조금씩 망가뜨려 놓고 테스트 슈트가 에러를 제대로 뱉어내는지 거꾸로 검증하게 만든 거다(진짜 변태적인 꼼꼼함이다). 이 과정에서 쓸데없이 통과만 하던 좀비 테스트 몇 개를 실제로 솎아냈다고 한다.

하드웨어 환경도 매력적이다. Mac Mini M4 Pro 64GB에 MLX 최적화 빌드를 얹어 초당 약 17토큰(t/s)으로 돌렸다. 밤에 프롬프트 던져놓고 자고 일어나면 아침에 PR이 완성되어 있는 시스템이다(내 맥미니도 당장 야근 시키고 싶어진다).

결과, 그리고 프론티어와의 차이

글쓴이가 꼽은 가장 소름 돋는 포인트는 화려한 코드 품질이나 속도가 아니었다. 다름 아닌 이 한 문장이었다.

“모델이 ‘작업 끝났습니다’라고 보고했을 때, 실제로 진짜 완벽히 끝나 있었다.”

로컬 모델로 삽질 좀 해본 사람이라면 이 문장이 얼마나 무서운 말인지 안다. 자기가 한 작업의 상태를 솔직하고 정직하게 보고하는 것. 에러가 났으면 났다고 인정하고, 덜 됐으면 덜 됐다고 실토하는 것. 이게 말이 쉽지 오픈소스 27B 체급에서 구현하기 정말 어려운 영역이다. 클라우드 프론티어 모델들이 수천억 원을 쏟아부어 겨우 교정한 이 정직함을, 책상 위 로컬 모델이 보여주기 시작했다.

물론 한계는 여전히 존재한다. 이 오픈소스 저장소는 PR 리뷰 봇으로 거대 상용 프론티어 모델을 쓰는데, 그 리뷰 봇이 Qwen이 미처 챙기지 못한 엣지 케이스 10개를 칼같이 짚어냈다. 치명적인 버그는 아니었지만 실제 개선이 필요한 포인트들이었다. 로컬 모델에게 아무리 생각할 시간을 더 줘도 아직 프론티어급의 날카로운 통찰까지는 무리라는 뜻이다.

같은 날 올라온 다른 신호들

이 글이 단순한 은퇴 엔지니어의 개인 무용담으로 끝나지 않는 이유는, 같은 날 커뮤니티 전반에 터져 나온 신호들 때문이다.

한쪽에선 QAT(양자화 인식 학습)로 훈련된 2bit 퀀트 모델이 등장했다. 기존 사후 양자화(PTQ)와 달리 처음부터 2비트를 고려해 깎아낸 버전이라, 추론과 코딩 벤치마크에서 기존 2비트 모델들을 가볍게 압도한다. VRAM이 부족한 보급형 장비에서도 슬슬 코딩 에이전트의 희망이 보인다는 얘기다.

또 다른 유저는 소형 AI 어플라이언스에서 FP8로 Qwen을 구동해 초당 30~50토큰을 뽑아내며, 8명이 동시에 달라붙어 쓸 수 있는 사내 코딩 서버를 구축한 사례를 공유했다.

어디까지 왔나

퍼즐을 맞춰보면 결론은 꽤 명확하다. Qwen 3.8 27B는 로컬 모델 역사상 처음으로 “믿고 일을 맡겨도 통수치지 않는” 신뢰의 문턱을 넘어섰다. 시키면 계획을 세우고, 코드를 짜고, 테스트를 돌려 스스로 검증까지 마친다.

아직 프론티어 모델과의 격차는 코드 리뷰와 아키텍처적 디테일에 남아 있다. 하지만 이것도 역할을 쪼개면 그만이다. 구현은 밤새 로컬 모델한테 헐값으로 시키고, 최종 검토만 클라우드 프론티어 모델에 1회성으로 맡기면 API 비용을 90% 이상 아낄 수 있다.

불과 1~2년 전만 해도 로컬 모델로 코딩한다는 건 개발자들의 자기만족용 장난감에 불과했다. 그런데 지금은 은퇴한 시니어 엔지니어가 밤새 맥미니로 오픈소스 PR을 뽑아내는 시대다. “이 정도면 로컬로도 차고 넘친다”는 말이 현실이 될 날이 진짜 얼마 남지 않았다.