标准答案

  1. 前端提交会话或任务 ID,API 层完成认证、租户权限、输入校验、幂等和配额检查;服务层读取会话状态并决定同步生成还是异步任务。
  2. 编排层组装系统规则、历史、检索结果和工具定义,调用模型网关;网关负责供应商路由、超时、重试、usage 和错误归一化。
  3. 结果通过流式事件或任务状态返回,消息、模型调用、工具事件和用量记录写入持久化与观测系统;敏感数据在每层按最小化策略处理。

题目解析

前端不应直接持有供应商 Key 或拼接完整系统 Prompt。API 层是权限和数据边界,模型网关是供应商与能力边界。

流式输出与持久化要解耦:连接断开时任务仍有最终状态,写库失败时也要能告警和补偿。

链路追踪至少带 requestId、conversationId、messageId、modelRequestId 和 tenantId 的受控标识,避免只依赖一条日志。

常见误区

  • 前端直接调用模型服务,把 Key 暴露给浏览器。
  • 只保存最终文本,不记录检索、工具和模型路由。
  • 把网关、编排和持久化全部塞在一个不可测试的控制器里。

作者信息