面灵AI→

字节跳动 AI 数据运营实习一面:多智能体项目与自动化评测

轮次
一面
时间
2026-09
来源
牛客网

《面试题目》

  1. 多智能体项目的背景是什么?想解决什么问题?
  2. 为什么选择这样的架构?为什么是一个主智能体带 3 个子智能体,而不是 4 个?为什么不串行?
  3. 你觉得这个项目里的难点是什么?具体是怎么让不同 Agent 的边界比较清晰的?
  4. 你说的校验是什么?
  5. 你在别的项目里有没有做过不是用通用评测集、而是针对项目本身特殊性设计的评测?
  6. 办公场景下用户的任务是做 PPT,你会从哪些维度评测 PPT 做得好不好?
  7. 如果要把它做成自动化评测,你会用什么方式?workflow 会怎么设计?
  8. 假如要自动化评测「图文比例」,你要怎么告诉模型什么样的图文比例是合适的?
  9. 你说训练是什么意思?要专门训一个小模型来做图文比例的评测吗?
  10. 怎么判断一个任务是用 Prompt 工程、搭 Agent 就能做成,还是必须走训练?
  11. 效果不好时你怎么分析?看到什么样的信号后,你会判断迭代已经没用了、需要换别的手段?
  12. 多源数据标注系统是做了一个平台吗?
  13. 多源事件文本抽取与知识发现系统的背景是什么?你做过模型微调吗?
  14. 电商智能问数系统是什么背景?个人项目的数据库来源是什么?
  15. 255 条问数评测问题是怎么生成的?
  16. 反问:工作里做标注多还是 workflow / agent 多?比例是多少?

《参考解析》

为什么是「主智能体 + 3 个子智能体」而不是串行:这个问题的正确答法不是背数量,而是说清「串行哪里会坏」。串行的问题是前一步的错误会一路传下去、总延迟是各步之和、而且没法并行探索;拆子智能体是为了把职责边界切开——例如检索、抽取、校验各管一段,每段有自己的输入输出契约,可以独立重试和评估。为什么是 3 个不是 4 个,要能给出依据:多一个智能体就多一份上下文同步成本和失败面,只有当某一类子任务有独立的工具集合、独立的质量标准时,单独拆出来才划算。面试官真正想听的是「你有没有用数据或失败案例支撑这个数字」。

Agent 边界怎么划清:靠契约而不是靠 Prompt 里的自然语言约定。每个子智能体声明自己接收什么状态、产出什么状态,产出的结构用 Schema 校验,边界之外的字段一律不许写。主智能体只负责调度与仲裁,不直接改子智能体的中间产物。这样边界就是可测的:给同一个输入,产出必须满足同一个 Schema。

PPT 质量的评测维度:可以从「内容—结构—视觉—事实」四层拆。内容层看是否覆盖了用户要求的所有要点、有没有跑题;结构层看叙事逻辑(总—分、时间线、问题—方案—收益)和页面数量是否与时长匹配;视觉层看图文比例、单页信息密度、字号层级、配色一致性;事实层看数字与引用是否可追溯。自动化时不要直接让模型打一个总分,而是让它对每个维度输出可判定的子问题(如”每页是否超过 6 条要点”、“正文是否有超过 40 字的整段文字”),再把子问题聚合成分数——这样分数才有解释力,也能回归测试。

图文比例怎么让模型判定:不要问模型”这个比例合不合适”,那是没有标准答案的开放判断。正确做法是先把标准外化成可测量的规则——例如「每页至少一张图或图表」「文字不超过 60%」“核心结论页必须有可视化”——然后让模型逐页输出结构化的判定结果(有/无图、文字占比区间、是否命中规则),最后按规则计分。规则由人定,模型只做识别和归类。

Prompt 工程 / Agent / 微调的选型:判断依据是「任务的不确定性来自哪里」。如果任务边界清晰、输入输出格式固定,只是模型不知道你的业务规则,那补上下文和 Prompt 就够了。如果需要多步调用工具、结果互相依赖、中间要查证和纠错,那就需要 Agent。如果规则已经写进 Prompt 里了、模型还是稳定地在某类输入上出错——比如固定领域的术语、固定风格的输出、需要快速响应的窄任务——那才轮到微调;微调买的是「稳定性和延迟」,代价是自由度下降、更新要重训,所以它通常用于收敛不了的最后一层。

什么时候该停止迭代:几个信号。一是看错误分布有没有变化,如果迭代多轮但 bad case 的类别完全没变,说明瓶颈不在 Prompt 而在数据或能力本身;二是看「天花板」——把最强的模型、最全的上下文、最好的人工示范放在一起跑一遍,如果它也只能到某个分数,那这个分数就是当前方案的极限,继续调 Prompt 不会有质变;三是看收益曲线,投入迭代次数与指标提升的关系明显变平。此时应该转去补数据、换模型、加工具或引入人工兜底。