Skip to content

第 11 课 · 阅读器 AI 答疑架构全景

场景篇开篇:把前十课拼成一张能上线的完整架构图。 编排层当大脑按类型路由,底下配缓存 / 护栏 / 监控 / 降级 —— 这才是 Demo 和生产的区别。


本课要解决的问题

前三篇讲的是「决策 / 模式 / 工程」的通用原则。第四篇落到 具体场景:教材阅读器 / 网校答疑。本课先给 全景架构,后两课再深入两个关键专题。

目标:看完能画出一张「用户提问 → 带出处答案」的完整数据流,并知道每层放什么。


一、分层架构(五层)

① 用户层     阅读器 App / 网页 / 小程序
② 应用层     后端 BFF(鉴权、业务逻辑、Key 只在这里)
③ 编排层 ⭐  路由决策:简单→Prompt / 要知识→RAG / 要干活→工具
④ 能力层     LLM · 向量库 · Tools
⑤ 支撑层     缓存 · 护栏 · 日志 · 成本监控 · 评估 · 降级
  • 不是全用最重方案: 简单需求简单办,复杂的才上工具 / Agent。
  • 支撑层是生产的门槛: 缓存(省钱)、护栏(防注入)、监控(AI 花钱如流水)、评估(防退化)、降级(AI 挂了别拖垮业务)。

二、完整数据流(一次答疑)

用户在阅读器提问

后端 BFF(鉴权 + 限流;API Key 只在服务端)

缓存命中?── 是 → 直接返回(省钱省时)
          └ 否 ↓
编排层 · 路由分类:概念题 / 实操题 / 闲聊 / 查后台
   ├─ 概念 / 实操 → RAG 检索教材(取相关 chunk)
   ├─ 闲聊       → 轻量 prompt,不检索
   └─ 查后台     → 单次 Function Calling(带审批)

拼装上下文:System + 检索 chunks + 必要历史 + 用户问

调 LLM(流式输出)

输出护栏(过滤越界 / 有害)+ 附上引用章节

流式返回用户;同时写审计日志 + 记录成本

三、每层的关键决策

关键点对应课
应用层API Key 绝不在前端,BFF 代理是底线第 01 课
编排层路由分类越轻越好;分支各自优化第 04 课
能力层 · 检索切块 + 语义检索 + 出处,别章节直灌第 03 / 12 课
能力层 · 工具description 写清、参数校验、写操作审批第 07 课
支撑层 · 记忆多轮压缩、重点放两头、及时丢旧结果第 09 课
支撑层 · 评估Golden Set 回归、忠实度优先第 10 课
支撑层 · 降级检索空 / 工具挂 → 拒答或兜底,不编第 10 课

四、这是 Workflow,不是 Agent

整张图里 没有一处自主循环 —— 路由、检索、拼装、调用全是你写死的路径:

路由 + RAG + 单次工具 = 可预测、可测、可控成本

只有当确有「开放任务」(如学习规划助手)时,才在这张主干旁 挂一条自主 Agent 分支(见第 06 课),且沙箱 + 审批齐备。


五、参考技术栈(示意)

前端:阅读器 UI(流式渲染答案)
BFF :后端(鉴权、路由、拼装、Key 托管)
检索:向量库(如 pgvector)+ embedding
LLM :中端快速模型为主,难题按需升级
支撑:缓存(如 Redis)+ 日志 + 成本监控 + 评估集

现有 Web 后端栈天然能承载,不必推倒重来。


本课结论

  1. 五层架构: 用户 / 应用 / 编排 / 能力 / 支撑,编排层是大脑。
  2. 一次答疑的数据流: BFF → 缓存 → 路由 → RAG / 工具 → LLM 流式 → 护栏 + 出处。
  3. 支撑层(缓存 / 护栏 / 监控 / 评估 / 降级)是生产门槛。
  4. 主干全是 Workflow,自主 Agent 只作为旁挂分支。
  5. Key 在 BFF、检索给出处、失败要兜底 是三条硬底线。

课后自检(3 分钟)

  • [ ] 我的 API Key 只在后端 BFF,前端拿不到
  • [ ] 我有编排层做路由,不同类型走不同分支
  • [ ] 检索走 RAG 给出处,不是章节直灌
  • [ ] 我配了缓存 / 护栏 / 监控 / 评估 / 降级中的关键几项
  • [ ] 自主 Agent(若有)是旁挂分支,且沙箱 + 审批齐备

下一课预告

第 12 课 · 章节直灌 vs 知识库检索 —— 深入能力层最纠结的一步:知识到底怎么喂给模型。


延伸阅读


© 曹宇春

© 曹宇春 · 个人学习整理,欢迎交流