DeepEval LLM 与代理回归测试
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/regression-test-llm-apps-and-agents-with-metrics-traces-and-eval-suites-using-deepeval。
技能介绍
你要解决的问题
给 LLM 应用写测试,麻烦在于输出是开放式的:改一句 prompt、换一个检索器、微调一次模型,都可能悄悄改变回答的语气、事实准确性或任务完成度。传统断言只能检查"非空"或"包含关键词",无法判断"这个回答是否忠实于上下文""检索是否引入了无关内容"。结果是回归只能靠人工抽检,问题往往拖到上线后才暴露。
这个技能做了什么
它把 DeepEval 的评估体系带入你的回归流程,思路接近 pytest:把对 LLM 系统的检查写成可重复运行的评估套件,而不是一次性脚本。核心能力包括:
- 覆盖全链路的指标:针对 prompt、RAG 流水线和代理行为提供开箱即用的评估指标,每个指标附带解释,说明它衡量什么、何时会误报。
- 指标背后的判定器可替换:指标既可以由你选择的任意 LLM 担任 judge,也可以基于统计方法或在本机运行的 NLP 模型,避免评估环节被单一模型绑定。
- 可重复的评估套件:把多个指标组合成套件,在代码变更前后运行同一套检查,让回归以测试失败的形式浮现出来。
- 追踪上下文:评估时保留指标判定所需的输入、输出与中间结果,便于失败后定位是 prompt、检索还是代理决策出了问题。
典型工作流是:为一个行为定义评估指标 → 把指标组织进套件 → 在每次改动后运行套件 → 失败项指向需要修复的具体环节。
适用边界
- 需要 Python 3.9+ 环境,且能访问一个 LLM judge 或兼容的本地模型来驱动指标判定。
- CI 是可选的,但脱离持续集成后,"可重复"的价值会大打折扣——没有自动触发,回归仍可能漏掉。
- 指标给出的是概率性判断而非确定性证明,适合作为发布前的护栏,不能替代对关键业务逻辑的确定性测试。
使用场景
- 改完提示词后,对同一批问答运行评估套件,确认事实准确性未退化
- 更新检索器后,用指标检查上下文相关性是否下降
- 代理行为变更后,用指标定位规划或工具调用哪个环节出错
- 本地无 GPU 时,用统计方法或本地 NLP 模型驱动指标做批量检查
适合人员
- 负责 LLM 应用发布的后端工程师,需要用可重复评估套件替代人工抽检
- 构建 RAG 系统的开发者,要在更换检索或切分策略后量化上下文相关性
- 维护代理行为的工程师,需要在每次改动后定位出错环节
- 有合规要求的评估人员,希望指标判定过程可解释且可记录