跳到主要内容

578 篇博文 含有标签「insider」

查看所有标签

验证器陷阱:事后防御如何从内部腐蚀你的提示词

· 阅读需 10 分钟
Tian Pan
Software Engineer

第一次验证器捕捉到糟糕的 LLM 输出时,感觉像是一场胜利。第二次,你会调整提示词以降低失败的可能性。到第二十次时,团队中没人能解释为什么提示词中存在那三个段落 —— 它们是早已被遗忘的事故留下的瘢痕组织,而模型在阅读警告上花费的 Token 比推理实际任务还要多。

这就是验证器陷阱。你添加的每一个事后防护(post-hoc guard)—— JSON 模式检查、正则表达式、内容分类器、第二个作为裁判的 LLM —— 都会对上游提示词施加反馈压力。提示词会增加防御性指令来安抚验证器,验证器反过来又会捕捉到一类新的失败,接着你又会添加更多指令。每一次迭代在局部看来都是合理且明智的。但总体而言,系统变得越来越慢、越来越贵,而且在原本设计的任务上的表现也明显变差了。

智能体集群并发:在没有死锁或惊群效应的情况下协调数十个智能体

· 阅读需 13 分钟
Tian Pan
Software Engineer

十一个智能体在同一秒内启动。在第一个工具调用返回之前,就有三个阵亡了。那 27% 的失败率不是模型问题、提示词问题或工具问题。这是一个调度问题 —— 就像操作系统在五十个进程同时唤醒并争抢单个 CPU 时所解决的问题一样。区别在于,操作系统拥有四十年的智慧积累,而智能体运行时只有大约两年。

任何连接过超过几个并发 LLM 工作节点的人都见过类似的情况。你在 02:00 启动一个定时任务,三十个智能体同时启动,它们在 200 毫秒内同时请求同一个提供商,结果大多数都以 429、502 和连接重置告终。幸存者只能获得承诺的一半速率配额,因为提供商的公平共享逻辑已经开始对你的 API 密钥进行节流了。到 02:05 时,幸存的智能体运行结束,你的仪表盘显示的完成率足以让一个刚写出第一个生产者-消费者的计算机专业大一学生感到汗颜。你的值班人员会争论是该增加重试、增加队列,还是干脆减少运行数量。

这些方法本身都不是正确答案。正确答案是:一个智能体集群是一个小型分布式系统,需要按照分布式系统的方式进行设计。

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

· 阅读需 13 分钟
Tian Pan
Software Engineer

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

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

在写第一个 Prompt 之前,先设计好你的 Agent 状态机

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数工程师在构建第一个 LLM agent 时,都会遵循相同的流程:写一个系统提示词,添加一个调用模型的循环,撒上一些工具调用逻辑,然后看着它在简单的测试用例上运行。六周后,这个 agent 变成了一团难以理解的嵌套条件、粘贴在 f-string 里的 prompt 片段,以及散落在三个文件中的重试逻辑。添加一个功能需要通读整个代码。遇到生产 bug 就得盯着一个上千 token 的上下文窗口,试图重建模型当时在"想"什么。

这就是"意大利面式 agent"问题,在以 prompt 为起点而非设计为起点的团队中几乎普遍存在。解决方案不是更好的提示技巧,也不是换一个框架,而是一种纪律:在写第一个 prompt 之前,先设计好状态机

AI 审计追踪是产品功能,而非合规勾选项

· 阅读需 10 分钟
Tian Pan
Software Engineer

麦肯锡 2025 年的调查发现,75% 的业务负责人正以某种形式使用生成式 AI —— 但近一半的人已经遭遇过严重的负面后果。这种差距并非模型质量问题,而是信任问题。而缩小这一差距的最快路径不是更多的评估(evals)、更好的提示词(prompts)或新的前沿模型,而是向用户准确展示智能体(agent)做了什么。

大多数工程团队将审计追踪视为事后才考虑的事情 —— 就像你为了 GDPR 合规或 SOC 2 认证而临时接入的东西,然后将其锁在只有运维人员(ops)查看的内部仪表盘中。这是错误的做法。当用户能看到智能体调用了哪个工具、检索了哪些数据,以及哪条推理分支生成了答案时,会发生三件事:采用率上升,支持工单减少,并且模型错误能比任何后端警报提早数天显现。

AI 代码审查实践:自动化 PR 分析真正能发现什么,又持续遗漏什么

· 阅读需 10 分钟
Tian Pan
Software Engineer

47% 的专业开发者现在使用 AI 代码审查工具——两年前这一比例仅为 22%。然而在同一时期,AI 协作编写的 PR 合并后产生的 Bug 数量是人工编写代码的 1.7 倍,整个行业的变更失败率上升了 30%。团队在部署这些工具时出了问题,而问题并非工具本身。

核心问题在于工程师在没有理解 AI 审查能力边界的情况下就将其引入工作流。这类系统在真实代码库上的效果上限为 50–60%,只擅长一小类表层问题,而恰恰在导致生产事故的错误上静默失败。将 AI 审查视为通用质量关卡的团队,得到的是虚假的信心,而非真正的覆盖。

受监管行业的 AI 合规基础设施:大语言模型框架没能提供给你的东西

· 阅读需 12 分钟
Tian Pan
Software Engineer

在受监管行业部署 LLM 的大多数团队都会以惨痛的方式发现他们的合规差距:审计员出现并要求提供特定日期哪个文档影响了某个特定输出的完整日志,而团队却无法给出答案。这并不是因为系统没有记录——它记录了——而是因为 LLM 调用的文本日志并不等同于具有防篡改证据的审计追踪,而 LLM API 的响应主体也不等同于输出溯源(Output Lineage)。

金融、医疗和法律领域不仅仅是消费类软件的“更严格”版本。它们需要通用 LLM 框架从未设计的底层基础设施原语:不可变事件链、单次输出溯源、拒绝处置记录(Refusal Disposition Records)以及结构化可解释性钩子。目前流行的编排框架都没有提供这些开箱即用的功能。本文介绍了这种架构差距,以及如何在不重构整个技术栈的情况下弥补这一差距。

没人用的 AI 功能:团队为何交付了无人采用的能力

· 阅读需 10 分钟
Tian Pan
Software Engineer

一家中型项目管理公司的产品副总裁,花了三个季度的工程团队路线图来构建 AI 助手。上线六个月后,每周活跃使用率只有 4%。问她为什么要做:「竞争对手发布了一个,董事会问我们什么时候跟上。」这是一个用产品战略包装起来的恐慌决策——而且这种情况现在到处都是。

4% 不是个例。一个客户成功平台在四个月后,AI 生成通话摘要的采用率是 6%。一个物流 SaaS 添加了 AI 路线优化建议,点击率 11%,实际操作率 2%。一个 HR 平台推出了 AI 政策问答机器人,火了两周,然后跌落至 3% 后趋于平稳。这个规律已经稳定到可以命名了:发布 AI 功能,眼看它被忽视,十八个月后悄悄下线。

默认的解释是 AI 不够好。有时确实如此。但更多时候,模型没有问题——用户压根就没找到这个功能。

为什么 AI 功能开关不同于普通功能开关

· 阅读需 12 分钟
Tian Pan
Software Engineer

金丝雀部署完美收工:错误率纹丝不动,延迟没有飙升,监控大盘一片绿色。你将新模型全量推送给所有流量——三周后,客服队列里挤满了用户投诉,说 AI "感觉不对劲"、"不再有用了"。

这正是将传统功能开关机制套用到 AI 系统上的核心问题。一个模型可以在"没有崩溃"的情况下悄悄退化:它照常返回 200 状态码,以正常速度生成 token,输出的文本也能通过表面校验——但与此同时,它的幻觉频率在悄悄上升,回答越来越简短或回避,或者在你的用户真正依赖的细微推理模式上悄然退步。你多年来一直监控的遥测指标,从来就不是为了捕捉这类故障而设计的。

AI 事故响应手册:为什么你的值班 Runbook 对 LLM 不管用

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的监控看板显示延迟升高,错误率小幅上升,然后归于平静。用户已经在 Slack 里投诉了。你的 AI 功能有四分之一的响应在产生幻觉,而这些幻觉在你的告警系统眼中看起来完全正常。等你找到原因——两小时前上线的一个提示词里改了六个字——一场你的 Runbook 从未预料到的慢燃事故已经结束了。

这就是在生产环境中运营 AI 系统的核心挑战。这些故障模式真实存在、危害显著,却对传统工具完全隐形。一个在悄悄产生幻觉的 LLM,从外部看和一个运行正常的 LLM 毫无区别。

AI 事故复盘:当「模型导致的」成为根本原因

· 阅读需 11 分钟
Tian Pan
Software Engineer

一家航空公司的客服 AI 告诉一位旅客,他可以先购买全价机票,事后再申请丧亲优惠折扣。旅客信以为真,飞行后提交了申请,却遭到公司拒绝。仲裁庭最终判决公司须赔偿 650 美元——因为法律上并无区分人类员工与聊天机器人所给建议的规定。那个聊天机器人并未崩溃,没有任何告警触发,p99 延迟也未见异常。系统在「正常运行」。

这正是 AI 事故的典型特征:应用程序并未报错——它成功地、自信地、大规模地生成了错误输出。 而当你坐下来撰写事后分析报告时,经典的工具箱便彻底失灵了。

摊销上下文:持久化智能体记忆 vs 长上下文窗口

· 阅读需 10 分钟
Tian Pan
Software Engineer

当 100 万 token 的上下文窗口实现商业化时,许多团队悄然认定,他们已经解决了智能体记忆(agent memory)的问题。当你可以把所有内容都丢进去并让模型自己处理时,为什么还要构建检索系统、管理向量数据库或设计淘汰策略(eviction policy)呢?答案就在你的基础设施账单中。在每天 1 万次交互、拥有 10 万 token 知识库的情况下,这种暴力的上下文内(in-context)方法每天的成本约为 5,000 美元。而处理同样负载的检索增强记忆系统的成本约为每天 333 美元 —— 随着用户群的增长,这 15 倍的差距会产生复利效应。

真正的问题不仅仅是成本。更严重的是,更长的上下文会导致答案质量显著下降。研究一致表明,模型会丢失位于极长输入中间位置的信息;当相关的证据被埋没在无关的代码块(chunks)中时,准确率会如预见般下降;且延迟的攀升会使交互式智能体显得反应迟钝。这种“塞进一切”的方法不仅浪费金钱 —— 它还以牺牲准确性为代价换取了简单化的假象。