Seed Evolving 深度测评:我用它造了一个 AI 出题工具

0 阅读10分钟

header

你好,我是 Grant Liu,独立开发者,关注 AI 应用与效率工具。这篇文章是我用 Seed Evolving 做 AI 出题工具的真实测评,所有数据都来自实际运行结果。

先认识一下这个模型

有人可能还不知道它。Seed-Evolving,豆包的一张「模型卡片」,永远在更新。

seed-evolving

它面向 Coding 与 Agent 场景:多模态输入(文本/图片/视频)、深度思考、GUI Agent、视觉理解,能做复杂任务编排、长程规划、代码生成和工具调用。一个 Model ID doubao-seed-evolving 到底,升级自动生效,不用管版本。

8 月 3 日它做了第二次升级,方向很明确:

  • Coding:复杂仓库修复、跨文件修改、真实功能开发、长程任务,执行更稳定
  • Agent:信息检索、缺失信息召回、搜索结果整合更好,多工具并行调用更稳
  • 幻觉:搜索幻觉、工具调用幻觉、抗误导、状态幻觉都明显改善

接入也不麻烦。我直接买了火山的 Agent Plan 订阅来测,一个订阅包覆盖了 Seed 系列加 GLM、MiniMax、DeepSeek、Kimi 这些国内主流模型,可按需自由切换,也可以开 Auto 模式让系统自动调度。文章里的所有实测都是在这个订阅下跑的。

agent-plan

官方介绍写得很满。但深度测评不能只信官方,于是我给自己出了道题,怎么才能真的测出这三条到底行不行。

从怎么测想到教育场景

一开始没什么好办法。跑分榜单是别人测的,参数对比是纸面的,我要的是真实场景里的真实表现。

后来想明白一个逻辑:读取文档,然后根据文档找资料。这是 Agent 最常见的干活方式,也是最容易露馅的方式。顺着这个思路,我想到一个项目:EXAM-FORGE,本地优先的 AI 出题工具

完整流程长这样:

导入教材 PDF → 四级目录提取 + Chroma 向量索引(Agent 检索)
→ 按题型/难度配比生成数学试卷(Coding 工程)
→ 三层验证 + 失败自动修复(幻觉控制)
→ 输出学生版/教师版/验证报告

选教育场景不是随手挑的。做之前我在 GitHub 上翻了一圈,AI 出题器不算少,隔三差五就有人发一个新的;Hacker News 上也时不时能看到同类项目。大家都在做,说明这个需求是真的。

但翻下来有个发现:都在做生成,没有一家做验证。AI 出题最大的问题从来不是出不出得来,而是出的题答案敢不敢信。网上甚至有人专门发帖问如何保障 AI 生成试卷的内容准确性。

所以我想做点不一样的:让 AI 出题,然后让代码验证它。

AI 出题,是幻觉控制最难的一类考场。

为什么难具体来说
数学没有"差不多"答案对就是对、错就是错,幻觉零容忍
编错题是模型的舒适区编一道"看起来对"的错题,恰恰是它最擅长的
幻觉能量化对错能用代码验证(SymPy 符号等价),幻觉第一次有了能测量的数字

跑分测不出幻觉。把模型扔进教育场景,错一题就是误人子弟。这里,是幻觉最容易现形的地方。

认识一下 EXAM-FORGE

讲测评之前,先让你知道我在测什么。

EXAM-FORGE 是一个本地优先的 AI 出题锻造器。导入本地教材 PDF,它自己学习目录和内容,按需生成数学试卷,并且用沙箱执行验证代码加 SymPy 符号校验,给每道题一个可信的答案验证。

webui

webui_create

webui_add

三种使用方式

方式命令适用场景
Web UI(默认)exam-forge教材管理、可视化出题、试卷预览与历史
终端 TUIexam-forge tui纯命令行环境的图形化操作
命令行 CLIexam-forge generate ...脚本化、批量出题

核心流程

添加教材(PDF) → 学习教材(解析/分块/索引/目录) → 选择范围与配比 → 生成并验证 → 预览/下载/历史

core_process

它主要做这几件事

教材可以来自本地路径、HTTP 链接、GitHub 仓库简写或网页上传。进来之后 PyMuPDF 抽文本,按章/节/段落切块并带页码,建 Chroma 本地向量索引,再做四级目录提取。出题时支持计算/填空/选择/开放四种题型(open 应用题),基础/中等/提高三档难度(easy/medium/hard),配比自动归一化。生成后走三层验证,错题带精确错误信息回传模型自动修复,最多修 3 次。每次生成留一个唯一 ID 入库,随时切换、预览、删除。教材、解析、索引、历史全在本机,不上传任何第三方服务。

这个工具把"模型出题"这个高幻觉动作,和"代码验证"这个零容忍动作绑在一起,天生就是幻觉控制的压力测试场。

preview

怎么测:先定四条规矩

深度测评最怕"凭感觉"。我先给自己定了四条规矩,选场景、设验证、定指标、建工程,一条都不能少。

  1. 选场景:AI 出题,幻觉高发,又能量化
  2. 设验证:三层验证,沙箱执行、SymPy 符号等价、LLM-as-judge、RAG 溯源
  3. 定指标:一次通过率、修复轮次、状态标签分布、置信度吻合率
  4. 建工程:71 项自动化测试兜底

跑分看上限,这个看底线。

实测一:幻觉控制,看试卷的真实记录

validation_report_3

先看三层验证是怎么搭的:

① 沙箱执行(AST 拦截危险调用 + CPU/内存限制)+ SymPy 符号等价
   → 答案对不对,代码跑一遍就知道
② LLM-as-judge(开放题/证明题逻辑评审)
   → 标注置信度,不假装"已验证"
③ RAG 教材溯源(章节/印刷页码)
   → 每个知识点都能回到教材第几页

实际生成的试卷,验证报告长这样(真实产物):

validation_report_2

我最想说的是第 1 题那个"尝试 2 次"。第一次生成的验证代码跑出来和答案对不上,它带着精确的错误信息回传模型,自动修复后第二次通过。这就是失败自动修复循环:最多重试 3 次,每次把 stderr 原样回传。

开放题它也守规矩。逻辑评审通过就标"已检查(待复核)",不承诺 100% 正确;验证没通过就标"✗",不删题、不掩盖。

幻觉控制的真相,不是模型自觉,是工程强制验证。

实测二:Coding 工程,看生成过程的全记录

从零搭这个工具的过程,就是 Coding 工程能力最诚实的展示。我挑了生成过程里几段最典型的片段。

先说开发工具。这次 Vibe Coding 用的是 Trae Work,先切到 Work 模式让它输出方案分析报告,对"本地优先的 AI 出题锻造器"从产品定位、技术架构、验证闭环、资源依赖、市场格局与落地路径六个维度做独立评审,识别关键风险并给出可执行的修订建议。

analysis_report

方案定了,再切到 Code 模式开始开发。有意思的是,这个工具不是一次成型,是被用出来的

最开始只是个命令行 CLI,用了几次发现不方便。我就在对话里提了一句,能不能做成类似 opencode 那种终端界面的工具,Trae Work 直接给了方案,于是有了 TUI 版本。到这里,工具已经有 CLI 和 TUI 两种用法了。

traework_tui

tui

tui_add

但 TUI 用着用着,问题又来了:界面不够美观,数学公式渲染也不对。那就继续提需求,最终迭代成了现在的 Web UI,教材库、出题参数、试卷预览,一个页面全搞定。

preview1

从 CLI 到 TUI 再到 Web UI,三轮演进没有一次是我把代码写好了让它改,全是它根据我的使用反馈自己迭代。这大概就是 Coding 工程能力在真实项目里的样子。

还有一件让我印象深的事。开发到后期,我让它整体复查一遍自己的代码,它真的找出了问题:章节目录提取在某些教材上会失败,数学公式在特定写法下渲染错乱。它先是定位根因,然后给出修复方案,改完再回归验证。全程不需要我告诉它"哪里有问题",它自己把代码从头到尾过了一遍,把坑填了。

项目落地的时候,71 项 pytest 测试全部通过,是这个过程最后的质量证明。

实测三:Agent 检索,教材变成知识库

validation_report_4

出题不能瞎出,得从教材里来。这部分考验 Agent 检索:

  • 四级目录提取:Markdown 标题、PDF 书签、LLM 解析目录页、文本启发式,层层兜底
  • Chroma 本地向量索引:教材内容切块建索引,按章节或关键词范围检索
  • RAG 溯源:每个知识点都能回到教材的章节和印刷页码,PDF 页码和印刷页码的偏移还能自动估算换算

它记得每个知识点来自教材哪一章哪一页,页码还能自动换算。Agent 检索的实战形态大概就是这样。

量化汇总

能力指标结果
幻觉控制出题一次通过率2 份试卷全部 ✓(10 题卷全过)
修复循环错误回传自动修复,最多 3 次
诚实标注○/△/✗ 不掩盖
Coding 工程测试通过率71/71(100%)
产品规模20 个模块 / 三端界面
自我审计复查自己代码,修复目录提取与公式渲染 Bug
Agent 检索目录提取四级策略兜底
RAG 溯源知识点 → 章节/印刷页码

结论

幻觉控制的终极形态,不是模型自觉,是工程强制验证。

我不信 AI 说的话,我信代码跑出来的结果。

这套思路可以复制到任何"AI 输出必须可信"的场景:合同审核、医疗建议、财务数据。给 AI 的每个结论配一个验证器,比相信它"这次不会错"可靠得多。

8 月 3 日的升级不是虚的,幻觉控制确实改善了。但真正让我放心的,是验证闭环本身。

而且这个思路越来越重要。最近 Agent 相关的工具迭代明显变快:Claude Code 开始默认自动模式,各种 Agent 浏览器、自动化 Agent 陆续出来。当 AI 从"聊天"变成"干活",输出的可信度就不再是加分项,而是底线。谁先把"验证"做进流程里,谁就先拿到这张入场券。

pipeline_reuse

结尾

项目已开源:github.com/chnjames/exam-forge

本地安装即可用:

pip install -e .
export ARK_API_KEY=***

exam-forge    # 启动 Web UI(也可在界面里操作)

# 命令行批量出题(先添加教材,再学习,再生成)
exam-forge library add ./教材.pdf --title "七年级数学"
exam-forge learn 1
exam-forge generate 1 -n 10 --scope "第一章 有理数"
  • 家长、老师:本地教材,定制化试卷,答案可验证
  • 开发者:三层验证加沙箱安全,是"AI 输出必须可信"的参考实现
  • Agent 玩家:检索、生成、验证、修复,是一条可复用的流水线

这套测评方法本身也可复用:任何"AI 生成但必须可信"的场景,都能用"场景选择 + 验证设计 + 指标量化"这个框架。