Gemini CLI 修复:保留含工具请求的空文本对话轮次
DavidAPierce · ghdev · 2026-08-19
该 PR 优化了聊天历史验证逻辑 isValidContent,确保包含空文本部分(text: '')但在其中携带关键结构化载荷(如工具请求、工具响应或多模态媒体)的模型轮次会被保留在历史记录中。
背景与问题:
- 此前,任何包含 text !== undefined && text === '' 的模型轮次都会被视为无效并被完全剔除。虽然这过滤了安全拦截等产生的空轮次,但也破坏了工具执行和多轮 Agent 交互。
- 当模型发出工具调用(functionCall)或接收工具结果(functionResponse)时,特定部分的文本字段通常为空。剔除这些轮次会破坏对话图和多轮上下文流。
修复方案:
- 更新 isValidContent 逻辑:仅当文本部分为空 且 缺乏 functionCall、functionResponse、inlineData、fileData 等有效属性时,才将其视为无效。
- 添加单元测试,断言包含工具元数据或媒体的空文本部分被保留,而纯空文本轮次被安全修剪。
「编程与Agent」频道最新
- 腾讯发布 UI-Mate-27B,支持桌面 GUI 智能体操作 — tencent · 2026-08-24
- 实测对比:从 DeepSeek 到 Claude 二十美元订阅 — Unlikely_Bluejay5392 · 2026-08-24
- Claude Code 推出远程控制功能,编码效率提升 — rohanpaul_ai · 2026-08-24
- Vercel CEO rauchg 详解 fx 扩展哲学:MCP、Skills、插件与 Unix 组合 — AccBalanced · 2026-08-24
- Netflix 揭秘 LLM Judge 生产实践:每周评估数十万条推荐解释 — omarsar0 · 2026-08-24
- Simon Willison 用 Fable 5 实测 smolvm:硬件级隔离沙箱获认可 — yawnxyz · 2026-08-24