面灵AI→

字节跳动Agent算法一面:Agent指标评估、混合召回与RAG向量检索

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

《面试题目》

  1. Agent上线后,除业务效果外,还有哪些需要关注的指标?
  2. 项目中的混合召回分别解决什么问题,为什么两个都要用?
  3. RAG相关:chunk如何做、embedding怎么选型、如何评测效果;分块策略如何验证效果更好,有没有横向对比?
  4. agent怎么执行任务的、如何评估、如何保障场景有效、怎么衡量覆盖率?
  5. agent存在漏场景的情况怎么处理?
  6. agent的哪些环节耗时?
  7. 子智能体任务不一样,如何做边界划分?
  8. 子Agent产出结论,是否由中心化Agent汇总过滤?
  9. 向量检索用户隔离具体怎么实现?
  10. 双层向量检索体系具体怎么实现?
  11. 混合检索是并行检索还是有先后顺序?
  12. 使用LLM做修正,如何防止LLM改错原文,做了哪些预防措施?

《参考解析》

Agent 上线指标:除业务效果(任务完成率、准确率、采纳率)外,还要盯四类:稳定性(超时率、工具调用失败率)、效率与成本(端到端时延、单任务 token 与工具费用)、质量(场景覆盖率、漏场景率、幻觉与越权拦截率、人工接管率)、体验(满意度)。指标要按场景、用户群和版本分层,避免平均值掩盖长尾问题。

混合召回与检索顺序:稀疏检索(BM25、关键词)擅长专有名词、编号和精确术语,稠密向量检索擅长语义相近、表述不同的问法,两者互补,单用任一方都会在另一类 query 上掉召回。融合常用 RRF 或分数归一化后加权,再重排。两者可并行发起、各取 top-k 后融合,延迟低;也可先关键词粗筛再向量精排,适合强过滤或成本敏感场景。选哪种要用同一份标注集做离线对比。

RAG 的分块、embedding 与评测:分块优先按文档结构(标题、段落、表格)切,固定窗口加 10%–20% 重叠兜底,代码和表格单独处理并保留所属标题。embedding 选型看语言、领域、维度、成本与输入长度,在自有标注问答集上比较 Recall@k、MRR、nDCG。评测分检索层与生成层:前者看命中与召回,后者看忠实度、答案正确率和引用准确率,可用模型打分加人工抽检。验证分块策略时固定 embedding 与生成模型,只改切分方式消融。

子 Agent 的边界与汇总:按职责、工具和数据域划分,每个子 Agent 明确输入契约、工具白名单、输出 schema 和终止条件;重叠部分由路由层按意图或规则决定归属。中心化 Agent 负责拆解、分发、收集结构化结果,再做去重、冲突消解和置信度过滤,统一输出并保留调用链。漏场景靠场景清单回归、线上未命中日志回流和人工抽检来补,不能只靠 prompt 提醒。

向量检索隔离与双层体系:租户隔离必须在检索层做硬过滤,不能只写在 prompt 里:向量带 tenant_id、user_id 元数据,查询时把过滤条件下推到向量库,缓存 key 也带租户,权限变更要能立即失效。双层检索一般是先做文档级粗召回,再在候选内做段落级细召回,兼顾召回率与延迟;也可以理解为公共知识库层加用户私有记忆层,两层分别检索后融合。