跳到主要内容

13 篇博文 含有标签「platform-engineering」

查看所有标签

你的 CS 团队构建了一个影子 Agent。这就是你的路线图。

· 阅读需 10 分钟
Tian Pan
Software Engineer

你支持团队的一位高级 CSM 花了一个周末搭建了一个内部 Slack 机器人。他们自己编写了系统提示词(system prompt),并将其指向了公开文档、Zendesk 已解决工单的导出数据以及变更日志(changelog)。六周后,它能回答团队以前需要手动输入的约 40% 的一级(tier-1)问题。你的工程团队架构中没人知道它的存在。当平台团队第一次发现它时,安全部门的人会问,为什么一个服务账号会在凌晨 3 点访问 Zendesk 的 API。

默认的反应是恐慌。封锁 API 令牌。发送一封关于未经授权 AI 的全公司邮件。在下一次治理审查中增加一张幻灯片。然后承诺平台团队将在下个季度,按照正式的路线图(roadmap)构建“官方版本”。

这种反应忽略了实际发生的情况。CS 团队并没有擅自行动 —— 他们构建了一个工程团队尚未交付的产品的可用原型。他们拥有真实的反馈数据、真实的提示词迭代周期和真实的用户反馈。而你的平台路线图里这些都没有。将这个机器人视为合规违规行为,会丢掉你的 AI 计划今年能获得的最准确的优先级信号。

AI 功能之间隐藏的边:当一次提示词编辑导致其他三个团队的性能回退时

· 阅读需 11 分钟
Tian Pan
Software Engineer

一位平台工程师修改了公司“品牌风格”序言中的开场白——这是用于统一所有面向客户的助手语气的一行代码。这项改动通过 feature flag 发布。到了周二,搜索团队的相关性退化指标激增,支持机器人的评估通过率下降了四个百分点,入职引导 Agent 的重试率翻了一倍。这些团队中没有一个动过自己的代码。他们都没有收到任何预警。平台工程师对这一切一无所知,因为没人收到过类似的警报:“你的修改刚刚搞坏了三个下游功能。”

这就是定义 AI 团队成立第二年后的典型失效模式。第一年,每个团队都在各自的角落闭门造车。第二年,这些角落开始共享产物——这里一个提示词片段,那里一个种子评估集,或者一个被当作协议复用的工具 Schema。当这种共享变得隐性时,AI 功能之间的依赖图就变得不可见了。你现在拥有的是一个没人能叫出其边缘名称的分布式系统。

解决这一问题的方法论(discipline)并不是一个新平台,而是绘制这张图。

AI 专家门诊无法规模化:当你的核心专家成为发布瓶颈

· 阅读需 11 分钟
Tian Pan
Software Engineer

打开公司里那位上线真实的 AI 功能超过六个月的工程师的日历。数一数那些重复出现的 “30 分钟同步 —— 关于 Agent 的问题” 邀请,那些最终被预定的即时 “能耽误你 15 分钟吗?” Slack 消息,那些被标记为 “可选” 但他们实际上不得不参加的架构评审,以及最初只是周五下午的一个时段、现在却每天吞噬两个小时的 Office Hours。然后看看路线图,追踪哪些功能取决于该工程师尚未做出的决定。两者的交集才是你真正的发布时间表。Jira 看板只是虚构。

这就是 AI Office Hours 瓶颈,它在 2026 年的 AI 组织中是核心承重约束,尽管组织里没人会大声说出来。团队快速扩展了 AI 功能开发 —— 每个产品小组都拿到了模型预算,每个 PM 都学会了写 Prompt —— 然后把每一个 “这个模型对吗”、“这里该不该用 RAG”、“我们的评估设计是否有效”、“为什么缓存命中率很奇怪” 的问题都抛给了唯一那个真正上线过足够多生产环境 AI 功能、能给出答案的工程师。六个月后,那位工程师的日历成了半个路线图的限速试剂,“我需要找他谈 30 分钟” 成了你的事故响应本该明确化的核心升级路径。

内部 LLM 网关是新一代 Service Mesh

· 阅读需 11 分钟
Tian Pan
Software Engineer

走进任何一家有五十名工程师在生产环境编写 LLM 代码的公司,你都会发现七个网关形态的产物。推荐团队造了一个用于在 OpenAI 和 Anthropic 之间路由。支持机器人团队写了一个用来挂载他们的 Prompt 注册表。平台团队有一个半成品代理,处理鉴权但不处理限流。增长团队有一个 Lambda,在数据发出时进行 PII 脱敏。数据科学团队直接调用供应商 SDK,而且没人告诉他们停止这样做。没有共享网关。只有七个共同的问题,每个都被孤立且拙劣地解决了,而首席财务官 (CFO) 正准备询问为什么 AI 账单环比增长了 40%,却没有任何明确的负责人。

这与行业在 2016 年和 2017 年遇到微服务时的架构节奏完全相同。成千上万的外部依赖,每个团队都有相同的共同关注点——鉴权、重试、可观测性、策略——以及在“解决一次”或“随处重新发明”之间做出选择。当时的答案是服务网格 (Service Mesh)。现在的答案是内部 LLM 网关,而大多数公司仍处于“随处重新发明”的阶段。

模型弃用跑步机:在收到停用通知邮件之前必须建立的规范

· 阅读需 15 分钟
Tian Pan
Software Engineer

那些将“我们使用最新模型”视为美德的团队,距离长达一个季度的计划外工作只差一封下线邮件。当弃用通知送达时,决定你是否能消化它的架构决策早在几个月前就已经做好了——而且是由那些根本没考虑过迁移的人做出的。评估套件(eval suite)隐式地针对特定检查点(checkpoint)进行了训练。提示词(prompts)是针对特定的拒绝风格(refusal style)进行调整的。成本预测假设了特定的任务令牌(token-per-task)基准。路由器的硬编码回退(fallback)模型本身也即将消失。在邮件到来之前,这些决策看起来都不像是风险,而一旦邮件到来,它们看起来就全都是同一种风险。

模型弃用现在是 AI 技术栈中最可预测的意外。Anthropic 对公开发布的模型至少提供 60 天的通知期。OpenAI 的通知窗口从针对特定快照(snapshot)的 3 个月到针对基础模型的 18 个月不等,但在实践中,最近一批 ChatGPT 模型的退役对某些团队来说只有短短两周的预警。GitHub 在 2026 年 2 月的一次协调变更日志条目中,集中弃用了一系列 Anthropic 和 OpenAI 模型。现在的模式不再是“如果模型退役”——而是“每个季度,你的技术栈所依赖的至少一个模型会进入退役窗口,而这个时间表与你的路线图并不同步”。

共享提示词的“夺旗日”:当一次修改引发三十个团队的性能回归

· 阅读需 12 分钟
Tian Pan
Software Engineer

对共享系统提示词的第一次修改感觉就像是优秀的工程实践。三个团队都在各自智能体的顶部粘贴了相同的 18 行安全前导指令,有人注意到了这一点,内部平台团队说了一个显而易见的提议:让我们把它中心化吧。于是 prompts.common.safety_preamble@v1 出现在了注册仓库中。由于这是阻力最小的路径,加上安全团队很高兴能由一个团队统一负责措辞,30 个团队在短短一个季度内就采用了它。在接下来的两个季度里,这看起来就像是一个完美的 DRY (Don't Repeat Yourself) 胜利。

随后,安全团队需要对措辞进行微调。可能是新的合规条例收紧了助手可以主动提供的用户信息范围,也可能是红队发现需要向拒绝条款中增加一句话。平台团队完成了修改,发布了 v2 版本。不到一天,支持队列就充满了消费团队的消息:我们的评估 (eval) 下降了、我们的格式崩了、我们的工具调用率减半了、我们的语气变了、延迟增加了(因为模型开始进行更多推理)。每个团队都希望回退修改。而安全团队需要发布它。没有人能在不进行重新评估的情况下升级,但又没有人负责重新评估。欢迎来到共享提示词的“旗帜日 (flag day)”。

推理 Span 中缺失的 kWh 列:单次请求的碳归因

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的推理火焰图(inference flame graph)有一个成本轴,但没有能源轴。这种差距在某天早上之前都没问题,直到客户的采购团队给你发来一份包含 23 列供应商可持续性披露信息的电子表格,其中一列是 每 1,000 次推理的 kgCO2e。你没办法填那一格,你的供应商给出的答案是一篇方法论论文,而交易将在 9 天内关闭。你的平台团队磨练了两年的 token 成本仪表盘突然看起来像是解决了一个错误的问题。

这里的转变并非抽象的。可持续性披露正在从公司层面的汇总转向产品层面的颗粒度。第一波浪潮于 2025 年进入了 CSRD 和 ESRS,而第二波浪潮现在正冲击着 B2B 采购合同。构建了成本可观测性的工程组织即将发现,他们需要针对碳排放的可观测性,而这两者在同一个 span 上并非同一列。

推理预算委员会:Token 支出突破七位数时的治理之道

· 阅读需 13 分钟
Tian Pan
Software Engineer

在每月 50,000 美元的水平时,你基础设施账单上的“计算 + Token”这一项只是可以忽略不计的零头。但当每月达到 5,000,000 美元时,它就是一个 CFO 级别的问题。这两个阶段之间的转变并不是渐进的——它是组织讨论模型支出方式的一种“相变”,而大多数工程组织对于随之而来的社会和政治工作都准备不足。账单依然是那简单的一行;但围绕它的对话却不再简单。

改变的是谁有资格问“为什么”。当三个产品团队共享一个 API Key 和一个预留容量时,每一个配额争论的结构都是相同的:某人正以牺牲他人的利益为代价获胜,而没有中立方来主持公道。当一个团队的发布第一次因为另一个团队上线了一个“话痨”智能体(agent)而受到限制时,整个工程组织会立刻感受到治理机构缺失带来的痛苦。在压力之下召开会议并凭空发明流程,是设计流程最糟糕的时机。

共享提示服务问题:多团队 LLM 平台与依赖噩梦

· 阅读需 11 分钟
Tian Pan
Software Engineer

一个周二下午,某中型 AI 初创公司的平台团队合并了一个对共享系统提示的"小幅改进"。到周四,三个独立的产品团队相继提交了 bug。一个团队的评估套件准确率从 87% 跌至 61%。另一个团队的 RAG 流水线开始产生幻觉引用。第三个团队的安全过滤器完全停止拦截某类有害输出。四天后,没有人把这些问题联系起来。

这就是共享提示服务问题,任何拥有多个团队基于同一 LLM 平台进行开发的组织都会遭遇它。

共享提示服务问题:多团队 LLM 平台与依赖噩梦

AI 依赖足迹:每个功能都在增加新的基础设施所有者

· 阅读需 10 分钟
Tian Pan
Software Engineer

上个季度,你的团队上线了一个基于 RAG 的搜索功能。它需要向量数据库、嵌入模型、标注流水线、分块服务和评估框架。每个组件单独来看都合情合理。但六个月后,你发现这五个组件中有三个没有明确的负责人,有两个运行在工程师的个人云账户上,还有一个被供应商悄悄下线了,无人知晓。凌晨三点的告警来自一个没人记得是何时添加的组件。

这就是 AI 依赖足迹问题:每个 AI 功能所需基础设施的累积叠加,加上组织层面在上线前几乎不规划所有权的现实,共同造就了这一困局。

热路径与冷路径 AI:决定你 p99 延迟的架构决策

· 阅读需 12 分钟
Tian Pan
Software Engineer

你发布的每一个 AI 功能,在成为产品决策之前,都首先是一个架构选择:这个模型调用是发生在用户的请求链路中,还是在用户无需等待的地方运行?这个选择通常由编写第一个原型的人做出,之后便不再被审视,并默默地决定了该功能在余下生命周期中的 p99 延迟。当事后分析(Post-mortem)询问为什么生产环境仪表盘在每周一上午 10 点变得无法使用时,答案几乎总是:某些本应属于冷路径(Cold-path)的东西被焊死在了热路径(Hot-path)中——而在 p50 时表现良好的模型,在流量扇出(Fan out)时,其 p99 的表现会变得极具灾难性。

热路径与冷路径的区别比 LLM 还要早。CQRS、流式架构、Lambda 架构——它们都在“必须立即响应”和“可以最终送达”之间划定了相同的界限。AI 工作负载的不同之处在于,走错方向的代价比以前高出了一个数量级。一个耗时 50 ms 的同步数据库查询变成 200 ms 是一次回归(Regression)。而一个在 p50 时耗时 1.2 秒的同步 LLM 调用在 p99 时变成 11 秒,则是你无意中做出的一项商业决策。

MCP 就是新一代的微服务:AI 工具生态正在重蹈分布式系统的覆辙

· 阅读需 9 分钟
Tian Pan
Software Engineer

如果你经历过 2015–2018 年的微服务爆发期,那么 MCP 的现状应该会让你感到不安的熟悉。一个真正有用的协议出现了。它很容易搭建。每个团队都搭建了一个。没有人追踪什么在运行、谁负责维护、如何保障安全。不到十八个月,你就会盯着一张工程师私下称为"死星"的依赖关系图。

Model Context Protocol 正在沿着同样的轨迹发展,速度大约是三倍。非官方注册中心已经索引了超过 16,000 个 MCP 服务器。GitHub 上有超过 20,000 个公开仓库在实现它们。Gartner 预测到 2027 年 40% 的 agentic AI 项目将失败——不是因为技术不行,而是因为组织在自动化有缺陷的流程。MCP 泛滥正是这个问题的症状。