Session 0001
AI 应用开发面试地图
第一节课只解决一件事:把 AI 应用开发面试从“背概念”改成“系统设计 + 失败定位 + 质量闭环”的表达框架。
1. 主问题
如果让你从零设计一个企业 AI 助手,你如何说明它不是 demo,而是可上线的 AI 应用?
这道题不是问你会不会调模型 API,而是问你是否理解 AI 应用的工程边界:模型只是执行单元,真正的产品还需要数据、上下文、工具、状态、评测、观测、安全和发布机制。
2. 面试官判断点
| 判断点 | 强信号 | 弱信号 |
|---|---|---|
| 系统边界 | 能说出 API 层、RAG、tool adapter、agent harness、eval、observability、policy 的责任边界。 | 只说“前端输入,后端调用大模型”。 |
| 状态设计 | 区分 request state、thread state、memory、retrieved evidence、tool result。 | 把所有上下文都塞进 prompt。 |
| 可靠性 | 能处理 schema failure、tool timeout、RAG miss、loop、rate limit、fallback。 | 失败就重试或换模型。 |
| 质量证明 | 能拆 retrieval eval、answer eval、trajectory eval、safety eval 和线上指标。 | 让用户试用后看反馈。 |
| 上线能力 | 能讲清 canary、feature flag、trace sampling、alert、kill switch、rollback。 | 小流量上线观察一下。 |
3. 知识地图
| 模块 | 你必须能回答 | 后续训练 |
|---|---|---|
| LLM Runtime | 请求、streaming、structured output、retry、rate limit、cost 是怎么被后端管理的? | 服务端调用链设计。 |
| RAG | 如何从企业文档得到可引用、可权限过滤、可评估的答案? | 企业知识库设计题。 |
| Tool Calling | 模型提出 tool call 后,应用如何校验、审批、执行、审计? | side-effect tool 生产化。 |
| Agent Harness | 谁控制 loop、状态、工具、预算、trace、human escalation? | agent runtime 设计。 |
| Memory / Context | 什么放当前上下文,什么写长期记忆,什么不能被用户覆盖? | 个性化助手与记忆污染。 |
| Eval / Observability | 如何证明变好,线上错了如何定位到 retrieval、tool、model、policy? | trace-to-eval 闭环。 |
| Security / Production | prompt injection、越权工具、数据泄露、成本延迟、灰度回滚怎么处理? | 安全专项与上线专项。 |
4. 强回答骨架
我会先把系统拆成六条链路:入口 API、上下文构建、知识检索、工具执行、agent harness、质量与上线。
- 入口 API:定义请求 schema、用户身份、tenant、conversation id、streaming、timeout、rate limit 和 fallback。
- 上下文构建:把 system policy、任务状态、对话摘要、检索证据、工具结果分层,避免不可信内容覆盖控制指令。
- RAG:文档解析后 chunk,写入 embedding 和 metadata;查询时做 ACL filter、hybrid search、rerank,答案带 citation 和 no-answer 策略。
- Tool:模型只提出结构化调用,应用侧做 schema validation、权限、幂等、审批、执行和审计。
- Harness:控制 observe-plan-act loop,设置 step budget、cost budget、stop condition、loop detection、trace 和 human escalation。
- 质量上线:用 golden set、trajectory eval、safety eval 和线上 trace 建立回归门禁,通过 canary、feature flag、alert、kill switch 发布。
5. 追问训练
| 追问 | 回答方向 |
|---|---|
| 如果答案错了,你怎么定位? | 看 trace:retrieved docs、rerank score、packed context、model output、tool args/result、policy decision,判断是检索错、上下文错、工具错还是生成错。 |
| 如果 RAG 文档里有恶意指令? | 检索片段是不可信数据,只能作为 evidence;工具权限和系统策略在应用层执行,不能被文档覆盖。 |
| 如果成本涨三倍? | 按 tenant、feature、model、tool、retry、cache miss 拆分;再做 prompt compaction、model routing、cache、batch、budget guard。 |
| 如果工具调用失败? | 读工具可 retry/backoff;写工具必须幂等;错误归一化给模型;必要时降级、请求用户确认或转人工。 |
| 如果多 agent 更强,为什么不都用? | 多 agent 增加成本、延迟、调试难度和非确定性。只有当权限、上下文、工具或评价标准边界清楚时才值得拆。 |
6. 课后动作
打开 AI 应用技术栈速查,用其中 9 个模块复述一遍“企业 AI 助手”的架构。然后用 面试题库 的 Mock 01 自测:如果你不能说出 run loop、state、tool policy、trace、human escalation,这一课还没过。