两个关键概念:

1. 提示词工程与提示词评估

  1. 提示词工程 : 帮助您编写更好的提示词
  2. 提示词评估 : 帮助您衡量提示词的实际使用效果

提示词工程

提示词工程是一系列用于制作有效提示词的工具包,帮助 LLM 准确理解要求以及您希望它如何响应。包含以下技术:

  1. 多例提示词
  2. 使用XML 标签构建
  3. 许多其他最佳实践

提示词评估: 不关注如何编写提示词,而是通过自动化测试来衡量其有效性。可以:

  1. 根据预期答案进行测试
  2. 比较同一个提示的不同版本
  3. 检查输出是否有错误

2. 建立提示词评估管道的目的

  1. 只测一次?

当用户提供意外输入时,会带来很大的生产中断风险

  1. 测了几次? 调整了,用来处理一两个极端情况 比选项 1 好一些,但是用户通常会提供您未曾考虑过得非常意外的输出

  2. 通过评估管道运行提示词,根据客观指标迭代。这种方法需要更多的工作和成本,但对提示词的可靠性更有信心。

测试陷阱:选择选项 1、2 是常有的陷阱,低估了真实用户会遇到的

将提示词部署到生产环境,用户将以您意想不到的方式与其交互。在有限的测试中看似可靠的提示在面对各种现实世界的输入时,可能很快就会崩溃。

3. 评估优先

更系统地促进开发,通过评估管道(evaluation pipeline), 可以在更广泛的测试用例中获得有关其性能的客观指标。* 前期会投入更多成本

这种数据驱动的方式可以让您:

  1. 在弱点成为生产问题之前识别它

  2. 客观比较不同的提示版本

  3. 基于可衡量改进,充满信心地进行迭代

  4. 构建更可靠的人工智能应用

4.五个关键步骤,构建客观的测量系统

Step 1:起草提示

编写最基础的提示词,作为我们测试和改进的基准。

Step 2: 创建评估数据集

评估数据集

您的评估数据集应该包含示例输入,这些示例输入代表您的提示词在生产中处理的问题或请求的类型。可以手动组装,也可以利用 LLM 生成。

Step 3:喂给 LLM

将所有测试集中的问题取出,拼接提示词,喂给 LLM,获得答复

Step 4: 评分

人工标注或者另外一个分支的 LLM 进行评分?

对大模型给出的答复进行评分

Step 5: 更改提示并重复

有了基准分数,就可以修改提示,再次运行整个过程,看您的更改是否可以提高性能。

示例:用 LLM 生成评估测试集。

5. 评估方法

1 . 代码评估

实施编程检查

常见用途

  • 检查输出长度
  • 检查输出是否包含某些特定单词
  • 格式检查(JSON、Python 或者正则表达式)
  • 可读性分数

通常要求您的代码返回一些可用的信号,通常是 1-10 之间的数字

2. 模型评分

将您的原始输入、输出输入到另一个 API 调用中进行评估。 评估:

  1. 响应质量
  2. 对于指令遵循的质量
  3. 完整性
  4. 帮助性
  5. 安全性

3. 人工评分

提供了最大的灵活性,但耗时又乏味。可以对以下评估:

  1. 综合响应质量 General response quality
  2. 综合性 Comprehensiveness
  3. 深度 Depth
  4. 简明 Conciseness
  5. 关联 Relevance

6. 评估标准

在实施任何评分之前,都需要明确评估标准,例如对于代码生成提示,应关注:

Format 格式检查

格式,应仅返回 Python JSON 或者 Regex

Valid Syntax 有效的语法

有效的语法

Task Following 是否解决问题

使用准确的代码,直接解决用户任务

为什么在“编程”和“客服”领域很适合用 AI? - 诉求明确,是否解决了用户的问题也明确——有明确的正反馈或负反馈