logo
0
0
WeChat Login
pengfeiyu<pengfeiyu@tencent.com>
init

Checklist 评测

基于检查清单的代码生成评测,评估 Code Agent 的端到端代码生成能力。

目录结构

checklist_eval/ ├── configs/ # 配置(提示词、参数等) ├── data/ # 数据模型定义 ├── generator/ # 评测题生成、代码生成 ├── evaluator/ # Checklist 评测 Agent ├── report/ # 结果汇总统计 ├── examples/ # 示例脚本和数据 └── run_eval.py # 主评测入口

评测流程

评测题(requirement + checklist) → Code Agent 生成代码 → Checklist Agent 逐项验证 → 输出评测报告

快速开始

cd evaluation/agent # 完整评测(代码生成 + checklist 验证) python -m checklist_eval.run_eval \ --questions_file checklist_eval/examples/demo_data/generated_questions_by_category.json \ --output_dir /path/to/output \ --eval_concurrency 5

注意:可使用 --skip_code_gen 跳过代码生成阶段,仅评测已有代码;可使用 --only_unknown 只重新评测 unknown 状态的检查点。

参数说明

参数必填默认值说明
--questions_file-评测题文件路径(JSON 格式)
--output_dir-输出目录
--num_questions全部评测题目数量
--start_index0起始题目索引
--code_gen_timeout1800代码生成超时(秒)
--code_gen_concurrency1代码生成并发数
--eval_concurrency1评测并发数
--eval_max_iterations30评测 Agent 最大迭代次数
--skip_code_genFalse跳过代码生成阶段
--only_unknownFalse只重新评测 unknown 状态的检查点

辅助工具

1. 生成评测题

python -m checklist_eval.examples.generate_questions \ --categories_file checklist_eval/examples/demo_data/task_categories.json \ --output_file checklist_eval/examples/demo_data/output.json

2. 单独生成代码

python -m checklist_eval.examples.generate_code \ --requirement "写一个计算器程序" \ --target_path /tmp/calculator

3. 评测单个仓库

python -m checklist_eval.examples.evaluate_repo \ --repo_path /tmp/my_repo \ --question_file checklist_eval/examples/demo_data/generated_questions_by_category.json \ --question_index 0

输出结构

$output_dir/ ├── task_000/ # 单个任务目录 │ ├── (生成的代码文件) │ └── eval_result.json # 评测结果 ├── task_001/ │ └── ... ├── evaluation_summary_*.json # 汇总报告 └── logs/ # 日志目录

评测指标

指标说明
pass_rate检查点通过率,核心指标
passed_checkpoints通过的检查点数
failed_checkpoints失败的检查点数
unknown_checkpoints无法判定的检查点数

环境配置

agent/.env 中配置:

# LLM API 密钥(用于评测) COPILOT_API_KEY=your_api_key # 可选:指定评测使用的模型 COPILOT_MODEL=claude-4.5-codewise # Code Generator 配置(CODE_GEN_BASE_URL 必须配置) CODE_GEN_MODEL_ID=Qwen3-32B CODE_GEN_BASE_URL=http://your-server:port/v1/

依赖安装(代码生成)

代码生成功能依赖 agent-server

npm install -g @tencent-ai/agent-server cross-env