Skip to content

第七章 反模式与陷阱

了解不应该做什么,和了解应该做什么同等重要。在一个快速演化、缺乏共识的领域,"不做什么"的指导价值不亚于"做什么"。

LLM 应用开发中存在大量看似合理实则有害的实践。它们之所以流行,往往是因为在原型阶段表现良好,在生产环境中才暴露问题——而此时技术债务已经积累到难以清理的程度。

文章

  • 提示拼接的脆弱性 -- 字符串拼接构造 prompt 与 SQL 拼接构造查询有相同的结构性缺陷:注入风险、转义问题、可读性灾难。模板引擎只解决了语法问题。
  • 模型选择的工程约束 -- 模型选择是一个多维约束优化问题。单一模型依赖的供应链风险(升级/下线/涨价/退化四种变化形态)与成本的乘法结构是同一个决策空间中的不同维度,设计阶段就要一起考虑。
  • 能力边界的误判 -- 两种对称的错误:高估 LLM 的能力(把大模型当数据库用,依赖统计压缩进行事实性查询)和高估框架的抽象(框架锁定,让两层不确定性叠加放大调试难度)。本质都是把工具放在它不适合的位置。
  • 把不确定性当缺陷 -- 最隐蔽的反模式。试图通过无限堆叠规则来消除输出的不稳定性,实际上是在对抗系统的本质属性。三种架构级替代方案。全书的收束论点——回到第一章的认识论和第二章的决策框架。
  • 何时从提示转向微调 -- 一个实际的工程决策。Prompt 工程的能力天花板、微调的成本结构与风险分析、"prompt 优先、微调兜底"的决策框架。当 prompt 优化已经触顶,继续在 prompt 层面投入就是一种反模式。

阅读顺序

五篇文章按照危害的隐蔽程度排列:从可见的(提示拼接的安全风险)到半隐蔽的(模型选择约束、能力边界误判)到最隐蔽的(把不确定性当缺陷、在 prompt 已经触顶时继续投入 prompt)。越隐蔽的反模式,错的不是代码,而是目标。