hermes agent出现Empty response原因和解决方案

这个不是你代码逻辑本身炸了。

而是:

模型提供商返回了"空响应(Empty response)"

日志已经写得很明显:

复制代码
Empty response (no content or reasoning)

意思:

复制代码
模型 API 返回成功了
但 response.content 是空的

Hermes Agent 检测到:

  • 没有文本

  • 没有 reasoning

  • 没有 tool call

于是自动 retry。

但连续 3 次都是空。

最终:

复制代码
No fallback providers configured

因为你没配置备用模型。


一、最常见原因(按概率排序)


1. GLM 服务端抽风(概率最高)

你现在用的是:

复制代码
model=glm-4.5-air
provider=zai

也就是:

Zhipu AI 的 GLM API。

这种情况非常常见:

  • 模型超时

  • 推理卡死

  • 返回空 chunk

  • SSE 流中断

  • 网关错误

尤其:

AIR 小模型最容易。

因为:

  • 并发高

  • 限流重

  • 容量紧张

很多 Agent 框架都会遇到。


二、为什么"前面还好好的"

这是典型:

Provider 临时不稳定。

大模型 API 经常:

复制代码
前 10 分钟正常
后面突然空响应

原因可能:

  • 服务端扩容

  • 限流

  • 区域节点问题

  • token 峰值

  • websocket/SSE 中断

不是你本地突然坏了。


三、日志里最关键的一句

复制代码
No fallback providers configured

意思:

没有备用模型。

所以:

GLM 一挂:

Agent 直接死。


四、正确做法(非常重要)

你做 Agent:

一定要配置 fallback model。

例如:

复制代码
primary:
  provider: zai
  model: glm-4.5-air

fallbacks:
  - provider: openai
    model: gpt-4.1-mini

  - provider: anthropic
    model: claude-sonnet-4

  - provider: deepseek
    model: deepseek-chat

这样:

复制代码
GLM 空响应
→ 自动切 DeepSeek
→ 再不行切 OpenAI

这才是生产级 Agent。


五、为什么会出现"空响应"而不是报错

因为很多 provider:

HTTP 是 200 OK

但 body 是:

复制代码
{
  "choices": []
}

或者:

复制代码
{
  "content": ""
}

框架层只能判断:

复制代码
没内容

所以打印:

复制代码
Empty response

六、还有一种可能:上下文炸了

如果你:

  • conversation 太长

  • tool call 太复杂

  • MCP 输出太大

  • prompt 超长

GLM 有时会:

直接 silent fail。

尤其国产模型。

表现就是:

复制代码
返回空 content

不是 context overflow 明确报错。


七、Hermes Agent 为什么会 retry

因为 Hermes 里通常有:

复制代码
if not content and not reasoning:
    retry()

也就是:

复制代码
空内容 = 失败

所以自动重试 3 次。


八、怎么判断到底是哪种问题

你可以看:


如果是偶发

重启后恢复:

99% 是 provider 抽风。


如果稳定复现

每次到某段对话都炸:

大概率 context/prompt 问题。


九、建议你现在做的事


1. 先换模型测试

先试:

  • DeepSeek

  • Qwen

  • OpenAI

  • Claude

如果正常:

说明 Hermes 没问题。

是 GLM 问题。


2. 打印原始 response(重点)

你要看:

复制代码
print(raw_response)

而不是 Hermes 包装后的。

很多时候会发现:

复制代码
{
  "id": "...",
  "choices": []
}

或者:

复制代码
{
  "content": null
}

3. 降低上下文长度

很多 Agent:

长期对话后:

context 会指数膨胀。

GLM 比较容易挂。

可以:

  • summary memory

  • truncate

  • sliding window


4. 检查 streaming

很多 provider:

stream 模式最容易空响应。

尤其:

  • SSE 中断

  • chunk 丢失

你可以试:

复制代码
stream=False

看看还会不会。


十、国产模型很容易出现的问题

很多国产 provider:

并不像 OpenAI 那么稳定。

常见:

问题 表现
空 content 最常见
reasoning 缺失 经常
tool call 格式错误 很多
stream 中断 高频
JSON 不合法 常见
finish_reason 异常 常见

Agent 框架里:

fallback 是必须的。


十一、如果你是用 OpenAI SDK 兼容层

还有一个坑。

有些 provider:

虽然号称:

复制代码
OpenAI-compatible

但实际:

并不完全兼容。

例如:

  • delta.content 为 null

  • tool_calls 缺字段

  • choices 为空数组

Hermes 可能没适配。


十二、一句话总结

你这个问题本质是:

GLM-4.5-air 返回了空响应,Hermes 重试 3 次后仍失败,而你没有配置 fallback provider。

最可能原因:

  1. GLM 服务端临时不稳定(最高概率)

  2. 上下文过长导致 silent fail

  3. stream 模式 chunk 丢失

  4. OpenAI 兼容层不完整

  5. provider 限流/风控

而不是:

你电脑坏了或者 Hermes 本身突然崩了。

相关推荐
英辰朗迪AI获客16 小时前
AI动态简报之算力基建篇(2026.05.25)
人工智能
o561路6o623o716 小时前
陈,反应时刺激器 无线运动生理 指脉换能器 心音换能器
人工智能
小仙女的小稀罕16 小时前
适合企业行政整理会议录音,总结会议纪要推荐
人工智能
不爱洗脚的小滕16 小时前
【向量数据库】Milvus 稠密与稀疏向量核心解析
数据库·人工智能·milvus
甲维斯16 小时前
MiMo2.5Pro《江湖百晓生》测试过程和结果!
人工智能·ai编程
翼龙云_cloud16 小时前
云服务器代理商:2026 年 OpenAI 智能体平台全解析 从 GPT-5.5 到 Enterprise Agent
大数据·人工智能·gpt·云计算·ai智能体
百家方案16 小时前
2026年AI+智慧教育全场景应用解决方案白皮书
人工智能·智慧教育·ai+智慧教育·智慧教育解决方案·教育智能化
ftpeak16 小时前
TorchEasyRec:阿里巴巴开源的推荐系统深度学习框架详解
人工智能·深度学习·ai·开源·ai编程·ai开发
Yunzenn16 小时前
深度分析字节最新研究cola-DLM第 06 章:分块因果 DiT 先验 —— 在隐空间里做 Flow Matching
人工智能·rnn·深度学习·神经网络·生成对抗网络·架构·transformer