字节 AI 应用开发一面:Agent 与 RAG
面经与参考答法
字节 AI 应用开发一面:Agent 与 RAG
原帖记载面试月日为 8 月 6 日,未披露面试年份;原帖发布于 2026 年 8 月。本文按主题合并可见技术问题,省略自我介绍和候选人的个人经历;答案是教学整理,不代表其现场回答或实际工具记录。
这轮一面强调真实项目取舍,问题覆盖 Agent 核心模块、工具与记忆、多 Agent、RAG 调优,以及大模型服务的稳定性和可观测性。
(1)怎样介绍项目,并说明为什么选择 AI 应用开发?
(1)怎样介绍项目,并说明为什么选择 AI 应用开发?
关联知识点待核实。
项目介绍按业务问题、用户流程、系统边界、本人负责部分和量化结果展开。选择方向时应连接自己的工程能力:AI 应用开发不是简单调用模型 API,而是把不确定的模型能力嵌入可测试、可监控、可回退的产品流程。学习前沿技术也应说明方法,例如跟踪一手论文与发布说明,用小实验复现,再通过固定评测集决定是否采用。
(2)Agent 系统可以拆成哪些核心模块?
(2)Agent 系统可以拆成哪些核心模块?
关联知识点待核实。
至少包括模型与指令、状态/记忆、规划或路由、工具执行、控制循环,以及权限、评测和可观测层。一次执行从读取目标开始,经决策、工具调用、结果校验与状态更新,直到成功、失败或预算耗尽。模块边界要能单测,外部写操作还需幂等和审批。
延伸阅读:智能体定义、类型、PEAS 与 Agent Loop。
(3)Tool 应怎样抽象,Schema 和错误码怎么设计?
(3)Tool 应怎样抽象,Schema 和错误码怎么设计?
关联知识点待核实。
适合做 Tool 的是有明确输入输出、可授权、可重试或可审计的能力,而非含糊的“大而全助手”。参数使用严格类型、枚举、格式与边界约束,描述语义和副作用;响应区分业务拒绝、参数错误、限流、超时和临时故障,并声明是否可重试。执行端必须再次校验参数,不能把模型生成视为授权。
延伸阅读:Agent 工具契约、Schema 与错误语义。
(4)短期和长期 Memory 如何存储、过期与去重?
(4)短期和长期 Memory 如何存储、过期与去重?
关联知识点待核实。
短期记忆保存本次会话的消息、计划和工具证据,可按 Token 预算做摘要;长期记忆保存跨会话仍有价值的偏好、事实和经验,通常用结构化库配合向量检索。写入时用主体、事实类型和语义指纹去重,记录时间与置信度;读取时做用户隔离;通过 TTL、版本和冲突策略让旧信息可失效、可纠正。
(5)ReAct、Plan-Execute 与多 Agent 如何避免失控?
(5)ReAct、Plan-Execute 与多 Agent 如何避免失控?
关联知识点待核实。
探索性任务适合 ReAct,依赖清晰的长任务适合 Plan-Execute,复杂系统可用中心协调者把子任务交给不同 Agent。每个任务都要有负责人、验收条件、最大轮次、超时和预算;消息携带任务 ID 与状态版本。发现重复动作、循环委派或无新证据时立即终止、重规划或升级人工处理。
延伸阅读:多智能体架构与协作模式。
(6)请完整介绍 RAG 流程。
(6)请完整介绍 RAG 流程。
关联知识点待核实。
离线侧完成文档解析、清洗、切分、元数据与权限标注、向量化和索引;在线侧对查询做理解或改写,执行关键词与向量召回,过滤、融合、重排,再将证据组装进 Prompt,生成带引用的答案。最后记录查询、候选、引用和反馈,用评测集分别定位召回、排序与生成问题。
延伸阅读:RAG 完整流程实战。
(7)Chunk、混合检索和 Rerank 怎样调优?
(7)Chunk、混合检索和 Rerank 怎样调优?
关联知识点待核实。
Chunk 应尊重语义边界,并用真实问题测试大小和重叠度。召回不准时依次排查解析质量、embedding、查询表达、权限过滤和索引版本;专有名词适合 BM25,语义改写适合向量检索,可用 RRF 融合。Rerank 通常由交叉编码器或 LLM 对少量候选精排,分数融合必须在标注集上校准,而不是手填“经验权重”。
延伸阅读:混合检索与结果融合、Rerank 与交叉编码器精排。
(8)RAG 与微调如何选择和组合?
(8)RAG 与微调如何选择和组合?
关联知识点待核实。
需要更新事实、私有知识和可引用证据时优先 RAG;需要稳定改变格式、语气、决策模式或特定任务能力时考虑微调。两者可组合:微调提升查询改写、工具选择或回答风格,RAG提供最新事实。选择前建立基线,比较准确率、可维护性、数据成本和上线风险。
(9)怎样降低 RAG 延迟和 LLM 成本?
(9)怎样降低 RAG 延迟和 LLM 成本?
关联知识点待核实。
先拆分解析、召回、重排、首 Token 与完整生成耗时,再优化真正瓶颈。常见手段是离线预计算、并行独立召回、缓存稳定查询、减少重复块、按难度路由模型,并限制输出长度。任何降本都要与答案正确率、引用覆盖率一起验收,不能只看平均延迟。
(10)Bad Case、幻觉和模型超时如何处理?
(10)Bad Case、幻觉和模型超时如何处理?
关联知识点待核实。
保留可复现的输入、索引版本、候选证据、Prompt、模型版本和完整 trace,先判断问题位于数据、召回、排序还是生成。对无证据问题允许拒答,对关键结论要求引用并做结构化校验。调用端设置分阶段超时、有限重试、退避和 fallback;监控成功率、P95/P99、Token、工具错误及循环次数。
延伸阅读:RAG 失败诊断、Agent 可观测性与全链路 Tracing。
(11)日常使用哪些 AI 编程工具,怎样说明使用方式?
(11)日常使用哪些 AI 编程工具,怎样说明使用方式?
关联知识点待核实。
按自己真实经历说明补全、代码修改、调试和评测等任务分别使用了什么工具,并展示一次输入、生成内容、人工判断和验证结果。要交代权限、隐私与适用边界,不能只列工具名,也不能借用原帖未提供的个人使用记录。