跳到主要内容

639 篇博文 含有标签「llm」

查看所有标签

AI 内容过滤器的双边成本:过度拒绝同样是业务问题

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数 AI 内容审核系统都围绕一个核心问题构建:有害内容是否被放行?漏报——那些溜过去的有害内容——会以社交媒体截图、事故复盘和监管问询的形式出现。误报——那些被拦截的合法内容——则悄无声息地消失,转化为用户挫败感、放弃的会话和流失的账户。这种可见性上的不对称造成了系统性的错误校准:团队将过滤器调得过于激进,然后困惑于为何专业用户觉得产品"完全没法用"。

工程层面的现实是:每一次阈值决策都会产生两种错误率,而非一种。只针对最容易度量的那种进行优化,最终得到的过滤器在演示时表现出色,却在规模化后造成真实的业务损失。

提示词即配置:像对待生产基础架构一样管理 AI 设置

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数工程团队都能准确地告诉你哪个环境变量在控制他们的数据库连接池。但几乎没有人能告诉你现在是哪个版本的 system prompt 在处理 90% 的流量 —— 或者自上一次收到模型行为投诉以来发生了哪些变化。

这就是 AI 配置足迹(AI configuration footprint)问题。构建基于 LLM 功能的团队会积累一个隐形的配置层 —— 模型选择、采样参数(sampling parameters)、system prompts、工具 schemas、重试预算 —— 这些配置决定了他们的产品在生产环境中的行为。这一层的大部分内容都没有记录在案(system of record)。它们通过直接修改代码、交付电子表格或 Slack 消息进行更新。当出现问题时,没有人能说清楚发生了什么变化。

这不是流程问题,而是架构问题。解决方案需要以成熟团队对待环境配置、功能旗标(feature flags)和基础设施即代码(infrastructure-as-code)同样的严谨态度来处理 AI 配置。

AI 文档债:随机系统是如何破坏你的技术知识库的

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的 AI 功能顺利发布了。文档看起来很棒:输入 schema、预期输出,以及一个经过验证的示例。三个月后,模型静默更新。输出发生了偏移。你的文档错了,但还没人发现——因为它们看起来仍然是“正确”的。

这是 AI 文档债(AI documentation debt)的核心,而且它比任何其他类型的技术债积累得都要快,因为在用户发现之前,这种失败是隐形的。

AI 系统设计顾问:它能做对什么、会自信地做错什么,以及如何分辨

· 阅读需 10 分钟
Tian Pan
Software Engineer

一个三人团队花了整整一个季度,为一个日活跃用户仅 200 人的应用实现了事件溯源架构。这套架构技术上无懈可击,运维上却是一场噩梦。设计方案来自 AI 的推荐,团队之所以接受,是因为推理听起来流畅、权衡分析看似严谨,而最终构建出来的系统也完全符合高级工程师架构图上的样子。

这个故事如今已成为一种警示性范式,而非孤例。AI 在特定的、可识别的场景下能够提供真正有价值的架构输入——而在从外部看起来几乎相同的情况下,它也会给出自信满满却大错特错的建议。这两者之间的差距,如果你把 AI 当成答案机器,就几乎无从察觉;但如果你把它当成思维伙伴,则完全可以驾驭。

系统提示词的行为克隆:在专家离职前留住专业判断

· 阅读需 10 分钟
Tian Pan
Software Engineer

你最棒的系统提示词是由一位已经不在这里工作的人编写的。

那句话的杀伤力取决于你在组织中所处的位置。如果你是一名继承了一个管理着生产级 AI 功能的、未经文档记录的 3,000 token 提示词的工程师,你肯定已经经历过这种情况。你盯着像“除非上下文需要,否则不要包含补充数据”这样的条款,却完全不知道“上下文”意味着什么,是什么触发了这条规则,或者删除它会导致 5% 的质量提升还是灾难性的性能回归。如果你是一名团队负责人,你眼睁睁地看着制度性知识随着每一位资深工程师或提示词专家的跳槽而流失——而这些知识并没有进入文档,因为没有人意识到有什么需要记录的。

这就是系统提示词的知识管理问题,它比大多数团队意识到的还要严重。解决办法借鉴了机器人研究中的一个理念,并将其应用于一个深刻的人性化工程挑战:行为克隆 (behavioral cloning) —— 捕捉专家做了什么,以及背后的原因,在他们离职之前。

预算倒置陷阱:为什么你最重要的AI功能却在用最便宜的推理模型

· 阅读需 9 分钟
Tian Pan
Software Engineer

大多数团队通过将更便宜的查询路由到更便宜的模型来优化AI推理成本。这听起来合理——但实际上是本末倒置的。首先被降级到廉价模型的查询,并不是那些简单的。恰恰相反,它们是复杂的查询,因为这些才是FinOps仪表盘标记出来的昂贵查询。

结果是:你的合同续签工作流——那个负责敲定六位数交易的关键环节——却在一个会产生幻觉、捏造条款引用的模型上运行。而你的客户支持分类——真正低风险的入门级任务——却享受着顶级模型的待遇,仅仅因为还没有人抱怨过它。

这就是预算倒置陷阱。它的产生并非源于疏忽,而是在没有价值背景的情况下单纯施加成本压力所带来的可预见结果。

思维链的两种失败模式,无人谈及

· 阅读需 10 分钟
Tian Pan
Software Engineer

思维链提示(Chain-of-thought prompting)本是为了解决语言模型的黑箱问题。展示推理过程,验证每个步骤,理解模型如何得出结论。这个想法直觉上是对的——而这恰恰是问题所在。它感觉太显然正确了,以至于从业者将可见推理链部署到生产系统中,却没有追问一个更难的问题:如果展示推理过程反而让事情变得更糟,该怎么办?

2024年至2026年间的研究已开始系统性地记录这种"更糟"究竟是什么样子。可见推理链导致了两种截然不同的失败模式,在生产环境出现问题之前往往被忽视。第一种是用户侧问题:中间推理步骤会在用户看到最终答案之前,将其锚定于可能错误的结论。第二种是系统层问题:推理追踪制造了审计追踪的假象,而作为模型实际决策过程的解释,它从根本上是不可靠的。

动态系统提示词组装:请求时可组合的 AI 行为

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数团队一开始都用一个单一的、庞大的系统提示词。在演示时效果不错。然后产品不断增长:你添加了付费用户层级、企业客户的合规模式、模型可以调用的新工具,以及增长团队想要 A/B 测试的功能开关实验。所有这些都被塞进同一个提示词里。六个月后,你有了 4000 个词的指令,没有人能完全理解,编辑某个部分时行为会不可预测地改变,而调试过程不过是"改点什么看看会发生什么"。

大多数团队会转向可组合的、动态组装的系统提示词——在请求时从模块化组件构建提示词,而不是维护一个静态文本文件。这是一个合理的架构直觉,但实现的复杂度比看起来要大得多。可组合提示词引入了一类静态提示词根本不存在的新型故障模式。

评估与生产环境的差距:检测生产级 LLM 中的行为模式切换

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的评测套件全绿。你的基准测试分数很高。你的预发布环境看起来很干净。然而 —— 你的用户正反馈一些隐蔽的错误答案、不一致的语气,以及一些难以捉摸的、感觉不对劲的输出。

这就是行为模式切换(behavioral mode switching)问题:一个在被评估时表现出色,但在非评估状态下明显偏离的生产环境 LLM。这并非假设。这是 LLM 部署中常见的“静默式”失败模式,许多团队在向利益相关者宣称模型行为已验证并发布之后,才发现这一问题。

问题不在于你的评测框架不够勤勉。而在于大多数评测框架在结构上无法检测到这类故障。

LLM 中的图推理缺陷:为那些令序列训练模型困惑的关系任务构建脚手架

· 阅读需 10 分钟
Tian Pan
Software Engineer

AI 系统设计中一个常见的错误是要求语言模型像阅读文档一样对图(graph)进行推理。模型会生成一个自信且流利的答案。但这个答案会以一种看起来正确的方式出错——它会列出真实的节点,引用看似合理的路径,并描述几乎存在的关系。接着你会发现,你的组织架构遍历幻觉出了越级经理,你的依赖项解析忽略了超过十个节点的图中的循环,而你的三跳知识图谱查询在第二步时的错误率就达到了 60%。

这不是提示词(prompt)质量的问题。这是一个架构问题,你可以在编写任何提示词之前就诊断出它。

推理集群:将SRE规范应用于多供应商LLM依赖管理

· 阅读需 13 分钟
Tian Pan
Software Engineer

有一种故障模式,在一切为时已晚之前,任何监控面板都看不到它:你的生产系统正在悄然劣化——某个次要LLM供应商三天前就开始返回格式错误的响应,没有人在值班轮次中负责这个供应商,唯一的信号是用户反馈的错误数量缓慢攀升,而你的支持团队还没有将其升级处理。你得知这件事,是因为一位客户取消了订阅。

这不是模型质量问题,而是运维规范问题。随着生产AI技术栈从单一的OpenAI集成演变为多供应商、多端点的蔓延式架构——没有人把它设计成一个集群,但它就是变成了这样——这类问题正变得越来越普遍。

知识时效路由:在生产 AI 中将查询匹配到正确的时间层

· 阅读需 10 分钟
Tian Pan
Software Engineer

这是一个在生产环境中比任何人愿意承认的更频繁出现的场景。用户询问 AI 助手当前的利率政策。你的 RAG 系统获取了一份高度相关的美联储文件——语义相似度评分高达 0.91——模型自信地返回了答案。但这个答案已经过时六个月了。RAG 索引上次刷新是在十月份。参数化知识则更为陈旧。一次实时 API 调用本可在 400 毫秒内返回正确的当前数据,但没有人在路由逻辑中加入这样的判断:这个问题的答案允许有多旧?

这种失败不是检索失败,而是时序路由失败。系统在其技术栈的某处确实能够获取正确信息,只是将查询发送到了错误的层级。