Qwen 3.5 도구 호출 에이전트 사용 개선: 서버 상태 및 클라이언트 측 해결 방법

✍️ OpenClawRadar📅 게시일: April 15, 2026🔗 Source
Qwen 3.5 도구 호출 에이전트 사용 개선: 서버 상태 및 클라이언트 측 해결 방법
Ad

Qwen 3.5 에이전트 환경에서의 도구 호출 버그

코딩 에이전트나 함수 호출 루프와 같은 에이전트 환경에서 Qwen 3.5 모델을 실행할 때, 네 가지 특정 버그로 인해 도구 호출이 완전히 실패할 수 있습니다.

네 가지 핵심 버그

  • XML 도구 호출이 일반 텍스트로 유출됨: Qwen 3.5는 도구 호출을 XML 형식(예: <function=bash><parameter=command>ls</parameter></function>)으로 출력합니다. 서버가 이를 파싱하지 못할 때—특히 텍스트가 XML 앞에 있거나 사고 기능이 활성화된 경우—도구 호출이 finish_reason: stop과 함께 원시 텍스트로 도착하여 에이전트가 실행하지 못합니다.
  • <think> 태그가 텍스트로 유출되어 컨텍스트를 오염시킴: llama.cpp는 enable_thinking: false 설정과 관계없이 내부적으로 thinking=1을 강제 적용하여, 태그가 여러 턴에 걸쳐 누적되고 다중 턴 세션을 파괴합니다.
  • 잘못된 finish_reason: 서버가 도구 호출이 존재할 때 "stop"을 전송하여 에이전트가 이를 최종 응답으로 처리하게 합니다.
  • 비표준 finish_reason: 일부 서버는 "eos_token", "", 또는 null을 반환하여, 대부분의 프레임워크가 도구 호출 존재 여부를 확인하기 전에 알 수 없는 값으로 인해 충돌합니다.

서버 상태 (2026년 4월)

원본은 주요 추론 서버에 대한 상세 상태 표를 제공합니다:

  • LM Studio 0.4.9: XML 파싱을 위한 최고의 로컬 옵션(v0.4.7에서 수정됨), 사고 유출 처리 개선, 일반적으로 정확한 finish_reason.
  • vLLM 0.19.0: --tool-call-parser qwen3_coder 플래그와 함께 작동, 스트리밍 버그 존재, 사고 유출 수정됨, 일반적으로 정확한 finish_reason.
  • Ollama 0.20.2: 닫히지 않은 </think> 버그 수정 이후 개선됨, XML 파싱에서 여전히 불안정, 때때로 잘못된 finish_reason.
  • llama.cpp b8664: 파서가 존재하지만 사고 기능이 활성화된 경우 실패, 사고 유출 고장, 파서 실패 시 잘못된 finish_reason.
Ad

권장 솔루션

도구 인수에서 |items 필터 실패와 같은 알려진 문제가 있는 기본 Qwen 3.5 Jinja 템플릿 대신 Unsloth GGUFs를 사용하세요. Unsloth는 21개의 템플릿 수정 사항을 포함합니다.

서버가 놓친 부분을 포착하는 세 가지 작은 함수로 클라이언트 측 안전망을 추가하세요. 원본은 첫 번째 함수를 제공합니다:

import re, json, uuid

1. 텍스트 콘텐츠에서 Qwen XML 도구 호출 파싱

def parse_qwen_xml_tools(text): results = [] for m in re.finditer(r'<function=([\w.-]+)>([\s\S]?)</function>', text): args = {} for p in re.finditer(r'<parameter=([\w.-]+)>([\s\S]?)</parameter>', m.group(2)): k, v = p.group(1).strip(), p.group(2).strip() try: v = json.loads(v) except: pass args[k] = v

이 함수는 서버가 XML을 제대로 파싱하지 못할 때 텍스트 콘텐츠에서 도구 호출을 추출하여, 에이전트 워크플로우를 위한 대체 메커니즘을 제공합니다.

📖 전체 원본 읽기: r/LocalLLaMA

Ad

👀 See Also

다중 파일 프로젝트에서 신뢰할 수 있는 AI 코딩을 위한 실용적인 워크플로우 패턴
Guides

다중 파일 프로젝트에서 신뢰할 수 있는 AI 코딩을 위한 실용적인 워크플로우 패턴

레딧 사용자가 다중 파일 프로젝트에서 AI 코딩의 신뢰성을 높인 네 가지 구체적인 워크플로우 개선 사항을 공유합니다: 사양 우선 시작, 체크포인트를 활용한 작업 분해, 안정적인 운영 루프, 신호 중심 검토.

OpenClawRadar
Android에서 proot Ubuntu를 통해 OpenClaw 실행 수정: uv_interface_addresses 오류 13 해결을 위한 networkInterfaces() 가로채기
Guides

Android에서 proot Ubuntu를 통해 OpenClaw 실행 수정: uv_interface_addresses 오류 13 해결을 위한 networkInterfaces() 가로채기

한 개발자가 Android 16 기기에서 Termux와 proot Ubuntu 환경을 사용해 OpenClaw를 실행하기 위한 수정 방법을 공유했습니다. 앱이 'uv_interface_addresses returned Unknown system error 13' 오류와 함께 충돌하는 문제는 os.networkInterfaces()를 재정의하는 JavaScript 하이재킹 스크립트로 해결할 수 있습니다.

OpenClawRadar
OpenClaw의 게이트웨이와 스킬: 채팅을 넘어 자동화된 실행으로 나아가기
Guides

OpenClaw의 게이트웨이와 스킬: 채팅을 넘어 자동화된 실행으로 나아가기

OpenClaw의 게이트웨이는 Telegram과 WhatsApp과 같은 채널을 실제 세계의 작업을 실행하는 스킬에 연결합니다. 이러한 작업에는 테스트 실행, API 호출, 파일 관리 등이 포함되며, cron 작업을 통해 예약된 백그라운드 자동화가 가능합니다.

OpenClawRadar
OpenClaw 노드 설정으로 원격 브라우저 자동화 수정하기
Guides

OpenClaw 노드 설정으로 원격 브라우저 자동화 수정하기

CDP/RDP 문제를 피하기 위해 로컬 OpenClaw 노드 사용 — 브라우저를 보이게 실행하고, IP와 쿠키 유지.

OpenClawRadar