字节跳动 AI 数据运营实习一面:多智能体项目与自动化评测
- 轮次
- 一面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 多智能体项目的背景是什么?想解决什么问题?
- 为什么选择这样的架构?为什么是一个主智能体带 3 个子智能体,而不是 4 个?为什么不串行?
- 你觉得这个项目里的难点是什么?具体是怎么让不同 Agent 的边界比较清晰的?
- 你说的校验是什么?
- 你在别的项目里有没有做过不是用通用评测集、而是针对项目本身特殊性设计的评测?
- 办公场景下用户的任务是做 PPT,你会从哪些维度评测 PPT 做得好不好?
- 如果要把它做成自动化评测,你会用什么方式?workflow 会怎么设计?
- 假如要自动化评测「图文比例」,你要怎么告诉模型什么样的图文比例是合适的?
- 你说训练是什么意思?要专门训一个小模型来做图文比例的评测吗?
- 怎么判断一个任务是用 Prompt 工程、搭 Agent 就能做成,还是必须走训练?
- 效果不好时你怎么分析?看到什么样的信号后,你会判断迭代已经没用了、需要换别的手段?
- 多源数据标注系统是做了一个平台吗?
- 多源事件文本抽取与知识发现系统的背景是什么?你做过模型微调吗?
- 电商智能问数系统是什么背景?个人项目的数据库来源是什么?
- 255 条问数评测问题是怎么生成的?
- 反问:工作里做标注多还是 workflow / agent 多?比例是多少?
《参考解析》
为什么是「主智能体 + 3 个子智能体」而不是串行:这个问题的正确答法不是背数量,而是说清「串行哪里会坏」。串行的问题是前一步的错误会一路传下去、总延迟是各步之和、而且没法并行探索;拆子智能体是为了把职责边界切开——例如检索、抽取、校验各管一段,每段有自己的输入输出契约,可以独立重试和评估。为什么是 3 个不是 4 个,要能给出依据:多一个智能体就多一份上下文同步成本和失败面,只有当某一类子任务有独立的工具集合、独立的质量标准时,单独拆出来才划算。面试官真正想听的是「你有没有用数据或失败案例支撑这个数字」。
Agent 边界怎么划清:靠契约而不是靠 Prompt 里的自然语言约定。每个子智能体声明自己接收什么状态、产出什么状态,产出的结构用 Schema 校验,边界之外的字段一律不许写。主智能体只负责调度与仲裁,不直接改子智能体的中间产物。这样边界就是可测的:给同一个输入,产出必须满足同一个 Schema。
PPT 质量的评测维度:可以从「内容—结构—视觉—事实」四层拆。内容层看是否覆盖了用户要求的所有要点、有没有跑题;结构层看叙事逻辑(总—分、时间线、问题—方案—收益)和页面数量是否与时长匹配;视觉层看图文比例、单页信息密度、字号层级、配色一致性;事实层看数字与引用是否可追溯。自动化时不要直接让模型打一个总分,而是让它对每个维度输出可判定的子问题(如”每页是否超过 6 条要点”、“正文是否有超过 40 字的整段文字”),再把子问题聚合成分数——这样分数才有解释力,也能回归测试。
图文比例怎么让模型判定:不要问模型”这个比例合不合适”,那是没有标准答案的开放判断。正确做法是先把标准外化成可测量的规则——例如「每页至少一张图或图表」「文字不超过 60%」“核心结论页必须有可视化”——然后让模型逐页输出结构化的判定结果(有/无图、文字占比区间、是否命中规则),最后按规则计分。规则由人定,模型只做识别和归类。
Prompt 工程 / Agent / 微调的选型:判断依据是「任务的不确定性来自哪里」。如果任务边界清晰、输入输出格式固定,只是模型不知道你的业务规则,那补上下文和 Prompt 就够了。如果需要多步调用工具、结果互相依赖、中间要查证和纠错,那就需要 Agent。如果规则已经写进 Prompt 里了、模型还是稳定地在某类输入上出错——比如固定领域的术语、固定风格的输出、需要快速响应的窄任务——那才轮到微调;微调买的是「稳定性和延迟」,代价是自由度下降、更新要重训,所以它通常用于收敛不了的最后一层。
什么时候该停止迭代:几个信号。一是看错误分布有没有变化,如果迭代多轮但 bad case 的类别完全没变,说明瓶颈不在 Prompt 而在数据或能力本身;二是看「天花板」——把最强的模型、最全的上下文、最好的人工示范放在一起跑一遍,如果它也只能到某个分数,那这个分数就是当前方案的极限,继续调 Prompt 不会有质变;三是看收益曲线,投入迭代次数与指标提升的关系明显变平。此时应该转去补数据、换模型、加工具或引入人工兜底。