字节跳动Agent算法一面:Agent指标评估、混合召回与RAG向量检索
- 轮次
- 一面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- Agent上线后,除业务效果外,还有哪些需要关注的指标?
- 项目中的混合召回分别解决什么问题,为什么两个都要用?
- RAG相关:chunk如何做、embedding怎么选型、如何评测效果;分块策略如何验证效果更好,有没有横向对比?
- agent怎么执行任务的、如何评估、如何保障场景有效、怎么衡量覆盖率?
- agent存在漏场景的情况怎么处理?
- agent的哪些环节耗时?
- 子智能体任务不一样,如何做边界划分?
- 子Agent产出结论,是否由中心化Agent汇总过滤?
- 向量检索用户隔离具体怎么实现?
- 双层向量检索体系具体怎么实现?
- 混合检索是并行检索还是有先后顺序?
- 使用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 也带租户,权限变更要能立即失效。双层检索一般是先做文档级粗召回,再在候选内做段落级细召回,兼顾召回率与延迟;也可以理解为公共知识库层加用户私有记忆层,两层分别检索后融合。