资讯动态

AIME题目生成统计报告全解读:hello-agents 数据生成流水线与质量评估实战

发布时间:2026/9/12 13:52:05 来源:尧图企业网站定制
AIME题目生成统计报告全解读hello-agents 数据生成流水线与质量评估实战【免费下载链接】hello-agents 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/GitHub_Trending/he/hello-agents导读本文以hello-agents《从零开始构建智能体》第十二章智能体性能评估的数据生成模块为背景围绕 AIME题目生成统计报告 这份真实产物逐段拆解其含义并深入其背后的生成流水线提示词设计、JSON 解析、断点续跑、统计逻辑与质量评估闭环LLM Judge、Win Rate、人工验证。读完你不仅能看懂任何一份生成统计报告还能独立复现生成—统计—评估—筛选的完整数据工程流程。一、这份报告是什么数据生成环节的体检单在 hello-agents 第十二章的数据生成与评估体系中AIMEGenerator负责用 LLM 批量产出 AIME美国数学邀请赛风格的竞赛题目而生成统计报告则是每次批量生成后自动落盘的质量快照。本次关联文档 generation_report_20251011_042741.md 正是 2025-10-11 04:41:36 那次生成任务的产物与同目录下的 aime_generated_20251011_042741.json完整题目数据一一对应。报告的结构非常规整由四个模块组成基本信息生成时间、题目数量主题分布Number Theory / Geometry / Algebra / Probability / Combinatorics 五个主题的数量与占比答案分析平均答案、最小/最大答案、答案范围题目列表仅展示前 10 道题的 ID、主题与答案完整列表指向 JSON 文件。这份报告不是给人观赏的装饰物而是整个数据生成闭环的第一道产出它验证生成任务是否按预期完成、主题是否均衡、答案是否符合 AIME 的 0–999 整数规范并作为后续 LLM Judge / Win Rate 评估的输入锚点。二、逐段解读报告四个核心模块说了什么2.1 基本信息一次任务的身份标识- 生成时间: 2025-10-11 04:41:36 - 题目数量: 30生成时间戳同时体现在文件名中generation_report_20251011_042741.md与aime_generated_20251011_042741.json这保证了多次生成任务之间互不覆盖、可追溯。30 道是脚本的默认目标数量——从源码看AIMEGenerator.generate_and_save()的num_problems参数默认值为 30见 aime_generator.py。2.2 主题分布覆盖均衡性的第一眼检查主题数量占比Number Theory930.0%Geometry930.0%Algebra826.7%Probability26.7%Combinatorics26.7%本次 30 道题中数论Number Theory与几何Geometry各占 9 道30%代数Algebra8 道26.7%概率与组合各 2 道6.7%。从分布看代数、数论、几何三大传统主流主题覆盖充分而概率与组合占比偏低——这在评估阶段是一个值得留意的信号因为后续 Win Rate 对比若按主题分层抽样样本不均衡可能影响结论的代表性。值得一提的是主题字段本身由 LLM 自由填写报告生成时按字段值聚合统计。这意味着主题的准确性依赖模型输出质量这也正是后续引入 LLM Judge 逐题打分的动机之一。2.3 答案分析AIME 规范符合性的量化校验- 平均答案: 172.00 - 最小答案: 1 - 最大答案: 999 - 答案范围: 1-999AIME 的硬性规范是答案必须为 0–999 之间的整数。本次生成的答案全部落在此区间内说明生成器在源头和出口都做了约束。需要留意的是从源码可以看到答案校验存在两条防线提示词层面GENERATION_PROMPT明确要求Answer: An integer between 0 and 999aime_generator.py代码层面_parse_response()在解析后强制执行if not (0 answer 999)的夹逼修正越界答案会被截断到max(0, min(999, answer))aime_generator.py。因此答案范围 1-999既反映模型基本遵守了规范也部分是校验逻辑兜底的结果。平均答案 172 偏低说明模型生成的题目答案整体分布偏向小区间这一统计特征可以反过来指导提示词的多样性设计。2.4 题目列表报告与 JSON 的衔接点报告只展示前 10 个题目gen_aime_1~gen_aime_10并明确标注完整列表请查看JSON文件。这是有意的设计统计报告保持轻量、便于快速浏览而完整数据题目原文、解答过程、生成时间戳、主题全部落在 aime_generated_20251011_042741.json 中供评估工具直接读取。三、报告背后的生成流水线源码级原理统计报告只是结果真正的核心是生成它的 aime_generator.py。理解这条流水线才能读懂报告里每一个数字从何而来。3.1 生成器构造可选 LLM 与参考样例加载AIMEGenerator.__init__接收四个关键参数aime_generator.py参数默认值作用llmNoneLLM 实例缺省时自动创建HelloAgentsLLM()delay_seconds1.0每道题之间的请求间隔规避 API 速率限制use_reference_examplesTrue是否加载 AIME 真题作为参考样例reference_datasetTianHongZXY/aime-1983-2025HuggingFace 参考数据集900 道真题内部通过SimpleAgent(nameAIME Generator, system_prompt你是一位专业的数学竞赛题目设计专家。)包装 LLM所有生成请求都走 agent 的run()接口。参考样例加载失败时不会中断流程而是自动降级为纯提示词生成use_reference_examples False保证任务的鲁棒性。3.2 提示词工程风格约束 随机参考样例基础提示词GENERATION_PROMPT定义了 AIME 题目的四大特征整数答案0–999、五大主题、多步推理但无需高阶理论、难度对标 AIME 6–9 题。当启用参考样例时_build_prompt()会从数据集中随机抽取一道真题嵌入提示词并要求模型generate a completely different problemaime_generator.py。这是对抗题目重复的关键设计每次生成都随机换参考、提示词显式强调完全不同从源头降低同质化。报告的平均答案 172背后正是这套随机参考 差异化约束提示词策略的运行结果。3.3 响应解析对 LaTeX 转义问题的工程化处理竞赛题不可避免包含数学公式\frac、\sqrt、\boxed等 LaTeX 语法这给要求 JSON 输出带来经典难题JSON 中反斜杠是转义字符LLM 输出的\frac会导致json.loads失败。_parse_response()给出了三层递进方案aime_generator.py优先提取json代码块中的内容json.loads失败时用正则re.sub(r(?!\\)\\(?![\\/bfnrtu]), r\\\\, json_str)将未转义的单反斜杠批量替换为双反斜杠使 LaTeX 语法在 JSON 中合法化仍失败则打印原始响应便于排查并抛出异常进入重试流程。解析完成后还会做字段兜底solution缺省为No solution provided、topic缺省为Uncategorized确保每条数据都具备评估所需的完整结构。3.4 批量生成与断点续跑30 道题是怎么攒出来的generate_batch()是批量生成的核心aime_generator.py其工程细节值得借鉴速率控制记录上次 API 调用时间若间隔不足delay_seconds则主动等待避免触发限流进度可视化用tqdm实时展示主题、答案、单题耗时断点续跑每次生成完一道题就写入checkpoint_*.json中断后重跑同一命令会自动从检查点恢复已完成的题目start_index len(problems)这对 30–55 分钟的完整评估流程至关重要失败兜底单题重试 3 次仍失败则返回默认占位题目不阻塞整体任务。生成完成后generate_and_save()依次完成清理旧检查点 → 生成并保存 JSON → 调用_generate_statistics_report()产出报告 → 删除检查点文件aime_generator.py。3.5 统计逻辑报告是怎么算出来的_generate_statistics_report()aime_generator.py的逻辑与报告四个模块一一对应主题分布遍历题目按topic字段计数按数量降序排序计算百分比保留 1 位小数答案分析收集所有answer字段计算均值保留 2 位小数、最小值、最大值题目列表取前 10 条输出 ID/主题/答案超过 10 条时追加仅显示前10个题目的说明。理解了这段代码你就掌握了这类统计报告的通式任何生成 报告任务不限数学题也可以是客服问答、代码样本、SQL 生成等都可以套用字段聚合 → 排序 → 百分比 → 前 N 条抽样的模板。四、从统计报告到质量评估一次真实的评估闭环统计报告回答生成了什么、分布如何但不回答质量如何。hello-agents 第十二章的数据生成模块在生成之后接入了两条评估流水线本次生成的 30 道题对应的真实评估结果保存在 evaluation_results/20251011_123929 目录下。4.1 LLM Judge四维度打分llm_judge_report_20251011_124143.md 显示使用gpt-4o作为评委对 30 道题逐题评分结果如下平均总分3.32/5.0通过率≥3.5 分40.00%优秀率≥4.5 分10.00%维度平均分正确性 (Correctness)3.27/5.0清晰度 (Clarity)3.40/5.0难度匹配 (Difficulty Match)3.27/5.0完整性 (Completeness)3.33/5.04.2 Win Rate与 AIME 真题的正面对抗comprehensive_report.md 记录了 Win Rate 评估将生成题与 AIME 2025 真题两两对比共 20 次结果为 Win Rate 25.00%、Loss Rate 65.00%、Tie Rate 10.00%。4.3 综合结论与质量分级综合报告给出的结论是⚠️ 生成数据质量需要改进与AIME真题仍有差距并给出三条改进建议重新设计生成提示词、考虑使用更强的生成模型、增加人工审核环节。运行指南.md 中给出了清晰的质量分级标准级别LLM Judge 平均分Win Rate通过率人工验证通过率优秀≥ 4.5/5.0≥ 48%≥ 90%≥ 95%良好≥ 4.0/5.0≥ 45%≥ 80%≥ 90%需要改进 4.0/5.0 45% 80% 90%对照真实数据3.32 分、25% 胜率本次批次明确落入需要改进区间——这就是生成统计 质量评估双报告配合使用的意义统计报告证明流程跑通了评估报告揭示质量仍有提升空间两者共同驱动迭代。4.4 从原始 JSON 观察质量短板翻看 aime_generated_20251011_042741.json 的题目内容能直观印证评分偏低的原因多道题的解答过程存在前后矛盾。例如gen_aime_6的解答在 15307、14190、9751 等多个答案间反复修正gen_aime_3的解答逐步推导出abcd 10却以正确计算应得 70生硬收尾。这类结论与过程脱节的幻觉是生成数据质量的核心短板也是需要重新设计提示词、增加人工审核的实证依据——这正是统计报告无法体现、而必须依赖评估报告与人工验证才能暴露的问题。五、如何运行与复现从生成到报告的三条路径前置条件安装评估依赖pip install hello-agents[evaluation]或pip install datasets huggingface_hub pandas tqdm gradio并在.env中配置DASHSCOPE_API_KEY/OPENAI_API_KEY与HF_TOKEN详见 运行指南.md。5.1 一键式生成 评估 综合报告python data_generation/run_complete_evaluation.py 30 3.0参数含义30为生成题目数量3.0为每次生成的间隔秒数推荐 2–3 秒。该脚本run_complete_evaluation.py依次执行生成、LLM Judge 评估、Win Rate 评估与综合报告生成输出目录结构如下data_generation/ ├── generated_data/ │ ├── aime_generated_YYYYMMDD_HHMMSS.json │ └── generation_report_YYYYMMDD_HHMMSS.md └── evaluation_results/ └── YYYYMMDD_HHMMSS/ ├── llm_judge/… ├── win_rate/… └── comprehensive_report.md5.2 分步式只生成 / 只评估适合调试与断点复用。只生成数据python data_generation/step1_generate_only.py 30 3.0只评估既有数据评估参考 AIME 2025 真题数据集来源math-ai/aime25python data_generation/step2_evaluate_only.py data_generation/generated_data/aime_generated_20251011_042741.json5.3 人工验证质量兜底的最后一道关python data_generation/human_verification_ui.py data_generation/generated_data/aime_generated_YYYYMMDD_HHMMSS.json脚本基于 Gradio 启动本地界面默认http://127.0.0.1:7860支持按 4 个维度 1–5 分评分、选择approved/rejected/needs_revision状态并附加评论结果保存为*_verifications.json。对于需要改进的批次这一步是筛选高质量题目的必经之路。六、常见问题与工程经验结合 运行指南.md 与源码实现实际运行中最常遇到的四类问题及对策如下API 速率限制日志出现Retrying request to /chat/completions时将延迟从3.0调大到5.0中断后重跑相同命令检查点机制会自动恢复进度无需从头生成。HuggingFace 下载慢设置镜像export HF_ENDPOINThttps://hf-mirror.com或手动下载数据集后改用本地路径。生成题目重复系统已内置三重防线——900 真题参考库、每题随机抽样、提示词显式强调完全不同若仍重复可进一步在提示词中加入主题轮换或已生成题目黑名单。评估失败优先检查 API 密钥、生成数据文件是否存在、JSON 格式是否完整problem与answer为必需字段。结语一份看似简单的 AIME题目生成统计报告背后是一条完整、可复现、可迭代的数据工程链路提示词工程约束题目形态、断点续跑保障长任务稳定、统计报告回答生成了什么、LLM Judge 与 Win Rate 回答质量如何、人工验证完成最终兜底。对照本次真实批次主题分布均衡、答案符合 0–999 规范但 LLM Judge 3.32 分、Win Rate 25%你不仅能读懂报告中每一个数字也掌握了用统计 评估双报告驱动数据质量迭代的完整方法论——这套方法论可直接迁移到任何 LLM 生成数据场景。进一步探索完整源码见 aime_generator.py分步脚本 step1_generate_only.py 与 step2_evaluate_only.py人工验证界面 human_verification_ui.py第十二章全部示例入口见 README.md。【免费下载链接】hello-agents 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/GitHub_Trending/he/hello-agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价