XXL-AI实践:构建统一Agent编排与多模型接入的AI应用平台

发布时间:2026/10/8 22:36:04
XXL-AI实践:构建统一Agent编排与多模型接入的AI应用平台 今年上半年我一直在折腾一个东西代号叫 XXL-AI。起因很简单团队接 AI 应用的活越来越多但每个项目都在重复造轮子——换一家模型供应商就得重写一遍调用层新接一个工具得重新做 function calling 适配知识库的 RAG 实现从一个项目复制到另一个项目Agent 编排更是各写各的最后出来的东西既没法统一运维也没法在团队里沉淀复用。所以我就想做这么个 AI 应用开发平台把 Agent 编排、多供应商模型接入以及 MCP、SKILL、RAG 这三种扩展机制统一收敛在一个可落地的工程化底座里。这套东西不是给纯研究者看的概念而是给真要在企业里上线 AI 应用的开发者用的。如果你是做后台系统的、正在给公司搭 AI 能力或者被如何把 LangChain/Dify 那套玩法变成自己可控的生产系统困扰过这篇梳理应该能给你一些有用的参考。1. 为什么 XXL-AI 偏偏把这几件事捏在一起做1.1 单个 AI 应用背后的碎片化真相先说结论现在做 AI 应用的难点早就不是写一段 Prompt 调一下大模型了而是碎。第一个碎是模型供应商碎片化。OpenAI、Anthropic、通义、文心、DeepSeek、本地部署的 Qwen 等等各家 API 风格虽然都往 OpenAI 格式靠拢但参数命名、流式输出的 SSE 事件格式、上下文窗口上限、错误码全都不完全一样。今天用小模型做意图分类明天用大模型做复杂推理后天可能还要接开源模型做私有化部署如果没有一个统一层每个接入都是一轮重复劳动。第二个碎是工具调用碎片化。之前接工具给模型用要走 Function Calling每家框架对 function schema 的定义略有差异而且这个工具只能在这一个 Agent 场景里用。换个项目又得重新对接一遍。工具能力的复用性非常差。第三个碎是知识库碎片化。文档解析、切分、向量化、检索、重排这套 RAG 流程每个团队都在做但做出来的工程实现五花八门向量库有的用 FAISS 有的用 Milvus 有的用 pgvector切分参数全凭感觉检索准确率没有标准。第四个碎是工程基础设施缺失。做出来了就当 API 抛出去没有权限控制没有审计没有按用户或业务线分桶限流。这在 demo 阶段无所谓真上生产就是事故。所以我做 XXL-AI 的第一个决定就是不做又一个 Agent 框架而是做一个有明确分层、能承载上述碎片化问题的平台底座。1.2 平台化的切分逻辑稳定内核与可插拔扩展XXL-AI 的设计思路可以用一句话概括把不变的部分做成稳定内核把善变的部分做成可插拔扩展。稳定内核是什么是 Agent 编排引擎、模型网关、权限与审计体系、可观测性模块。这些东西一旦确定下来不应该轻易变变了整个平台的 API 和运行模型就崩了。可插拔扩展是什么是模型供应商、MCP 工具、SKILL 技能包、RAG 知识库。它们都是资源模型是按需注册的 Provider工具是通过 MCP 协议接进来的 Tool技能是封装好的方法论包知识库是一套独立的数据存储。平台本身不认识具体的某家模型、某个工具、某份知识文档它只提供统一的抽象接口和调度机制。这个切分逻辑很像公司里的中台员工Agent不直接跑到外部供应商多家模型那里谈业务也不自己去翻档案室RAG更不自己联系物业修空调MCP 工具而是走标准的申请流程由中台统一调度。中台的好处是供应商可以换、档案室可以换、物业可以换但员工的工作流程不用变。放到 XXL-AI 上来就是换模型不换编排、换工具不换流程、换知识库不换 Agent。实测下来这个分层对团队协作特别重要几个人可以并行工作有人专门维护模型接入层有人专心做 SKILL 包有人去治理知识库互不打架。2. Agent 编排多 Agent 协作的核心引擎2.1 编排模型的四种基本形态Agent 编排这个词听起来玄乎其实拆开就是几个基础模式。我常用的分类是四种基本形态再加一个贯穿始终的人机协同。第一种是链式ChainA 的输出作为 B 的输入按顺序执行。适合流水线型任务比如先把用户问题做实体抽取再把抽取结果送去做搜索关键词扩展然后生成回复草稿。第二种是路由Router先做一个意图判断或条件判断然后把请求分发到不同的分支。最适合客服分流、工单分类这类场景。我一般用一个小模型做路由便宜又快。第三种是并行Parallel多个子 Agent 同时跑最后合并结果。适合多路资料整理、多个方案生成比如让一个 Agent 查产品参数另一个 Agent 查售后政策最后合并成一份完整回答。第四种是层级Hierarchy一个主管 Agent 负责拆解任务、分配任务给若干个下属 Agent下属执行完汇报主管做汇总和决策。这适合复杂项目比如制定一份营销方案主管拆成市场调研、竞品分析、内容规划三个下属分别干。人机协同则是另一个维度在任何一步如果置信度不够、涉及高风险操作、或者需要人工审批就把节点标记为 human_in_the_loop挂起等待人工处理。这个在后面工单示例里会讲。2.2 上下文与状态管理多 Agent 编排最容易翻车的地方不是调用关系而是上下文和状态管理。我在 XXL-AI 里把上下文拆成三类严格隔离第一类是会话上下文也就是用户和系统之间的多轮对话历史交给 LLM 用但要考虑裁剪第二类是任务上下文也就是当前这个工作流实例跑到哪一步了、产生了哪些中间结果存在执行引擎的变量表里第三类是全局配置比如选了哪个模型路由策略、绑定哪个知识库 ID、安全策略是什么。这三类不能混着来。最常见的错误做法是把所有 Agent 共享同一个大模型历史消息结果就是子 Agent 之间互相污染上下文——A Agent 的工具返回被 B Agent 当成自己的对话内容回答就会串味。中间结果的结构也很关键。我习惯给每个任务实例维护一个可序列化的状态 JSON每一步产生的关键结论都写成结构化字段。举一个实际的状态结构示例{ task_id: T20240613001, step: verify_return_eligibility, inputs: { order_id: SO12345, user_id: U888 }, intermediate: { order_query: { status: delivered, item_name: XXL-001 }, policy_rag: { allow_return: true, deadline: 签收后7日内 } }, output: { decision: eligible, next: human_approval } }这样每个 Agent 不需要把整段对话历史翻出来只从状态里取自己需要的字段就行最后要审计或复盘也非常清楚。2.3 一个多 Agent 编排示例工单处理链路空谈设计不如直接看一个能落地的流程。我拿一个很典型的智能客服工单处理来说。第一步入口 Agent。用便宜的小模型对用户输入做意图分类输出固定的 JSON 标签order_query订单查询、return_refund退换货、human需要人工。这一步不要用大模型省钱。分类结果进入路由节点。第二步路由分发。根据标签分别进入三个分支订单查询分支、退换货分支、人工坐席分支。第三步订单查询分支。这个子 Agent 身上绑定了一个订单查询 SKILL、一个订单系统 MCP Server、一个产品知识 RAG 知识库。它的执行逻辑是先从任务上下文中取出 order_id然后调用订单查询 MCP 工具拿到订单状态再用订单查询 SKILL 里预设的回复模板把结果包装成一段用户友好的回复回复里还能从 RAG 里带上这个产品的常见使用提示。第四步退换货分支。这个子 Agent 先检索售后政策 RAG 知识库判断订单是否满足 7 天无理由退货条件。如果满足就调用创建售后单 MCP 工具提交申请。但注意这里涉及用户资金我设置了 human_approval 节点工具调用只是预提交真要执行退钱必须由人工坐席在后台点确认。如果不满足条件就直接用政策里的条款解释拒绝原因。第五步人工坐席界面。转人工时平台把任务上下文做一次摘要连同用户原始的诉求一起推到坐席工作台。坐席不需要重新问一遍您的订单号是多少因为状态里已经有了。整个过程我做成声明式配置而不是硬编码流程。配置片段大概是这个样子nodes: - id: intend_router type: llm_router model_group: cheap-fast next: order_query: order_query_agent return_refund: return_refund_agent human: human_handoff - id: order_query_agent type: agent skills: [order_query_skill] mcp_servers: [order_mcp] rag_kb: [product_kb] next: end声明式的好处是调整流程不需要改代码运营人员就能在后台拖节点改配置。2.4 编排过程中的三个高频坑第一个坑是死循环。两个 Agent 互相调用、互相补充最后在循环里打转烧 token。我在执行引擎里做了三层兜底配置管理上用 DAG 在启动时检测环运行时给每个任务设最大步数默认 20 步超过就中断并告警再加一个状态去重——如果当前任务的状态哈希和上一步完全一样但又要重复调用同一个工具基本可以判定是死循环直接强制中断。第二个坑是上下文爆炸。多轮对话加上工具返回结果很容易把上下文窗口撑爆。我做了两个处理一是工具结果截断单条工具结果超过 2000 字就先做摘要再注入二是自动压缩对话历史超过阈值时用摘要模型把早期对话压成一段摘要再配合滑动窗口保最近几轮。第三个坑是并行分支的竞态。两个并行 Agent 同时往同一份任务状态里写字段写乱是很正常的。我做了变量表的版本控制任何字段写入都带版本号冲突时以后写胜出同时保留冲突日志。虽然简单但在实战中确实能少很多诡异问题。3. 多供应商接入模型网关与路由降级3.1 为什么要接多家模型做 AI 应用平台如果只绑死一家模型供应商等于把所有鸡蛋放进一个篮子。接多家模型不是花架子有三个明确的现实理由。第一是成本。任务复杂度有高低服务端永远用最强模型会贵到离谱。把意图分类、实体抽取、摘要这类简单任务路由到便宜的小模型把代码生成、复杂推理这些重任务路由到强模型整体成本能降一半以上。第二是可用性。任何一家供应商都可能限流、故障、升级导致接口波动。这时候如果网关能自动把流量切到另一家同级别的模型用户几乎无感知。我在网关里加了对供应商健康状态的定时探测连续失败达到阈值就摘除节点。第三是能力差异。有的模型长上下文处理强有的模型工具调用稳定有的模型中文表达好有的模型写代码强。不同场景用不同模型是一个正常需求而多供应商接入就是让按场景选模型成为可能。3.2 归一化抽象适配层设计多供应商接入不能是每个调用方直接 new 一个 SDK。我在 XXL-AI 里做了一个 ModelClient 统一接口上面只暴露几个方法chat普通对话、stream流式对话、embedding向量化、tool_call带工具调用。每个供应商写一个 ProviderAdapter负责把自家 SDK 的请求、参数、响应、SSE 流、错误码、token 统计全部归一化。适配层要处理的细节很多。最烦的是 SSE 流式协议差异有的供应商每条事件里带 delta 字段有的直接推全文片段有的结束标记是 [DONE] 有的不是。我在适配层统一转成平台内部的流式事件格式下游客户端只需解析一种格式就行。其次是 tool_call 格式差异各家工具调用的请求体和返回体结构不完全一样也要在适配层抹平。还有超时设置我默认非流式请求 30 秒流式首包 5 秒连首包都等不回来基本就不是慢而是一挂了。3.3 路由与降级策略配置示例模型网关里我配置的是模型组 策略 模型列表的结构。每个逻辑场景对应一个模型组比如廉价分类组高质量生成组代码助手组组内配置多模型来源。{ model_group: cheap-fast, strategy: failover, models: [ { provider: s1, model: fast-model-v1, weight: 80, max_concurrency: 10, timeout_ms: 30000 }, { provider: s2, model: cheap-model-v2, weight: 20, max_concurrency: 5, timeout_ms: 60000 } ], fallback_models: [ { provider: s3, model: local-llm } ] }strategy 支持三种priority 是按配置顺序优先选第一个挂了才切下一个failover 是按健康状态选当前可用列表中优先级最高的weight 是按权重比例分发流量常用于灰度验证一个新供应商或新模型先放 20% 流量跑跑看没问题再逐步放大。无论哪种策略重试都必须是幂等的。比如生成订单摘要的请求重试一百次结果都一样但创建退款单这种写操作绝对不能因为超时而盲目重试。我在网关里给每个模型组配了 is_idempotent 标志写操作失败一律走人工处理而不是自动重试。3.4 成本、限流与稳定性的平衡多供应商接入后限流变成一个必须处理的问题。每个供应商的 key 都有并发和 QPS 上限平台作为中间层要加自己的令牌桶限流。我还给业务线做了月 token 配额超了就告警或者降级。熔断器在这里也非常关键。我见过一个案例某供应商接口开始变慢所有请求都卡在那儿等结果把整个 Agent 服务拖垮。后来在网关里加了熔断逻辑一个供应商连续失败超过 5 次熔断器打开后续请求直接走下一个可用供应商不再等待响应经过一个冷却时间后再放少量探测流量试探恢复。这个机制上线后供应商故障对业务的影响从全挂降到了个别请求失败。4. MCP SKILL RAG三种扩展机制的定位与配合4.1 MCP统一工具调用的协议层MCP 的全称是 Model Context Protocol。这个协议解决的是工具调用标准化问题以前接一个工具给 AI 用要做一套 function calling schema换一个框架又要重做一遍。MCP 把工具暴露成标准服务——任何支持 MCP 的客户端都能发现并调用这个工具模式像 USB 接口一样设备工具只要符合插口标准就能连上去用。MCP 的架构分两端MCP Host 是发起调用的客户端比如 Codex、Dify、Cherry Studio以及 XXL-AI 里的 Agent 执行器MCP Server 是工具提供方通过 stdio 或 SSE 方式暴露工具列表和调用能力。MCP 生态这两年已经长出很多实际场景设计工具类有 Figma、蓝湖的 MCP让 Agent 直接读取设计稿内容浏览器自动化有浏览器 MCP让 Agent 操作网页调试器插件、游戏引擎 Unreal 也有 MCP 工具出现甚至连工业自动化交付包、医疗设备交付包都开始带 MCP 接口。可以说它正在成为一个跨软件的互操作层。在 XXL-AI 里接入一个 MCP 工具的流程我一般按四步走找到或开发 MCP Server确认它是用本地进程stdio还是远程服务SSE提供。在平台后台注册 MCP Server填入命令或服务地址配置鉴权凭据。声明工具白名单同一个 MCP Server 可能有一堆工具但只给特定 Agent 暴露它需要的那几个不能全量放行。测试调用。我会先用 MCP Inspector 之类的调试工具单独调一下这个工具确认返回格式没问题再绑到 Agent 上。真实环境里踩得最多的坑就两个一是工具列表为空通常是 MCP Server 没启动成功或者鉴权没通过工具列表返回为空客户端自然找不到工具二是 SSE 连接超时Server 端心跳机制没配置好长时间空闲被切断。这些在排障章节会具体讲。4.2 SKILL把经验固化成可复用技能SKILL 在 XXL-AI 里的定位不是一段 Prompt而是一个完整的可复用技能包。它包含四部分技能描述什么时候该用这个技能、提示词模板具体怎么做、资源绑定需要哪些 MCP 工具和 RAG 知识库、校验规则结果怎么算合格。打个比方SKILL 就像员工上岗手册。新员工Agent不知道公司流程但有了手册——先做售前咨询再录工单再跟进回访——照着做就不会乱。技能的好处是同一个技能可以绑给不同的 Agent也可以在团队之间复用。实际技能的例子很多。常见的有客服技能绑定了售后政策 RAG、工单创建 MCP、固定的回复风格模板。有去 AI 味技能输入 AI 生成的初稿按口语化、删掉万能套话、加入具体细节、加真实数字的规则改写很多内容团队真的在用。还有备课技能输入主题后自动规划大纲、生成讲义、制作配套习题最后一步校验有没有超纲。我还在技能库里引入了技能编码体系比如 SKILL-247、SKILL-193 这样的编号。编号本身没什么技术含量但好处是运维和审计时方便日志里直接记录调用了 SKILL-247比记录一段长技能名清晰得多。4.3 RAG知识检索增强的正确打开方式RAG 是现在让模型说人话、说对事的最重要手段。XXL-AI 的 RAG 模块走的是标准流程文档接入、解析、清洗、切分、向量化、入库、检索、重排、注入。这个流程听起来简单但每个环节做不好都会影响最终回答质量。先说切分。我习惯中文场景用 400-600 字的 chunkoverlap 设为 10%-20%。切太碎了跨句信息断了一个 3000 字的政策条款答案可能在中间几段只检索到一个碎片就答不完整切太大了单个 chunk 噪声多还浪费上下文窗口。还有一个小细节切分要尽量按段落切不要在句子中间硬切尤其是列表和表格一定要整体保留。再说检索。只靠向量检索远远不够因为向量检索对关键词、编号、缩写这类精确匹配很弱。我做了混合检索向量检索加 BM25 关键词检索两个结果做融合打分先召回 top30-50 个候选再交给一个 rerank 模型做重排最后只取 top5 注入 Prompt。这一套下来回答准确率提升非常明显。关于RAG 知识库能不能存图片这个问题我直接给结论能但要分清两种做法。第一种是文档类 RAG把文档里的图片先用 OCR 或视觉模型转成文字描述再和正文一起入库。比如一份产品手册里的结构图转成图该产品的分解结构包含 A、B、C 三个部件这样的文字描述检索和问答都走得通这也是大多数项目的做法。第二种是多模态 RAG图片本身用多模态 embedding 模型向量化检索出图片后直接交给支持视觉的大模型理解。这种做法更先进但成本高、链路复杂大多数场景用第一种就够了。还有一个被问烂的问题RAG 本地化怎么做。零基础可复制的路线是Ollama 拉起一个 embedding 模型和一个对话模型比如 nomic-embed-text 和 qwen2.5再用 Python 脚本做文档读取、切分、向量生成存进 Chroma 向量库最后写一个检索问答循环。整套流程不到一百行代码就能跑通适合学习和验证生产环境再迁移到更重的向量数据库。RAG 最大的瓶颈其实不在引擎而在数据质量。文档版本混乱、重复内容、陈旧政策这些污染源会让检索结果一团糟。我见过太多项目把精力花在调 embedding 模型上却连知识库里去重都没做最后效果差还很困惑。先把数据治理好再谈参数优化。4.4 三者如何在一个场景里协同工作用一个实际场景把三者串起来客户问我的订单 SO12345 能不能退货。Agent 编排层先做路由判断这是退换货意图进入退换货子 Agent。这个子 Agent 身上绑定了售后处理技能包SKILL技能包告诉它第一步必须查售后政策绑定售后政策 RAG 知识库第二步查这个订单的具体状态绑定订单系统 MCP Server第三步判断资格并按模板回复。RAG 提供了政策允许签收后 7 日内退货的知识MCP 提供了订单已发货且签收 3 天的事实SKILL 决定了执行顺序。最后一层是编排引擎负责把这几步串起来并把需要人工确认的退款动作挂起等人处理。一句话总结RAG 提供知识MCP 提供手SKILL 提供方法论Agent 编排当指挥官。5. 工程化底座把 AI 能力嵌进企业管理体系5.1 后台管理、权限与审计AI 应用做出来不能裸奔。XXL-AI 里面内置了一个完整的后台管理系统用户与角色用 RBAC 权限模型一个 AI 应用Agent可以配置为只对特定角色可见、可调用模型 Key 不落到前端统一由服务端网关持有技能库、知识库、MCP Server 的注册表都做成后台菜单管理而不是写在代码里。现在很多团队在做类似的事把 AI 能力并进 RuoYi-Vue-Pro 这类后台管理框架把 MCP 工具、Agent 编排变成后台模块。这个思路和我做的底座本质是一样的——让 AI 能力成为管理系统里的一个可配置、可审计、可运维的模块而不是挂在业务代码旁边的野孩子。审计日志方面我记录了每次调用的完整元信息谁在什么时间调了哪个 Agent、路由到了哪个模型、调用了哪个 MCP 工具、检索了哪些知识文档、消耗了多少 token。这在合规审计和事故追责时都是必需品。配额管理也在这里做每个业务线有月度 token 预算超过阈值就告警超过硬性上限就限流。5.2 可观测性一次对话的完整链路追踪AI 应用的排查难度远高于普通接口因为一次回答背后可能有路由决策、模型调用、工具调用、知识检索多个环节。我照着链路追踪的思路做了 AI 可观测性每次请求生成一个 traceId贯穿所有环节。整个 trace 包含多个 span路由决策 span、模型调用 span、MCP 工具调用 span、RAG 检索 span。每个 span 记录四类信息节点类型、耗时、token 消耗、错误信息。输入输出不强求全文记录但至少记录摘要方便确认当时的上下文是什么。我一般用 OpenTelemetry 的标准来打 span这样下游可以直接接 Grafana、Jaeger 这些成熟的观察平台。排查问题的时候先看链路图能非常快定位到是模型返回超时还是MCP 工具报错还是RAG 检索为空不用再瞎猜。5.3 部署形态与灰度发布部署形态上XXL-AI 底座支持单机模式跑开发环境生产环境用容器化部署。这里必须强调的是密钥管理模型供应商的 Key 是核心资产绝对不能明文进配置库要走密钥管理服务运行时由网关侧注入。配置中心的敏感字段也要做加密存储。灰度发布也是企业使用的高频需求。一个 Agent 换了新的技能包或者换了模型组配置我不会直接全量切流量而是先让 10% 的流量走新配置观察错误率和用户反馈没问题再逐步放大。在工程底座里一次 Agent 配置变更就应该像微服务的灰度发布一样有版本、有回滚开关。6. 常见问题与排查技巧实录6.1 高频问题速查表这段把我在实际使用中遇到的问题整理成一张速查表方便你遇到类似情况时快速对照症状常见原因快速处理Agent 反复执行同一个工具调用状态未更新循环未检出设置最大步数按任务状态哈希去重DAG 启动时检测环MCP 工具列表为空找不到工具MCP Server 未启动、工具白名单未配、鉴权失效用 MCP Inspector 单独调试检查注册列表与鉴权配置RAG 回答答非所问切分不合理、只用向量检索、知识版本太旧调 chunk_size 与 overlap启用 BM25 rerank更新知识库切换供应商后回复格式异常各厂商参数差异没走适配层或超时设置不对统一走 ModelClient 适配层检查 timeout 与 max_tokens对话越长越慢、甚至报上下文超限历史消息与工具结果堆积启用滑动窗口 摘要压缩工具结果只保留结论摘要高并发时大量限流错误模型供应商并发配额不足网关排队熔断降级多供应商负载分配调工具报参数校验失败LLM 生成的参数与 tool schema 不相符增加 schema 校验与自动纠错提示词里加明确格式约束6.2 排查思路与几段实战心得排查这类问题我的固定路子是三步走。第一步看链路。打开 trace 看整个调用链先确定问题出在哪一段是路由就没走对还是模型返回就错了还是 MCP 工具段报错还是 RAG 检索为空。这一步能排除 80% 的猜测。第二步把 MCP 工具单独拎出来调。MCP 工具最容易出现客户端测着没问题Agent 里跑就报错的诡异情况。因为客户端会给你现成的参数但 Agent 里是 LLM 在生成参数偶尔会生成畸形 JSON 或者缺失字段。所以我在绑定 Agent 之前一定会先用调试工具以裸调用方式测一遍工具。如果裸调用正常但 Agent 里不行那问题基本就锁定在 LLM 生成的参数上解决方案是在提示词里加格式约束同时加一层 schema 强校验参数不对就自动映射补齐而不是直接报错。第三步RAG 问题先查检索再查生成。很多人一觉得回答不对就去调 Prompt我建议先直接去向量库里查一查针对同样的问题做一次检索看看 top5 命中的文档到底是不是正确答案所在。如果检索结果里根本没有正确答案那问题在切分或数据入库环节如果检索到了但模型不按检索结果回答那才轮得到去调 Prompt。还有两个实战里反复踩过的细节提一下。一个是并发和熔断的配置熔断阈值不要设得过于敏感我一开始设连续失败 3 次就熔断结果某供应商一次临时网络抖动就导致大量流量被切走反而放大了故障。后来改成连续失败 5 次进入熔断、半开状态放 10% 探测流量稳定了很多。另一个是成本控制接多供应商之后我把模型调用日志里的 token 消耗做了按供应商、按模型组的日汇总面板有一天发现某条业务线的日消耗翻了五倍一查是有人配置错了路由把廉价分类任务全部打到了大模型组上这种事故如果没有 token 账单面板真到月底对账才会发现。最后再分享一个我在整体架构取舍上的体会MCP、SKILL、RAG 这三者虽然能力有重叠但最好让它们各司其职不要试图用一个替代另一个——有人想用 SKILL 硬扛知识查询有人想把所有工具调用都塞进 RAG最后都会在复杂场景里崩掉。MCP 管动作能力RAG 管知识记忆SKILL 管做事方法这是我认为最稳的分工。如果你也在搭类似的平台别急着把所有扩展机制都堆上去先跑通一个最小闭环一个路由 Agent、一个 SKILL、一个 MCP 工具、一个 100 篇文档的小知识库把这个闭环做稳定了再一步步往上加复杂度。这套路子我亲自走过踩过不少坑希望这篇整理能帮你少走弯路。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询