🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

Semantic Circuit Breaker

by @kingofzhao

Protect downstream services by monitoring semantic content quality and triggering circuit breaks based on semantic drift, inconsistency, factual errors, or t...

Versionv1.0.0
Downloads410
TERMINAL
clawhub install semantic-circuit-breaker

📖 About This Skill

Semantic Circuit Breaker

> 语义熔断器:基于内容语义而非错误率的服务保护机制。

何时使用

  • API返回"正确格式但错误语义"的响应(如AI幻觉)
  • 需要保护下游服务免受语义漂移影响
  • LLM API的质量保障层
  • 核心认知

    1. 传统熔断看状态码,语义熔断看内容

    传统Circuit Breaker基于HTTP状态码和超时率。但当LLM API返回200但内容是幻觉、偏见、或语义偏移时,传统熔断完全无效。

    语义熔断触发条件

  • 语义漂移:连续N个响应的语义embedding偏离历史基线超过阈值
  • 一致性断裂:对同一问题的多次回答语义差异过大
  • 事实性崩塌:响应中可验证事实的错误率超过阈值
  • 毒性飙升:响应中的有害内容评分突增
  • 2. 三态模型(扩展传统熔断)

  • Closed(正常):语义质量在基线范围内,请求正常通过
  • Open(熔断):语义质量严重偏离,请求被拦截并返回降级响应
  • Half-Open(探测):定期发送探测请求,评估语义质量是否恢复
  • 区别:转换条件不是"错误率"而是"语义距离"。

    3. 语义距离计算

    def semantic_distance(responses, baseline):
        """计算响应集合与基线的语义距离"""
        embeddings = embed(responses)  # 句向量
        baseline_emb = embed(baseline)
        
        # 余弦距离
        cosine_dist = 1 - cosine_similarity(embeddings.mean(axis=0), baseline_emb.mean(axis=0))
        
        # 方差(一致性)
        variance = embeddings.std(axis=0).mean()
        
        # 事实性(与知识库比对)
        factuality = verify_against_kb(responses)
        
        return 0.4 * cosine_dist + 0.3 * variance + 0.3 * (1 - factuality)
    

    碰撞来源

  • circuit-breaker-pattern × semantic-diff-engine × llm-output-validator
  • semantic-cache-layer(语义计算)× adaptive-circuit-breaker(自适应熔断)