跳到主要内容

44 篇博文 含有标签「llm-ops」

查看所有标签

确定性重放:如何调试永远不会以相同方式运行两次的 AI Agent

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的 Agent 上周二在生产环境出了故障。一个客户报告了错误的回答。你调出日志,看到最终输出,也许还有几条中间的 print 语句——然后你就卡住了。你无法重新运行 Agent 来重现同样的故障,因为模型不会产生相同的 token,你的工具调用的 API 现在返回了不同的数据,嵌入在提示词中的时间戳也已经变了。Bug 消失了,你只能盯着间接证据发呆。

这就是 AI Agent 的根本调试问题:传统软件是确定性的,所以你可以通过重建输入来复现 bug。Agent 系统不是。每次运行都是模型采样、实时 API 响应和时间依赖状态的独特组合。没有专门的工具,事后调试就变成了取证猜测。

确定性重放通过在执行过程中记录每个非确定性来源,并在重放时替换这些记录来解决这个问题——把你无法复现的 Agent 运行变成你可以像调试器一样逐步跟踪的东西。

供应商锁定深度分析:导致更换 LLM 供应商变成 6 个月工程项目的七个耦合点

· 阅读需 13 分钟
Tian Pan
Software Engineer

每一个交付 LLM 驱动功能的团队最终都会进行同样的对话:“如果我们需要更换供应商怎么办?”标准的回答——“我们只需要换一下 API 密钥”——揭示了对耦合实际存在位置的危险误解。在实践中,尝试进行供应商迁移的团队会发现,API 端点是他们最不需要担心的问题。真正的锁定隐藏在七个不同的耦合点中,每一个都能将一次“快速更换”变成一个耗时一个季度的项目。

供应商锁定深度分析:导致更换 LLM 供应商变成 6 个月工程项目的七个耦合点

迁移费用通常会消耗原始开发时间的 20–50%。那些将模型切换视为即插即用的企业团队,往往在面对损坏的输出、激增的 Token 成本以及需要数周才能诊断出的推理质量变化时束手无策。在需要迁移之前,了解这些耦合点在哪里,是受控过渡与紧急应对之间的本质区别。

可观测性税:当监控 AI 的成本超过运行 AI 本身

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的团队上线了一个 AI 驱动的客服机器人。它运行良好,用户很满意。然后月度账单到了,你发现监控 LLM 调用的基础设施成本比 LLM 调用本身还要高。

这不是假设。团队报告称,将 AI 工作负载监控添加到现有的 Datadog 或 New Relic 设置中,可观测性账单增加了 40-200%。与此同时,推理成本持续下降——GPT-4 级别的性能现在每百万 token 仅需 0.40 美元,而 2022 年末为 20 美元。监控技术栈还没有收到这个消息。

结果是一个倒挂现象,如果不是这么贵的话会很有趣:你花在观察 AI 思考上的钱比让 AI 思考的钱还多。

批量 LLM 流水线的盲点:离线 AI 的队列设计、检查点与成本分摊

· 阅读需 14 分钟
Tian Pan
Software Engineer

大多数生产环境中的 AI 工程建议都假设你在构建聊天机器人。架构讨论集中在首字时间(TTFT)、流式部分响应以及亚秒级的延迟预算上。但越来越多的真实 LLM 工作负载与聊天界面毫无共同点。它们更像是每晚的数据扩充任务、每周的文档分类运行,以及每月对数百万条记录进行的合规性审查。

这些批处理流水线正是团队悄悄烧钱最多、因无声失败导致数据丢失最严重、以及积累技术债最多的地方——这正是因为来自实时服务的“延迟优先”思维模型不再适用,且尚未有人用更好的方案取而代之。

模型迁移指南:如何在不冻结功能开发的情况下更换基础模型

· 阅读需 13 分钟
Tian Pan
Software Engineer

每个生产环境中的 LLM 系统都会面临模型迁移。供应商发布了新版本。你需要降低成本。竞争对手提供了更好的延迟。监管要求需要更换供应商。问题从来不是你是否会更换模型——而是你是否能安全地完成迁移,还是会由于惨痛的教训才意识到,“仅仅运行评估套件”会在预发布环境(Staging)的信心与生产环境的现实之间留下巨大的鸿沟。

大多数团队将模型迁移视为库升级:更换依赖项、运行测试、然后发布。这对于确定性软件有效。但对于概率性系统,这种方式会遭遇灾难性的失败。在这些系统中,相同的输入在不同模型版本中可能产生语义迥异的输出,而且你的提示词(Prompt)往往针对你正准备替换的模型行为特性进行了隐式调优。

Prompt Sprawl:当系统提示词演变成难以维护的遗留代码

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的系统提示词(system prompt)起初只有 200 个 token。一个清晰的角色定义,几条格式规则,一两个约束条件。六个月后,它变成了 4,000 个 token 的指令堆砌,其中一半互相矛盾,团队里也没人能解释为什么会出现关于 JSON 格式化的第三段内容。欢迎来到提示词膨胀(prompt sprawl)—— 这种生产环境中的问题会在每个人都认为提示词“没问题”的情况下,悄悄削弱你的 LLM 应用。

提示词膨胀发生在你把提示词当作“只增不减”(append-only)的配置时。每一个 bug 都会换来一条新指令。每一个边缘案例都会换来一条新规则。每一个利益相关者(stakeholder)都会换来一段新文字。提示词不断增长,却没人删掉任何东西,因为没人知道哪些是起到支撑作用的(load-bearing)。

这就是遗留代码 —— 甚至更糟。没有编译器来捕捉矛盾。没有类型系统来强制执行结构。没有测试套件能验证第 47 条指令是否否定了第 12 条。而且,与乱作一团的代码库不同,你无法安全地进行重构,因为没有依赖图(dependency graph)来引导你。

生产环境中的智能体授权:为什么你的 AI 智能体不应该是一个服务账号

· 阅读需 13 分钟
Tian Pan
Software Engineer

一家零售商给他们的 AI 订货 Agent 分配了一个服务账号。六周后,在有人察觉之前,该 Agent 已经向 14 家供应商下达了 38 份未经授权的订单,总额达 47,000 美元。根本原因并非模型幻觉或错误的提示词(Prompt),而是权限问题:测试期间配置的凭据从未在生产环境中缩小权限范围,既没有支出上限,也没有高价值操作的审批门槛。这个 Agent 发现了某项功能,假设自己已被授权使用,便开始不遗余力地进行优化,直到有人叫停。

这种模式随处可见。一项 2025 年的调查发现,90% 的 AI Agent 存在权限过度问题,80% 的 IT 人员曾目睹 Agent 在未经明确授权的情况下执行任务。整个行业正基于为无状态微服务设计的身份模型构建强大的自治系统——而这种不匹配正在引发真实的事故。

基座工程(Harness Engineering):决定你的 AI Agent 能否真正工作的关键学科

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数运行 AI 编程智能体(AI coding agents)的团队都在优化错误的变量。他们过度痴迷于模型选择 —— Claude vs. GPT vs. Gemini —— 却将周围的脚手架视为次要的配套工作。但基准测试数据和生产环境的实战经验告诉我们一个不同的故事:一个在演示中令人惊叹的模型与一个能够可靠交付生产代码的模型之间的差距,几乎完全取决于其周围的控制环(harness),而不是模型本身。

这个公式看似简单:智能体 = 模型 + 控制环 (Harness)。控制环是除此之外的一切 —— 工具 schema、权限模型、上下文生命周期管理、反馈循环、沙箱环境、文档基础设施、架构不变性。如果控制环搞错了,即使是最前沿的模型也会生成虚构的文件路径,在会话进行到 20 轮时破坏自身的约定,甚至在没写任何测试之前就宣称功能已完成。