AI 知识库首页

工程实践面试题(E01–E20)

20 道工具、RAG、状态、性能和测试题。

回答时覆盖正常路径、失败路径、可观测性和验证。

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


E01|如何设计一个好工具?

简明答案: 职责单一、名称和描述清楚、输入 Schema 严格、输出短而结构化,并说明副作用、超时和错误。业务层独立鉴权,不能依赖模型自觉。

【追问问题】

  • 工具该粗还是细?
  • 如何让模型少选错工具?

关联知识: 工具设计


E02|工具调用如何保证幂等?

简明答案: 为副作用请求生成稳定幂等键,服务端记录执行状态;重试时返回原结果而非重复执行,并区分可重试、不可重试和结果未知错误。

【追问问题】

  • 超时后怎样判断是否已成功?
  • 支付或发信工具怎样设计?

关联知识: 工具设计


E03|Agent 重试策略如何设计?

简明答案: 只对暂时性错误重试,采用指数退避和抖动,设置总次数与总时限。参数错误先修正,权限错误停止;副作用操作必须绑定幂等。

【追问问题】

  • 模型重试和系统重试有何区别?
  • 何时切换备用模型?

关联知识: 生产架构


E04|如何处理工具超时?

简明答案: 设置单工具超时和任务总截止时间;可取消则取消,不可取消则标记结果未知并异步核对。返回简洁可行动的错误,不暴露堆栈和密钥。

【追问问题】

  • 长工具怎样异步化?
  • 超时后重试有何风险?

关联知识: 生产架构


E05|如何管理长上下文?

简明答案: 先删除无关和重复内容,再结构化关键状态、压缩已完成阶段;原始材料放外部按需检索。摘要保留目标、约束、ID、结果、阻塞和下一步。

【追问问题】

  • 摘要漂移如何发现?
  • 滑动窗口有何缺点?

关联知识: 上下文工程


E06|RAG 的 Chunk 怎么切?

简明答案: 优先按标题、段落、表格和代码等语义边界切分,再按任务调长度与重叠。Chunk 应能独立回答局部问题,并保留来源、章节、时间和权限。

【追问问题】

  • 固定长度切分何时可用?
  • 父子块检索是什么?

关联知识: RAG 全链路


E07|混合检索有什么价值?

简明答案: 关键词检索擅长专有名词和精确匹配,向量检索擅长语义改写。混合召回后融合或重排通常更稳,但必须用真实问题评测。

【追问问题】

  • RRF 是什么思路?
  • 何时不需要重排?

关联知识: RAG 质量排查


E08|如何评测检索层?

简明答案: 用带相关文档标注的问题集计算 Recall@K、MRR、nDCG,并检查权限过滤、空结果率和延迟。检索与最终回答分开评测。

【追问问题】

  • 没有标注集怎么办?
  • Recall 高但回答差说明什么?

关联知识: Agent 评测


E09|如何评测工具调用?

简明答案: 分别看工具选择、参数、顺序、错误恢复、副作用和最终环境结果。参数可用 Schema 校验,轨迹看关键步骤,最终以真实结果为准。

【追问问题】

  • 轨迹不同但结果正确怎么算?
  • 如何测并行调用?

关联知识: Agent 评测


E10|什么是 Trace?

简明答案: Trace 是一次任务的端到端记录,由模型、工具、状态转移、审批和错误等 Span 组成。用于定位质量、延迟和成本,但需脱敏和控制保留期。

【追问问题】

  • 日志、指标、Trace 有何区别?
  • Trace 中不能记录什么?

关联知识: 可观测性


E11|如何降低 Agent 延迟?

简明答案: 先用 Trace 找关键路径,再减少无效轮次和上下文,缓存稳定前缀与检索结果,并行独立工具,流式返回;不要盲目换小模型。

【追问问题】

  • 并行会引入什么问题?
  • 优化单次延迟还是任务时间?

关联知识: 成本与性能


E12|如何降低 Agent 成本?

简明答案: 关注每个成功任务的总成本。通过模型路由、缩短上下文、减少重复检索、限制循环、缓存和批处理优化,同时监控成功率。

【追问问题】

  • 小模型一定更省钱吗?
  • 如何设置预算熔断?

关联知识: 成本与性能


E13|如何做并行工具调用?

简明答案: 只并行互不依赖且无冲突副作用的调用。保留 call_id,统一处理部分失败、超时和无序合并;写操作需锁、版本或冲突检测。

【追问问题】

  • 什么时候必须串行?
  • 部分成功如何返回?

关联知识: 工作流模式


E14|Agent 状态怎样持久化?

简明答案: 在可恢复边界写 Checkpoint,包含状态版本和并发字段。外部副作用用 outbox、幂等键或事务记录对齐,从最后确认步骤恢复。

【追问问题】

  • Checkpoint 频率怎么选?
  • Schema 变更如何迁移?

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


E15|如何测试非确定性 Agent?

简明答案: 对 Schema、路由、权限、状态转移和工具适配做确定性测试;对模型行为用固定评测集多次运行,比较分布和回归阈值,不断言完整文本一致。

【追问问题】

  • Mock LLM 有何局限?
  • 如何控制评测成本?

关联知识: 测试与发布


E16|如何做模型路由?

简明答案: 按风险、难度、模态、延迟和成本选择。定义可观测特征与兜底,再用评测验证;不让模型随意选择更高权限或更高成本模型。

【追问问题】

  • 如何判断任务难度?
  • 路由错误如何监控?

关联知识: 模型选型


E17|如何设计 Agent API?

简明答案: 把创建任务、查询状态、提交审批、取消和获取结果分开;长任务返回 task_id,状态机明确,并支持幂等和事件流。

【追问问题】

  • 同步接口何时足够?
  • 取消如何传播到工具?

关联知识: 生产架构


E18|如何处理流式输出?

简明答案: 区分临时文本、最终文本、工具和状态事件;客户端按类型渲染,断线从游标恢复。未通过输出校验的内容不能当最终业务结果。

【追问问题】

  • 工具等待期间展示什么?
  • 流式内容如何安全检查?

关联知识: 生产架构


E19|如何做 Prompt 版本管理?

简明答案: Prompt 与代码一样需要版本、评测和发布记录。保存模板、变量 Schema、模型配置与变更说明,灰度验证并支持回滚。

【追问问题】

  • Prompt 与模型升级应一起改吗?
  • 如何避免补丁式提示词?

关联知识: 测试与发布


E20|生产 Agent 最低监控项有哪些?

简明答案: 任务成功率、步骤数、工具错误率、循环率、端到端延迟、Token/费用、人工介入率、安全拦截和按版本分组的回归趋势。

【追问问题】

  • 平均值为什么不够?
  • 如何给业务定义 SLO?

关联知识: 可观测性