发生了什么

LocalLLaMA 社区成员在利用 llama.cpp、Ollama 和 vLLM 进行数百次日志分析后,记录了 Qwen 3.5 工具调用中的四个可复现漏洞。这些发现经由 Claude Opus 4.6 综合整理,并在实时服务器上进行验证。实现 99% 可靠性的特定技术栈为:Pi 编程智能体 + llama.cpp + Bartowski Q5_K_L 量化版本。

  • 漏洞 1 – XML 泄露:Qwen 3.5 将工具调用以原始 XML 形式输出(<function=bash>)。当 XML 标签前有文本或启用了思考模式时,服务器会返回 finish_reason: stop 而非解析调用,导致智能体无法执行工具。
  • 漏洞 2 – 思考块污染:<think> 块内发出的工具调用对服务器解析器不可见。llama.cpp 问题 #20837 仍处于未解决状态。
  • 漏洞 3 – Ollama 部分修复:Ollama 问题 #14745 修复了部分情况,但在流式模式下仍偶尔将工具调用作为纯文本打印。
  • 漏洞 4 – vLLM 流式丢失起始大括号:vLLM 问题 #35266 导致流式传输期间生成格式错误的 JSON 工具调用,破坏下游解析器。

为何重要

Qwen 3.5 是用于编程智能体和函数调用管道中最强大的开源权重模型家族之一,但这些漏洞使其在生产环境的智能体循环中变得不可靠,除非采用变通方案。构建本地推理编程助手、浏览器智能体或 API 编排工具的独立开发者将静默遭遇这些故障——模型看似有响应,但工具并未执行。修复需要服务器端补丁(部分仍在等待中)以及客户端提示工程。

亚太视角

Qwen 3.5 由阿里云开发,凭借强大的多语言性能和宽松的许可协议,成为中国和东南亚开发者首选的开源权重模型。在中国、越南、印尼和新加坡构建本地优先 AI 智能体的团队(通常旨在规避 OpenAI API 成本或数据驻留问题)受这些漏洞影响尤为严重。推荐的技术栈(llama.cpp + Bartowski 量化 + Q5_K_L 量化)可在该地区常见的消费级硬件上运行。使用 Nano-GPT 或类似轻量级推理服务器的开发者应立即应用客户端 XML 解析补丁,因为服务器端修复尚未合并到上游。

本周行动项

如果您使用 llama.cpp 运行 Qwen 3.5,请锁定 Bartowski Q5_K_L 量化版本,在工具调用循环期间禁用思考模式,并添加一个客户端解析器以检测原始 <function= XML 输出并将其重路由为工具调用——在 llama.cpp 问题 #20260 和 #20837 关闭之前,不要仅依赖 finish_reason: tool_calls