본문 바로가기

인공지능

Gemma 4를 Codex CLI 로컬 환경에서 실행해 본 실전 검증 정리

728x90
반응형
728x170

이 글은 Gemma 4 대형 언어 모델을 Codex CLI에서 로컬로 실행해 실제 코드 생성과 도구 호출이 가능한지 검증한 사례를 정리한 기술 블로그입니다.
클라우드 API에 의존하지 않고도 로컬 모델이 실무 수준의 에이전틱 코딩(agentic coding)을 수행할 수 있는지, 그리고 어떤 환경과 설정에서 현실적인 선택지가 되는지를 중심으로 설명합니다.

반응형

왜 로컬 모델을 선택했는가

로컬 전환의 동기는 명확했습니다.

  • 비용 문제
    Codex CLI를 하루에도 여러 세션, 때로는 병렬로 실행하면서 API 비용이 지속적으로 누적되었습니다.
  • 프라이버시 요구
    일부 코드베이스는 외부 서버로 전송될 수 없기 때문에 로컬 실행이 필수였습니다.
  • 안정성 리스크
    클라우드 API는 스로틀링, 장애, 요금 정책 변경이라는 불확실성을 항상 내포합니다.

그럼에도 이전까지 로컬 모델을 선택하지 못했던 이유는 하나였습니다.
도구 호출(tool calling)이 실질적으로 동작하지 않았기 때문입니다. Codex CLI의 핵심 가치는 모델이 파일을 읽고, 코드를 작성하고, 테스트를 실행하고, 패치를 적용하는 전 과정을 자동으로 수행하는 데 있습니다.


Gemma 4가 전환점이 된 이유

이전 Gemma 세대는 함수 호출 벤치마크에서 성공률이 **6.6%**에 불과했습니다.
100번 중 93번이 실패하는 수준이었기 때문에 실사용은 불가능했습니다.

그러나 Gemma 4 31B 모델은 도구 호출 성공률이 86.4%까지 상승했습니다.
이 수치는 “작동하지 않음”에서 “현실적으로 써볼 수 있음”으로 넘어가는 결정적인 기준점이었습니다.


테스트 환경 구성 개요

이번 검증은 서로 다른 두 로컬 환경에서 진행되었습니다.

Mac 환경

  • Apple Silicon M4 Pro
  • 메모리 24GB
  • Gemma 4 26B MoE
  • llama.cpp 사용

NVIDIA GB10 환경

  • 메모리 128GB
  • Gemma 4 31B Dense
  • Ollama 사용

두 환경 모두 동일한 코드 생성 과제를 수행해 결과를 비교했습니다.


Mac 환경 설정에서의 핵심 포인트

Mac에서는 초기 시도에서 여러 문제가 발생했습니다.

  • Ollama 사용 시 Gemma 4의 도구 호출 응답이 잘못된 스트리밍 경로로 전달되는 버그 발생
  • Apple Silicon에서 500 토큰 이상 프롬프트 입력 시 Flash Attention이 멈추는 문제
  • Codex CLI 시스템 프롬프트가 약 27,000 토큰이기 때문에 사실상 사용 불가

이로 인해 llama.cpp로 전환했고, 아래 설정이 필수였습니다.

  • 슬롯 제한으로 KV 캐시 메모리 폭증 방지
  • KV 캐시 양자화로 메모리 사용량 절반 수준으로 감소
  • Gemma 4 도구 호출을 위한 jinja 템플릿 활성화
  • GGUF 경로 직접 지정 (자동 다운로드 옵션 사용 금지)
  • Codex CLI에서 web_search 기능 비활성화

이 설정을 갖춘 이후에야 Mac 환경에서 정상적인 실행이 가능했습니다.


GB10 환경 설정에서의 핵심 포인트

GB10 환경은 상대적으로 수월했지만, 다른 문제들이 있었습니다.

  • vLLM은 CUDA 및 PyTorch ABI 불일치로 사용 불가
  • llama.cpp CUDA 빌드는 Codex CLI의 응답 타입을 처리하지 못함

결론적으로 Ollama 최신 버전이 유일하게 안정적인 선택지였습니다.

  • Gemma 4 31B 모델을 Ollama로 실행
  • SSH 터널링으로 로컬 포트 포워딩
  • Codex CLI에서 oss 모드로 연결

이 조합에서는 텍스트 생성과 도구 호출이 첫 시도부터 정상 동작했습니다.


벤치마크 작업과 결과 비교

세 가지 구성에서 동일한 작업을 수행했습니다.

  • CSV를 파싱하는 Python 함수 작성
  • 에러 핸들링 포함
  • 테스트 코드 작성 및 실행
  • codex exec --full-auto 사용

클라우드 모델

  • 65초 만에 완료
  • 5개 테스트 모두 첫 시도 통과
  • 후속 수정 불필요
  • 가장 안정적이고 완성도 높은 결과

GB10 + Gemma 4 31B

  • 약 7분 소요
  • 3번의 도구 호출로 완료
  • 타입 힌트는 부족했지만 코드 구조는 견고
  • 데드 코드 없이 테스트 첫 시도 통과

Mac + Gemma 4 26B

  • 여러 차례 재시도 필요
  • 데드 코드 잔존
  • 테스트 파일 작성 중 반복적인 문법 오류 발생
  • 총 10번의 도구 호출 사용

속도보다 중요한 것은 첫 시도 성공률

흥미로운 점은 토큰 생성 속도는 Mac이 5.1배 빠르다는 사실이었습니다.

  • MoE 구조 덕분에 활성 파라미터 수가 적어 메모리 접근량이 감소
  • 동일한 메모리 대역폭 환경에서 더 높은 tok/s 기록

그러나 최종 작업 완료 시간 차이는 30% 수준에 그쳤습니다.
이유는 명확합니다.

  • 재시도 횟수
  • 실패한 테스트 작성
  • 정리되지 않은 코드로 인한 반복 호출

결국 에이전틱 코딩에서는 속도보다 첫 시도 성공률이 훨씬 중요하다는 점이 드러났습니다.


로컬 모델은 실무에서 쓸 수 있는가

결론적으로 답은 그렇다입니다.

  • Gemma 4는 이전 세대와 비교할 수 없을 정도로 도구 호출 품질이 개선됨
  • 로컬 환경에서도 테스트를 통과하는 작동 코드 생성 가능
  • 프라이버시와 비용 측면에서 명확한 이점 존재

다만 클라우드 모델이 여전히 가장 빠르고 안정적인 선택지라는 점도 분명합니다.


추천되는 하이브리드 접근 전략

가장 현실적인 선택은 하이브리드 방식입니다.

  • 반복적이거나 프라이버시 민감한 작업은 로컬 모델
  • 복잡하고 정확도가 중요한 작업은 클라우드 모델
  • Codex CLI의 프로필 시스템을 활용하면 플래그 하나로 전환 가능

728x90

Gemma 4는 로컬 에이전틱 코딩을 “불가능”에서 “실용 가능” 단계로 끌어올린 모델입니다.
특히 도구 호출 성공률의 비약적인 향상은 로컬 모델 활용의 분기점이라 볼 수 있습니다.

앞으로 더 큰 메모리 환경과 더 나은 양자화 설정이 결합된다면, 로컬 모델의 실무 활용 범위는 더욱 넓어질 것으로 기대됩니다.
비용, 프라이버시, 안정성을 동시에 고려해야 하는 환경이라면, 이제 로컬 모델은 충분히 진지하게 검토할 수 있는 선택지입니다.

300x250

https://medium.com/google-cloud/i-ran-gemma-4-as-a-local-model-in-codex-cli-7fda754dc0d4

 

I ran Gemma 4 as a local model in Codex CLI

I wanted to know whether Gemma 4 could replace a cloud model for my day-to-day agentic coding. Not in theory, in practice. I use Codex CLI…

medium.com

728x90
반응형
그리드형