Gemma 4 채팅 템플릿 버그: anyOf/null이 있는 도구 매개변수가 빈 유형으로 렌더링됨

레딧 사용자가 Gemma 4(gemma-4-31B-it)가 anyOf: [$ref, null] 패턴(널러블 객체 참조에 흔히 사용)을 사용하는 JSON Schema 파라미터를 파싱하지 못하는 것을 발견했습니다. 기본 채팅 템플릿은 최상위에 직접 type 필드가 있다고 가정하여, 다음과 같은 스키마:
{"anyOf": [{"$ref": "#/$defs/SomeObject"}, {"type": "null"}]}에서 anyOf, $ref, $defs가 제거되어 프롬프트에 type: ""가 나타납니다. 이로 인해 여러 추론 엔진(llama-server 등)에서 도구 호출이 중단되며, Qwen3.5와 gpt-oss-20b는 정상 처리합니다.
진단 및 수정
사용자는 llama-server의 상세 로깅을 통해 디버깅하고, MacBook Pro에서 GPT-5.5-high(코덱스 CLI 사용)를 통해 Qwen3.5-27B-Q4_K_M과 gemma-4-31B-it-Q4_K_S의 로그를 비교했습니다. 근본 원인은 Gemma 채팅 템플릿이 모든 파라미터에 직접 type 키가 있다고 가정하기 때문으로 밝혀졌습니다. Jinja 템플릿에 작은 수정을 가해 이제 anyOf, $ref, $defs 구조를 보존합니다.
수정된 Jinja 템플릿은 Pastebin에서 확인할 수 있습니다: https://pastebin.com/p9z3BAC0
Hugging Face의 gemma-4-31B-it 저장소에 PR이 제출되었습니다.
결론
Gemma 4에서 nullable JSON Schema 참조를 사용하는 도구/함수 호출 시, 수정된 채팅 템플릿을 적용하세요. Qwen3.5 또는 gpt-oss-20b 사용자는 영향이 없습니다.
📖 전체 출처 읽기: r/LocalLLaMA
👀 See Also

Gemma 4 출시: 로컬 AI 호스팅을 위한 4가지 모델 크기
Google은 엣지 디바이스, 노트북, GPU 등 다양한 하드웨어에 최적화된 4가지 모델 크기의 Gemma 4를 출시했습니다. 모든 모델은 텍스트와 비전 기능을 갖춘 멀티모달이며, 소형 모델은 실시간 오디오를 지원합니다.

레딧 사용자가 블로그 작업 10가지로 Claude Sonnet 4.6과 GPT-5를 비교합니다
레딧 사용자가 10가지 일반적인 블로깅 작업에 대해 동일한 프롬프트를 사용하여 Claude Sonnet 4.6과 GPT-5를 테스트한 결과, 편집 시간 차이가 가장 유용한 지표로 나타났습니다.

OpenClaw 4월 업데이트: 파격적인 변화와 신뢰 손실의 한 달
OpenClaw의 4월 업데이트 패턴: 새로운 기능과 수정 사항이 제공되지만 치명적인 버그도 함께 발생합니다. 설치 후 스크립트가 파일을 삭제하고, 보안 허점이 생기며, 스킬이 고장나면서 신뢰도가 떨어지고 있습니다.

GitHub Copilot 개인 요금제 변경: 신규 가입 일시 중지, 제한 강화, 모델 조정
GitHub는 에이전트 워크플로우로 인한 컴퓨팅 수요 증가에 대응하여 Copilot Pro, Pro+, Student 플랜의 신규 가입을 일시 중단하고 사용 제한을 강화하며 Pro 플랜에서 Opus 모델을 제거하고 있습니다.