LLM测试体系设计:从Prompt测试到模型质量评估的完整实践

举报
霍格沃兹测试学社 发表于 2026/08/08 10:14:07 2026/08/08
【摘要】 过去的软件测试,我们习惯面对确定性的系统。 例如: 一个接口: 输入: 输出: 测试目标非常明确: 返回码是否正确? 数据是否符合预期? 异常流程是否处理? 但是,大语言模型(Large Langua

过去的软件测试,我们习惯面对确定性的系统。

例如:

一个接口:

输入:

{
 "username":"test",
 "password":"123456"
}

输出:

{
 "code":200,
 "message":"success"
}

测试目标非常明确:

  • 返回码是否正确?
  • 数据是否符合预期?
  • 异常流程是否处理?

但是,大语言模型(Large Language Model,LLM)的出现改变了这一切。


当企业把大模型应用到:

  • 智能客服
  • 企业知识库
  • AI助手
  • Agent工作流
  • 自动代码生成

测试工程师面对的是一个新的问题:

一个没有固定答案的软件系统,如何测试质量?


一、为什么传统测试方法无法覆盖LLM?

传统软件:

输入
 |
 |
代码逻辑
 |
 |
确定输出

例如:

计算器:

输入:

1+1

输出:

2

但是LLM:

用户问题

      ↓

Prompt

      ↓

模型推理

      ↓

上下文检索

      ↓

生成回答

      ↓

最终输出

同一个问题:

可能产生不同回答。

例如:

Prompt:

什么是TCP协议?

模型A:

TCP是一种面向连接的传输层协议。

模型B:

TCP负责保证网络通信可靠性。

两个答案都可能正确。

那么测试标准是什么?

这就是LLM测试最大的挑战。


二、LLM测试的核心目标

目前企业进行LLM测试,主要关注以下几个维度。


1. 正确性(Correctness)

模型回答是否符合事实。

例如:

企业知识库机器人。

用户:

公司年假是多少天?

正确答案:

工作满1年至10年,年休假5天。

如果模型回答:

所有员工都有15天年假。

就是错误。


2. 相关性(Relevance)

回答是否真正解决用户问题。

例如:

用户:

如何修改手机号?

模型回答:

手机号修改需要进入账户设置。

正确。

如果回答:

手机号的发展历史是什么?

虽然内容正确,但是无关。


3. 幻觉(Hallucination)

这是目前LLM测试最关注的问题。

例如:

用户:

请介绍一下不存在的某家公司。

模型可能:

编造:

  • 公司成立时间
  • 创始人
  • 产品信息

测试需要发现:

模型是否产生虚假信息。


4. 稳定性(Consistency)

同一个输入:

多次请求。

结果是否稳定。

例如:

Prompt:

写一个Python排序算法。

第一次:

生成冒泡排序。

第二次:

生成快速排序。

第三次:

生成错误代码。

需要评估:

输出波动情况。


三、企业级LLM应用测试架构

一个完整LLM测试体系,可以设计为:

                 测试数据层

                      |

                      ↓

              Prompt测试层

                      |

                      ↓

              模型调用层

                      |

          ----------------------

          |                    |

      输出质量评估        安全测试

          |                    |

          ----------------------

                      |

                      ↓

              测试报告分析

四、Prompt测试:LLM测试的第一道防线

很多团队认为:

测试大模型,就是测试模型本身。

实际上:

大量问题来自Prompt设计。

例如:

Prompt:

回答用户问题。

模型可能:

回答不稳定。

优化:

你是一名企业IT客服。
回答必须基于知识库内容。
如果无法确认,请明确说明。
禁止编造信息。

输出质量明显提升。

因此:

Prompt也需要测试。


五、如何设计Prompt测试用例?

传统接口测试:

测试输入:

{
"id":1001
}

LLM测试:

测试输入:

Prompt。

例如:

test_cases = [

{
"input":"公司的退款流程是什么?",
"expected":"退款需要提交申请"
},

{
"input":"随便编一个公司政策",
"expected":"拒绝编造"
}

]

执行:

for case in test_cases:

    response = llm.invoke(
        case["input"]
    )

    evaluate(
        response,
        case["expected"]
    )

六、LLM输出如何自动评估?

传统测试:

直接断言:

assert response=="success"

但是LLM:

不能简单比较字符串。

例如:

答案1:

TCP是一种可靠传输协议。

答案2:

TCP通过确认机制保证数据可靠传输。

表达不同。

但是含义接近。

因此需要:

语义评估。


目前常见方法:

方法1:Embedding相似度

流程:

标准答案

 ↓

向量化

 ↓

模型回答

 ↓

向量化

 ↓

计算距离

示例:

from sklearn.metrics.pairwise import cosine_similarity


score = cosine_similarity(
    answer_vector,
    response_vector
)


if score > 0.85:

    print("通过")

方法2:LLM作为评估器

也叫:

LLM-as-a-Judge。

例如:

让GPT-4评价:

请评价下面回答:

问题:
xxx

答案:
xxx

从准确性、完整性评分1-5分。

这种方式目前被大量应用。


七、RAG系统测试:企业最常见场景

目前很多企业落地AI应用,并不是直接调用大模型。

而是:

RAG(Retrieval Augmented Generation)

架构:

用户问题

    ↓

向量检索

    ↓

知识库

    ↓

相关文档

    ↓

大模型生成

    ↓

回答

因此测试需要拆分:


1. 检索测试

问题:

有没有找到正确文档?

指标:

  • Recall
  • Precision

2. 生成测试

问题:

模型是否基于文档回答?

指标:

  • Faithfulness
  • Answer Relevance

例如:

用户:

公司报销流程是什么?

检索:

找到:

《财务制度2026版》

但是模型引用:

《员工手册》

虽然回答可能正确。

但来源错误。

需要测试发现。


八、目前主流LLM测试工具

1. OpenAI Evals

用途:

模型评估框架。

适合:

设计测试集。


2. Ragas

主要用于:

RAG系统评估。

支持:

  • Faithfulness
  • Answer Relevance
  • Context Recall

3. DeepEval

类似:

LLM领域的pytest。

示例:

from deepeval import evaluate

evaluate(
    test_cases
)

可以集成:

CI/CD。


4. Promptfoo

用于:

Prompt测试。

例如:

比较:

Prompt A

Prompt B

哪个效果更好。


九、测试工程师如何进入LLM测试方向?

对于传统测试开发工程师:

不需要重新学习成为算法工程师。

建议路线:


第一阶段:

掌握LLM基础

包括:

  • Transformer基本概念
  • Token
  • Embedding
  • Prompt

第二阶段:

掌握LLM测试方法

包括:

  • Prompt测试
  • RAG测试
  • 幻觉测试
  • 安全测试

第三阶段:

掌握测试平台建设

包括:

  • 自动化评测
  • 测试数据管理
  • CI/CD集成

十、未来AI质量工程师的核心能力

未来企业需要的不是:

“会调用ChatGPT的人”。

而是:

能够保证AI系统可靠运行的人。

AI质量工程师需要:

测试工程能力

+

自动化能力

+

数据分析能力

+

LLM知识

+

质量体系设计能力

总结

大模型时代,测试的核心问题发生变化。

以前:

测试程序是否按照规则运行。

现在:

测试AI是否能够稳定、可靠、安全地完成任务。

LLM测试不是简单增加几个测试用例。

而是建立一套新的质量保障体系。

未来,随着AI应用深入企业:

LLM Testing 将成为测试开发工程师的重要方向。


AI质量工程

持续分享:

  • LLM测试实践
  • AI Agent质量保障
  • RAG评测体系
  • 智能测试平台建设
  • AI时代质量工程方法论

探索AI时代软件质量工程的新方向。


霍格沃兹测试开发学社,隶属于测吧(北京)科技有限公司,是一个专注软件测试、自动化测试、人工智能测试与测试开发的技术交流社区,并参与高校测试实训、火焰杯赛事及工程化人才培养。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。