典型的提示评估工作流程遵循系统化的方法,以客观地衡量和改进您的提示。尽管有许多不同的方式来组装这些工作流程,并且有各种开源和付费工具可用,但理解核心流程有助于您从小处着手,并根据需要逐步扩展。

第1步:起草您的初始提示
首先写出一个您想要改进的基本提示。在这个示例中,我们将使用一个简单的提示结构:
prompt = f"""
Please answer the user's question:
{question}
"""
这为我们提供了一个可以开始工作的基线。在我们用某种客观方法对其进行评估之前,我们无法知道它是否有效。
第2步:创建评估数据集
您的评估数据集包含您将输入到提示中的样本输入。由于我们的提示只有一个输入(用户的问题),我们需要一组不同的问题来进行测试。

该数据集包含我们将与提示合并的问题。您可以手动组装这些数据集,也可以使用Claude生成它们。在实际评估中,您可能会有数十、数百甚至数千条不同的记录,但在这个示例中我们将从仅三个问题开始:
- 2+2等于多少?
- 我该如何制作燕麦粥?
- 月球有多远?
第3步:通过Claude处理
从您的数据集中取出每个问题,并将其与您的提示模板合并,以创建完整的提示。然后将每个提示发送给Claude并收集响应。

例如,第一个问题会变成一个Claude可以响应的完整提示。您将对数据集中的所有记录重复此过程,获得类似"2 + 2 = 4"、详细的燕麦粥制作说明以及关于月球距离的信息等响应。
第4步:通过评分器处理
现在到了关键的一步:客观地为Claude的响应打分。将每个问题-答案对输入到评分器中,评分器将评估Claude响应的质量。

评分器根据响应质量分配分数(通常为1-10分):
- 10 = 完美答案,没有改进空间
- 4 = 肯定有改进空间
- 1 = 较差或不正确的响应
在我们的示例中,这些响应可能分别得分10、4和9。将这些分数平均起来,得到一个总体性能指标:7.66。

第5步:更改提示并重复
在建立了基线分数后,您现在可以对提示进行迭代。尝试添加更具体的指令来引导Claude的响应:

prompt = f"""
Please answer the user's question:
{question}
Answer the question with ample detail
"""再次将这个改进后的提示通过整个评估流程运行。比较分数,看看哪个版本表现更好。
提示评分与迭代
这个工作流程的强大之处在于为每个提示版本获得客观的测量结果。您可以比较不同迭代之间的分数,并使用表现最佳的版本,或者继续迭代以找到更好的方法。

在我们的示例中:
- 提示v1得分7.66
- 提示v2得分8.7
v2更高的分数表明,添加"请详细回答问题"提高了该提示在我们测试用例中的表现。
这种系统化的方法为您提供了一种客观的方式来衡量提示的改进,而不是依赖主观判断。您可以从简单的实现开始,并随着需求的增长逐步添加更复杂的评估标准。