蚂蚁面试官:“187 条数据也敢写首轮训练?“我笑了:“翻车归因在简历下半页“,面试官:“下周二面我亲自来“
前面几篇把 Deep Research Agent 训练前的活儿讲得差不多了:数据怎么构造、轨迹怎么采样、SFT 的 Loss Mask、GRPO 的奖励函数。今天讲一件更靠后的事,第一次真把数据喂进去之后,那份评估报告该怎么看、怎么用。
先讲个上周的事。有个学员去蚂蚁面大模型应用岗,简历上写了一行:「完成 Deep Research Agent 首轮 SFT 训练,输出格式合规率从 20% 提升到 100%」。
面试官扫了一眼,笑:“首轮训练,多少条数据?”
“清洗完 187 条。”
"187 条,合规率 100%。"面试官把简历往桌上一放,“我说句不客气的,这是整页简历里最没用的一个数。格式是表层模式,几十条同构样本就能刷到 100%。工具选对几道?答案对几道?这两个数你敢写吗?”
学员笑了:“敢。您翻到下半页:工具选择 2/10,答案准确 3/10,我都写上去了。”
面试官愣了一下。
“下面还有为什么只有 2/10:训练数据里 search 和 visit 轨迹占比太高,模型学成了默认先搜,连’什么是人工智能’都要搜一圈。再往下是下一批数据怎么补,简单题比例拉到多少,search 轨迹压到多少,分几个阶段,都在。”
面试官沉默了几秒,把简历拿回去从第一行重新看,看完说:“你这份翻车报告,比我这周看到的所有成功案例都值钱。下周二面,我亲自面。”
他敢把 2/10 写上简历,是因为想明白了一件事:第一次训练的价值从来不是训出能用的模型,而是用最小的成本暴露数据的真实问题。今天就把这份"翻车报告"完整拆开:四个指标各动了多少,三个 badcase 暴露了什么,问题归因到哪,下一批数据分几个阶段怎么堆。
一、先把第一次训练的报告摆出来
很多人训练完只看一个数,比如 loss 降了,或者格式对了,就宣布成功。我习惯先把评估报告整张摊开看,因为单看一个数最容易自我感动。
这次第一次训练的配置很朴素,故意压得很小,就是为了快速验证整条链路能不能跑通:
模型:Qwen3-0.6B + LoRA 训练数据:data/train_v3_200_clean.jsonl,清洗后 187 条 训练参数:epoch=1, max_length=8192, gradient_accumulation=8 评估:scripts/full_eval.py,10 个通用测试用例,基线模型 vs 训练后模型对比评估维度有五个:格式是否合规、工具该不该用、工具准确性、答案准确性、答案完整度。跑完 full_eval 之后,基线和训练后的对比是这样的:
| 评估维度 | 基线模型 | 训练后 | 怎么看这个变化 |
|---|---|---|---|
| 格式得分(满分 20) | 4 | 20 | 几乎是从不会到全会,最亮眼 |
| 工具选择正确(10 题) | 0 | 2 | 动了,但只动了一点点 |
| 答案准确(10 题) | 0 | 3 | 同上,聊胜于无 |
| 答案完整度(均值) | 0% | 23% | 有起色,但离能用差得远 |
第一眼看格式那一行,确实让人兴奋。基线模型 10 道题里几乎吐不出一个合法的<think>+<tool_call>结构,得分只有 4 分;训练后稳定输出标准格式,直接干到满分 20。光看这一行,"首轮训练成功"这句话写得理直气壮。
但把视线往下挪两行,问题就出来了。工具选择从 0 道到 2 道,答案准确从 0 道到 3 道,完整度从 0% 到 23%。这几个才是真正决定模型有没有用的指标,它们动了,但动得非常勉强。
我当时给这次训练的结论就一句话:格式能力提升显著,训练后几乎稳定输出<think>+<tool_call>{JSON};但工具该不该用、用哪一个、答得准不准,都还在及格线以下。
Deep Research 第一次训练评估报告对比
这就是为什么我不建议拿"格式合规率 100%“当训练成功的标志。格式是表层模式而已,模型见过几十条结构一致的样本,照着摆出来并不难。难的是工具选择和答案质量,那是要模型真正理解"什么时候该搜、搜到的东西怎么用”,这层能力 187 条样本根本喂不出来。
二、三个 badcase,比四个数字更能说明问题
数字告诉你"动了多少",但不告诉你"为什么"。所以我从 10 道测试题里挑了三个最典型的 case,逐个看模型到底学会了什么、没学会什么。
Case 1:「什么是人工智能?」
这是一道常识题,期望的行为是直接 finish 给答案,根本不需要搜索。模型训练后的表现是:格式完全正确,<think>标签、<tool_call>结构都对,但它调用了 search。
也就是说,它学会了"怎么调工具",但没学会"这道题不该调工具"。一道张口就能答的常识题,它也要先去搜一圈。这个 case 单独拎出来,就解释了为什么工具选择只对了 2 道。
Case 2:「50×20 等于多少?」
这是计算题,期望调用 calculator,或者直接 finish 算出来。模型这次工具选对了,调了 calculator,这是个好信号,说明"计算题用计算器"这个模式它沾到了一点。但问题出在后半段:calculator 返回结果之后,它的 finish 输出不稳定,答案完整度一般,有时候算出来了却没好好把最终答案包进<answer>里。
这说明工具调用的"结构"学到了,但 finish 这一步的稳定性还不行,还得靠更多样本去磨。
Case 3:「水的化学式是什么?」
这是事实题,期望 finish 加正确答案。这道模型答对了,输出了正确的化学式,结构也稳定。但我没法因为这一道就高兴,因为它更像是"通用事实在预训练里本来就有,微调之后碰巧迁移出来了",不是一个稳定现象。换一道冷门一点的事实题,它大概率又露馅。
三个 badcase:格式对了不等于用对了
这三个 case 串起来看,模型这次到底学到了什么就很清楚了:它学会了把输出格式摆整齐,沾到了一点"计算题用计算器"的影子,对个别通用事实有微弱迁移。但它没学会的是最关键的那件事:判断这道题到底该不该搜、该用哪个工具。
把这个判断力单独拎出来,恰恰是面试官最后那句话的意思:格式是表层,工具选择才是 Deep Research Agent 的核心能力。
Agent 这块的工具选择和 ReAct 决策,面试里被追问的角度其实很固定,官网题库里整理了Agent 这块的高频追问题,把"该不该调工具"这类判断题做几道,比死记定义管用。
三、归因:为什么格式飙升,能力却没怎么动
报告和 case 都摆出来了,接下来是复盘里最值钱的一步:归因。同样一次训练,有人看完就说"再多训几个 epoch 呗",有人能看出问题出在数据的哪个具体位置。这次我归到了三条。
第一条,样本量根本不够。187 条样本,对"格式"这种表层模式够了,因为格式的模式空间很小,几十条就能覆盖。但"工具选择策略"是一个复杂得多的决策分布:什么样的问题该搜,什么样的该算,什么样的直接答。这种判断力 187 条远远撑不起来,模型只能学个皮毛。
第二条,分布偏移,搜索类轨迹占比太高。这是比样本量更隐蔽的问题。我回头去查了训练数据的构成,发现 search 和 visit 类的轨迹占了绝大多数,常识题直接 finish、计算题用 calculator 这类"不搜索"的样本少得可怜。模型是数据分布的镜子:你喂给它的大部分轨迹都是"先搜一下",它自然就学成了"默认先搜"。Case 1 里那道"什么是人工智能"也去 search,根子就在这。
第三条,输出规范还不够强。JSON 格式的 tool_call 规范化基本做完了,但数据里还残留少量"重复输出"和"finish 缺失"的样本。这些脏样本不致命,但会让 finish 这一步的稳定性打折扣,Case 2 里 calculator 调对了却没好好 finish,跟这个有关。
我见过不少训练教程,训完看一眼格式合规率上去了就宣布成功,这其实是最会骗自己的一种验收方式。格式合规率是所有指标里最容易刷上去的,因为它是表层模式,几十条同构样本就能让它逼近 100%。真正该盯的是工具选择正确率和答案准确率这两个数,它们才反映模型有没有学到判断力。第一次训练如果只有格式动了,那不叫成功,叫"链路跑通了,能力还没开始练"。
当然,上面这套归因是针对 0.6B 这种小模型加小样本的场景。如果你用的是更大的底座模型,样本量不足这条的权重会下降,模型本身的先验能扛一部分判断力,不一定需要把数据配比抠得这么细。但小模型没有这个待遇,它几乎只认数据分布,你喂什么它学什么。
四、下一批数据怎么补:分三阶段往上堆
归因清楚了,补数据就有了方向。这次我没有一上来就把数据从 187 条堆到几千条,而是定了一个分阶段的爬坡路线,每个阶段解决一个具体问题,配比也跟着调。
分阶段数据生成策略:从 200 到 3000
阶段一,先到 200 条,目标是稳住格式和工具调用结构。
这个阶段不贪心,就是先让格式彻底稳下来,role 对齐(tool 角色不要乱),JSON tool_call 规范统一。但有两个配比上的硬约束,是直接冲着前面的归因去的:简单题的比例要拉到 25% 以上,让模型见够"这道题不用搜,直接 finish"的样本;search 和 visit 类轨迹的占比压到 60% 以下,把之前那个"默认先搜"的分布偏移先扳回来一点。
阶段二,从 200 爬到 1000 条,目标是提工具选择和答案准确性。
这是最关键的一个阶段,专治第一次训练里那两个没怎么动的数。配比上的要求更细:常识题必须直接 finish,计算题优先 calculator,事实题只在不确定的时候才 search。另外专门加 10% 那种"不需要搜索但需要引用"的示例,让模型学会"我知道答案,但我得标清楚来源"。这个阶段还有个硬性校验:每批次生成完都做清洗,保证 finish 的完整率超过 95%,把上一轮那些"finish 缺失"的脏样本挡在外面。
阶段三,从 1000 到 3000 条,目标是把答案准确性和全面性拉起来。
到这个量级,开始抠两件事。一是引用一致性,答案里的引用编号要和工具的实际输出对得上,不能模型说"根据 [2]",但第 2 条搜索结果讲的根本不是这个。二是覆盖面,visit 类轨迹的比例控制在 20% 左右,避免模型过度依赖深度访问;同时按 4 个行业乘 6 种问题类型的矩阵做均衡覆盖,别让数据偏科。这个阶段还要单独建一个 20 到 50 题的行业场景测试集,光靠那 10 道通用题已经测不出区分度了。
光分阶段还不够,有两条执行纪律我觉得比配比本身更重要。
一条是训练和评估要形成闭环。不要憋到 3000 条一次性训完再看结果。我的做法是每 200 到 300 条就做一次小训练加一次 full_eval,盯着工具选择正确率和答案准确率这两条曲线的趋势走。如果某一批加进去之后工具选择不升反降,立刻回头查这批数据的配比是不是又偏了,而不是傻等到最后才发现方向错了。
另一条是单独建一个"工具选择训练集"。把常识题、计算题这类工具选择明确的样本拎出来,明确标注"这道直接 finish"“这道用 calculator”,作为一个专项数据子集喂进去。这是针对"默认 search"这个毛病的靶向治疗,比在大池子里稀释着治有效得多。
分阶段不是没有代价的。它的成本就是工程量:每个阶段都要重新生成、重新清洗、重新规范化、重新跑评估,等于把训练这件事从"一锤子买卖"拆成了好几个迭代周期,时间和人力都翻倍。如果你的样本本来就充足、分布也均衡,其实没必要这么折腾,直接堆量训一把可能更省事。分阶段爬坡是给"样本紧张、分布有偏、还想把每一批数据的钱花在刀刃上"的场景准备的,第一次训练翻了车,恰好就是这种场景。
五、面试怎么答"第一次训练效果不好怎么办"
这道题面试官真问起来,最想听的不是你训得多好,而是你拿到一份不及格的报告之后,会怎么分析、怎么定下一步。按这个框架答,层次感很清楚。
先讲怎么看报告,别被单一指标骗(30 秒)。“我不会只看格式合规率,那是最容易刷上去的表层指标。我会把格式、工具选择、答案准确、完整度几个维度一起看。我们第一次训练就是格式从 4 分飙到满分 20,但工具选择只有 2/10、答案准确 3/10,说明模型只学会了摆格式,判断力没动。”
再讲归因,落到数据上(40 秒)。“我归了三条:一是样本量不够,187 条撑不起工具选择这种复杂决策;二是分布偏移,训练数据里 search/visit 轨迹占比太高,模型学成了默认先搜,连’什么是人工智能’都去搜索;三是输出规范还有 finish 缺失和重复输出的脏样本。三条里分布偏移是最隐蔽也最关键的。”
最后讲怎么补,给出可执行的路线(30 秒)。“我定了分阶段补数据:先到 200 条稳格式、把简单题比例拉到 25% 以上、search/visit 压到 60% 以下;再到 1000 条专治工具选择,常识题强制 finish、计算题用 calculator、加 10% 需引用不需搜索的样本;最后到 3000 条抠引用一致性和行业覆盖。关键是每 200 到 300 条做一次小训加评估,形成闭环,盯着工具选择正确率的趋势走,而不是一次性堆完再看。”
面试官问这道题,就是想看你有没有真的盯着一份评估报告做过决策。能说出"格式飙升但工具选择没动""模型默认先搜是因为数据里搜索轨迹占比太高"这种具体观察的人,和只会说"效果不好就多训几轮"的人,差距一句话就听出来了。
写在最后
第一次训练的价值,从来不是"训出一个能用的模型",而是"用最小的成本,暴露出数据的真实问题"。187 条样本、一个 epoch、10 道测试题,这套配置训不出什么像样的能力,但它精准地告诉了我两件事:格式这层能力很廉价,几十条就够;工具选择这层能力很昂贵,要靠成百上千条配比正确的数据慢慢喂。
知道了这两件事,后面三个阶段的数据该往哪个方向堆、配比怎么调,心里就有谱了。最怕的是第一次训练只看格式合规率,看到 100% 就以为成了,然后闷头把数据堆到几千条,最后发现工具选择还是上不去,回头都不知道问题出在第一步的分布偏移上。
第一次训练不是用来庆祝的,是用来归因的。
这些训练和数据策略的完整细节,我都整理在了网站:项目案例里有 Deep Research Agent 从数据构造到训练评估的完整文档,配可运行的脚本和每一步的评估报告;题库里有工具选择、SFT 数据配比这些点的关联面试题,按公司和难度分好了。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~
