LiveCodeBench
LiveCodeBench 是一个带日期标记的 AI 编码模型基准测试,用于测试代码生成、修复、执行推理以及解决新问题的能力。
LiveCodeBench 是一个持续更新的基准测试,用于评估 AI 语言模型解决编程问题的能力。它会测试模型能否生成可运行的代码、修复错误并推理程序行为。它的独特之处在于时间维度:每道题都带有发布日期,评估者可以据此测试模型在其训练截止日期之后发布的挑战题上的表现——训练截止日期是指训练材料涵盖的最新日期。这有助于区分真正的问题解决能力与回忆先前遇到的解法。
起源与基准测试设计#
LiveCodeBench 由 UC Berkeley、MIT 和 Cornell University 的研究人员在 Naman Jain 的带领下创建,并于 2024 年的论文 LiveCodeBench:对大型语言模型代码能力进行全面且无污染的评估中介绍。它收集来自 LeetCode、AtCoder 和 Codeforces 的竞赛编程题。早期的代表性基线模型包括 GPT-4 Turbo 和 Claude 3 Opus,它们在各项评测任务中表现出色;在最初的比较中,DeepSeek-Instruct-33B 和 Phind-34B 是领先的开放访问基线模型。这些是历史参考点,并非永久的排行榜领先者。
初始版本 release_v1 包含 400 道发布于 2023 年 5 月至 2024 年 3 月的问题。后续的 Hugging Face 发布版本扩展了题目集,因此 LiveCodeBench 没有固定不变的规模。可复现的结果必须注明所用版本和评测时间窗口。
与其他基准测试数据集一样,它提供了共享任务和评分流程,用于比较模型。其带日期标记的评测设计还允许评估者选择一个共同的、新题目发布时段。
LiveCodeBench 的评测内容#
LiveCodeBench 评测大型语言模型的四项相关能力。大型语言模型能够生成和理解文本,包括源代码:
- 代码生成: 根据问题描述和示例输入输出对生成程序。评估器会使用其他测试用例运行该解答。
- 自我修复: 收到执行反馈(例如异常或未通过的测试)后,修改错误的解答。
- 代码执行: 预测给定程序在指定输入下的输出。这里的“执行”指模型的推理任务;评估器会将模型的预测与实际执行结果进行比对。
- 测试输出预测: 根据问题说明和给定输入推断预期输出,不提供实现代码。
区分最后两项任务很重要。代码执行询问已有程序会做什么;测试输出预测询问正确实现应该做什么。自我修复考察反馈与修改行为,这种行为也应用于智能体式编码:AI 系统会规划、编写、运行并修改代码。
对于代码生成,功能正确性意味着通过所有必需的测试。程序可能运行成功,却给出错误答案;而执行错误则可能导致程序根本无法生成答案。这两种失败都会影响基准测试表现。
解读分数并理解污染问题#
Pass@1 衡量单个生成解答通过所有必需测试的可能性,并对各道题取平均值。报告值为 60% 意味着在指定的评测流程下,大约每十道题中有六道得到解决。这并不表示每个程序都通过了 60% 的测试。
公平比较需要统一数据集版本、日期窗口、任务和生成设置。提示工程、采样设置、输出限制和修复机会都会改变结果。按简单、中等和困难程度拆分结果,也能揭示整体平均值掩盖的差异。
基准测试污染是指评测题目或解答出现在模型的训练数据中。这种数据泄漏会抬高分数,因为模型已经接触过相关材料。选择在模型训练截止日期之后发布的题目可以降低这种风险,不过截止日期的可靠性以及模型后续更新仍然很重要。
因此,声称某个模型“在 LiveCodeBench 上领先”,需要提供注明日期的排行榜快照,并确保评测设置一致。缺少这些背景信息的排名很难解读。
应用场景与相关基准测试#
LiveCodeBench 可用于比较编码模型,并诊断模型的弱点究竟在于生成解答、理解代码,还是修复故障。它以竞赛题为基础的任务能够反映算法编程能力;若要更全面地评估软件开发,还需要测试代码仓库导航、依赖管理和集成行为。
LiveBench 是一个独立且范围更广的基准测试,涵盖推理、数学、语言和编码等领域。名称相似并不意味着分数可以互换。
对于使用 Ultralytics YOLO 构建应用的开发者,LiveCodeBench 可作为评估编码助手的一项参考指标。一个具体的补充工作流是使用 Ultralytics 智能体技能,为兼容的编码智能体提供数据集准备、训练、推理和导出的指导。
当编码助手帮助你构建 YOLO26 应用时,应单独评估它生成的代码和视觉模型:验证模式衡量预测质量,而基准测试模式则比较不同部署格式下的精度和推理速度。










