你好,我是 Grant Liu,独立开发者,关注 AI 应用与效率工具。这篇文章是我用 Seed Evolving 做 AI 出题工具的真实测评,所有数据都来自实际运行结果。
先认识一下这个模型
有人可能还不知道它。Seed-Evolving,豆包的一张「模型卡片」,永远在更新。
它面向 Coding 与 Agent 场景:多模态输入(文本/图片/视频)、深度思考、GUI Agent、视觉理解,能做复杂任务编排、长程规划、代码生成和工具调用。一个 Model ID doubao-seed-evolving 到底,升级自动生效,不用管版本。
8 月 3 日它做了第二次升级,方向很明确:
- Coding:复杂仓库修复、跨文件修改、真实功能开发、长程任务,执行更稳定
- Agent:信息检索、缺失信息召回、搜索结果整合更好,多工具并行调用更稳
- 幻觉:搜索幻觉、工具调用幻觉、抗误导、状态幻觉都明显改善
接入也不麻烦。我直接买了火山的 Agent Plan 订阅来测,一个订阅包覆盖了 Seed 系列加 GLM、MiniMax、DeepSeek、Kimi 这些国内主流模型,可按需自由切换,也可以开 Auto 模式让系统自动调度。文章里的所有实测都是在这个订阅下跑的。
官方介绍写得很满。但深度测评不能只信官方,于是我给自己出了道题,怎么才能真的测出这三条到底行不行。
从怎么测想到教育场景
一开始没什么好办法。跑分榜单是别人测的,参数对比是纸面的,我要的是真实场景里的真实表现。
后来想明白一个逻辑:读取文档,然后根据文档找资料。这是 Agent 最常见的干活方式,也是最容易露馅的方式。顺着这个思路,我想到一个项目:EXAM-FORGE,本地优先的 AI 出题工具。
完整流程长这样:
导入教材 PDF → 四级目录提取 + Chroma 向量索引(Agent 检索)
→ 按题型/难度配比生成数学试卷(Coding 工程)
→ 三层验证 + 失败自动修复(幻觉控制)
→ 输出学生版/教师版/验证报告
选教育场景不是随手挑的。做之前我在 GitHub 上翻了一圈,AI 出题器不算少,隔三差五就有人发一个新的;Hacker News 上也时不时能看到同类项目。大家都在做,说明这个需求是真的。
但翻下来有个发现:都在做生成,没有一家做验证。AI 出题最大的问题从来不是出不出得来,而是出的题答案敢不敢信。网上甚至有人专门发帖问如何保障 AI 生成试卷的内容准确性。
所以我想做点不一样的:让 AI 出题,然后让代码验证它。
AI 出题,是幻觉控制最难的一类考场。
| 为什么难 | 具体来说 |
|---|---|
| 数学没有"差不多" | 答案对就是对、错就是错,幻觉零容忍 |
| 编错题是模型的舒适区 | 编一道"看起来对"的错题,恰恰是它最擅长的 |
| 幻觉能量化 | 对错能用代码验证(SymPy 符号等价),幻觉第一次有了能测量的数字 |
跑分测不出幻觉。把模型扔进教育场景,错一题就是误人子弟。这里,是幻觉最容易现形的地方。
认识一下 EXAM-FORGE
讲测评之前,先让你知道我在测什么。
EXAM-FORGE 是一个本地优先的 AI 出题锻造器。导入本地教材 PDF,它自己学习目录和内容,按需生成数学试卷,并且用沙箱执行验证代码加 SymPy 符号校验,给每道题一个可信的答案验证。
三种使用方式
| 方式 | 命令 | 适用场景 |
|---|---|---|
| Web UI(默认) | exam-forge | 教材管理、可视化出题、试卷预览与历史 |
| 终端 TUI | exam-forge tui | 纯命令行环境的图形化操作 |
| 命令行 CLI | exam-forge generate ... | 脚本化、批量出题 |
核心流程
添加教材(PDF) → 学习教材(解析/分块/索引/目录) → 选择范围与配比 → 生成并验证 → 预览/下载/历史
它主要做这几件事
教材可以来自本地路径、HTTP 链接、GitHub 仓库简写或网页上传。进来之后 PyMuPDF 抽文本,按章/节/段落切块并带页码,建 Chroma 本地向量索引,再做四级目录提取。出题时支持计算/填空/选择/开放四种题型(open 应用题),基础/中等/提高三档难度(easy/medium/hard),配比自动归一化。生成后走三层验证,错题带精确错误信息回传模型自动修复,最多修 3 次。每次生成留一个唯一 ID 入库,随时切换、预览、删除。教材、解析、索引、历史全在本机,不上传任何第三方服务。
这个工具把"模型出题"这个高幻觉动作,和"代码验证"这个零容忍动作绑在一起,天生就是幻觉控制的压力测试场。
怎么测:先定四条规矩
深度测评最怕"凭感觉"。我先给自己定了四条规矩,选场景、设验证、定指标、建工程,一条都不能少。
- 选场景:AI 出题,幻觉高发,又能量化
- 设验证:三层验证,沙箱执行、SymPy 符号等价、LLM-as-judge、RAG 溯源
- 定指标:一次通过率、修复轮次、状态标签分布、置信度吻合率
- 建工程:71 项自动化测试兜底
跑分看上限,这个看底线。
实测一:幻觉控制,看试卷的真实记录
先看三层验证是怎么搭的:
① 沙箱执行(AST 拦截危险调用 + CPU/内存限制)+ SymPy 符号等价
→ 答案对不对,代码跑一遍就知道
② LLM-as-judge(开放题/证明题逻辑评审)
→ 标注置信度,不假装"已验证"
③ RAG 教材溯源(章节/印刷页码)
→ 每个知识点都能回到教材第几页
实际生成的试卷,验证报告长这样(真实产物):
我最想说的是第 1 题那个"尝试 2 次"。第一次生成的验证代码跑出来和答案对不上,它带着精确的错误信息回传模型,自动修复后第二次通过。这就是失败自动修复循环:最多重试 3 次,每次把 stderr 原样回传。
开放题它也守规矩。逻辑评审通过就标"已检查(待复核)",不承诺 100% 正确;验证没通过就标"✗",不删题、不掩盖。
幻觉控制的真相,不是模型自觉,是工程强制验证。
实测二:Coding 工程,看生成过程的全记录
从零搭这个工具的过程,就是 Coding 工程能力最诚实的展示。我挑了生成过程里几段最典型的片段。
先说开发工具。这次 Vibe Coding 用的是 Trae Work,先切到 Work 模式让它输出方案分析报告,对"本地优先的 AI 出题锻造器"从产品定位、技术架构、验证闭环、资源依赖、市场格局与落地路径六个维度做独立评审,识别关键风险并给出可执行的修订建议。
方案定了,再切到 Code 模式开始开发。有意思的是,这个工具不是一次成型,是被用出来的。
最开始只是个命令行 CLI,用了几次发现不方便。我就在对话里提了一句,能不能做成类似 opencode 那种终端界面的工具,Trae Work 直接给了方案,于是有了 TUI 版本。到这里,工具已经有 CLI 和 TUI 两种用法了。
但 TUI 用着用着,问题又来了:界面不够美观,数学公式渲染也不对。那就继续提需求,最终迭代成了现在的 Web UI,教材库、出题参数、试卷预览,一个页面全搞定。
从 CLI 到 TUI 再到 Web UI,三轮演进没有一次是我把代码写好了让它改,全是它根据我的使用反馈自己迭代。这大概就是 Coding 工程能力在真实项目里的样子。
还有一件让我印象深的事。开发到后期,我让它整体复查一遍自己的代码,它真的找出了问题:章节目录提取在某些教材上会失败,数学公式在特定写法下渲染错乱。它先是定位根因,然后给出修复方案,改完再回归验证。全程不需要我告诉它"哪里有问题",它自己把代码从头到尾过了一遍,把坑填了。
项目落地的时候,71 项 pytest 测试全部通过,是这个过程最后的质量证明。
实测三:Agent 检索,教材变成知识库
出题不能瞎出,得从教材里来。这部分考验 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 从"聊天"变成"干活",输出的可信度就不再是加分项,而是底线。谁先把"验证"做进流程里,谁就先拿到这张入场券。
结尾
项目已开源: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 生成但必须可信"的场景,都能用"场景选择 + 验证设计 + 指标量化"这个框架。