AI Agent熔断机制:API一直报错就停手,别浪费钱

📘 AI教程 💬 🔥 Trending

🩺 摘要

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

总结

熔断机制的核心价值不是"不报错",是在系统不可用时快速失败,避免浪费资源和钱。等恢复后再自动重试。