小天才 AI应用开发 一面:Agent 空转控制与线上效果度量
- 轮次
- 一面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 请做一下自我介绍(约 2 分钟)。
- 第一个 Agent 项目中你所负责的部分是什么?介绍你做了哪些工作。
- Agent 的循环中,你是如何应对 Agent 空转导致的无意义消耗?
- 回归测试用的是评测集的指标,那线上真实场景下,你是如何确定当前 query 传来时 Agent 运行的指标?
- 对于 PPT、PDF、Word 等文件,填充到知识库的过程是怎样的?
- 最近有了解哪些 AI 相关的知识或技术?
- 算法题:正方形迷宫,每次走固定步数,走完销毁,下一次有之前走过的全量记忆,出口在迷宫边上。
- 如果要你向小白解释「对豆包输入问题,豆包生成回答」这个过程,你会怎么说?
《参考解析》
Agent 空转要从「预算、进展、熔断」三处同时下手。 预算包括最大步数、最大 token、墙钟超时和单工具调用次数;进展检测看状态有没有实质变化,比如是否拿到新信息、任务图是否推进,连续若干步没有进展就判定原地打转;熔断按错误类型区分,网络抖动可以指数退避重试,参数非法或权限不足属于确定性错误,应把结构化错误回给 Planner 让它换路径。最后要有降级出口:返回已完成的部分、给出人工兜底入口、把失败原因和中间产物落盘。只在循环里加一个最大轮数不够,因为模型可能每轮都「成功地」调用同一个没用的工具。
线上效果不能只看离线评测集,要把一次 query 的命运拆成可埋点的节点。 一次请求至少记录:入口来源、意图与实体、检索命中与引用、工具调用及耗时、模型首 token 与总时长、是否重试或降级、用户后续行为(追问、复制、点击引用、离开、负反馈)。由此得到任务成功率代理指标、有效引用率、工具成功率、P95 延迟、单次成本和人工介入率。线上没有标准答案,所以要用「行为信号 + 抽样人工评审 + LLM Judge 校准」三层;Judge 只做粗筛,必须用人工标注样本估它的准确率和偏差,否则会把 Judge 的偏好当成效果。
知识库填充的难点在解析和治理,不在向量化。 PDF、PPT、Word 先做版面与表格解析、OCR、页眉页脚清洗,再按语义结构切块,标题层级、条款、表格分别处理,保留来源、页码、版本、权限等元数据;入库前去重、去噪、统一术语。增量更新要能识别文档新版本并让旧块失效,否则会检索到过期接口。检索侧做混合召回、元数据过滤和重排,最后把引用带回答案。评测要看正确文档是否进 Top-K、回答是否有可点引用、过期文档命中率,而不只是召回数量。
重排的替代路线要按「候选规模 × 延迟预算」选。 交叉编码器精度高,但要对每个候选做一次前向,候选多时延迟不可接受;可以用轻量交叉编码器蒸馏、late interaction 把文档向量预计算,或用生成式模型做 listwise 重排,一次看多个候选。工程上常见的是「向量召回 Top-100 → 轻量重排 Top-20 → LLM 精排 Top-5」,每层都设截断和超时。离线看 nDCG、Recall@K,线上看引用点击率和任务成功率,避免只追求排序分数而拖垮 P95。
向小白解释豆包,可以用「读题—打草稿—逐字写」的比喻。 输入的文字先被切成 token 并转成向量,模型在预填充阶段把整段问题读一遍、建立上下文,这部分可以并行,所以通常比生成快;然后进入解码阶段,一个 token 一个 token 地预测下一个词,每次预测都基于前面的内容,最后把 token 还原成文字。温度控制随机性,上下文长度决定一次能读多少,RAG 或工具调用则是在回答前先查资料。讲的时候要避免「它像人一样思考」的拟人化,落到「概率预测 + 上下文 + 后处理」。
迷宫题先定义状态,再谈搜索。 把「位置 + 剩余步数 + 已销毁的格子集合」作为状态,如果销毁只影响可走性且记忆完整,就用带 visited 的 BFS 或 DFS;固定步数意味着一次移动要展开 k 步内的所有落点,不能只按单格走。出口在边上,可以把「到达边界」作为终止条件;要求最短就用 BFS 分层,状态空间太大就用启发式或双向搜索。面试时要先问清「销毁的是走过的格子还是走完 k 步后的落点」「记忆是否包含顺序」,含糊处先澄清再写,别一上来就背模板。