首页/Hermes Agent/Webhook 和 Polling
Gateway Design

Webhook 和 Polling 区别:Bot 接入 Agent Gateway 怎么选

从消息方向、部署成本、延迟、可靠性和扩展性几个角度,解释 Bot 平台接入时为什么个人项目常用 Polling,生产服务更偏向 Webhook。

WebhookPollingBot 接入Agent Gateway

1. Webhook 和 Polling 的核心区别

Polling 是你的程序主动去平台服务器问:“有没有新消息?”;Webhook 是平台服务器主动把新消息推送到你的 HTTPS 地址。

Polling:
Agent Gateway -> Platform API -> pull updates

Webhook:
Platform Server -> your HTTPS endpoint -> Agent Gateway

两者最终都能把消息交给 Agent,区别在于谁主动发起连接,以及你是否需要一个公网可访问的回调地址。

2. 选型对比

维度PollingWebhook
公网地址不需要需要 HTTPS 回调地址
部署难度低,本机也能跑中,需要证书和反向代理
延迟取决于轮询间隔通常更低
可靠性进程自己控制重试平台推送失败需要处理重试
扩展性小规模够用适合高并发和多实例
适用场景个人助手、小团队、内网环境公开服务、高并发、生产平台

3. Agent Gateway 场景里的特殊考虑

传统 Bot 回复通常很快,但 Agent 可能会进行多轮推理、检索记忆、调用工具、生成文件或请求外部 API。因此接入模式不仅要看消息到达,还要看平台的超时机制。

  • 长任务应先返回“处理中”,再异步发送最终结果。
  • Webhook 需要尽快返回 HTTP 200,避免平台反复重试。
  • Polling 可以把消息消费节奏掌握在 Gateway 自己手里。
  • 公开服务要做幂等处理,避免同一条消息被重复执行。
经验:Agent 工具调用越复杂,越要重视队列、幂等和超时兜底,而不只是选择 Webhook 或 Polling。

调试 Webhook 常用工具

Webhook 调试经常需要检查请求体、签名、时间戳和回调响应。

4. 实际怎么选

如果你只是给自己或小团队搭一个 Agent 助手,优先选 Polling。它部署快、问题少,不需要域名和证书。如果你要面向公开用户、要稳定低延迟、要多实例扩展,再考虑 Webhook。

需求推荐原因
本机调试 BotPolling无需公网回调地址
内网部署 AgentPolling平台无法访问内网 Webhook
公开 SaaS BotWebhook低延迟,易扩展
消息量很大Webhook + 队列便于削峰和并发处理

5. 常见坑

  • 同时开启两种模式:Telegram 场景里,Webhook 和 Polling 同时存在容易导致消息收不到。
  • Webhook 处理太慢:平台认为请求失败,可能重复推送同一事件。
  • 没有幂等:重复事件触发重复工具调用,尤其危险。
  • 没有限流:公开 Bot 被刷消息后,模型额度迅速消耗。

Webhook 和 Polling FAQ

Webhook 一定比 Polling 好吗?

不一定。Webhook 更适合公网生产服务,但对个人 Bot 来说,Polling 部署简单、足够稳定,反而更合适。

为什么 Telegram Bot 经常推荐 Long Polling?

因为它不要求公网 HTTPS 地址,本机和普通服务器都能跑,适合个人 Agent 助手和小团队内部工具。

Agent Gateway 使用 Webhook 时最重要的是什么?

最重要的是快速确认、异步处理、幂等和限流。Agent 任务可能很慢,不能让平台回调一直阻塞。