字节跳动 AI Agent 开发一面面经(含完整答案)
- 轮次
- 一面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
项目
- 自我介绍。
- 请你详细介绍你的 AI 项目。
- 你的项目中说到了面试评分,简历评分的内容是如何进行结构化输出的?从哪几个维度进行评分?
- 项目中的 RAG 知识用到了哪些?离线上传和在线问答环节如何进行?
八股
- 你如何理解 Agent 中 Harness 的概念?
- Agent 运行了一个长程任务,平时只允许 5 分钟结束,这次跑了 15 到 20 分钟,明显有延迟,你会怎么分析这个延迟是什么导致的?
- 如何解决上述这个问题?
- Agent 执行过程中要调用一些工具,这些工具都有固定的入参,需要模型结合上下文去提供,如何保障工具调用的可靠性?
- 随着提问轮次的增加,上下文窗口会越来越大,该如何解决?
- 压缩或者摘要肯定会丢失信息,如何让这个信息丢失最小化?
算法
- 给定一个数 n,如 23121;给定一组数字 A,如 {2, 4, 9},求由 A 中元素组成的、小于 n 的最大数。
《参考解析》
- 简历评分的结构化输出:不要让模型直接吐一段自然语言分数,先定评分协议、再用 JSON Schema 或函数调用约束输出——总分、各维度分与满分、证据片段、扣分原因、置信度、缺失信息、风险项。维度按岗位匹配度、技术深度、项目真实性与可验证性、成果影响力、表达结构、风险项拆,总分由各维度确定性聚合而不是让模型自由生成。上线前用人工标注的金标准看与招聘专家打分的一致性、校准误差,以及模型对不同背景和文字包装的敏感度。
- RAG 的离线与在线链路:离线走上传与权限校验 → 解析(保留标题层级、表格、代码块)→ 清洗去重脱敏 → 按结构切分 → 向量加倒排双索引 → 存版本、权限、来源位置 → 离线评测后原子切换索引版本;在线走意图识别 → query 改写 → 混合召回 → 权限与版本过滤 → Rerank → 在 Token 预算内选证据 → 生成带引用的答案 → 校验引用与高风险事实。评估要分环节看解析正确率、Recall@K、引用准确率和 P95 延迟与 Token 成本,只测最终答案像不像会掩盖检索本身的退化。
- Harness 是什么:它是包住模型的运行时控制层,模型只负责在当前上下文里生成判断和动作,上下文预算、工具 Schema 与参数校验、状态与循环控制、权限、错误重试、结果验证、可观测都归 Harness。判断一套 Harness 好不好,看工具失败、上下文超限、用户取消、权限变化时系统还能不能安全、可解释地跑下去。所以聊 Agent 架构时先讲清状态存哪、失败怎么分类、副作用怎么约束、结果谁验证,比罗列框架名有用。
- 长程任务延迟定位:先别归因成模型变慢,用同一个 trace_id 把任务拆成排队、模型首 token 与总耗时、工具等待、重试、上下文压缩、锁与连接池等待这些阶段,再对比正常样本与异常样本的分布。接着按范围(全部请求还是特定任务类型)、版本(最近有没有发模型或 Prompt、工具 Schema、索引)、长尾(看 P95/P99 而不是均值)逐层收敛。Agent 侧常见原因是重复工具调用或反复重规划、上下文膨胀拖慢 prefill、超时后指数重试、多个任务抢同一把锁,每条怀疑都要用 trace 和对照实验证实。
- 工具调用可靠性:核心是把概率性的模型动作包在确定性接口里。入参用 Schema 约束类型与枚举必填,用户身份、租户、权限、服务端时间由运行时补齐,模型不能自己声明;执行前校验权限、前置状态与幂等键,高风险动作走预览、确认、提交。失败要分类,只有瞬时错误才带退避重试;工具返回不等于业务成功,要用数据库状态或确定性规则验收,并把工具结果当不可信数据,防提示注入反向改指令。
- 上下文压缩的保真:先区分可以丢的表达和不能丢的状态——寒暄、重复日志可以压,用户目标、硬约束、授权、数字、时间、否定关系、未完成事项必须结构化留下。做法是先按 Schema 抽取再生成摘要、分层压缩(近处留原文、中期做阶段摘要、长期进带版本与权限的记忆)、关键事实挂回原消息或工具调用的指针、新旧冲突显式记录两个版本。压缩后用规则校验数字、实体、否定词与权限条件,再做压缩消融测任务成功率,而不是只看摘要读起来顺不顺。