POC 是证据,不是发布决策

一个演示能证明模型可以生成一个看起来合理的结果;而生产必须证明另一件事:用户能够在安全、隐私、延迟、成本和恢复的边界之内,完成一个已定义的任务。

在扩大规模之前,先写下一份工作负载契约:

契约项 示例问题
用户结果 完成什么任务能让用户真正受益?
非目标 哪些动作绝不能自动执行?
证据 有哪些权威数据支撑这个结果?
副作用 哪些写入需要确认步骤和幂等?
限制 适用怎样的成本、延迟、工具和重试预算?
恢复 超时、重复请求或副作用不确定之后,会发生什么?

常见的生产缺口

把提示词当作策略

指令和结构定义只是塑造一个提议,它们并不授权这个提议。要把身份、租户、对象所有权、价格、审批和执行,都保留在可信服务里。

python
def request_refund(session, intent, orders):
    order = orders.for_subject(intent.order_token, session.subject_id)
    if order is None or not order.is_refundable():
        return {"status": "rejected"}
    return {"status": "confirmation_required", "order_id": order.public_id}

这段片段刻意不发起退款。必须由一个独立的接口,在副作用发生之前立即重新检查状态、确认步骤、过期时间和一枚幂等键。

只优化顺利路径

不要从单次模型调用去推断整个工作流的可靠性。各个步骤之间可能存在关联性失败,而一个看起来的成功也可能并没有证据支撑。应当评估端到端的任务,以及诸如模糊请求、过期证据、工具不可用、跨租户尝试、超长输入、重试、取消和对抗性检索文本这样的切片。

默认记录私密内容

可观测性应当记录一份脱敏后的事件契约:关联 ID、契约与模型版本、决策类别、工具/结果类别、延迟、预算消耗和错误类别。它不应默认记录原始提示词、完整的工具参数、私密文档、凭据或隐藏的推理过程。

重试副作用

只对那些拥有明确重试标识和语义的操作做重试。把幂等绑定到主体、租户、动作和规范化后的参数上。当一个外部副作用无法被证明时,返回 outcome_unknown,而不是声称成功。

评估与发布

维护一批版本化的场景,附带来源版本和预期证据。对不变量使用确定性的判定标准,对主观质量使用人工复核,只有在局限性被测量清楚之后,才使用经过校准的模型评判。

门禁 证据
任务质量 代表性的结果与来源标注
安全 授权、注入和滥用用例
运营 预算、超时、重试和恢复行为
隐私 脱敏、留存和删除检查
用户体验 无障碍的兜底与人工升级路径

以可逆的阶段发布:先是内部任务,再到受限范围的用户,然后是受监测的一小批用户,最后才更广泛地推广。在暴露给用户之前先定义好回滚信号,并与用户一起复盘失败,而不是用更多的提示词去掩盖它们。

常见问题

多 Agent 设计是否总是更贴近生产就绪?

不是。只有当所有权、可靠性隔离或评估确实能得到改善时,才去做拆分。一个确定性的本地工作流,往往更容易保证安全、也更容易运维。

什么是优雅降级?

它是一份用户能够理解的兜底契约,例如请求澄清、返回一个有界的部分结果、把任务排队交给人工复核,或者拒绝一个不安全的动作。它不是悄悄地改动一个有实质后果的请求。

延伸阅读