写 AI Native 系统,最怕的就是把它当成“在现有系统里加个 AI 接口”。我过去帮好几个团队做过架构梳理,最典型的误区是:业务代码写完了、数据库设计好了、微服务拆完了,最后才想起来“这里应该接个大模型”,然后硬生生在某个 Service 里调个 API,把 Prompt 拼一拼就上线。结果呢?延迟高、成本失控、回答质量不稳定、上下文一长就“失忆”,最后大家说“AI 不行”。其实不是 AI 不行,而是架构压根没给 AI 留位置。
真正的 AI Native 架构,不是“系统里用了 AI”,而是整个系统的信息流、控制流、数据存储、评估反馈,全部围绕模型的能力边界来设计。数据从进来到出去,路径是连续的;上下文不是某个接口的参数,而是系统的核心状态;工具不是 RPC 调用,而是模型可以自主编排的能力单元。这篇文章我尽量把从零开始搭建 AI Native 架构的思路、组件、落地顺序和踩坑点都讲清楚,适合正在做 AI Agent、智能客服、Copilot 类产品,或者准备把现有系统往 AI 方向重构的团队参考。不是纯理论,是我实际做过、也验证过的东西。
1. 为什么说“加个 AI 接口”不是 AI Native
聊架构之前,先把概念掰扯清楚。现在市面上说的“AI 应用”大多属于 AI Augmented(AI 增强)——传统系统为主,AI 作为辅助模块。比如你有一个订单管理系统,在退换货流程里接一个大模型做售后工单分类,这就像给燃油车加了个电动辅助电机,确实是“用到了电”,但整车架构还是燃油车的逻辑:以机械传动为核心,电只是辅助。
AI Native 是反过来——系统从第一个用例设计开始,就把模型当作核心执行单元。用户的请求进来,首先经过的是一系列模型判断和生成,而不是先落到数据库再“顺便调用 AI”。做一个 AI Native 的客服系统,用户消息进来,先要做意图识别、情绪识别、多轮记忆检索、知识库召回,然后由一个 Agent 决定调用哪个工具、生成什么回复,最后才对用户输出。每一步都有模型参与决策,数据流围绕上下文和记忆来组织,而不是围绕传统的 Request-Response 和 CRUD 来组织。
这种区别带来三个直接影响,也是判断你是否真的需要 AI Native 架构的标准。
1.1 数据核心从“状态”变成了“上下文”
传统系统里的数据核心是状态(State)——订单状态、用户状态、库存状态,数据库表结构是系统的骨架,业务逻辑围绕状态的流转来写。AI 系统的数据核心是上下文(Context)——用户之前说了什么、系统做过了什么、外部返回了什么结果,这些历史信息共同决定了模型下一步的行为。
上下文和状态最大的不同在于它的持续性和易变性。状态是结构化的、可以落库的、有明确约束的;上下文是半结构化的、需要压缩和取舍的、随时在变化的。AI Native 架构里,连“记忆”都不是简单存个历史记录,而是要把记忆分层:哪些放短期缓存、哪些转长期记忆、哪些向量化之后存向量库、哪些已经过期可以丢弃。这套东西在传统架构里根本没有对应物。
1.2 交互模式从“调用”变成了“编排”
传统架构里,服务之间的调用关系是提前定义好的——A 调 B,B 调 C,异常有重试、有熔断、有事务。这是确定性系统,每一步都是编译器级别的明确行为。AI Native 架构里,模型会根据用户输入动态决定调用什么工具、按什么顺序调用、调用完结果怎么处理。这个过程叫编排(Orchestration),它不再是代码里写死的 if-else,而是由模型根据上下文现场决策。
这意味着你的架构必须为“不确定性”设计:模型可能今天调用 A 工具,明天同样的输入却选择了 A+B 组合;模型可能判断失误,调用了不该调的工具;工具返回异常时,模型需要自己决定重试还是换方案。这一层弹性如果不在架构层面就做好,而是靠每次写死 Prompt 来约束,系统会非常脆弱。
1.3 质量保障从“测试用例”变成了“评估闭环”
传统系统的质量靠测试用例保证——输入确定,输出确定,断言通过就是对的。AI 系统的输出具有概率性,同一个 Prompt 每次生成的结果可能都不同,你不能用传统断言来评价“模型这次回答得对不对”。
AI Native 架构必须从第一天就建设评估(Evaluation)体系。离线评估用评测数据集打标、用 LLM-as-Judge 大模型打分;在线评估要记录每次模型输出、用户反馈、工具调用结果,形成数据飞轮。这个评估闭环是 AI 系统的“CI/CD”,没有它,系统越跑越偏,甚至出现“看起来上线了,但质量没人说得清”的失控状态。
我自己见过一个项目,Chatbot 上线后只跟踪了一个指标——首响时间,结果系统响应很快,但答非所问率极高,用户骂声一片。根本原因就是没有把“回答准确性”纳入线上评估体系。AI Native 架构里,评估和可观测性是一项一等公民能力。
2. AI Native 架构的整体分层与核心组件
说了这么多理念,落到工程上,AI Native 系统到底长什么样?我一般把它分成四个层次:感知层、认知层、行动层、记忆与数据层。下面的图示虽然不用图表画,但你可以想象成一条流水线——用户请求从入口进来,每一层都有模型在参与处理,最终把结果返回给用户。
2.1 感知层:输入的理解与归一化
感知层是系统的入口,负责把用户的原始输入转化为模型可以理解的结构化信息。这里的“原始输入”不只是文本,还包括语音、图片、甚至用户行为序列。感知层通常要做这几件事。
- 模态解析:语音转文本(ASR)、图片转描述(Captioning)、文档解析(PDF/Word 抽取文本)。我见过不少团队忽略这一步的质量,直接把 OCR 的垃圾文本丢给大模型,结果模型回答质量直线下降。输入侧解析的准确性是第一道生死线。
- 意图识别与实体抽取:用轻量级模型对输入做分类和抽取,判断用户想干什么、涉及哪些对象。这一步可以为后续的模型路由提供依据——简单意图走小模型,复杂任务走大模型。
- 上下文关联:判断当前输入是独立问题还是对上文对话的延续,比如用户说“这个多少钱”里的“这个”指代什么,需要在感知层就结合记忆系统做解析。
感知层输出的是一个统一的语义输入对象,后续所有层都基于这个对象工作。注意,感知层本身也可以由模型驱动,但要尽量选择轻量、低延迟的小模型(如 7B 甚至更小的分类模型),把重量级大模型留给真正需要复杂推理的环节。架构原则是“把资源留给需要的地方”。
2.2 认知层:决策、生成与工具规划
认知层是整个 AI 系统的“大脑”,也是 AI Native 架构的核心差异所在。它负责三件事:决策(这个任务该怎么做)、生成(产出面向用户的回复内容)、规划(需要调用什么工具,以什么顺序)。
认知层的核心执行体我强烈建议以 Agent 为基本单元,而不是简单的单次 Prompt 调用。Agent 要有“循环”能力——计划、执行工具、观察结果、再计划,直到完成目标。工程上一般用 ReAct(Reasoning + Acting)模式或 Plan-and-Execute 模式来实现,这两种模式各有适用场景。
- ReAct 模式:模型在每轮思考和行动之间循环,先输出推理过程,再决定调用哪个工具,看到工具结果后继续推理。适合工具联动多、需要中途调整策略的任务。
- Plan-and-Execute 模式:模型先把整个任务拆成步骤,然后逐一执行,执行完再根据结果综合评价。适合任务流程相对固定、步骤清晰的场景。
认知层还必须承担模型路由(Model Routing)的职责——不是所有请求都走最强模型,而是根据意图层级、任务复杂度、成本预算,动态选择最合适的模型。比如简单问天气的请求路由到便宜快速的 7B 模型,多步骤数据分析请求路由到强推理大模型。这一步做好了,成本和性能都能得到质的改善。
2.3 行动层:工具注册、调用与安全边界
行动层是 Agent 和外部世界交互的接口层。AI Native 系统里,工具(Tool)不是简单的 REST API 包装,而是“模型可以理解的行动单元”。每个工具需要注册给模型两类信息:一是功能描述(这个工具是干什么的、什么情况下用),二是参数 Schema(JSON 格式的入参定义),模型会根据这些描述自主生成调用参数。
行动层的安全设计至关重要。我用过一句话总结这个问题的本质:模型是不可控的黑盒,但你的业务系统必须是可控的白盒。因此所有工具调用都要走统一网关,做三层防护。
- 权限校验:模型拟调用的工具和参数,是否在用户授权范围内。例如用户有查询权限不代表有删除权限,模型调删除接口时必须被拦截。
- 参数校验:模型生成的 JSON 参数经常出现幻觉,要按 Schema 做严格校验和类型强制转换。
- 成本与频控:对每次工具调用的预算做限制,防止 Agent 陷入死循环疯狂调用工具,跑出巨额账单。
行动层还要处理超时、重试、熔断等基础能力。工具会失败,模型要学会处理失败——是重试、换工具,还是如实告诉用户“这个操作没成功”。架构层面要提供统一的异常返回结构给模型,让模型能理解错误信息,并根据错误决定下一步策略。
2.4 记忆与数据层:上下文工程的基础设施
记忆层是 AI Native 架构中最容易被低估、也最容易拖垮系统的一层。对话历史、知识库内容、用户画像、工具调用记录,这些都算记忆。架构设计时要把记忆拆成多个维度,而不是一股脑塞进 Prompt。
- 短期记忆:当前会话内的多轮交互历史,存放在 Redis 等快速存储中,动态拼接到上下文中。注意控制轮数,每轮对话的 token 都会累积,超出上下文窗口一定要处理。
- 长期记忆:用户跨会话的偏好、历史关键事件,需要做摘要抽取和结构化存储。比如用户三个月前说过“我只用顺丰快递”,这个信息要能在新会话里被检索到。
- 向量记忆:把知识库文档和对话历史向量化,存入向量数据库(Milvus、Qdrant、pgvector 等),在需要时做相似度召回,作为上下文中的参考资料。
- 工具调用记忆: Agent 执行过的工具和结果,要留痕用于后续评估和用户复盘。
记忆层的核心挑战是“上下文窗口是有限的,但记忆是无限的”,你必须设计过滤、压缩、分级淘汰机制。比如保留最近 N 轮完整对话,更早的部分只保留摘要;比如向量召回时设置相似度阈值,低于阈值的内容宁可不放。我在《构建 AI Agent 应用时,“记忆”模块的设计思路》里专门整理过更多细节,这里就不再展开,记住一条原则:上下文不是越多越好,而是越精越好。
2.5 数据闭环与反馈管道
除了上面四层,AI Native 系统必须有一个基础设施贯穿始终——数据反馈管道。每一层发生了什么、模型输出了什么、工具返回了什么、用户最终是否满意(点赞、点踩、追问、投诉),全部要记录到日志系统里。
日志分两种:技术日志,看延迟和错误,用传统可观测性系统(Prometheus + Grafana、ELK 等)就能解决;语义日志,看内容质量,需要把每一次模型输入输出、上下文快照、检索结果、工具调用链整个保存下来,用于事后分析和训练数据积累。
没有语义日志,你会面临一个死局——模型输出质量下降,却不知道是 Prompt 问题、知识库内容问题还是工具链路问题。AI Native 系统的运维本质上是“内容运维”,你必须能回溯到每一次回答的全部上下文,才有机会持续优化。
3. 从零到一落地 AI Native:实操路径与关键决策
上面那些组件听起来很多,但如果从零开始做 MVP,不要一开始就全套上。我给团队的建议是:第一次迭代只做“最小闭环”,把核心链路跑通,验证业务价值,再一层一层加厚。下面是我在实践中总结的落地路径,按顺序走,能少踩不少坑。
3.1 第一步:定义“黄金路径”并搭建最小闭环
所谓黄金路径,就是用户最频繁、价值最高的一个使用场景。不要同时做十个用例,先选一个。比如做一个客服机器人,黄金路径可以是“退换货申请”;做一个 Copilot,黄金路径可以是“自然语言查数据报表”。
最小闭环包含四条链路。
- 输入链路:用户消息进来,解析成结构化意图。
- 决策链路:Agent 判断意图、检索记忆、决定调用什么工具。
- 行动链路:调用真实的业务接口(查询订单、提交工单),把结果拿回来。
- 输出链路:模型基于工具结果生成最终回复,返回用户。
搭建闭环时有一个关键决策:用不用现成的 Agent 框架。我当时建议团队第一版尽量“裸写”——直接用模型 API + 自己写的工具调用逻辑,理清楚整个请求的生命周期。用现成框架(比如 LangChain、LlamaIndex、AutoGen)固然快,但是框架封装层次太多,出了问题你很难定位是框架 bug、Prompt 问题还是工具问题。第一版裸写,等模型交互模式基本确定,再评估要不要引入框架提升开发效率。这个顺序反了,后面会非常难受。
裸写的最小闭环代码结构可以参考下面这个示意(伪代码),帮助你理解各个环节的调用关系:
async def handle_user_message(message, user_id): # 1. 感知层:意图识别(可以用一个小模型或分类器) intent = await classify_intent(message) # 2. 认知层:构建上下文(短期记忆 + 长期记忆 + 知识检索) short_memory = await get_short_memory(user_id) long_memory = await search_long_memory(user_id) knowledge = await vector_search(message, top_k=3) system_prompt = build_system_prompt(intent) # 3. 模型决策:Agent 生成工具调用计划 plan = await model.generate_tool_plan(system_prompt, message, short_memory, knowledge) # 4. 行动层:执行工具调用(带权限校验) result = await execute_tool_with_safety(plan.tool_name, plan.arguments, user_id) # 5. 认知层:基于工具结果生成最终回复 final_reply = await model.generate_reply(system_prompt, result, message) # 6. 记忆层:更新对话记录 await save_short_memory(user_id, message, final_reply) # 7. 数据闭环:记录语义日志 await log_semantic_event(user_id, message, intent, plan, result, final_reply) return final_reply这个结构不复杂,但它已经具备了一个 AI Native 系统该有的基本要素——感知、认知、行动、记忆、闭环。你后续所有复杂的架构演进,都是在这个骨架上长肉。
3.2 第二步:模型选型与路由策略
很多团队在模型选型上有一个误区:追求“最强模型”,所有流量都往最贵的模型上打。一套 AI Native 架构如果对成本不敏感,它一定走不远。模型选型的核心原则是“分级使用、各得其所”。
- 意图识别、实体抽取、文本分类:用 7B~14B 的开源小模型(如 Qwen、Llama 的中小尺寸版本),本地部署或者走性价比高的推理服务,延迟要压在 100ms 内。
- 工具规划、复杂推理、长文本总结:用 70B 以上或云端大模型,接受更高的延迟和成本。
- 代码生成、复杂数据分析类任务:视任务难度在中等和旗舰模型之间动态路由。
模型路由不一定非要做一个复杂的机器学习模型来做判断,第一版可以用规则 + 意图识别结果来路由。比如意图识别结果是 weather 和 remind,直接走小模型;识别为 data_analysis 或 code,走旗舰模型。规则路由可解释性强,也容易排查,等你的流量和数据积累足够多,再上基于排序模型或强化学习的动态路由。
模型路由架构上还要考虑“灰度与逃生通道”机制。同一个 Prompt,可以在 A 模型和 B 模型之间做小流量灰度对比,线上输出质量以评估结果为准。同时,当某类请求走大模型经常超时或者识别到异常输出时,要有降级策略——降级到小模型处理,或者直接给用户返回一个兜底话术。
3.3 第三步:上下文工程与记忆落地策略
上下文工程是将记忆层的数据转化为模型输入的技术栈,要求你对 Token 预算有极强的敏感度。模型上下文窗口再大,比如现在有 200K 上下文,你真放 200K 进去,效果基本是灾难性的——注意力分散、关键信息被淹没、成本爆炸。
我习惯把 Token 预算分为三块:系统指令(System Prompt)占 10%,动态上下文(记忆、检索、工具结果)占 50%,用户当前消息与模型未完成的回复占 40%。按这个比例来控制每一轮请求的输入。超过预算时,需要做上下文裁剪。
裁剪策略有个优先级顺序,从成本最低的开始:先裁剪检索知识(只保留 Top-K 个片段),再裁剪短期记忆(只保留最近 N 轮),最后裁剪系统指令(精简描述、去冗余指令)。裁剪完了之后,如果发现某些上下文信息确实很重要,再考虑提高预算或者换更大的窗口模型,而不是盲目把 Prompt 无脑放大。
短期记忆的分层管理值得展开说下。我在实践中通常按时间分成三层。最近 5 轮对话完整保留,5-15 轮的对话做摘要压缩(每轮压缩成一句话),15 轮以上的记录标记为长期候选,判断值得存的就抽取关键实体和用户偏好,写入长期记忆存储。这样每次拼接上下文时,系统逻辑是“完整轮次 + 摘要 + 长期偏好 + 检索知识”,整个上下文质量和有效信息密度都高。
3.4 第四步:评估体系建设,从第一天就做
我见过太多团队,AI 系统上线一个月,连“系统回答质量是提升了还是下降了”都说不清楚,靠人工抽检几个案例感觉“还行”。这是最危险的。AI Native 架构必须把评估体系建在业务前面。
离线评估:准备 300-1000 条覆盖黄金路径的评测集,每一条包含用户输入、期望工具调用、期望回答要点。每次系统改造、Prompt 调整、模型换版,都拿这批数据跑一遍。评分可以用 LLM-as-Judge——用大模型给回复打分,维度包括:正确性、完整性、语气恰当性、工具调用遗漏(该调用工具没调用)。用大模型评分前,要先用人工打分做校准,确认评分一致性,否则就是拿一个不靠谱的模型当裁判。
在线评估:对线上真实请求做分层抽样,运营人员打标反馈,并按“用户行为信号”(追问、投诉、二次咨询、会话放弃)做间接评估。线上评估重点关注两个场景:一是新增功能上线,二是一次大版本模型升级。我推荐一个做法:每次模型升级先切 5% 流量灰度,跑 3-5 天,用离线评估集和在线人工抽检两个口径对比新旧模型,再决定是否全量。
评估指标上给出一个参考表,方便你直接抄作业:
| 评估维度 | 指标 | 数据来源 | 目标参考值 |
|---|---|---|---|
| 回答质量 | 准确率(人工打标) | 人工抽检 | ≥ 90% |
| 回答质量 | LLM-as-Judge 综合分 | 大模型打分 | ≥ 85 分(与人工一致性校准后) |
| 工具调用 | 工具调用成功率 | 系统日志 | ≥ 95% |
| 工具调用 | 错误工具调用率 | 系统日志 | ≤ 3% |
| 用户反馈 | 正向反馈率(点赞/采纳) | 业务埋点 | ≥ 70% |
| 用户反馈 | 负向反馈率(投诉/点踩) | 业务埋点 | ≤ 3% |
| 性能与成本 | 请求延迟(P95) | APM | 根据场景而定,通常 ≤ 3s |
| 性能与成本 | 单次请求平均成本 | 计费日志 | 设定月度预算指导值 |
记住一个原则:离线评估决定你敢不敢上线,在线评估决定你要不要回滚。两者缺一不可。
4. 常见问题与排查技巧实录
最后分享一些我在实际项目中频繁遇到的问题,以及排查思路。这些坑如果你都提前知道,至少能省下几周的返工时间。
4.1 模型无限循环调用工具,账单失控
这是 Agent 类系统最经典的事故。模型在一个任务上反复调用工具,每次都得到不理想的结果,然后继续重试,直到把预算耗尽。我见过一个小团队一夜之间跑掉数万元 API 费用,就是 Agent 死循环。
排查方向是先看循环出在哪一步:重复调用同一个工具?工具返回异常但模型没理解?还是模型陷入了自我怀疑不断重试?解决的措施通常是三个维度同时下手。一是硬性限制,单次请求最多调用工具 N 次,超出后强制终止并走兜底回复。二是错误反馈优化,工具返回错误时,要把错误原因写得非常明确,同时更新系统指令,“若工具连续两次返回同类错误,请立即停止,并直接告知用户操作遇到问题”。三是成本熔断,设置单轮请求费用上限,超限自动降级或终止。
4.2 上下文越长回复越差,根源在“信息过载”
用户对话 20 轮之后,AI 明显变笨——前后矛盾、丢信息。大多数人第一反应是“模型不行”,换个更强模型,其实根因往往是上下文里塞了太多冗余内容,关键信息被淹没。
排查思路是检查每次请求的上下文构成。把拼接后的完整上下文导出,人眼看一遍:是否有大量重复的历史摘要?是否检索知识返回了大量不相关片段?是否有过长且未使用过的工具返回结果?这些都是信息过载的元凶。解决方法就是对症下药:历史摘要压缩得更狠、检索 Top-K 调低、相似度阈值调高、工具返回结果只保留关键字段。
4.3 模型格式幻觉,输出的工具参数用不了
模型在生成工具调用参数时,经常会输出字符串、数字类型不一致,或者干脆编造一个不存在的枚举值。行动层如果直接把这些参数透传给业务系统,轻则报错,重则写脏数据。
应对措施在行动层做两层校验:第一层是 Schema 校验,用 JSON Schema 校验工具的参数,非法直接拦截重试;第二层是业务校验,比如日期范围起止、金额大小、状态枚举,这些业务规则模型并不知道,但工具接口有约束,校验不通过要在错误信息里描述清楚,让模型自己修正。刚开始模型可能会连续报错两三次才修正成功,接好上面说的错误反馈闭环即可。
4.4 灰度期间新旧模型质量评估“拍脑袋”
团队换模型版本时,最纠结的就是“什么时候全量上线”。靠主观感受“好像新模型好一点”是不行的。
我的做法是建立一个标准的对比发布流程:新旧模型各分配 5% 流量跑同一场景,同时导出两边的语义日志,混合后交给打标人员盲评(不知道哪条属于哪个模型)。盲评数据积累到一定量(至少 200 条/版本),再做统计,如果新模型胜率显著高于旧模型(比如超 55% 以上)才逐步放量。如果胜率不显著,先不要动。这套流程看着笨,但踏实。
4.5 记忆串号:用户 A 的历史被用户 B 看到了
这是隐私和数据隔离问题。AI 系统的记忆存储如果 key 设计不严谨,特别容易串号。比如用 Redis 存短期记忆时,只用了会话 ID 没绑定用户 ID;向量库检索时过滤条件漏了租户维度。
排查时重点检查三条路径——短期记忆的缓存 key 是否包含完整用户标识,知识检索的向量查询是否带了租户过滤条件,长期记忆的写入是否校验了归属权。数据隔离这件事必须在架构第一版就做好,后面补代价很高。
4.6 成本控制没有抓手,月底一看账单崩溃
AI Native 系统的成本是一种“动态成本”,不像传统云服务器那样相对固定,每一条请求都在消耗 token,模型路由策略一变,成本立刻变。不管控成本,项目很难持续。
我的经验是建立三个层面的成本控制。请求前——模型路由决定走哪个模型,小模型优先;请求中——限制上下文长度和工具调用上限;请求后——按用户、场景、模型维度拆解 token 消耗,找出异常大头(比如某一个用户狂调工具)。成本报表每周过一遍,和前一天对比,波动大就排查原因。我见过团队用这一套方法,把单次平均成本降了 60% 左右,效果可观。
4.7 外部模型服务抖动,整个系统跟着瘫痪
很多 AI Native 系统直接依赖第三方大模型 API。上游服务抖动、限流、超时,如果没有任何兜底,用户面对的就是一个“卡死不响应”的产品,体验很差。
架构层面至少要做三件事:超时与重试(第一层超时控制在 3-5 秒,重试一次切备用通道)、降级策略(当主模型不可用,降级到备选模型;如果所有模型都不可用,直接返回预先写好的静态话术)、队列削峰(高并发期对非实时任务做异步队列处理,削峰填谷)。记住,你的系统要做到“模型可能宕机,但业务不能全线崩盘”。
5. 架构演进路线:从 MVP 走向成熟系统
最小闭环跑通、评估体系就位之后,系统会进入快速演进期。演进路线我建议按下面三个阶段来推,不要跳跃。
5.1 单 Agent 阶段:先做深,再做宽
MVP 阶段先保持一个 Agent 负责全部核心路径,业务代码保持最简。这个阶段主要打磨两件事:工具定义的描述质量(工具描述写得越清晰,模型调用越准确)和评估数据集的质量(评估集覆盖越全面,模型优化越有方向)。经验法则是:工具描述至少包含功能边界、适用场景、注意事项三步;每个工具在评估集里至少要有 10 条触发用例。
当单个 Agent 的 Prompt 超过 3000 字,工具超过 15 个,模型就开始频繁混淆工具边界。这时候不要盲目扩招 Prompt,而是考虑拆分为多 Agent。
5.2 多 Agent 编排阶段:拆分的时机与方式
拆分 Agent 的触发条件,最典型的就是工具太多导致选错工具、单一 Prompt 顾此失彼、不同任务对模型能力的要求差异拉大。比如把客服智能体拆成售前咨询 Agent、售后处理 Agent、工单运营 Agent,每个 Agent 负责的领域窄了,Prompt 可以更聚焦,工具调用准确率会明显提升。
多 Agent 之间的信息和任务传递是关键。业界常见的模式是“Supervisor + 子 Agent”:一个主 Agent 负责理解用户意图并分发任务,子 Agent 负责执行,执行完把结果返回给主 Agent 统一组装。这个模式工程上最稳,也最容易排查问题。多 Agent 系统的可观测性要求更高,所有 Agent 之间的消息传递都要留痕,否则出了问题你根本不知道是哪个环节断的。
5.3 领域化与专属模型阶段:微调与知识内化
系统跑稳定后,你会发现通用大模型在某些领域知识上始终不够精准,或者系统性输出风格不够稳定。这时候可以考虑两个方向:领域知识内化——把高频问题与正确答案沉淀到知识库或微调数据集中,减少对模型推理的依赖;模型微调——用积累的高质量对话数据对开源基础模型做领域微调。
不要一上来就微调几十亿参数的大模型,成本高、周期长。先做数据筛选,挑出 5000-10000 条高质量对话样本,用 LoRA 这类参数高效微调方法,在开源模型上试试水。微调过的模型在特定领域的指令遵循能力和表达风格上会有明显改善。但微调后的模型仍然可能出现灾难性遗忘或泛化下降,必须用离线评估集做回归测试。这个环节不止是技术问题,更是产品和数据的沉淀过程。
5.4 与传统系统融合:AI Native 不意味着推翻一切
最后想说明一个误区:AI Native 架构与传统系统并不是二选一的对立关系。现实中大多数业务场景,AI Native 系统要作为“智能前端”嵌入已有的业务生态中。不要把数据库、消息队列、微服务全推翻重来,而是要设计一个“AI 中间层”,让模型能以一种安全、受控的方式操作背后的传统系统。
具体做法是:传统系统保持原有架构不动,AI 系统在业务之上做一层抽象——把传统系统的核心操作封装成工具(工具层做权限、审计、限流),AI 原生部分专注意图理解、规划与生成,最终形成的体验是:用户以自然语言表达需求,AI 编排工具链调用传统系统完成真实业务动作。这种方式既保留了传统系统的稳定性和事务能力,又让 AI 的灵活编排能力充分释放。我个人觉得,这才是 AI Native 架构在企业环境中真正落地的形态——不是另起炉灶,而是重构人与系统的交互方式。
从一个最小闭环开始,逐步演进到多 Agent 协调,再引入领域微调和持久化数据资产,这个路线我实测下来走得通。初期慢一点没有关系,先把架构的地基打对,调整成本才会越来越低。现在就找一个最值得的黄金路径,先让系统“转起来”,比什么都强。