Skip to content

适配层、回归集与灰度发布 ​

供应商适配层应统一业务真正需要的输入、状态、事件、错误、用量和工具意图;供应商独有能力通过显式扩展或能力声明暴露。两个平台都能返回文字,不代表它们在工具、结构化输出、缓存、视觉或错误语义上等价。适配器的验收必须同时比较质量、延迟、成本、工具轨迹和失败方式。

第一个可运行实验:按分组比较回归结果 ​

使用 Python 3.12 保存 evaluation.py,运行 python evaluation.py。

python
rows = [
    {'group': 'zh', 'ok': True, 'latency': 100},
    {'group': 'zh', 'ok': False, 'latency': 300},
    {'group': 'en', 'ok': True, 'latency': 120},
    {'group': 'en', 'ok': True, 'latency': 140},
]

def report(rows):
    groups = {}
    for row in rows:
        groups.setdefault(row['group'], []).append(row)
    return {
        group: {
            'accuracy': sum(r['ok'] for r in items) / len(items),
            'p95_like': max(r['latency'] for r in items),
        }
        for group, items in sorted(groups.items())
    }

result = report(rows)
assert result['zh']['accuracy'] == 0.5
assert result['en']['accuracy'] == 1.0
print(result)

总成功率可能掩盖某个语言、租户、输入长度或工具类型的回归。固定回归集要包含正常、边界、拒答、长上下文、结构化失败、工具失败和提示注入样本。影子流量不能执行真实写操作;灰度必须记录模型、提示词、schema、适配器和路由规则版本,并能整组回滚。

变体实验 ​

增加一个高延迟但正确的样本,分别计算平均和最大延迟,说明平均值为何不足以做发布门禁。再加入工具参数错误,区分“答案不佳”和“工具轨迹不安全”。

练习 ​

  1. 为回归结果增加成本、首 token 延迟和工具选择正确率。
  2. 设计按稳定用户哈希的灰度规则,保证同一用户不会在两个版本间抖动。
  3. 列出回滚时必须一起恢复的配置版本。

用心记录每一步成长