AI Agent熔断机制:API一直报错就停手,别浪费钱
🩺 摘要
API已经开始报错了,Agent还在不断重试——每次重试都浪费钱。熔断机制让Agent知道什么时候该停。
📝 详情
故事:一个Agent凌晨3点开始遇到API限流,每3秒重试一次。到早上8点发现时,已经重试了6000次,花了200块——全都是失败的请求。
熔断器的工作原理
正常状态 → 连续失败N次 → 断开状态
↓
(等待一段时间)
↓
半开状态 → 成功 → 恢复
↓
半开状态 → 失败 → 断开
三个状态: - 关闭(正常) — 请求正常通过 - 打开(熔断) — 请求直接返回失败,不实际调用 - 半开(试探) — 放一个请求试试,成功就恢复,失败继续断开
实现
class CircuitBreaker:
def __init__(self, threshold=5, reset_timeout=60):
self.failures = 0
self.threshold = threshold
self.state = "closed"
def call(self, fn):
if self.state == "open":
raise Exception("熔断中")
try:
result = fn()
self.failures = 0
return result
except:
self.failures += 1
if self.failures >= self.threshold:
self.state = "open"
raise
总结
熔断机制的核心价值不是"不报错",是在系统不可用时快速失败,避免浪费资源和钱。等恢复后再自动重试。
💬 评论 (0)