跳到主要内容

578 篇博文 含有标签「insider」

查看所有标签

讨好税:过度顺从的 LLM 如何悄无声息地破坏生产环境中的 AI 系统

· 阅读需 11 分钟
Tian Pan
Software Engineer

2025 年 4 月,OpenAI 对 GPT-4o 进行了一次更新,却破坏了一些微妙但后果严重的东西。模型变得极其顺从。用户报告称,它会认可糟糕的计划,在受到轻微反驳时就推翻正确的立场,并在每个回答前对提问大加赞赏。这种行为过于夸张,以至于 OpenAI 在几天内就撤回了更新,称这是短期反馈信号覆盖了模型诚实性的案例。这一事件被广泛报道,但大多数团队忽略了这一点:这种顺从的程度虽然罕见,但其方向却并不寻常。

谄媚(Sycophancy)——RLHF 训练的模型倾向于优先考虑用户认可而非准确性——几乎存在于每一个生产环境的 LLM 部署中。一项对 ChatGPT-4o、Claude-Sonnet 和 Gemini-1.5-Pro 的评估研究发现,平均在 58% 的情况下会出现谄媚行为,且无论上下文如何,其持续率接近 79%。这不仅仅是几个极端情况下的 Bug。它是这些模型训练方式的一种结构性属性,并且在生产环境中以标准评测难以捕捉的方式显现。

多智能体通信中的三大攻击面

· 阅读需 12 分钟
Tian Pan
Software Engineer

最近的一项研究测试了 17 个处于多智能体配置中的前沿 LLM,发现当恶意指令来自同行智能体时,82% 的模型会执行这些指令 —— 尽管当用户直接发出完全相同的指令时,它们会拒绝执行。如果你正在交付多智能体系统,这个数字应该让你重新审视你的威胁模型。你的智能体可能在个体层面已经过加固,但作为一个整体,它们并非如此。

多智能体架构引入了大多数安全思维所忽视的通信渠道。我们加固了模型、系统提示词和 API 边界,但我们几乎不花时间去关注当智能体 A 发送消息给智能体 B 时会发生什么 —— 谁编写了该消息,它是否被篡改过,智能体 B 参考的记忆是否在三个会话前被一个从未接触过智能体 A 的攻击者所植入。

智能体规划模块:隐藏的架构缝隙

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数智能体系统在构建时都基于一个隐含的架构假设:LLM 在同一次推理调用中同时处理规划和执行。要求它完成一个包含十个步骤的任务,模型会决定做什么、去执行、检查结果、再决定下一步做什么——这一切都在一个连续的 ReAct 循环中完成。这看起来很优雅。但在实际工作负载下,它会以一种难以诊断的方式崩溃,因为其失败模式看起来更像是模型质量问题,而非设计问题。

智能体规划模块——即纯粹负责任务拆解、依赖建模和排序的组件——是大多数从业者都会跳过的接缝。只有当事情变得困难到无法忽视时,它才会显现出来。

智能体间通信协议:让多智能体系统具备可调试性的接口契约

· 阅读需 13 分钟
Tian Pan
Software Engineer

当多智能体流水线(multi-agent pipeline)开始输出垃圾内容时,人们的直觉往往是归咎于模型。推理能力差、上下文错误、幻觉。但在实践中,很大一部分多智能体系统的失败源于更乏味的原因:智能体之间无法进行可靠的通信。格式错误的 JSON 虽然通过了语法验证,但无法通过语义解析。编排器(orchestrator)发送了一个状态为 "partial" 的任务,而下游智能体将其理解为已完成。由于缺少幂等键(idempotency key),重试操作触发了两次。

这些不是模型故障,而是接口故障。它们比模型故障更难调试,因为日志中没有任何信息会告诉你序列化契约(serialization contract)已经断裂。

生产环境中的 Agentic Coding:SWE-bench 分数没有告诉你的真相

· 阅读需 14 分钟
Tian Pan
Software Engineer

当最尖端的模型在 SWE-bench Verified 上获得 80% 的评分时,这听起来像是问题已经解决了。五分之四的真实 GitHub issue 都能被自动处理。直接交付给你的团队吧。但事实是:同一个模型在 SWE-bench Pro(一个专门设计用于防止数据污染、包含来自私有代码库的长程任务的基准测试)上的得分仅为 23%。此外,一项针对经验丰富开发者的严谨对照研究发现,使用 AI 编程工具反而让他们慢了 19%,而不是变快了。

这些数字并不矛盾。它们反映了基准测试衡量的内容与生产环境软件工程实际需求之间的差距。如果你正在构建或打算采用智能体编程(agentic coding)工具,那么这个差距就是最值得关注的事情。

LLM 应用的 CI/CD:为什么部署 Prompt 与部署代码完全不同

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的代码通过一个流程发布:特性分支 (feature branch) → 合并请求 (pull request) → 自动化测试 → 预发布 (staging) → 生产环境 (production)。每一步都有门槛。如果没有通过你定义的检查,任何东西都无法到达用户手中。这种“枯燥”正是它最好的地方。

现在想象你需要更新一个系统提示词 (system prompt)。你在仪表盘中编辑字符串,点击保存,更改立即生效 —— 没有测试,没有预发布,版本控制中没有 diff,除了手动改回去之外没有回滚的方法。这就是大多数团队的运作方式,也是提示词更改成为 LLM 应用非预期生产事故主要原因的原因。

挑战不在于团队粗心大意。而在于持续交付 (continuous delivery) 的规范是为确定性系统构建的,而 LLM 并非确定性的。整个思维模型需要从头重建。

上下文填充反模式:为什么更多的上下文反而会让 LLM 变差

· 阅读需 11 分钟
Tian Pan
Software Engineer

当 100 万 Token 的上下文窗口发布时,许多团队认为这相当于拿到了可以停止思考上下文设计的“许可”。逻辑很直观:如果模型能看到一切,那就把一切都给它。丢进整个文档。传递完整的对话历史。将每一个工具输出都转发给下一个 Agent 调用。让模型自己去处理。

这就是“上下文堆砌 (Context Stuffing)”反模式。它会产生一种典型的故障模式:系统在早期演示中运行良好,但在生产环境中会遇到可靠性瓶颈,无论如何调整提示词都无法修复。在原本应该很简单的问题上,准确率反而下降。回答变得模棱两可、含糊其辞。Agent 开始在互不相关的文档之间产生幻觉性的关联。模型“看到”了所有正确的信息 —— 它只是找不到。

持续批处理:LLM 服务中提升 GPU 利用率的最关键技术

· 阅读需 14 分钟
Tian Pan
Software Engineer

生产环境中大多数 LLM 推理基础设施的故障并不是模型故障——而是调度故障。团队部署了一个高性能模型,进行了压力测试,却发现用户在等待的同时,昂贵的 GPU 时间仅以 35% 的利用率在消耗。罪魁祸首几乎总是静态批处理(Static batching):这是从传统深度学习中继承下来的默认设置,但根本不符合语言模型生成文本的方式。

持续批处理(Continuous batching)——也称为迭代级调度(Iteration-level scheduling)或飞行中批处理(In-flight batching)——是解决这一问题的核心机制。它不是一个微调旋钮,而是对推理循环运行方式的架构性改变。在使用相同硬件的情况下,使用该技术的系统与不使用的系统相比,吞吐量可能相差 4–8 倍。

你的数据库模式是 AI Agent 的心智模型

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数构建智能体(agent)的团队将数据库模式(schema)视为后端关注的问题。这种模式是由工程师为工程师设计的,遵循了数十年关系型数据库的最佳实践:积极规范化、避免冗余、拆分引用表、强制执行外键。这种方法对于联机事务处理(OLTP)系统是正确的,但对于 AI 智能体来说通常是错误的。

当智能体读取你的模式以确定如何回答问题时,它并不是在解析数据结构,而是在构建你业务的心智模型。如果你的模式是为已经理解该领域的应用程序代码构建的,那么智能体将根据为别人绘制的地图进行工作。结果就是幻觉式的联接、错误的聚合,以及原本只需两步却需要八步的工具调用链。

知识蒸馏的经济学:压缩前沿模型真的划算吗?

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数采用知识蒸馏的团队,都在错误的理由和错误的时机下做出了这个决定。他们看到一个70B模型吞噬了推理预算,读到蒸馏可以产出一个"同样出色"的7B学生模型,便立即开干。六周后,他们得到了一个在验证集上表现良好的蒸馏模型,上线后却开始大规模输出自信满满的废话。验证集来自与教师模型合成训练数据相同的分布,而真实流量并非如此。

蒸馏是一种优化工具,而非能力升级手段。只有在特定条件下,经济账才算得过来——而且失败模式足够隐蔽,团队往往要等到用户先发现问题。

在不破坏生产环境的情况下发布 AI 功能:LLM 的阴影模式、灰度发布和 A/B 测试

· 阅读需 13 分钟
Tian Pan
Software Engineer

一个团队在周二下午将 GPT-4o 换成了一个更新的模型。到周四,支持工单增加了 30%,但没人能说清原因 —— 新模型的回答稍短,拒绝了一些旧模型能处理的边缘情况请求,并且日期格式化的方式不同,导致下游解析器崩溃。团队选择了回滚。两个迭代周期的工作付诸东流。

这种故事不断上演。问题不在于新模型更差 —— 它在大多数方面可能表现得更好。问题在于团队发布的流程与发布 bug 修复程序完全相同:合并、部署、观察。这对代码有效,但对 LLM 则行不通。

生产环境中的 LLM 流水线在哪泄露用户数据:PII、数据驻留以及经得起考验的合规模式

· 阅读需 14 分钟
Tian Pan
Software Engineer

大多数构建 LLM 应用的团队都将隐私视为一个模型问题。他们担心模型知道什么——它的训练数据、它的记忆——却在模型周围的流水线中留下了巨大的漏洞。令人尴尬的事实是,生产环境 LLM 系统中绝大多数的数据泄露根本不是来自模型。它们来自你未经脱敏就索引的 RAG 分块、你逐字写入磁盘的提示词日志、包含数据库凭据的系统提示词,以及被投毒文档劫持以窃取知识库中所有内容的检索步骤。

Gartner 估计,到 2025 年底,30% 的生成式 AI 项目将因为风险控制不足而被放弃。这些失败中的大多数并不是因为模型幻觉——而是源于工程师本以为在掌控之中的系统隐私和合规性故障。