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

페이블 5, 46K SLOC 프로젝트를 위한 완전한 웹 UI를 19분 만에 구축하다
한 개발자가 46K SLOC 음악 작곡 프로젝트에 Fable 5를 사용하여 19분 만에 완전히 작동하는 웹 앱 UI를 생성했으며, 테스트와 문서화도 포함되어 있습니다.

AI가 Rust로 PHP 엔진을 작성, PHP-src 테스트의 17% 통과 및 WordPress 렌더링 성공
러스트로 AI가 처음부터 작성한 PHP 인터프리터 Phargo가 22,037개의 업스트림 PHP 테스트 중 3,844개(17.4%)를 통과하고 SQLite에서 WordPress 페이지를 렌더링합니다.

마이크로소프트 임원, AI 에이전트에 '좌석 기회'로서 소프트웨어 라이센스 필요성 제안
마이크로소프트 임원 라제시 자는 AI 에이전트가 자체 소프트웨어 라이선스가 필요할 수 있으며, 각 에이전트가 기업 시스템에서 '좌석'으로 간주될 수 있다고 제안합니다. 이는 AI가 인간 사용자를 대체하여 라이선스 수를 줄일 것이라는 견해와 대조됩니다.

클로드 코드 서브에이전트가 다중 에이전트 시스템에서 스킬을 로드하지 않음
한 개발자가 Claude Code v2.1.91에서 멀티 에이전트 시스템을 구축하던 중 중요한 제한 사항을 발견했습니다: 서브에이전트는 .claude/skills/ 디렉터리에 정의된 스킬에 접근할 수 없지만, 메인 세션은 트리거 키워드, 컨텍스트 내 전체 스킬 내용, 품질 게이트를 완벽하게 따르며 스킬을 로드합니다.