腾讯大模型二面:你会怎么设计一个大模型应用的后端架构?

news2026/5/14 18:05:08
1. 题目分析传统 Web 后端的核心瓶颈通常在数据库——查询慢了加索引并发高了加缓存数据量大了分库分表整套方法论经过十几年的打磨已经非常成熟。但当你把 LLM 引入后端架构的那一刻这些规则就变了。一个普通的数据库查询耗时毫秒级一次 LLM 调用动辄几秒甚至十几秒数据库查询按次计费几乎可以忽略不计LLM 调用按 token 收费一个活跃用户一天的对话成本可能就是几毛到几块钱最关键的是数据库查询是确定性的同样的 SQL 永远返回同样的结果而 LLM 的输出每次都可能不同。慢、贵、不确定——就是后端架构设计必须要考虑的三大核心因素1.1 整体分层与请求流转先说大的框架。一个生产级的大模型应用后端从外到内通常可以分成四层接入层负责协议处理、认证鉴权和流量控制业务编排层负责理解用户意图、组装 Prompt、编排多步调用逻辑模型服务层负责管理和调用各种 LLM做路由、负载均衡和容错降级数据与记忆层负责对话历史、向量检索、用户画像等持久化存储。这四层的划分看起来和传统微服务架构差不多但每一层内部的设计重心完全不同。传统后端的接入层主要关心的是鉴权和限流大模型应用的接入层还要处理 SSE 长连接和流式传输传统后端的业务层通常是接收请求→查数据库→返回结果这种同步短链路大模型应用的业务层可能需要编排多轮 LLM 调用、工具调用、RAG 检索整个链路又长又慢传统后端的数据层主要是关系型数据库大模型应用的数据层还要加上向量数据库、会话缓存、Prompt 模板库等一系列新组件。1.2 流式响应在传统 REST API 中客户端发一个请求服务端处理完毕后一次性返回完整响应整个过程可能只需要几十毫秒用户几乎感知不到等待。但大模型应用完全不是这个节奏——一次 LLM 调用可能需要 3-10 秒才能生成完整回复如果是复杂的 Agent 任务甚至需要几十秒。让用户干等这么久体验会非常糟糕。所以大模型后端架构必须把流式响应作为一等公民来设计而不是事后补丁。实现方案主要是 SSEServer-Sent Events或 WebSocket。SSE 更适合单向推送场景服务端向客户端逐 token 输出实现简单且天然兼容 HTTP 协议WebSocket 适合需要双向通信的场景比如用户在生成过程中发送停止生成指令。但流式传输带来的工程复杂度不小。中间件兼容性是第一个坑——Nginx 默认会缓冲后端响应再一次性发给客户端你必须显式关掉proxy_buffering才能实现真正的流式传输很多 API 网关和 WAF 也有类似的缓冲问题。错误处理的时机也变了——流式场景下 HTTP 200 已经发出去了中间出错没法改状态码只能在流中插入错误事件让前端处理。还有token 计量——流式输出时需要在服务端准确统计每次调用的 token 消耗这涉及到流的拦截和计数。工程上比较成熟的做法是建一个流式代理网关专门负责维护长连接、做流的中继转发、附加 token 统计元数据、处理超时和异常中断把流的复杂性封装在一层里。1.3 模型服务层模型服务层是整个架构中技术含量最高的一层因为它要直接面对 LLM 的慢、贵、不确定三大特性。多模型路由与降级是这一层最核心的设计。生产环境中几乎不会只用一个模型——你可能用 GPT-4o 做复杂推理、用 Claude 做长文档理解、用开源的 Qwen 做一些简单的分类和提取任务。这就需要一个模型路由器根据任务类型、复杂度、成本预算等条件把请求分发到合适的模型。更重要的是降级策略当首选模型 API 超时或返回错误时系统应该自动 fallback 到备选模型而不是直接报错给用户。一个典型的降级链可能是 GPT-4o → Claude → Qwen越往后模型能力可能稍弱但可用性更高。实现上路由器通常维护一张模型能力矩阵——记录每个模型的上下文窗口、支持的功能Function Calling、Vision 等、平均延迟、每千 token 价格和当前健康状态。路由决策可以基于规则“含图片的请求只发给支持 Vision 的模型”也可以基于策略“优先选延迟最低的健康模型成本超阈值时降级”。并发与队列管理同样关键。LLM API 通常有严格的 Rate Limit系统并发量大时必须在这一层做请求排队和令牌桶限速。对于自部署的开源模型还需要做 Dynamic Batching 来提高 GPU 利用率vLLM 和 TGI 在这方面做了很多优化。1.4 缓存策略缓存在传统后端是锦上添花在大模型后端是必须有的基础设施。原因很直接LLM 调用既慢又贵如果同样的问题能从缓存中直接返回省下的时间和成本非常可观。最直接的是精确匹配缓存——把用户输入的 hash 作为 keyLLM 的响应作为 value 存入 Redis。完全相同的问题直接命中缓存延迟从几秒降到几毫秒。但这种方案的命中率通常很低因为自然语言表达的多样性意味着同一个意思有无数种问法Python 怎么读取 JSON 文件和用 Python 解析 JSON 文件的方法虽然语义相同但 hash 完全不同。所以更实用的是语义缓存Semantic Cache。核心思路是把用户输入转成 Embedding 向量在缓存中做向量相似度检索相似度超过阈值就直接返回缓存结果。GPTCache 就是专门做这个的开源方案。语义缓存的命中率远高于精确匹配但相似度阈值需要根据业务场景调优——设太高命中率低设太低可能返回不太相关的结果。还有一层容易被忽视的缓存是Prompt 模板缓存。在实际项目中System Prompt 和 Few-shot 示例通常是固定的每次请求都带上这些固定前缀会浪费大量 token。OpenAI 的 Prompt Caching 和 Anthropic 的 Cache Control 机制就是针对这个场景——把 Prompt 的固定前缀缓存在模型服务端后续请求只需传增量部分既减少了网络传输量也降低了 token 费用缓存命中的 token 价格通常是原价的 10%-25%。1.5 Prompt 管理Prompt 在大模型应用中的角色相当于传统应用中的业务逻辑代码——它直接决定了应用的行为和输出质量。但很多团队在早期会犯一个错误把 Prompt 硬编码在代码里和业务逻辑混在一起。这在原型阶段没问题但一旦进入生产环境就会遇到各种麻烦。问题一是迭代效率低——Prompt 的调优频率远高于代码你可能每天都要微调措辞、补充示例如果写在代码里每次都要走完整的发布流程太重了。问题二是版本管理和回滚——Prompt 改了一版效果变差想回滚如果和代码绑定就会影响同次发布的其他功能。所以生产环境中通常会建一个独立的Prompt 管理服务本质上是一个带版本控制的模板仓库支持灰度发布10% 流量走新 Prompt和快速回滚。模板通过变量占位符{{user_query}}、{{context}}和业务数据做动态拼装。LangFuse 和 PromptLayer 都提供了这种能力。1.6 异步与任务编排传统 Web API 绝大部分请求可以在几百毫秒内同步返回但大模型应用中有大量重任务——比如基于 RAG 的长文档问答需要先检索、再拼装、再调用 LLM、多步 Agent 任务可能涉及十几次工具调用和 LLM 推理、批量内容生成等。这些任务的耗时可能从十几秒到几分钟不等用同步 HTTP 请求来承载显然不合适。成熟的做法是把重任务走异步任务队列——用户提交后立即返回 task_id后台 Worker 异步执行前端通过轮询或 WebSocket 接收进度推送。Celery Redis 是 Python 生态最常用的方案。异步任务内部还需要一个编排引擎来协调多步骤的执行。比如一个 RAG 问答流程先并行执行查询改写和关键词提取完成后再并行做向量检索和关键词检索汇总后 Rerank最后送入 LLM 生成回答。这里面有串行有并行步骤之间有数据依赖。LangGraph 用有向图来定义这种编排逻辑每个节点是一个处理步骤边定义数据流向和条件分支比较适合这种场景。1.7 可观测性与成本管控大模型应用的可观测性需求比传统后端复杂得多。传统后端主要关心 QPS、延迟、错误率这些指标大模型后端除了这些之外还需要追踪每次 LLM 调用的 token 消耗input tokens output tokens、Prompt 的完整内容和模型的完整输出用于质量审计和问题复盘、缓存命中率、模型路由命中分布等。一个完善的可观测性体系通常包含三个维度。链路追踪Tracing记录每个请求从接入到返回的完整调用链特别是 LLM 调用链路——哪个模型、什么 Prompt、返回了什么、耗时多久、花了多少 token。LangSmith 和 LangFuse 都提供了这种 LLM 原生的 Tracing 能力。实时监控Metrics聚焦系统层面的健康指标——各模型的 P99 延迟、错误率、token 消耗速率、队列积压深度等通常接入 Prometheus Grafana。日志审计Logging侧重合规和安全——记录敏感操作、异常输出、触发内容安全过滤的请求等。成本管控是大模型后端运营中最现实的问题。没有做好成本管控的团队往往上线一两个月后才发现 LLM 调用费用远超预算。管控手段包括按用户/租户设置每日 token 配额超出后降级到更便宜的模型或限制调用频率建立成本看板按模型、功能模块、用户分组统计 token 消耗和费用定期做Prompt 瘦身去掉冗余的指令和示例来减少每次调用的 token 数。1.8 安全与合规这一块在面试中提一嘴会是很好的加分项。大模型应用面临一些传统后端不存在的安全风险Prompt 注入用户通过精心构造的输入试图覆盖 System Prompt 的指令、数据泄露模型在回答中无意间暴露训练数据或其他用户的对话内容、有害内容生成模型输出涉及暴力、色情、歧视等内容。应对措施包括在接入层做输入过滤检测和拦截已知的 Prompt 注入模式在输出侧接入内容安全审核可以用专门的审核模型或规则引擎对 RAG 检索结果做权限控制确保用户只能检索到自己有权限访问的文档对对话历史做脱敏处理后再用于模型调优或数据分析。2. 参考回答我设计大模型应用后端的出发点是 LLM 和传统服务的三个本质差异调用慢、按 token 计费、输出不确定。整体上我会分四层——接入层做鉴权限流和 SSE 流式管理业务编排层负责 Prompt 拼装和多步任务编排模型服务层做多模型路由和降级数据层涵盖向量库、会话缓存和 Prompt 模板库。几个设计重点流式响应必须一开始就设计好LLM 生成太慢不做流式体验不可接受模型服务层要有路由器维护能力矩阵根据任务类型做路由同时设计降级链保证可用性缓存做三层——精确匹配、语义缓存、Prompt 前缀缓存叠加下来成本能省不少复杂的 Agent 和 RAG 流程走异步队列加 DAG 编排把可并行的步骤并行化降低延迟。最后是可观测性和成本管控用 LangFuse 追踪 LLM 调用链路配合 token 配额和成本看板控制预算。核心思路就是针对 LLM 的慢、贵、不确定在每一层做针对性设计。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2586797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…