这是只读的 harbor 参考规则(来源
Harbor v0.20.0)。请通过刷新来源来编辑评分项——使用「重新提取 harbor」。
评分项
1. 测试行为在任务说明中描述
描述: 测试脚本所检查的全部行为是否都在任务说明中描述
判定指引: 测试所验证的全部行为都应在 instruction.md 中清晰描述。若说明明确覆盖了测试检查的内容(包括相关时的文件名、schema、确切命令或接口),则通过;若测试要求的细节未被说明或仅由示例暗示,则不通过。
2. 任务行为在测试中检查
描述: 任务说明中描述的全部行为是否都在测试脚本中检查
判定指引: instruction.md 中描述的全部行为都应被测试。若测试覆盖了所规定的行为与输出,则通过;若有重要的必需行为未被测试,则不通过。
3. 测试结构清晰
描述: 测试脚本是否结构良好,带有清晰的小节或注释说明所检查的行为
判定指引: 测试应可读且组织清晰(小节/注释标明所检查的内容)。若结构清晰且可维护,则通过;否则不通过。
4. 防作弊措施
描述: 智能体是否难以在任务上作弊(例如通过编辑数据文件、查看文件中代表解答的字符串、在测试集上训练等)?注意测试与解答对智能体不可见。由于智能体看不到测试,不必担心非随机化的静态测试。若环境涉及 git 克隆,应确保智能体不会看到更新的提交。
判定指引: 智能体在运行时看不到解答或测试。评估任务是否鼓励诚实工作(例如避免依赖可走捷径的可变外部资源、避免在环境文件中泄露答案、避免对智能体不应存在的数据进行平凡字符串匹配等)。若设置能阻止平凡捷径,则通过;若存在明显的绕过预期行为的方式(例如答案嵌入环境、将真值文件复制进镜像、或依赖泄露答案的网络调用),则不通过。
5. 结构化数据架构
描述: 若智能体产生结构化数据(例如被要求构建 API),确切的 schema 是否在 instruction.md 或单独的文件中描述
判定指引: 若任务期望结构化输出(API、JSON、CSV、数据库 schema),确切的 schema 必须在 instruction.md 或清晰引用的规范文件中记录。若 schema 明确,则通过;若仅给出示例而未标明为规范性内容,则不通过。
6. 依赖版本锁定
描述: 若任务使用外部依赖(例如 pip 包),其版本是否被锁定以确保可复现。apt 包不应被锁定,但所有 Python 依赖应被锁定。
判定指引: 若使用外部依赖,应锁定版本(Python/pip 包锁定;apt 包通常无需锁定)。若锁定充分,则通过;否则不通过。
7. 拼写错误
描述: 是否存在任何拼写错误。请仔细查看文件名和变量名,因为这些可能难以发现。
判定指引: 仔细查找文件名、路径、命令和变量名中可能导致失败或混淆的拼写错误。若未发现,则通过;若存在,则不通过。
8. 镜像不含测试/解答
描述: tests/ 文件夹或 solution/ 文件夹是否被复制进镜像?不应如此。/tests 文件夹由 harness 在智能体运行后自动复制,解答仅由 OracleAgent 使用。
判定指引: 镜像不应将 tests/ 或 solution/ 复制进运行时构建。若未包含,则通过;若包含,则不通过。
9. 测试依赖不入镜像
描述: 构建过程中是否在镜像中安装了任何测试依赖?它们应改在 test.sh 脚本中安装。
判定指引: 仅测试用的依赖应安装在测试中(例如 test.sh),而非固化进镜像构建。若测试专用依赖仅限于测试,则通过;否则不通过。
10. 解答不可硬编码
描述: 解答是否使用 echo/cat 等命令直接输出或硬编码最终答案,而未执行智能体本应执行的步骤?使用 echo/cat 写入随后被执行的源文件或脚本是可接受的。当解答展示了推导答案的命令序列(例如数据处理、运行代码)时应通过;当解答仅打印或写入最终答案而无计算时应不通过。
判定指引: 解答不应仅 echo/cat 最终答案;应展示智能体会执行的步骤。若通过流程推导出答案,则通过;若仅打印最终答案而无计算,则不通过。
11. 文件引用已提及
描述: 若智能体需要产生供测试检查的文件,这些文件名是否在 instruction.md 中明确提及
判定指引: 若智能体必须产生文件(例如 output.csv)供测试检查,这些文件名应在 instruction.md 中明确说明。若已提及,则通过;否则不通过。