Test Guard — LLM 应用规则为调用 LLM API、使用智能体/工作流框架LangGraph、CrewAI、自定义状态机或接入可观测性/遥测Langfuse、LangSmith、OpenTelemetry的项目增加的三条规则。在九条核心规则之上应用这些。规则 10提示词测试——测试契约而非内容提示词文本不断变化钉住措辞的测试一周内就会腐烂。不要断言具体的措辞。要测试的提示词模板存在且能无错加载冒烟测试模板变量被正确替换——没有遗留的{placeholder}标记提示词包含所需的结构标记如果调用方解析它们例如 JSON 模式块、解析器分割的分隔符规则 11可观测性是基础设施不要单元测试遥测接线。违规模式是断言追踪/分析 mock 的调用参数# Violation — tests wiring, not behaviormock_tracer.assert_called_once_with(session_id...,tags[...])在测试期间 mock 可观测性调用以防止副作用是可以的而且往往是必要的。只是不要断言 mock 的调用参数。如果遥测坏了仪表板会显示断言接线的单元测试只会破坏重构。规则 12智能体和流程测试测试转换对于智能体框架和状态机测试给定状态加事件流程是否到达正确的下一个状态并设置了正确的字段。Mock LLM 调用以返回受控响应。测试状态进 → 状态出。不要测试传给 LLM 的确切提示词字符串、LLM 调用的次数或内部重试逻辑——这些是实现细节规则 1每次模型升级都会改变。一个有用的模式是转换用例表数据驱动规则 3起始状态、mock 的 LLM 响应、预期的结果状态。严重程度必须修复断言提示词字符串或调用次数的规则 12 违规——它们每次模型/提示词更改都会破坏应该修复规则 10 的措辞断言值得注意规则 11——标记它但不要因为小改动而阻塞