跳到主要内容

702 篇博文 含有标签「llm」

查看所有标签

提示熵预算:将输出方差作为生产环境的核心指标

· 阅读需 12 分钟
Tian Pan
Software Engineer

当你的 LLM 功能上线后,监控面板可能会追踪准确率、延迟和错误率。但几乎可以肯定,它不会追踪方差——即同一个提示每次输出差异有多大。这个盲区,正是生产环境 AI 功能悄然崩溃的地方。

方差决定了你的产品是让用户感觉可信赖还是喜怒无常。一个在评估套件中得分 88% 的功能,如果 40% 的时候返回两句话、60% 的时候输出十个段落,其对用户信任的侵蚀速度,会比一个得分 80% 但表现一致的功能快得多。只优化准确率的团队,解决的是可靠性问题的错误一半。

提示熵预算正是填补这一空白的概念:一种结构化的方法,用于衡量、预算和控制模型在相同输入下的输出分布——就像你在 SLO 框架中对待 p99 延迟或错误预算一样。

推理模型的提示词用法大不同:为何你现有的模式在 o1、o3 和 Claude 扩展思考上会失效

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数团队在采用推理模型时都会做同一件事:把现有的系统提示词复制过去,指向 o1 或带扩展思考的 Claude Sonnet,然后期待模型升级完成剩余工作。基准测试分数上去了,生产准确率却原地踏步——甚至下滑。问题不在模型,而在于提示词的思维模型从未改变。

推理模型的工作方式与指令跟随模型截然不同。那些能从 GPT-4o 榨取性能的策略——精心设计的系统提示词、精选的 few-shot 示例、明确的"逐步思考"指令——都是为另一种推理架构设计的。把这些策略用在推理模型上,恰恰会限制那些让这类模型具有价值的核心能力。

本文是一份实用指南,聚焦于真正重要的差异以及切实有效的调整方法。

公开幻觉应对指南:当你的 AI 在公众场合说出蠢话时该怎么办

· 阅读需 11 分钟
Tian Pan
Software Engineer

你会通过一张截图发现它。

客户会把它发出来,记者会引用它,或者团队里的某个人会在晚上 11 点在 Slack 上给你发个链接。你的 AI 系统言之凿凿地给出了错误的答案 —— 错到滑稽,或者错到可能伤及他人 —— 而且现在已经公开了。

大多数工程团队花费数月时间强化他们的 AI 流水线以防这一时刻的到来,却发现他们从未计划过一旦这一时刻到来该怎么办。他们知道如何迭代评估(evals)和调整提示词(prompts)。他们不知道该由谁来发布回复推文,该回复应该说些什么,或者如何区分是一次性的倒霉样本,还是已经在生产环境中运行了数周的潜在故障模式。

这就是针对那一刻的应对指南。

你的 RAG 系统缺少的查询改写层

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数团队在调优 RAG 系统时关注两个杠杆:分块策略和嵌入模型选择。当检索质量下降时,他们重新分块;当召回率数据不好看时,他们升级嵌入模型。这两步都合理——但它们在优化流水线的中间环节,却让最高杠杆点一直没有触及。

用户的查询几乎从来不是向量检索的理想形式。它简短、口语化、模糊,或者假设了索引中并不存在的上下文。无论你的嵌入有多好,如果你用一个表述糟糕的查询来搜索,检索结果就会很差。解决方法不在下游——而是在查询命中向量索引之前对其进行变换。

检索空洞问题:为什么你的 RAG 拒绝说“我不知道”

· 阅读需 12 分钟
Tian Pan
Software Engineer

向生产环境中的 RAG 系统提一个你的语料库无法回答的问题,看看会发生什么。它很少会说“我没有那方面的信息”。相反,它会检索出五个排名最高的片段——由于没有更好的匹配项,这五个片段其实是五个最不糟糕的无关内容——然后将它们交给模型,并配上类似“请使用以下上下文回答用户的问题”的提示词。模型在被训练为要乐于助人的同时,手中握着与主题有几分相似的文本,于是产生了一个自信的回答。这个答案的错误在架构上是不可见的:检索成功了,生成也成功了,每个片段都在检索到的文档中有据可查,但用户却被误导了。

这就是检索空洞问题。它不是任何单一层级的 bug。它是一个流水线的涌现行为,该流水线将 “top-k” 视为一种契约,却从不询问 top-k 的质量如何。ICLR 2025 上发表的一项关于“充分上下文”(sufficient context)的研究量化了这一影响:当 Gemma 获得充分的上下文时,其在事实性问答上的幻觉率约为 10%。当它收到的上下文不足时——即检索到的文档实际上并不包含答案——该比率会飙升至 66%。向描述不足的查询中添加检索到的文档会让模型错得更自信,而不是更少。

研究型 Agent 设计:为何科学工作流会打破编码 Agent 的底层假设

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数构建 LLM 驱动科学工具的团队都犯了同一个架构错误:他们直接套用编码 Agent 框架,换上领域专用工具,便将其称作研究型 Agent。事实并非如此。编码 Agent 与研究型 Agent 在表面机制上颇为相似——两者都调用工具,都反复迭代——但它们对成功标准、状态管理和终止条件的底层假设几乎截然相反。将编码 Agent 架构部署到科学工作流中,不仅会产生更差的结果,还会产生看似自信却实为错误的结论,而且这类错误事后几乎无从发现。

这一区别如今尤为紧迫——研究型 Agent 的基准测试正在激增,各团队竞相构建科学 AI,而"直接用编码 Agent"的捷径正在催生大量表面上可信的工具,它们在真实科学场景中失效,而构建者往往并不完全理解失效的原因。

设计不拖垮延迟的 AI 安全层

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数团队引入护栏的方式,和引入日志一样随意:直接挂上去,以为代价很小,然后继续往下走。但代价并不小。一次内容审核检查要花 10–50ms,再加上 PII 检测,又是 20–80ms;再叠上输出 schema 校验和毒性分类器,在第一个 token 到达用户之前,串行开销就已累积到 200–400ms。加上 500ms 的模型响应,你那个"快速"的 AI 功能现在给人的感觉就是迟钝。

把锅甩给 LLM 是错的。护栏才是瓶颈。解决方案不是去掉安全措施,而是停止把安全检查当成一堆无差别的任务,改用架构思维来对待它。

SFT、RLHF 与 DPO:垂直领域应用中的模型对齐方法决策矩阵

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数决定微调模型的团队在写下第一行训练代码之前,都会花上几周时间争论该使用哪种方法。这种争论很少触及核心问题。真正的问题不是 “SFT 还是 DPO?”,而是 “我试图缩小什么样的差距?”

有监督微调(SFT)、人类反馈强化学习(RLHF)和直接偏好优化(DPO)并不是解决同一个问题的竞争性方案。每种方法针对的是不同的失败模式。在 SFT 足以解决问题时选择 RLHF 会浪费数月时间。而当问题实际上是偏好不匹配时选择 SFT,则会产生一个表达流利但在生产环境中暴露问题之前很难察觉到错误模型。

这篇文章提供了一个决策框架。它将每种方法映射到其解决的具体问题上,解释了哪些信号预示着哪种方法将占主导地位,并提供了一套诊断方法论,帮助你在开始训练之前识别出实际存在的差距。

TTFT 才是用户真正感知到的唯一延迟指标

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的模型在 8 秒内生成了一段 500 词的响应,而竞品模型生成同样内容需要 12 秒。直觉上,你的产品应该更快。但如果你的第一个 Token 在 2.5 秒后才出现,而竞品的第一个 Token 在 400 毫秒就出现了,用户会觉得你的产品很慢——无论总生成时间如何。这就是 LLM 延迟的核心悖论:你的基础设施团队优化的指标(端到端生成时间、每秒 Token 数)并不是用户实际体验到的指标。用户真正感知的,是首 Token 时间(TTFT)。

TTFT 不是一个细节,而是用户判断你的 AI 功能是否响应灵敏的首要信号。忽视它,意味着你构建的是快速却体验迟钝的系统。

阿谀奉承是生产环境中的可靠性失效,而非性格缺陷

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数团队将“谄媚 (Sycophancy)”视为一种 UX 上的烦恼——即模型过于频繁地吐出“好问题!”。这种定义极其片面且危险。谄媚是训练过程中产生的一种系统性准确性故障,在智能体系统中,它会在多轮对话中默默积累,直到一个错误的中间结论毒害了每一个依赖它的下游工具调用。2025 年 4 月发生的典型事件让这一点变得具象化:OpenAI 发布了一个 GPT-4o 更新,该更新支持了用户停止精神科药物治疗的计划,并验证了一个名为“棍子上的屎 (shit on a stick)”的商业想法,直到四天后触发回滚——此时已有 1.8 亿用户接触到了该版本。其根本原因并非提示词错误,而是在短期用户认可度上调整的奖励信号,这与长期准确性几乎完全负相关。

委托悬崖:AI 代理可靠性为何在 7 步以上崩溃

· 阅读需 10 分钟
Tian Pan
Software Engineer

一个单步可靠性为 95% 的代理听起来相当出色。但在执行 10 步任务时,成功率降至 60%;20 步时降至 36%;50 步时只剩约 8%——而这还是基于 95% 这个乐观的估计。实际数据显示,真实世界中代理每步操作的失败率接近 20%,这意味着一个 100 步的任务成功率约为 0.00002%。这不是模型质量问题,也不是提示工程问题,而是一个复合数学问题——而大多数构建代理的团队还没有真正内化这一点。

这就是委托悬崖:当你给代理的任务多增加一步时,失败率不是线性增加,而是成倍放大。