两个关键概念:
1. 提示词工程与提示词评估
- 提示词工程 : 帮助您编写更好的提示词
- 提示词评估 : 帮助您衡量提示词的实际使用效果
提示词工程
提示词工程是一系列用于制作有效提示词的工具包,帮助 LLM 准确理解要求以及您希望它如何响应。包含以下技术:
- 多例提示词
- 使用XML 标签构建
- 许多其他最佳实践
提示词评估: 不关注如何编写提示词,而是通过自动化测试来衡量其有效性。可以:
- 根据预期答案进行测试
- 比较同一个提示的不同版本
- 检查输出是否有错误
2. 建立提示词评估管道的目的
- 只测一次?
当用户提供意外输入时,会带来很大的生产中断风险
-
测了几次? 调整了,用来处理一两个极端情况 比选项 1 好一些,但是用户通常会提供您未曾考虑过得非常意外的输出
-
通过评估管道运行提示词,根据客观指标迭代。这种方法需要更多的工作和成本,但对提示词的可靠性更有信心。
测试陷阱:选择选项 1、2 是常有的陷阱,低估了真实用户会遇到的
将提示词部署到生产环境,用户将以您意想不到的方式与其交互。在有限的测试中看似可靠的提示在面对各种现实世界的输入时,可能很快就会崩溃。
3. 评估优先
更系统地促进开发,通过评估管道(evaluation pipeline), 可以在更广泛的测试用例中获得有关其性能的客观指标。* 前期会投入更多成本
这种数据驱动的方式可以让您:
-
在弱点成为生产问题之前识别它
-
客观比较不同的提示版本
-
基于可衡量改进,充满信心地进行迭代
-
构建更可靠的人工智能应用
4.五个关键步骤,构建客观的测量系统
Step 1:起草提示
编写最基础的提示词,作为我们测试和改进的基准。
Step 2: 创建评估数据集
评估数据集
您的评估数据集应该包含示例输入,这些示例输入代表您的提示词在生产中处理的问题或请求的类型。可以手动组装,也可以利用 LLM 生成。
Step 3:喂给 LLM
将所有测试集中的问题取出,拼接提示词,喂给 LLM,获得答复
Step 4: 评分
人工标注或者另外一个分支的 LLM 进行评分?
对大模型给出的答复进行评分
Step 5: 更改提示并重复
有了基准分数,就可以修改提示,再次运行整个过程,看您的更改是否可以提高性能。
示例:用 LLM 生成评估测试集。
5. 评估方法
1 . 代码评估
实施编程检查
常见用途
- 检查输出长度
- 检查输出是否包含某些特定单词
- 格式检查(JSON、Python 或者正则表达式)
- 可读性分数
通常要求您的代码返回一些可用的信号,通常是 1-10 之间的数字
2. 模型评分
将您的原始输入、输出输入到另一个 API 调用中进行评估。 评估:
- 响应质量
- 对于指令遵循的质量
- 完整性
- 帮助性
- 安全性
3. 人工评分
提供了最大的灵活性,但耗时又乏味。可以对以下评估:
- 综合响应质量
General response quality - 综合性
Comprehensiveness - 深度
Depth - 简明
Conciseness - 关联
Relevance
6. 评估标准
在实施任何评分之前,都需要明确评估标准,例如对于代码生成提示,应关注:
Format 格式检查
格式,应仅返回 Python JSON 或者 Regex
Valid Syntax 有效的语法
有效的语法
Task Following 是否解决问题
使用准确的代码,直接解决用户任务
为什么在“编程”和“客服”领域很适合用 AI? - 诉求明确,是否解决了用户的问题也明确——有明确的正反馈或负反馈