AI 知识库首页

系统设计面试题(S01–S20)

20 道架构题,训练分层、取舍与风险控制。

推荐结构:需求与边界 → 架构 → 状态 → 可靠性 → 评测 → 安全 → 取舍。

建议先口答 60~90 秒,再展开【追问问题】。不要背句子,要说清判断依据和取舍。


S01|设计企业知识库问答 Agent。

简明答案: 明确用户与权限;文档解析后保留元数据并建混合索引;查询做身份过滤、召回、重排和证据生成;无证据拒答并引用。离线评测检索与答案,线上监控延迟、纠错和权限泄漏。

【追问问题】

  • 多租户怎样隔离?
  • 文档更新如何增量生效?

关联知识: 客服 RAG 项目


S02|设计深度研究 Agent。

简明答案: 将目标拆为问题树,并行收集来源;保存出处、时间和证据,做去重、矛盾与缺口检查;按主张生成带引用报告,并设搜索预算和人工确认点。

【追问问题】

  • 如何防止引用错配?
  • 网页注入如何处理?

关联知识: 研究 Agent 项目


S03|设计代码修复 Agent。

简明答案: 在隔离工作区先复现,再定位、最小修改并运行测试;保存补丁与命令日志,默认无生产凭据。验收以测试等环境证据为准。

【追问问题】

  • 测试本身错误怎么办?
  • 如何限制危险命令?

关联知识: 代码 Agent 项目


S04|设计自动退款 Agent。

简明答案: 确定性状态机承载资格与金额规则,Agent 负责理解和收集信息。查询可自动;退款前显示金额与订单并审批;支付端使用幂等、审计和对账补偿。

【追问问题】

  • 小额退款可否免审批?
  • 怎样防止重复退款?

关联知识: 最小权限与审批


S05|设计多 Agent 客服系统。

简明答案: 入口只分类和路由;订单、技术、退款专家拥有有限工具。共享结构化工单状态,不共享全部隐私历史;用 Handoff 或 Manager 协作,并设统一终止与审计。

【追问问题】

  • Manager 和 Handoff 怎么选?
  • 专家冲突怎么办?

关联知识: 多 Agent 设计


S06|如何让长任务可恢复?

简明答案: Checkpoint 持久化状态;每个外部动作记录 pending/confirmed/failed 与幂等键;Worker 用租约接管,从最后确认点继续。审批是可持久化等待状态。

【追问问题】

  • Worker 崩溃怎样接管?
  • 结果未知怎样补偿?

关联知识: 持久化与人工介入


S07|如何设计 Agent 权限系统?

简明答案: 身份由应用传入,工具按用户、资源、动作和环境授权;每次只提供当前所需工具与作用域。高风险审批,密钥不进提示词,副作用可审计。

【追问问题】

  • 多 Agent 权限如何传递?
  • MCP Server 是否可信?

关联知识: 最小权限与审批


S08|如何设计 Agent 评测平台?

简明答案: 版本化数据集保存输入、环境和期望;Runner 固定模型与工具并采集 Trace;Grader 组合规则、环境、人工和模型评分;按版本比较质量、成本、延迟和安全。

【追问问题】

  • 如何避免模型评分偏差?
  • 线上样本怎样回流?

关联知识: 评测数据与 Grader


S09|如何处理百万级工具目录?

简明答案: 不把全部 Schema 塞入上下文。先按权限与任务缩小候选,再用工具搜索、命名空间或分层路由延迟加载,并评测工具发现召回率与误选率。

【追问问题】

  • 两阶段选择如何实现?
  • 动态工具描述有何风险?

关联知识: 工具设计


S10|如何设计 Agent 记忆服务?

简明答案: 按用户/组织/任务划命名空间;区分事实、经历和规则;写入前抽取、去重、标来源与置信度,读取按相关性、时效和权限筛选,并支持纠正和删除。

【追问问题】

  • 记忆冲突如何解决?
  • 如何避免错误长期污染?

关联知识: Agent 记忆系统


S11|如何设计可观测 Agent 系统?

简明答案: 每任务有 trace_id,模型、工具、检索、状态和审批形成 span;记录版本、耗时、Token、错误和结果并脱敏。日志看细节、指标看趋势、Trace 看路径。

【追问问题】

  • 跨服务 Trace 如何串联?
  • 采样率怎么定?

关联知识: 可观测性


S12|如何设计模型降级与容灾?

简明答案: 定义可接受降级:备用模型、减少步骤、只读模式或转人工。按错误和风险触发,使用熔断与限流,保证状态可恢复;降级路径也需评测。

【追问问题】

  • Schema 不一致怎么办?
  • 何时不应自动降级?

关联知识: 测试与发布


S13|如何支持多租户 Agent?

简明答案: 状态、向量、缓存、日志和工具请求都携带 tenant_id,并在存储和查询层强制隔离。密钥、配额和限流独立,不能只靠 Prompt。

【追问问题】

  • 共享索引如何过滤?
  • 租户删除如何彻底执行?

关联知识: 隐私与供应链


S14|如何设计 Agent 预算系统?

简明答案: 预算包含步骤、Token、金额、时间和工具数。运行前分配,步骤中原子扣减,接近上限降级或请求追加;结束统计每成功任务成本。

【追问问题】

  • 并行调用如何扣预算?
  • 用尽时如何给可用结果?

关联知识: 成本与性能


S15|如何设计实时语音 Agent?

简明答案: 链路含音频输入、语音模型或转写、对话状态、工具和音频输出;重点控制首字延迟、打断、回声和工具等待。敏感动作需复述并确认。

【追问问题】

  • 打断时如何取消回答?
  • 工具慢时如何维持体验?

关联知识: 生产架构


S16|如何防御间接 Prompt Injection?

简明答案: 把网页、邮件和文档视为不可信数据;安全依赖工具白名单、参数和目的地校验、最小权限、审批与外传控制,不能只靠提示词。

【追问问题】

  • 为何系统提示不够?
  • 如何构造红队测试?

关联知识: Prompt Injection


S17|如何发布 Agent 新版本?

简明答案: 冻结模型、Prompt、工具、知识库和代码版本;离线回归后小流量灰度,比较质量、安全、成本与延迟;设回滚阈值并兼容未完成任务。

【追问问题】

  • 知识库更新也要灰度吗?
  • 长任务跨版本如何恢复?

关联知识: 测试与发布


S18|如何让 Agent 结果可解释?

简明答案: 展示可验证证据:来源、实际动作、关键输入输出和审批原因。避免把私有推理当解释;解释应与真实 Trace 对应。

【追问问题】

  • 解释与泄密如何平衡?
  • 何时需要完整审计?

关联知识: 可观测性


S19|如何做跨系统事务?

简明答案: 采用 Saga:每步记录状态和幂等键,失败执行补偿;无法补偿的步骤前置审批,结果未知交给对账流程。

【追问问题】

  • 补偿也失败怎么办?
  • 何时转人工?

关联知识: 生产架构


S20|如何判断 Agent 项目值得上线?

简明答案: 在代表性任务上比较现有基线。只有成功率、人工节省或用户价值覆盖新增成本、延迟和风险,且有降级、评测、权限、监控与负责人时才上线。

【追问问题】

  • PoC 指标怎么定?
  • 上线后何时下线?

关联知识: 上线检查清单