Conv-to-Bench: Evaluating Language Models Via User-Assistant Dialogues In Code Tasks
Conv-to-Bench 是一个可扩展的多阶段框架,能够自动将真实的多轮用户 - 助手对话转化为针对代码任务的、结构化的可验证评估基准,在实现与人工编写标准近乎完美对齐的同时,显著降低了对劳动密集型专家策展的依赖。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在教一个机器人如何编写计算机代码。要做到这一点,你需要一个测试来评估机器人是否在进步。传统上,创建这些测试就像雇佣一支大师级厨师团队,亲手撰写 1,000 份独特且完美的食谱。这种方式昂贵、缓慢,且难以扩展。如果你想要一个新的测试,就必须等待厨师们再次撰写。
本文介绍了一种名为Conv-to-Bench的新方法来制作这些测试。研究人员没有雇佣厨师从头开始撰写新食谱,而是决定查看真实人类与 AI 助手对话的“厨房日志”。他们提出了一个问题:能否将这些混乱的、现实生活中的对话转化为完美的测试?
以下是他们如何实现这一点的简化步骤:
1. 问题:“厨师”瓶颈
目前,针对 AI 的最佳测试(如BigCodeBench)是由人类专家编写的。制作一个良好的测试需要他们花费一年时间。这就像试图通过手工雕刻每一块砖来建造一座新城市。虽然质量很高,但速度太慢,无法跟上 AI 学习的步伐。
2. 解决方案:挖掘“厨房日志”
研究人员意识到,每天都有数百万人与 AI 交谈,寻求代码方面的帮助。这些对话是金矿。
- 场景:用户问:“写一个 Python 脚本。”AI 写了一些错误的东西。用户说:“不,运行时会崩溃。修复这个循环。”AI 再次尝试。用户说:“很好,现在添加一个注释。”
- 洞察:这种来回交流不仅仅是聊天;它是一个蓝图。用户的最终请求,结合他们所有的修正意见,实际上是一套非常详细、完美的指令,说明了什么是好的代码解决方案。
3. 过程:将聊天转化为检查清单
该团队构建了一个系统(Conv-to-Bench),它就像一个超级智能的编辑。它将这些冗长、混乱的对话进行以下三项处理:
- 过滤:它剔除关于烹饪或天气的聊天,只保留与编程相关的对话。
- 综合:它阅读整个对话,并写下一条单一的、完美的“主指令”,将原始请求与用户要求的所有修复结合起来。
- 创建检查清单:它将该指令转化为一个简单的“是/否”检查清单。例如:“代码是否在没有错误的情况下运行?”“它是否正确处理了循环?”“是否有注释?”
4. 实验:它奏效了吗?
他们通过观察该系统能否以与昂贵的人工编写测试相同的方式对 AI 模型进行排名,来测试这个新系统。
- 结果:效果出奇地好。当他们将自己生成的 AI 测试与人工编写的“黄金标准”(BigCodeBench)进行比较时,排名几乎完全吻合。在某些情况下,相关性达到了1.0(满分 1.0)——这意味着新系统与人类专家完全一致。
- “反馈”转折:他们尝试了两个版本。一个仅使用最终指令,另一个使用指令加上用户的抱怨和修正(即反馈)。令人惊讶的是,仅使用指令的版本实际上更稳定、更可靠。用户的反馈有时会添加“噪声”(困惑)而非清晰度,就像客户反复改变主意一样。
5. 结论
该论文得出结论,我们不需要等待人类专家编写每一个新测试。我们可以利用人们已经与 AI 进行的自然、混乱的对话,自动构建高质量、可靠的测试。
简而言之:
传统测试就像手工绘制杰作(缓慢、昂贵、完美)。
Conv-to-Bench则像使用高科技扫描仪,将公众制作的数百万张粗糙草图转化为完美、标准化的画作。它更快、更便宜,并且令人惊讶地同样准确,前提是你坚持主要指令,并忽略边缘处杂乱的涂鸦。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。