为智能体建立数据评估方法

4 阅读3分钟

今天的文章算是抛砖引玉。

小马易记是基于AI的,也是一个智能体。目前小程序是上架了。但是它表现好不好,目前是缺少量化数据的。

我在昨天的视频中说它好,完全是基于我个人的使用感受,不够严谨,哈哈。

目前小马易记统计了token消耗情况,没有统计任何其他数据。所以,今天我就在想,能不能建立一套数据评估方法,衡量它的表现。

我和豆包聊了一下,说的太宽泛了,不好落地,也可能是我能力还不足;于是又通过微信搜索看了几篇文章,结合自身实践,目前想到的几个方法,和大家分享(抛砖引玉):

1、建立评估数据集

核心思路是搭建一个包含常见问题与标准答案的数据集,通过这个数据集,测试智能体回答的准确性,同时检验面对不同提问方式时,智能体是否能精准理解并给出正确回应。

我自己亲测过以下两种方案:

1.1 字符串相似度度量:我在小马易记初期曾尝试过这种方法,但实际使用后发现,它的评估效果不如用LLM作为评估者来得准确。

1.2 LLM作为评估者:专门搭建一个用于评估的agent,将评估数据集和智能体的回答一起提交给它,由它进行评估打分。这种方法不仅能用于智能体上线前的事前评估,也能用于生产环境中,评估智能体的实际效果。在一些场景下,或许需要提供明确的评分标准,但也并非必需——现在的智能体已经足够聪明,完全能够胜任打分这项任务。

(在小马易记中,我并没有专门搭建一个评估LLM,但是我把用户的输入直接丢给AI,让AI来评估,取代一开始的字符串相似度测量,发现效果确实更好)

2、收集用户反馈

在每一次回答中增加喜欢和不喜欢按钮,把用户的使用反馈收集上来,目前所有AI工具几乎都具备这个基础功能。通过计算“不喜欢点击数/总回答次数”这个比值,我们可以清晰地评估不同版本智能体的回答提升效果;同时,把用户点击“不喜欢”的答案单独拉出来分析,还能精准定位潜在的bug和问题,为后续优化提供方向。

3、识别用户情绪

很多时候,用户未必会主动点击“喜欢”或“不喜欢”,但他们的情绪会通过输入内容自然流露——比如我在vibe coding的时候,就多次输入过带有负面情绪的内容(哈哈,比如骂娘的情况)。

针对这种情况,我们可以让LLM对用户情绪进行打分,从“非常差”到“非常好”划分0-10分的区间(这种场景下,或许需要给LLM明确的打分标准)。这样一来,我们就能把情绪评分较低的内容单独筛选出来,结合前面用户点击“不喜欢”的数据,综合计算出一个更精准、更全面的回答质量指标。

4、评估响应时间

除了回答质量,响应速度也是评估智能体表现的重要指标。其实在小马易记初期,因为我对AI工具的使用还不够熟练,写了不少性能低下的代码,导致用户输入内容后,常常需要等待3秒左右才能收到回复;经过后续优化,现在我自己使用时,响应时间已经缩短到2秒左右,体验提升很明显。

目前想到的就这些,剩下的请求大佬补充哈。