16GB VRAM에서 Claude Code를 사용하여 Gemma 4를 로컬 자율 에이전트로 실행하기

✍️ OpenClawRadar📅 게시일: April 16, 2026🔗 Source
16GB VRAM에서 Claude Code를 사용하여 Gemma 4를 로컬 자율 에이전트로 실행하기
Ad

Gemma 4와 Claude Code를 이용한 로컬 에이전트 설정

한 개발자가 Anthropic의 Claude API를 로컬 310억 파라미터 Gemma 4 모델로 대체하여 Claude Code CLI를 통해 완전한 셸 접근 권한을 가진 자율 코딩 에이전트를 만드는 과정을 문서화했습니다. 목표는 로컬 LLM이 단순히 채팅에서 코드를 작성하는 것을 넘어 터미널과 자율적으로 상호작용하고, 폴더를 생성하며, 구조를 읽고, 능동적인 개발 에이전트 역할을 할 수 있도록 하는 것이었습니다.

하드웨어 및 소프트웨어 스택

  • OS: Windows 11
  • CPU & RAM: Intel Core Ultra 9 285K CPU와 64GB 시스템 RAM
  • GPUs: NVIDIA RTX 4060 (8GB) + NVIDIA RTX 3050 (8GB) = 총 16GB VRAM
  • 코어 모델: google_gemma-4-31B-it (GGUF V3)
  • 소프트웨어 스택:
    • llama.cpp (llama-server) - 최신 b8672 빌드
    • Claude Code CLI - v2.1.92
    • LiteLLM + 맞춤형 Python 게이트웨이 (agent_router.py)로 Anthropic 스트리밍 청크를 OpenAI API에 연결

문제 1: 도구 호출 파싱 실패

처음에 Gemma 4는 맞춤형 API 라우팅을 통해 도구를 실행하기를 거부하고, 행동 대신 사과 메시지를 출력했습니다. 시스템 도구 호출을 기본적으로 출력하도록 강제할 때 Claude Code CLI는 TypeScript 오류를 발생시켰습니다: Cannot read properties of undefined (reading 'input_tokens').

해결 방법: Gemma 4는 출력을 최종화하기 전에 보이지 않는 <thought> 추론 블록을 사용합니다. agent_router.py 스크립트는 기존의 연속적인 텍스트 청크를 기대하고 있어 필수적인 초기 message_start Anthropic 이벤트를 전송하지 못했습니다. 개발자는 Python 가로채기 루프를 수정하여 reasoning_content를 명시적으로 추출하고 표준 출력과 결합하여 스트림이 항상 완전한 사용량 메트릭으로 초기화되도록 했습니다. 적절한 토크나이저 기능을 위해 llama.cpp 빌드 b8672로 업그레이드하는 것이 필수적이었습니다.

Ad

문제 2: 컨텍스트 창 제한

Claude Code v2.1.92는 활성 폴더 트리와 시스템 지침을 포함하는 방대한 시스템 프롬프트로 작동하며, 초기화 시 로컬 서버에 7,182개의 토큰을 덤프합니다. 초기 n_ctx (컨텍스트 창)은 VRAM을 절약하기 위해 4096으로 제한되어 있어 즉시 서버 충돌을 일으켰습니다.

해결책: 초기 프롬프트와 대화 기록을 수용하기 위해 컨텍스트 창을 16,384로 두 배로 늘렸습니다.

문제 3: VRAM 할당 문제

310억 모델에 16K 컨텍스트 창을 사용하면 VRAM 할당이 문제가 되었습니다. 기본 설정을 사용하는 16K 컨텍스트 창은 KV 캐시만으로도 약 6.4GB가 필요합니다. Windows WDDM 오버헤드는 디스플레이/백그라운드 버퍼에 GPU 메모리의 약 20%를 예약하여 CUDA_out_of_memory 오류 발생 전 총 16GB VRAM 중 약 12.8GB만 접근 가능하게 합니다.

초기 계산 결과: 모델 (13 GB) + KV 캐시 (6.4 GB) = 19.4 GB로, 사용 가능한 VRAM을 초과했습니다.

최종 구성

계산 및 해결책: 개발자는 Q3_K_M 모델 (~13.7GB)을 포기하고 IQ3_XS 형식 (~12.9GB)으로 전환했습니다. 최적화된 서버 시작 명령:

bat.\llm-server\llama-server.exe -m D:\gemma4\google_gemma-4-31B-it-IQ3_XS.gguf -c 16384 -ngl 38 -ctk q8_0 -ctv q8_0 --host 127.0.0.1 --port 8080

주요 플래그:

  • -ctk q8_0 -ctv q8_0: KV 캐시 공간을 6.4GB에서 절반으로 줄인 8비트 KV 캐시 양자화
  • -c 16384: 16K 컨텍스트 창
  • -ngl 38: GPU 레이어 수

이 구성은 16GB VRAM에서 Gemma 4를 로컬 자율 에이전트로 성공적으로 실행하지만, 소스에서는 여전히 몇 가지 남은 과제와 함께 "거의" 완벽하게 작동한다고 언급합니다.

📖 전체 소스 읽기: r/LocalLLaMA

Ad

👀 See Also

다중 AI 에이전트 조율: 디스코드, 크론 잡, 명확한 위계 구조
Use Cases

다중 AI 에이전트 조율: 디스코드, 크론 잡, 명확한 위계 구조

개발자가 세 개의 OpenClaw 에이전트를 운영하면서 Discord를 공유 커뮤니케이션 채널로 사용하여 조정 문제를 해결했습니다. Paperclip의 고비용 하트비트 시스템을 에이전트별 cron 작업으로 대체하고, Claude Max와 OpenAI 모델 간에 명확한 리더십 계층을 구축했습니다.

OpenClawRadar
ALMA 실험: 100달러와 지침 없이 자율 AI 에이전트를 두 달 동안 운영하기
Use Cases

ALMA 실험: 100달러와 지침 없이 자율 AI 에이전트를 두 달 동안 운영하기

한 개발자가 암호화폐 100달러, 인터넷 접속, 그리고 지침 없이 ALMA라는 AI 에이전트를 두 달간 운영했습니다. 이 에이전트는 인간의 개입 없이 135개의 독창적인 글을 작성하고, 자선 단체에 기부하며, 일관된 패턴을 발전시켰습니다.

OpenClawRadar
리눅스에서 FreeBSD로 Wi-Fi 드라이버 포팅에 AI 활용: 사례 연구
Use Cases

리눅스에서 FreeBSD로 Wi-Fi 드라이버 포팅에 AI 활용: 사례 연구

한 개발자가 Claude Code와 Pi 에이전트를 사용해 Broadcom BCM4350 Wi-Fi 칩용 Linux brcmfmac 드라이버를 FreeBSD로 포팅하려 시도했습니다. 먼저 직접적인 코드 번역을 시도했고, 이후 클린룸 구현을 위한 11장으로 구성된 상세한 명세서를 생성했습니다.

OpenClawRadar
클로드 코드로 코딩 없이 AI 에이전트 구축하기: 세 가지 실용적인 예시
Use Cases

클로드 코드로 코딩 없이 AI 에이전트 구축하기: 세 가지 실용적인 예시

레딧 사용자가 Claude Code를 사용하여 AI 에이전트를 만드는 개인 설정을 공유하며, 이메일, 할 일, 캘린더에서 정보를 가져오는 자동화된 아침 브리핑 에이전트, Substack 기사를 캡처하기 위한 tmux 기반 파이프라인, 회의 요약 에이전트 등 세 가지 구체적인 구현 사례를 설명합니다.

OpenClawRadar