分享一个关于AI工作流评测的实战心得
盲目地通过“体感”来测试大模型输出结果,是很多开发者最容易踩的坑。之前我做一套AI Agent工作流,每次修改提示词后,随机抽几个样例看结果,觉得没问题就上线,结果上线后用户反馈某些边界情况直接崩了。这种缺乏量化标准的测试方式根本没法规模化。
三、自动化打分
写个简单的Python脚本,调用一个更高能力的模型(比如Claude 3.5 Sonnet)作为LLM-as-a-Judge,给待测结果打分。
下一篇
想找个技术大牛合伙做社交App,我出点想法,你拿大头 →
真正有效的方案是建立一套结构化的评测管线(Evaluation Pipelines)。核心思路就是把“测试集”和“评测逻辑”代码化,而不是靠人眼看。
我目前尝试的简单工作流是这样的:
一、构建黄金数据集(Golden Dataset)
准备一个JSONL文件,包含input(输入)、expected_output(预期结果)以及context(必要的上下文)。每个Case必须覆盖一个具体的业务场景或潜在的报错点。
二、定义评测维度
不能只看结果是否一致,得把指标拆开:
- 准确率(Accuracy): 关键信息是否提取正确。
- 格式合规性(Format): JSON是否合法,字段是否缺失。
- 鲁棒性(Robustness): 输入噪声时是否依然稳定。
三、自动化打分
写个简单的Python脚本,调用一个更高能力的模型(比如Claude 3.5 Sonnet)作为LLM-as-a-Judge,给待测结果打分。
# 伪代码参考:评测逻辑结构
evaluation_prompt = """
你是一个严格的评审员。请对比【预期结果】和【实际输出】,
如果实际输出包含所有关键信息且逻辑一致,请打1分,否则打0分。
预期结果:{expected}
实际输出:{actual}
评分:"""通过这种方式,每次迭代提示词后跑一遍全量数据集,能立刻看到分数的波动。如果某个Case掉分了,能迅速定位是哪个Prompt环节出了问题,而不是在海量日志里大海捞针。