一名新工程师加入了一个重度依赖 AI 的团队。入职第三天,他们发现系统指令中有一个措辞别扭的双重否定。看起来像是个 bug。于是他们把它清理了——这是任何合理的人都会做的小小优化。两小时后,一条关键流水线的客户端分类准确率从 91% 跌至 74%。没有人知道原因。
这种情景以某种形式发生在几乎每一个基于 LLM 构建系统的团队中。新工程师并不粗心。那个提示词看起来确实有问题。但那个双重否定在某种意义上是"承重墙"——只有写下它的人才真正理解,而那是在经过数周实验之后才领悟到的。他们从未把这种理解写下来。
这就是 AI 入职差距:AI 代码库表面上的行为与实际行为之间的鸿沟,以及为什么这个鸿沟在有人掉进去之前是不可见的。
为什么 AI 代码库抵制传统调试
当传统代码库的资深工程师告诉新人"不要在运行完整测试套件之前动 X"时,这个建议是可以执行的。测试套件几分钟内就能运行完。它要么通过,要么不通过。如果某人的改动破坏了什么,git bisect 可以定位到具体的提交。因果关系是可追溯的。
对于基于 LLM 的系统,这些方法都无法干净地运作。
根本问题在于不确定性。相同的提示词、相同的模型、相同的零温度设置,在不同运行中可能产生截然不同的输出。这不是 bug——这就是这项技术的工作方式。但它让"我的改动是否破坏了什么?"这个基本工程问题变得出奇地难以回答。单次测试运行不能作为证据。即使完美通过也不意味着你的改动是安全的。
这就产生了所谓的"无法二分的故障"问题。当一个生产 LLM 系统开始出现异常行为时,回归可能是由以下原因引入的:
- 提示词变更(最明显的候选,但不总是正确的)
- 模型版本升级,改变了边缘情况下的行为
- 用户输入分布的变化
- 上下文长度变化导致早期指令的权重不同
- 提示词组件之间的交互效应,在单独测试时不可见
正在调试回归的新工程师通常会检查显而易见的事情——有人改了提示词吗?有人改了代码吗?——而错过不那么明显的原因。他们还没有建立起这样的心智模型:知道模型在长对话之后解释指令的方式与对话开始时不同。他们不知道你的 RAG 系统的检索阈值是专门为了补偿特定模型处理不确定性的怪癖而调整的。他们不可能知道,因为那些知识在代码库中无处可寻。
部落知识问题最为严峻的地方
每个工程组织都会积累部落知识——关于事物为何如此的隐性理解,存在于个人头脑中而非文档里。AI 工程团队以异常高的速度积累这类知识,因为提示词开发的迭代循环是快速、非正式且不留痕迹的。
当开发者写了一个函数并且它能正常工作时,测试覆盖率告诉你它能工作。当开发者完善了一个提示词并且它能正常工作时,证据通常是"我运行了几次,看起来不错"。导致最终提示词的推理过程——失败的变体、发现的故障模式、那些反直觉但有效的措辞——很少被记录下来。
考虑一下新工程师实际上需要知道什么才能安全地处理 LLM 流水线:
- 为什么系统提示词使用这种特定结构而不是更自然的结构?
- 提示词的哪些部分对改写敏感,哪些不敏感?
- 开发过程中发现了哪些故障模式,当前提示词是如何解决它们的?
- 是否存在已知的模型可靠崩溃的边缘情况,这是经过深思熟虑的权衡吗?
- 这个提示词是针对哪个模型版本进行调优的,不同版本之间的行为差异有多大?
这些信息都不在代码里。代码显示了提示词是什么。它对于它被测试了什么、它替换了什么、或者如果你改变它会发生什么,什么都没说。
这比传统软件中的部落知识问题更为极端,因为"为什么"通常是经验性的,而不是逻辑性的。你无法通过推理来理解为什么某种特定的提示词措辞有效——你必须在多次运行中观察它。如果那个观察从未被记录,它就消失了。
让 AI 系统可教授的产出物
处理得好的团队已经意识到,AI 系统需要与传统系统不同类别的文档——不是 README 文件和架构图,而是捕获通常只存在于开发者记忆中的行为证据的产出物。
黄金数据集是其中最重要的。黄金数据集是一个精心策划的输入与预期输出或评估标准配对的集合——代表系统应该如何表现的典范测试用例。与单元测试不同,它们不断言精确的字符串相等;它们定义可接受的行为范围。一个强大的 AI 系统黄金数据集涵盖了顺畅路径、已知边缘情况、对抗性输入和超出范围的查询。
对于入职目的而言,黄金数据集在回归测试之外还有第二个功能:传达意图。能够运行评估套件并查看系统在 30 个代表性案例上应该如何表现的新工程师,在 20 分钟内获得的理解比他们阅读三遍提示词所获得的更多。这些案例展示了系统的判断力——它认为什么在范围之内,如何处理歧义,拒绝什么。
带有语义注释的提示词版本历史填补了 git diff 无法填补的空白。当提示词改变时,diff 显示了改变了什么但不是为什么。维护提示词演化日志的团队——附在每个版本上的简短说明,解释解决了什么故障模式、哪些实验导致了这种措辞、尝试了什么被拒绝了——创建了一条新工程师可以追寻的知识轨迹。格式不如习惯重要:每次提示词迭代都会附上一个简短的注释,解释它解决的行为问题。
集成了 CI 的回归测试套件关闭了使安全变更成为可能的反馈循环。Promptfoo 或 Braintrust 等工具根据一套测试用例评估提示词,并用定义的通过/失败阈值测量质量指标——事实性、相关性、安全性。当新工程师进行提示词变更时,他们可以在任何内容到达生产之前看到他们的变更是否在已建立的测试用例上保持质量。在没有自动化评估门控的情况下发布提示词的团队,实际上是在要求新工程师修改他们无法安全推理的系统。
可观察性访问——追踪、提示词/响应日志、token 计数、延迟分布——通常被视为运营关注点。对于入职来说,它是教育基础设施。从一开始就能访问生产追踪的新工程师可以看到系统对真实输入实际在做什么,而不仅仅是对玩具示例做什么。他们可以观察自然发生的故障模式。他们可以对系统的实际行为(而不仅仅是其预期行为)建立直觉。
AI 团队的知识转移仪式
即使有了良好的产出物,AI 系统也需要一种结构化的知识转移方法,而传统工程入职并不需要这种方法。
提示词考古会话是与构建关键提示词的工程师一起进行的有时间限制的回顾,探讨它的历史。不是介绍它做什么——那在代码里——而是为什么它看起来是这样的。最初尝试了什么?什么失败了?当前版本在哪里还有已知的弱点?这些会话浮现出从未进入文档的隐性推理,并为新工程师提供机会提出他们本不会知道要问的问题。
跟踪评估运行而不是代码审查,转移了不同类型的理解。不是一起审查拉取请求,而是让新工程师观察有经验的团队成员运行评估套件、解释结果,并决定输出质量是否可以接受。这建立了对 AI 系统"足够好"的判断——这种校准形式无法从阅读规范中获得。
评估所有权轮换——让新工程师在早期承担运行和维护评估套件的责任——让他们在接触提示词本身之前,以低风险方式接触系统在各种输入上的行为。维护评估需要足够理解系统应该做什么,才能判断它是否在做。这比大多数替代方案都是更好的入职任务。
故障事后分析文档,不仅捕获了出了什么问题,还捕获了为什么新工程师的变更导致了它,这是高价值的机构记忆。LLM 回归的最佳事后分析不会说"一个提示词变更破坏了分类器"。它会说"删除约束子句中的双重否定改变了模型对冲突指令的权重方式,因为这个模型系列对明确否定的约束赋予了比语义等价的正面措辞更高的权重"。那种级别的具体性,一旦被记录,就会保护接下来犯同样错误的五位工程师。
可观察性提供了文档无法提供的东西
对于来自传统软件的团队来说,更难接受的教训之一是 AI 系统行为无法完全提前规定。你可以写下你打算让系统做什么。你无法写下它实际行为的所有方式,因为其中许多方式在系统处理了有意义数量的真实世界输入之前不会变得明显。
这意味着可观察性不仅仅是生产运营关注点——它是认识论上的关注点。系统的实际行为,通过真实输入观察到,是基准事实。文档和黄金数据集是基于开发者预期的基准事实的近似值。新工程师两者都需要访问,但他们需要理解哪个是哪个。
从一开始就给新工程师提供生产追踪只读访问权限的团队显著加速了入职,因为它关闭了系统被设计做什么与实际做什么之间的差距。回顾了数百条生产追踪的新工程师以任何数量的文档阅读都无法复制的方式理解系统。他们见过边缘情况、故障模式、令人惊讶的成功。他们已经建立了直觉。
这是解决 AI 入职差距的结构性方案:不是更多的文档(尽管文档有帮助),而是更多可观察的系统。系统中行为是可见的,评估是自动化且可解释的,提示词决策的历史是清晰可读的,新工程师在被信任去改变系统之前可以看到系统的实际行为。
为你身后来的工程师构建
AI 入职差距归根结底是一种设计选择。那些构建 AI 系统时好像它们将永远由构建它们的人操作的团队,产生的系统对人员变动是脆弱的,且扩展性差。那些构建 AI 系统时好像它们最终将由不共享原始开发者上下文的人操作的团队,产生的系统是清晰可读的、可安全修改的,对人员流动有韧性。
差别不在于 AI 能力——而在于脚手架。黄金数据集。提示词版本注释。回归评估套件。生产追踪访问。将锁定在个人头脑中的经验知识外化的结构化知识转移仪式。
这些都不是奇异的工程。这是同样的纪律,使传统软件团队构建测试套件、写有意义的提交信息、记录架构决策。实践可以转移;具体内容不同。AI 系统需要行为证据,而传统系统需要单元测试。提示词考古,而传统系统需要代码演练。可观察性访问,而传统系统需要调试器访问。
清理了那个双重否定的工程师,认为有些东西看起来不对,这并没有错。他们在一个没有为让他们读懂而构建的系统中工作。这是一个可以修复的问题——修复它的团队将留住工程师、发布更安全的变更,并比那些将部落知识视为技术栈永久特性的团队更快地积累 AI 能力。
会员专享
余下内容仅对会员开放。
会员可读完整内容 —— 每一个公开发布的观点背后,那些框架、决策与推理的全貌。
- —完整文章,包含未公开存档的部分
- —可落地的工作框架,附带权衡与决策依据
- —新文章抢先看,先于公开发布
随时取消 · 一次订阅,畅读全部