我是小兵,一个动手派AI架构师。「AI工程化实战」系列第 0 篇序章。
我见过太多团队了——Demo跑得飞起,老板一鼓掌,说“下周上生产”。然后呢?不是崩就是亏,或者更惨:没崩也没亏,但谁都不敢动,迭代一次像拆弹。
这不是段子。圈子里有个梗我特别认:POC一时爽,生产火葬场。具体火葬率多少?我没法给你精确到小数点后一位的数字,但在技术社区晃一圈,或者跟做MLOps的朋友喝顿酒,你得到的共识大概是——能稳稳当当跨过“最后一公里”的AI项目,十不存一。
核心原因就一句话:跑通Demo只需要优秀算法,做成可持续产品,得靠工程化底座。
但绝大多数团队把资源全砸在调参、追SOTA、磨Prompt上,忽视了一条让我这几年感触最深的原则:
算法定上限,工程化托底盘。模型再强,那是实验室里一次性的惊艳;一套可控、可观测、能自我进化的工程体系,才是你长期不怕被竞品抄走的底气。
这篇文章,我按我们团队自己踩过的坑、补过的课,拆解AI应用(智能体/RAG知识库)从Demo走向规模化生产必须迈过去的四道坎——评测、网关、可观测、持续迭代。末尾有踩坑清单和路线图,适合大模型研发、AI架构师、MLOps工程师和技术负责人收藏慢慢看。
一、为什么工程化不是“锦上添花”?
多步Agent的误差叠加,算一笔账就扎心了
Agent链路长这样:查询改写 → RAG检索 → 工具调用 → LLM推理 → 格式校验,一个接一个。
我们第一次正经算这笔账,是在一次复盘会上。当时Agent链路已经串了17步,单步准确率测下来93%,团队觉得"还行"。我让他们乘一下,17个0.93乘完——会议室里安静了快半分钟。0.24。四分之一。也就是说,用户每问四个复杂问题,就有一个要翻车。那天的沉默比任何PPT都管用。从那以后,再也没人跟我提"单步准确率还行"这六个字。
工程化的价值恰恰在这里:通过重试、校验、降级、分流这些机制,把大模型这个概率不稳定的东西,封装成对外看起来像确定性服务一样稳定的黑盒。
算法和工程化从来不是先后关系
行业里有个挺普遍的误会——算法团队只管调模型提效果,工程团队只管部署上线。两边各干各的,最后捏不到一块儿。
我自己踩过的教训是:RAG检索优化、动态模型路由、结构化输出、安全防护,全都是算法和工程的交叉地带。做算法设计的时候不同步考虑延迟、成本、并发、容灾这些生产约束,后面全得推倒重来。
轻量级单轮FAQ,靠极简流程硬上,可能勉强能跑。但面向复杂多轮Agent、高并发企业业务,工程化体系不是加分项,是准入门票。
二、支柱一:质量保障——别再靠“感觉”干活了
评测体系没搭起来之前,我们团队怎么判断效果好坏?找几个同事问一圈:“哎,你感觉好点没?”这种“体感驾驶”不出事才怪。
Golden Set是你唯一的尺子
通用公开Benchmark能帮你选基座模型,但解决不了业务适配问题。真正衡量你业务效果的标尺,得自己建。
样本从哪来?我们当时是从这几个渠道薅的:
-
线上差评会话:用户点踩、反复追问、人工转接的那些 -
边界失败案例:模型答得离谱的典型 -
人工构造:对抗样本、隐私问题、长尾极端场景 -
合成数据:补齐某些稀缺样本类型 -
用户高满意度问答:好样本也沉淀下来
按三层结构组织:基础高频标准集 + 边缘异常模糊集 + 注入越狱安全集。别一上来就搞几千条,先跑通流程最重要。
评测指标要覆盖全,但不能什么都看:
-
检索:Recall@K、MRR、空召回占比 -
模型能力:业务解决率、幻觉发生率、多轮一致性 -
安全:违规输出率、注入拦截成功率 -
性能:P95/P99延迟、并发QPS、Token消耗
框架选型我自己的偏好是:RAG场景优先RAGAS+TruLens,安全评测上Garak,全链路追踪用LangSmith。关键是评测结果要能对接CI/CD流水线,自动化跑起来。
一个铁则:评测集必须版本化管理。任何代码、Prompt、知识库、路由策略的变更,CI自动跑对比基线,出量化差异报告。不达标的,提测入口直接锁死,别让人肉审批。
起步规模建议:先搞200-500条核心集,把CI流水线跑通。成熟期扩到2000+,覆盖长尾和对抗场景。
灰度不是玄学,是流水线上的一个环节
把评测嵌入CI流水线,一旦指标劣化,直接阻断上线,别等人发现。具体测什么:
-
检索链路回归:切片、向量库、重排模型的改动,召回率不能掉 -
性能回归:对比延迟、内存、GPU占用的基线 -
一致性回归:相同输入,输出要稳定 -
安全对抗回归:注入、越狱用例批量跑 -
多轮会话回归:长上下文和多意图切换
上线流程走这套:离线全量评测 → 影子并行验证 → 小流量金丝雀灰度 → 分层用户放量 → 全量上线。每个环节配一键回滚,别指望人工反应。
影子模式这段多说两句——新旧版本并行接全量流量,但新版本只算不输出。我们当时通过语义相似度自动区分三类偏差:无害偏差、业务风险偏差、合规致命偏差。前两类可接受,第三类直接阻断。
金丝雀灰度开1%-5%流量,按用户、业务线分层放量。注意:金融、政务这种高价值强监管客户,严禁参与灰度,别作死。
智能熔断——这个我强烈建议配好,别省。我们设的阈值(仅供参考,按你的SLA调):业务解决率较基线下降超10个百分点、违规输出5分钟内超3次、Token成本超预算200%、P99延迟超基线3倍。任一触发,系统自动切回旧版本,不需要人半夜爬起来决策。
Prompt也是代码,别复制粘贴了
Prompt是LLM应用的核心逻辑,重要性不亚于代码。但我们见过太多团队还是“复制粘贴+手工调参”的路子,迭代不可追溯,出了问题不知道哪版是好的。
说实话,这件事我推了两个月才推下去。算法组当时的反应是:"改个Prompt而已,走Git太麻烦了,控制台顺手一改的事。"直到今年4月,线上出了个合规问题:一个金融客户的会话里,Agent突然输出了内部测试用的兜底话术,带了句"以上回答仅供参考,不承担任何责任"——这在我们对外服务条款里是绝对禁止的。排查了四小时,最后发现是三天前某次凌晨两点的人工热更,有人在生产控制台直接改了Prompt,加了这句兜底,没走任何评审,也没留版本记录。
那之后不用我催,算法组自己就把Prompt仓库建好了,还主动加了CI对比基线。
我们的做法是:指令骨架、Few-shot示例、上下文变量分离。业务变更只改变量,不动骨架。每次变更走Git,commit diff留底,CI自动对比旧版评测基线。同一模型挂多套Prompt分支做A/B测试,数据说话,别凭感觉拍板。
高价值场景用强模型+精心调校的Prompt,低优先级任务路由小模型+简化Prompt。Prompt修改必须走PR评审,禁止在生产控制台手工热更——这条我们付出过惨痛代价。
三、支柱二:运行时韧性——把“随机的”变成“确定的”
大模型天生是概率生成器:相同输入输出可能不一样、格式说乱就乱、偶尔抽风幻觉、第三方API随时可能挂掉。韧性体系要做的就是:通过统一网关、多层安全护栏、强制结构化约束,向上游业务屏蔽掉所有底层波动。
LLM网关是你的交通枢纽
在业务应用和各类大模型之间架一层独立网关,彻底解决单一厂商依赖。网关的路由逻辑说白了就一句话:
if 模型A挂了 → 试模型B;再不行 → 模型C;全挂 → 降级兜底
核心能力四个:
-
多模型协议归一:兼容OpenAI、通义千问、文心一言、讯飞星火、DeepSeek、ChatGLM、Llama等,对外统一接口。换模型?业务代码一行不改。 -
智能分层调度:轻量FAQ分发低成本小模型,长文档复杂推理自动走高性能大模型。支持私有化+云端混合调度。 -
多级容灾Fallback:厂商超时/限流/熔断,秒切备用服务商;云端全挂降级本地私有模型;本地也扛不住,降级静态缓存应答或预设兜底话术——保证业务流程不断,比追求完美答案重要得多。 -
企业级管控:租户/用户分级限流、Token配额管控、语义缓存复用高频问答、全链路鉴权和操作日志留存。
选型速查(5个代表方案):
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
安全护栏要布在每一道关口
我有个原则:别把安全寄托在模型本身的“道德”上。在请求流转全链路设多道关卡,对标OWASP Top 10 for LLM的威胁覆盖(Prompt注入、模型拒绝服务、敏感信息泄露、过度代理等,不留盲区)。
三道防线:
-
输入侧:拦截单次注入、多轮嵌套越狱、间接诱导攻击;自动脱敏身份证、手机号、涉密数据;超长上下文截断,别让模型吃撑。 -
运行时权限沙箱:Agent访问数据库、内部系统的权限最小化。高危操作(删除、批量导出)必须二次确认或人工审批,别让Agent有“手滑”的机会。 -
输出侧:轻度违规自动修正放行,中度阻断,高危会话实时告警人工复核。
行业合规方面:金融、医疗、政务叠加上各自的校验规则,比如数据不出域、AI生成内容全程可溯源。这些不是可选项,是红线。
结构化输出强制约束
针对输出格式混乱、字段缺失的问题——强制JSON Schema约束。网关层自动校验结构,字段缺失或格式错乱自动触发重试,但设最大阈值,别无限重试把成本烧爆。长上下文或轻量小模型结构化能力薄弱的场景,分段输出、分段校验。重试耗尽仍不达标,切兜底文本回答,业务流程不能断。
四、支柱三:全链路可观测——把黑盒拆开看
我给你讲个真事。去年双十一前一周,我们的RAG知识库突然开始大面积幻觉,回答准确率从87%跌到62%。团队排查了一整天:知识库没更新,Prompt没改动,模型版本也没变。最后是一个后端同事在比对向量库导出文件时,发现编码格式从UTF-8变成了UTF-8-BOM——上游数据同步任务被人手动重启过一次,默认编码变了。Embedding模型对BOM头敏感,导致相似度计算整体漂移了0.03。
就0.03。你盯着单条Trace根本看不出来,但全量一乘,召回的Top5里混进了完全不相关的文档。
那天我在会议室白板前站了四十分钟,把链路拆开又拼上,才想明白问题在哪。如果没有全链路Trace,我们到现在可能还在调Prompt。
所以可观测要做到每一次调用可追溯、可归因、可复盘,别让团队半夜排查问题时只能“重启试试”。
四层监控,别只看一层
-
业务北极星:问题解决率、满意度打分、人工转接率、会话流失率 -
技术黄金指标:首Token延迟、完整响应耗时、并发QPS、接口错误率、全链路Token消耗 -
基础设施:网关负载、GPU利用率、向量库读写延迟、消息队列堆积 -
RAG专项:索引更新成功率、知识库过期文档数、检索空结果占比、Embedding漂移度
Trace要细,成本要控
完整记录单次会话全流程:用户提问 → 查询改写 → 检索召回 → LLM推理 → 工具调用 → 最终输出。每一步的输入输出和耗时都留着,支持一键回放复现线上问题。
方案选择:中小企业云上业务,Langfuse、Helicone快速接入,省事。政企私有化场景,基于OpenTelemetry SDK+框架Callback做无侵入采集,数据不出内网。注意:Trace写入前必须过脱敏层,PII字段自动Mask,或者只保留Token ID和耗时。另外,大规模线上业务一定要配Trace生命周期自动清理策略,别让存储成本把监控预算吃光。
成本管控只统计总Token远远不够。我们现在的做法:输入Token、输出Token、Embedding、Reranker、工具调用分别统计,支持按业务线、租户、用户、模型多维拆账单。单日/月度成本触达阈值自动限流或切换低成本模型。高频重复查询自动走缓存。
成本优化六个杠杆(按我们自己的实施排序,先易后难):
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
建议路径:先缓存 → 再压缩 → 再小模型 → 最后蒸馏。每个阶段量化验证,别为了省钱把核心指标打穿了。
告警要收敛,最好能自愈
告警这事儿,最怕半夜三点响个不停。我们定了分级规则:P2轻微波动,群里发条消息就行,别碰手机。P1严重故障,电话炸醒,5分钟不点确认,自动往上一级主管手机狂轰滥炸——这一招治好了团队“装睡”的毛病。P0致命故障?别等人决策了,系统自动触发熔断回滚,同步技术负责人。不管在干嘛,都得开电脑。
配套自愈动作:延迟突增自动扩容网关、模型报错自动切换备用节点、向量索引异常自动触发重建。能自动化就别让人熬夜。
五、支柱四:持续进化——别让上线变成终点
绝大多数AI系统上线即停滞,反馈和优化链路完全割裂。效果越跑越差,用户信任一点点流失。第四支柱要做的事情:把每一次线上交互变成迭代的养分,形成飞轮而不是死循环。
人机协同反馈闭环
负样本自动沉淀:用户差评、人工转接、检索无结果、格式重试失败——这些自动归档,系统自动标注故障类型(检索错误、路由错误、模型幻觉、上下文溢出)。
正样本也留着:用户标记满意、一次性解决的会话,存入优质样本库,用于微调、Prompt迭代、扩充评测基线。
人工审核过滤:线上回流的样本统一经人工清洗、标准化标签,过滤恶意提问和脏数据。别让劣质样本污染你的迭代数据集,这条我们吃过亏。
Agent三阶段质量飞轮
形成持续运转的循环,避免零散碎片化的“哪疼医哪”:
-
Build & Test:从线上Trace、用户反馈、人工构造场景更新评测数据集,跑离线全量评测,输出优化方案(微调/Prompt改版/知识库更新/路由规则调整) -
Ship & Monitor:灰度上线优化版本,持续跟踪业务、性能、成本、安全四个维度 -
Learn & Refine:新增失败案例、用户反馈全部回流数据集,进入下一轮循环
知识库自动化巡检
RAG效果高度依赖知识库新鲜度。我们的自动化流程:新增文档做检索命中验证,删除文档同步清理向量索引。文档时效性标签自动过期归档,重复文档自动合并,涉密文档隔离。
新增文档先小流量验证检索效果,再全量入库。切换向量模型时保留历史索引,支持一键回滚,别让一次模型升级把线上检索搞崩。
Multi-Agent——别为了赶时髦而拆分
2026年,Multi-Agent都快成PPT必备素材了。我见过最离谱的方案,一个客服场景拆了11个Agent,每个Agent就调一个API。这哪是架构,这是KPI。
什么时候该拆?我们内部有个判断标准(不算严谨,但实用):单Agent上下文占用超过80%、工具调用超过5类、或者确实需要独立角色博弈验证的场景,才考虑拆分。别为了技术PPT好看硬上。
四种协作模式:
-
顺序编排:A输出→B加工→C决策。适合流水线任务(数据采集→分析→报告生成) -
并行协作:多Agent同时处理不同子任务再汇总。适合多数据源查询、多维度评估 -
辩论式:多Agent各自独立推理、交叉验证、少数服从多数。适合医疗诊断辅助、法律条文解读等高可靠场景 -
分层调度:主控Agent拆解任务→分发子Agent→审核结果→汇总输出。适合复杂开放式任务
开源框架怎么选?我的主观看法:LangGraph状态图驱动,可控性强但上手门槛高,别一上来就追;CrewAI角色清晰,上手快;AutoGen对话驱动,交互自然;Dify低代码可视化编排,适合快速验证;MetaGPT模拟软件公司流程。
最重要的提醒:每增加一个Agent,链路复杂度、延迟、Token成本都是线性增长。先把单Agent做到极致,别用Multi-Agent掩盖单Agent没调好的问题。这跟“别用分布式掩盖单机代码写得烂”是一个道理。
四大支柱总览
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
成熟度自评参考:L1无基础 → L3流程自动化 → L5全自动飞轮。你自己对号入座。
底层底座和踩坑清单
四大支柱是上层体系,底下还得有三大底座撑着:
-
数据工程底座:采集、清洗、切片、向量化的全链路流水线,数据版本/血缘/权限管理 -
LLMOps:模型注册与版本管理、微调流水线、A/B对比测试、性能衰退自动监控、GPU弹性调度 -
基础设施+国产化适配:K8s弹性扩缩容、跨可用区容灾;国产化场景私有化部署国产大模型+Milvus/Qdrant等向量库,基于OpenTelemetry自研Trace平台,满足等保三级和数据不出域
高频踩坑清单(每条都是真金白银换来的):
-
凭主观体感评估效果,无Golden集,迭代退化了都不知道 → 建评测集版本化,变更必对比基线 -
直连第三方大模型接口,无网关,厂商一挂全瘫 → 架LLM网关,多模型多级Fallback -
无语义缓存,高频问答重复烧Token,成本起飞 → 先上语义缓存,立省30-60% -
只监控输出,忽略知识库数据巡检,脏数据源源不断产生幻觉 → 上线前置巡检,自动识别重复/过期/未脱敏文档 -
灰度无自动熔断,指标劣化只能人工回滚 → 配置智能熔断,阈值触发秒级切回旧版
新手落地路线图
|
|
|
|
|
|
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026年的AI SaaS工具(LangFuse Cloud、Pinecone Serverless、LiteLLM Cloud、Dify Cloud)已经相当成熟了,小团队能托管就托管,别自建。
核心原则:能用SaaS的绝不自己搭,能复用的绝不重写。人力砸在业务壁垒上,别砸在基础设施上。团队不足5人的话,建议把POC-内测-上线三个阶段压缩在一个季度内完成。每个阶段的准入标准比时间更重要——宁可延期,别裸奔。
最后说几句
很多团队有个错觉:只要有大模型、好Prompt、基础RAG能力,就能稳定落地商用AI。走过这些项目之后,我看到的真实分水岭是:
短期Demo拼算法效果,长期商业化拼工程化底盘。
没有评测体系的,靠感觉判断好坏;你走自动化评测流水线,直接拿量化数据说话。没有网关的,厂商一挂全瘫;你的网关秒级切换,业务无感。没有反馈闭环的,人工逐条翻差评;你的质量飞轮自动完成采集、评测、迭代。
算法定上限,工程化托底盘。算法决定你能飞多高,工程化决定你能飞多久。在商业落地这件事上,长久稳定、合规可控、成本可持续,远比单次惊艳的Demo有价值得多。
写到这,我其实有点心虚。上面这套体系我们跑了快一年,该上的都上了,但上周还是出了个幺蛾子:一个用户在多轮对话里,把"公司报销政策"和"公司报销系统的登录密码"两个概念混在了一起,Agent在第七轮的时候,把内部文档里的一段测试数据当成真实政策吐了出去。没涉密,但足够尴尬。我盯着那条Trace看了二十分钟,没看出是哪一步出的问题——检索是对的,路由是对的,模型也没幻觉,就是组合在一起错了。
这种错误,我不知道该归到哪个支柱里。也许第五根支柱叫"接受有些事你就是搞不定"。
如果你也遇到过这种"每一步都对,整体就是错"的诡异情况,评论区聊聊,我也顺便取取经。

