跳到主要内容

4 篇博文 含有标签「versioning」

查看所有标签

AI 更新日志问题:为什么你的提示词更新正在破坏其他团队的工作

· 阅读需 13 分钟
Tian Pan
Software Engineer

一个平台团队对他们的摘要服务的系统提示词(system prompt)进行了一行细微的调整。没有代码审查,没有迁移指南,没有版本更新——这“仅仅是一个提示词”。两周后,法律产品团队发现他们的合规自动脱敏功能一直在静默地泄露姓名。调查耗费了一个冲刺(sprint)。修复很简单。损害的是信任。

这是 AI 变更日志问题的缩影。行为现在是你系统的一等输出(first-class output),当提示词、模型、检索器或工具模式(tool schemas)发生变化时,行为也会随之改变——而这些变化都不会出现在消费方应用的 git diff 中。如果团队像对待后端部署那样对待 AI 更新,认为在 #releases 频道发一条 Slack 消息就足够了,那么他们最终会重蹈 2010 年代早期那种“我们先上线,稍后再告诉 QA”工作流的覆辙。

AI 驱动端点的 API 设计:为不可预测性建立版本控制

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的 /v1/summarize 端点在 18 个月里运行得非常完美。然后你升级了底层模型。输出格式没变,JSON schema 完全一致。但你的下游消费者开始提交 bug:摘要“太随意了”,要点“详细得诡异”,边界情况下的拒绝响应“变得不同”。从传统意义上讲,一切都没坏;但在 AI 的语境下,一切都坏了。

这是 REST 和 GraphQL 从未被设计用来解决的版本控制问题。传统的 API 合约假设确定性:相同的输入总是产生相同的输出。而 AI 端点的合约是概率性的——它包括语气、推理风格、输出长度分布以及拒绝阈值,当你更换或更新底层模型时,所有这些都可能发生漂移。对于以数据库为支撑的 API 有效的技术,对于以 AI 为支撑的 API 是必要但不充分的。

智能体行为版本控制:为什么 Git 提交无法捕获真正的变化

· 阅读需 10 分钟
Tian Pan
Software Engineer

你上周二发布了一个智能体。代码库没有任何改动。到了周四,它开始拒绝之前已经可靠处理了好几周的工具调用。你的 git 日志是干净的,测试全部通过,CI 流水线一片绿色。但智能体坏了——而且你没有可以回滚的版本,因为真正发生变化的东西根本不在你的代码仓库中。

这就是智能体版本控制的核心悖论:你追踪的制品(代码、配置、提示词)是必要的,但不足以定义你的智能体实际做了什么。行为是从代码、模型权重、工具 API 和运行时上下文的交叉中涌现出来的——其中任何一个都可以在版本控制系统中不留痕迹地发生变化。

LLM 输出即 API 契约:为下游消费者版本化结构化响应

· 阅读需 11 分钟
Tian Pan
Software Engineer

2023 年,斯坦福大学和加州大学伯克利分校的研究团队做了一项受控实验:他们在 3 月和 6 月分别向 GPT-4 提交了完全相同的提示词,任务非常基础——判断一个数字是否为质数。3 月时,GPT-4 的准确率为 84%。到了 6 月,使用完全相同的 API 端点和完全相同的模型别名,准确率已跌至 51%。没有变更日志,没有通知,没有传统意义上的破坏性变更。

这项实验清晰地揭示了一个在多服务架构中部署 LLM 的团队迟早都会遇到的问题:模型别名不是稳定的契约。当你的下游支付处理器、推荐引擎或合规系统依赖 LLM 生成的结构化 JSON 时,你就建立了一个隐式的 API 契约——而隐式契约会悄无声息地崩溃。