所有评测
编程评测科学编程

SciCode

以真实科研问题检验科学知识、推理与代码合成能力,答案由可执行测试验证。

测试子问题通过率%数值越高越好

评测要点

评测设置一览

01
主问题
80 个
02
评测子问题
288 个测试子问题
03
完整题库
338 个子问题,另含 50 个验证子问题
04
学科数量
16 个
05
重复次数
每个测试子问题 3 次
06
验证方式
科研人员标注的测试用例

完整测评方法

从测试对象到评分与结果解释,逐步说明这一指标是如何形成的。

评测背景

80 个真实实验室问题来自数学、物理、化学、生物与材料科学等 16 个自然科学子领域,并自然拆分为多个子问题。

任务不只要求写代码,还要求回忆科学知识、完成推理并把研究问题转化为可执行实现。

能力范围

  • 把科学公式和领域约束转化为程序。
  • 分解复杂科研问题并逐步实现子函数。
  • 通过数值与结构测试验证科研代码。

测试设置

  • 评测使用 288 个测试子问题,不包含另外 50 个验证子问题。
  • 每题提供函数要求、输入输出约束与测试用例;部分题目还提供可选科学背景说明。
  • 参考实现和测试由科研人员标注。
  • 每个测试子问题独立运行 3 次。

运行流程

  • 模型根据主问题与当前子问题生成指定函数代码。
  • 按子问题顺序组合必要的中间函数和最终计算。
  • 运行随题测试用例,验证数值、形状与返回结构。

计分方式

  • 子问题代码通过全部指定测试时记为通过。
  • 主成绩按 288 个测试子问题、每个子问题 3 次运行的平均通过比例报告。
  • 机器执行测试决定结果,不以代码风格或文字解释打分。

结果呈现

  • 报告测试子问题通过率及随发布日期的变化。
  • 报告完整评测的输入、推理和答案 Token。
  • 报告完整评测成本并拆分输入、推理与答案成本。

解读限制

  • 当前口径只使用 288 个测试子问题,不计入 50 个验证子问题。
  • 可执行测试强调可验证科研代码,不能覆盖实验设计和现实实验操作。
  • 是否提供可选科学背景会改变模型获得的信息,比较时需保持设置一致。

示例任务

周期体系的 Ewald 求和

实现周期体系能量计算,将问题拆为求 alpha、生成晶格坐标、构造粒子距离以及计算实空间和倒空间项等函数。

成功条件

  • 函数签名和数组形状符合题目约束。
  • 多个晶格、原子电荷与坐标样例均通过数值近似测试。
  • 组合后的函数返回正确总能量。