Appearance
工具调用后返回空响应,多步骤任务被静默放弃
问题
执行多步骤任务(例如:抓取网页 → 提取内容 → 保存到文件)时,Hermes 在某次工具调用返回后静默丢弃后续未完成的步骤,状态栏显示:
↻ Empty response after tool calls — using earlier content as final answer
剩余步骤不再执行,任务未完成但 agent 认为已结束。
高发场景:
- 使用非 Claude 模型(如 GLM-5、Qwen 系列)时更频繁
- 任务步骤数量较多(3 步以上)
- 工具调用结果较长时
注意:根本原因在 agent loop 的设计,不是模型问题——同样的任务在 Claude 模型下也可能触发。
解决方案
临时绕过:
将多步骤任务拆成明确的串行指令,每次只让 agent 做一步,手动确认后再给下一步。这样可以避免 agent loop 在工具调用后丢失对"还有未完成步骤"的感知。
根本修复方向(来自 issue 分析):
当工具调用返回后,如果 LLM 响应为空,agent loop 应该:
- 检测上一次 prompt 中是否还有未执行的步骤
- 若有,继续推进,而不是以之前的内容作为最终答案结束
- 至少记录一条 WARNING 级别的日志,而不是静默放弃
Issue:#9400