Qwen3.8:27b 모델로 39k 라인 C 코드를 HTML/three.js로 포팅해 본 결과
New qwen3.8:27b on a 39k line C to single-file HTML / three.js port
핵심 요약
로컬 LLM으로 대규모 C 코드를 포팅하는 실험을 진행했으나, 클라우드 모델 대비 성능과 속도 면에서 한계를 보였습니다.
- 포팅 실험 — 39k 라인의 C 코드를 단일 HTML/three.js 파일로 변환 시도함
- 성능 비교 — Claude Opus 5는 21분 만에 성공했으나 로컬 모델은 수 시간이 소요됨
- 하드웨어 제약 — 로컬 모델은 프롬프트 최적화와 하드웨어 자원 활용에 어려움을 겪음
- 방법론 제안 — 코드 직접 변환보다는 트랜스파일러를 활용한 단계적 접근이 효과적임
새로 나온 qwen3.8:27b가 Claude Code 기본 설정에서 Opus 5를 상대로 어려운 C 언어 코드를 HTML로 포팅하는 작업을 얼마나 잘 해내는지 궁금해서 한번 돌려봤다.
작업 내용: 내 취미 프로젝트인 단일 C 파일로 된 절차적 슈팅 게임을 봇 하나 써서 단일 파일 HTML/three.js로 포팅하는 거다. 프롬프트 딱 한 번 넣고, 추가 질문 없이, 내가 도와주는 것도 없이 진행함. game.c 파일이 2.1MB인데 C 코드만 대충 60만 토큰이라 컨텍스트 윈도우에 다 안 들어감. 그래서 에이전트가 직접 파일을 훑으면서 뭐가 중요한지 파악해야 하는 상황임.
설정: vLLM에서 FP8로 돌리는 qwen3.8:27b, FP8 KV 캐시, 전체 262144 컨텍스트, RTX 6000 Pro 96GB 사용. 내 쪽에서 자른 건 하나도 없는데, 파일이 윈도우 크기보다 두 배 넘게 커서 다 안 들어감.
| agent | model | wall clock | lines out | result |
|---|---|---|---|---|
| claude code | Opus 5 (cloud reference) | 21 min | 1759 | okay |
| hermes | qwen3.8:27b | 4h 18m | 949 | bad |
| codehamr | qwen3.8:27b | 1h 40m | 1056 | bad |
영상 보면 처음에 C 원본 나오고, 그다음 표 순서대로 포팅된 결과물 3개가 나옴. Opus로 포팅한 것만 그나마 "괜찮은" 수준임.
내가 진짜 궁금했던 건 HTML 결과물이 게임으로서 돌아가긴 하냐는 거였다. C 코드 3만 9천 줄을 원샷 프롬프트 한 번으로 돌린 거라 뭐 대표성을 띠는 결과는 아니고, 로컬 LLM한테는 가혹한 테스트라는 건 알고 있었음.
내 생각: 로컬 모델은 결국 프롬프트가 다 해 먹는다. 완전히 다른 환경에서 같은 가중치를 써도 똑같이 망가진 포팅 결과가 나옴. hermes는 이것저것 기능이 많은데, 프롬프트가 부실하면 그 기능을 써먹을 건덕지가 없어서 4시간 동안 삽질만 하다가 결국 똑같은 결과에 도달함. 프롬프트가 부실하면 장황한 환경 설정도 소용없음, 그냥 GPU 시간만 날리는 꼴이지.
뭐 거창한 결론은 없다. 계속 눈에 밟히는 건 실제 걸린 시간임: 괜찮은 로컬 하드웨어에서 GPU를 몇 시간씩 돌려도 클라우드에서 21분 만에 끝난 걸 못 따라감. 그 몇 시간이 도대체 어디서 다 잡아먹히는 건지 아는 사람 있으면 좀 알려줘라.
C 원본: https://github.com/codehamr/skill-issue 내가 실험 중인 로컬 우선, 플러그인 없는 codehamr 하네스:


