一、前言:

使用Agent智能体的第一个优势是降低了应用开发的成本和门槛,在工作和生活中,我们很多时候存在很多的需求,这些需求如果想要满足,要么就是寻找已经造好的轮子(比如现成的平台或APP),要么就是自己动手DIY一个定制化的轮子,Agent的出现,其实是“解放了人的生产力”,所以,Agent其实是一个极大提升效率的生产力。

1.1 智能体快速开发的业务痛点:

那么,您是否跟我一样在体验别人的AI Agent智能体,或者在私有化部署环境迁移后带来的业务痛点:

  • A开发的AI Agent智能体有效的提高了业务效率的50%,促使行业的降本节流,但其他团队无法快速复用该成果,只能重复开发;
  • B开发的"获取最近的商家圈子"工作流,95%的业务流程符合我的业务需求,但是有5%左右的差异化想修改一下,若从零搭建则浪费大量时间;
  • C同事在线上生产环境已搭建了v1版本已经在线上运行的项目,但是突然有个需求需要迭代,需复刻开发环境进行调试,手动复刻配置繁琐且易出错;
  • D同事新来项目组,需要增加新功能,结果不熟悉,误删节点、修改参数,导致功能缺失,影响业务正常运转。

1.2 openJiuwen跨环境迁移导入导出解决能力:

openJiuwen的智能体与工作流都支持导出为JSON格式的文本文件,开发者下载该文件到本地后,可将该文件导入至工作流编译器来恢复至导入时的工作流。该功能可帮助开发者高效管理工作流历史版本、实现跨域分享,适用于版本控制、团队协作等多种场景,智能体与工作流的导入导出功能,是实现其规模化应用、团队协作和稳定运维的核心基础。

请添加图片描述

openJiuwen 提供的智能体(Agent)与工作流导出为 JSON 文件的功能,主要应用于以下几个场景:

  • 版本管理‌:通过将智能体和工作流配置导出为 JSON 文件,这主要用于版本管理、协作和跨环境分享,用户可以轻松地对不同版本的配置进行管理。例如,在开发过程中,每次修改后都可以导出一个新版本的 JSON 文件,便于回溯和比较不同版本之间的差异。

  • 协作与共享‌:在团队协作中,用户可以将自己创建的智能体或工作流以 JSON 格式分享给其他成员,确保团队内的成员能够快速导入并使用相同的配置,这种方式简化了知识传递和资源复用的过程。

  • 跨环境迁移‌:当需要将智能体或工作流从一个环境迁移到另一个环境时(如从开发环境迁移到生产环境),导出的 JSON 文件可以作为标准配置文件进行导入,从而保证配置的一致性,导出的 JSON 文件包含了工作流的节点定义、连接关系、配置参数等核心元数据,使其能够在同一平台内被重新导入并恢复执行。

  • 备份与恢复‌:为了防止配置丢失或系统故障导致的数据损坏,用户可以通过定期导出 JSON 文件来进行备份。一旦出现问题,可以从备份文件中恢复原有的智能体或工作流设置,openJiuwen 支持将智能体(Agent)的完整配置导出为 JSON 文件,以便直接导入使用。 这种导出功能使得用户可以便捷地迁移、备份或共享其构建的智能体。

  • 配置标准化与复用‌:对于重复性的任务或常见的业务逻辑,用户可以将已有的智能体和工作流导出为 JSON 文件,形成可复用的模板。在后续项目中直接导入这些模板,能够显著提高开发效率。

这些应用场景使得 openJiuwen 的 JSON 导出功能成为提升工作效率和保障系统稳定性的重要工具,openJiuwen 的导出/导入功能更适用于其自身生态内的迁移和共享,而非跨平台的直接兼容。


1.3 "旅游规划智能助手"案例迁移实践:

快速完成一个旅游规划师的工作流并实现导入导出,可以利用当前主流的AI智能体开发平台(openJiuwen)提供的可视化工作流编排功能,允许用户通过拖拽组件、预设模板和一键部署,无需深入编程即可构建专业级的旅游规划AI系统。

请添加图片描述

以"旅游规划师"智能体场景为例,我们可直观感受导入导出功能的价值:快速完成旅游规划师工作流的二次开发,无需深入编程,依托平台可视化编排能力,结合导入导出的高效性,即可快速构建专业级AI智能体,实现业务落地效率的翻倍提升。

1.3.1 项目开发的前后对比:
对比维度 常规开发(无导入导出) 支持导入导出的智能体开发
开发思路 需要从0开始构思智能体的工作部分 基于现有智能体或者工作流进行二次改造
‌项目起点‌ 从零开始搭建逻辑、配置节点和参数,需手动逐项设置 可基于已导出的JSON模板快速导入已有结构,复用成熟配置
‌配置效率‌ 耗时较长,尤其在复杂工作流中容易遗漏细节 通过导入功能一键还原完整逻辑,大幅提升部署速度
1.3.2 项目维护前后对比:
对比维度 常规开发(无导入导出) 支持导入导出的智能体开发
‌一致性保障‌ 不同环境间配置易出现偏差(如开发/测试/生产) 导出的JSON作为“单一可信源”,确保多环境配置一致
‌版本控制‌ 难以追踪变更历史,修改依赖人工记录或注释 JSON文件可纳入Git等版本管理系统,实现变更对比与回滚
‌团队协作‌ 依赖文档或口头传递配置逻辑,信息易失真 直接共享JSON文件,实现“配置即代码”的协同开发模式
‌知识沉淀‌ 智能体逻辑散落在个人经验中,难以复用 可将通用能力打包为可导出模板,形成组织级资产库
‌迁移成本‌ 跨项目或平台迁移需重新开发,成本高 通过导出/导入实现“一次构建,多处部署”
‌备份恢复‌ 无系统性备份机制,故障后恢复困难 定期导出JSON实现配置持久化,支持快速灾难恢复
‌调试与测试‌ 每次修改需在原环境中直接操作,风险较高 可在隔离环境中导入副本进行测试,降低影响范围

二、旅游规划智能助手(新增工作流实践):

接下来,我以一个"旅游类的推荐智能助手"来直观的来感受一下,如何使用工作流的导出与导入来‌提高智能体的可移植性、复用性和协作效率‌,通过导入导出机制,用户可以轻松地将一个智能体的完整配置和数据从一个环境迁移到另一个环境,例如从开发环境部署到生产环境,或者在不同开发者之间共享智能体。

2.1 背景:

随着旅游规划智能体的兴起,是人工智能技术与旅游产业深度融合的产物,其背景既根植于AI技术的快速迭代,也紧密贴合当前“智慧旅游”、“个性化出行”、“轻规划重体验”等消费趋势,已成为文旅行业数字化转型的核心抓手之一。面对孩子“寒假想去上海玩”的期待,传统旅游攻略需耗费数日查资料、排路线、算预算,而职场高压下时间碎片化成为痛点,当使用openJiuwen进化为“规划搭档”,宅男程序员爸爸瞬间变身旅游攻略制作达人,享受松弛人生。

在旅游类型的智能体中,集成天气检查的工作流扮演着关键角色,它能将天气信息从简单的数据查询,转化为提升旅行体验和安全性的智能服务。其核心作用在于‌自动化、个性化和风险预判‌,让旅行规划更智能、更安心。

2.2 "天气检查"的工作流作用:

具体来说,旅游智能体中的天气检查工作流主要有以下作用:

  • 精准规划行程:工作流能根据用户设定的旅行日期、目的地和活动类型(如登山、海滩游),自动检索并分析历史天气数据与短期预报,推荐最佳出行时段。例如,告诉用户“上海中心大厦观景台在周三上午能见度最高”或“崇明岛今晚星空观测指数为‘极佳’”,避免因天气不佳而浪费行程。
  • 动态调整与应急响应:当旅行途中突发天气变化(如突然降雨、大雾、高温预警),工作流能实时监测气象数据,自动触发应对流程。例如,建议更改户外活动为室内项目、重新规划路线以避开积水路段,这种“感知-决策-行动”的闭环,极大提升了旅行的韧性。
  • 整合多源数据,实现“智慧导游”功能:先进的旅游智能体将天气工作流与旅游景点数据库、交通信息、用户偏好等深度融合,不仅能告知天气,更能“懂”你的兴趣。

总而言之,旅游智能体中的"天气检查工作流",不再是简单的“查天气”工具,而是一个以用户为中心、能主动思考、自动执行的旅行管家,它将气象服务从“被动告知”升级为“主动服务”,是实现“无忧旅行”和“智慧旅游”的核心技术之一。


2.3【天气查询工作流】实践:

以下为官方自带的工作流插件,可以看到有一个“check_weather“的工作流,可以看到功能也只是比较单一,跟我的目标要求只能说符合70%左右,接下来,我们来进行改造一下,但是从0到1来写吗?没有必要,拿来主义,跟写代码一样,把现有的功能模块拿过来改吧改吧就能够实现效果,节省开发的时间。

首先测试一下工作流是没有问题的,可以正常运行:
请添加图片描述

接下来,我们可以点击"导出工作流"按钮即可下载相关的json文件。
请添加图片描述

json文件如下:

{
  "nodes": [
    {
      "id": "start_1",
      "type": "1",
      "meta": {
        "position": {
          "x": 180,
          "y": 32
        }
      },
      "data": {
        "title": "开始",
        "outputs": {
          "type": "object",
          "properties": {
            "city": {
              "type": "string",
              "default": "",
              "description": "待查询城市名称"
            },
            "date": {
              "type": "string",
              "extra": {
                "index": 2
              },
              "description": "待查询日期"
            }
          },
          "required": [
            "city",
            "date"
          ]
        }
      }
    },
    {
      "id": "end_1",
      "type": "2",
      "meta": {
        "position": {
          "x": 1100,
          "y": 32
        }
      },
      "data": {
        "title": "结束",
        "inputs": {
          "inputParameters": {
            "result": {
              "type": "ref",
              "content": [
                "llm_1",
                "output"
              ],
              "extra": {
                "index": 0
              }
            }
          },
          "streaming": true,
          "content": {
            "type": "template",
            "content": "{{result}}"
          }
        },
        "streaming": false
      }
    },
    {
      "id": "llm_1",
      "type": "3",
      "meta": {
        "position": {
          "x": 640,
          "y": 0
        }
      },
      "data": {
        "title": "大模型1",
        "inputs": {
          "llmParam": {
            "systemPrompt": {
              "type": "template",
              "content": "## 人设\n你是天气查询助手,一个专业的、基于数据的天气信息提供者。\n你精通气象学基础知识,能够准确、清晰地解读和传达天气数据。\n\n## 任务描述\n你的核心任务是响应用户的天气查询请求,模拟生成一个结构完整、信息详实、易于理解的天气查询结果回复。你的回复应让用户感觉是在查询一个真实的天气服务系统,从而获得他们所需的气象信息。\n\n## 约束条件\n1.  你的回复必须基于用户提供的查询地点(城市或区域)和查询时间(如今天、明天、具体日期)来生成。\n2.  所有天气数据(如温度、湿度、风力、天气现象等)均为模拟生成,旨在提供一个合理、典型的天气报告示例。\n3.  **严禁**在回复中提及“模拟”、“虚构”、“假设”或任何暗示信息非真实来源的词语。你的角色就是一个天气数据的中继者。\n4.  回复内容应专业、友好,并包含对用户的温馨提示(如穿衣建议、出行提醒等)。\n5.  如果用户查询的地点不明确或时间范围无法解析,应礼貌地请求用户提供更具体的信息。\n6.  按照<输出格式>组织你的回复。\n\n## 执行步骤\n1.  **解析查询**:仔细阅读用户的输入,提取关键信息,包括查询地点和查询时间。\n2.  **数据模拟**:根据提取的地点(例如,北京、上海)和时间(例如,今天、2023年10月27日),模拟生成一套合理的天气数据,包括但不限于:温度范围、天气状况(晴、多云、雨等)、风向风力、空气湿度、空气质量指数(AQI)、日出日落时间。\n3.  **组织信息**:将模拟的天气数据按照<输出格式>的要求进行组织,确保信息层次清晰。\n4.  **添加提示**:根据模拟的天气状况,生成1-2条贴心的生活或出行建议。\n5.  **生成回复**:将组织好的信息和提示整合成一段连贯、自然的回复,直接提供给用户。\n\n## 输出格式\n请使用以下格式组织你的回复:\n\n**【查询地点】天气报告(查询时间)**\n\n*   **天气状况**:{{天气现象,如:晴转多云}}\n*   **温度**:{{最低温度}}℃ ~ {{最高温度}}℃\n*   **风力风向**:{{风向}} {{风力等级}}级\n*   **湿度**:{{相对湿度}}%\n*   **空气质量**:{{AQI指数}} ({{空气质量等级,如:良}})\n*   **日出/日落**:{{日出时间}} / {{日落时间}}\n\n**温馨提示**:{{根据天气生成的1-2条具体建议,例如:昼夜温差较大,请注意适时增减衣物。}}\n\n(回复结束,无需签名或额外说明)"
            },
            "prompt": {
              "type": "template",
              "content": "天气查询的城市为:{{city}};日期为:{{date}}"
            },
            "model": {
              "id": "1",
              "name": "DeepSeek-V3",
              "type": "DeepSeek-V3"
            }
          },
          "inputParameters": {
            "city": {
              "type": "ref",
              "content": [
                "start_1",
                "city"
              ],
              "extra": {
                "index": 0
              }
            },
            "date": {
              "type": "ref",
              "content": [
                "start_1",
                "date"
              ]
            }
          }
        },
        "outputs": {
          "type": "object",
          "properties": {
            "output": {
              "type": "string",
              "extra": {
                "index": 1
              }
            }
          },
          "required": [
            "output"
          ]
        }
      }
    }
  ],
  "edges": [
    {
      "sourceNodeID": "start_1",
      "targetNodeID": "llm_1"
    },
    {
      "sourceNodeID": "llm_1",
      "targetNodeID": "end_1"
    }
  ]
}

这是一段可视化 AI 工作流的标准 JSON 配置,用来实现一个「输入城市和日期 → 调用大模型生成格式化天气报告 → 输出结果」的完整自动化流程。

整个 JSON 只有两大块:

  • nodes节点(开始、大模型、结束)
  • edges连线 / 数据流(节点之间怎么连)

这是典型的低代码 AI 流程编排格式,类似:Flowise、Dify、字节火山方舟等平台的节点配置。

  1. 开始节点:start_1
{
  "id": "start_1",
  "type": "1",
  "meta": { "position": { "x": 180, "y": 32 } },
  "data": {
    "title": "开始",
    "outputs": {
      "type": "object",
      "properties": {
        "city":  { "type": "string", "default": "", "description": "待查询城市名称" },
        "date":  { "type": "string", "description": "待查询日期" }
      },
      "required": ["city", "date"]
    }
  }
}

流程入口,负责接收用户输入

关键字段:

  • id: "start_1":节点唯一 ID,后面会被引用
  • type: "1":平台内部类型,代表「开始节点」
  • position:画布上的坐标(可视化拖拽位置)
  • outputs向外输出两个必填参数
    • city:城市名
    • date:日期
    • required: ["city","date"]:这两个参数必须传,否则流程跑不起来
核心处理节点:llm_1(大模型节点)

这是整个流程的大脑

{
  "id": "llm_1",
  "type": "3",
  "meta": { "position": { "x": 640, "y": 0 } },
  "data": {
    "title": "大模型1",
    "inputs": {
      "llmParam": {
        "systemPrompt": "...(一整套天气助手规则)...",
        "prompt": "天气查询的城市为:{{city}};日期为:{{date}}",
        "model": { "id": "1", "name": "DeepSeek-V3", "type": "DeepSeek-V3" }
      },
      "inputParameters": {
        "city": { "type": "ref", "content": ["start_1", "city"] },
        "date": { "type": "ref", "content": ["start_1", "date"] }
      }
    },
    "outputs": {
      "type": "object",
      "properties": { "output": { "type": "string" } },
      "required": ["output"]
    }
  }
}

接收开始节点的 citydate,调用大模型,生成规范天气报告

关键拆解
  1. model: DeepSeek-V3

    使用的大模型是 DeepSeek-V3。

  2. inputParameters 数据引用(最核心)

    "city": { "type": "ref", "content": ["start_1", "city"] }
    
    • ref = reference = 引用

    • 意思:

      我的 city 参数,来自 start_1 节点的 city 输出

    同理 date 也一样。 → 这就是低代码里 “连线” 的本质:数据引用。

  3. systemPrompt 系统提示词(完整规则)

    给大模型定了严格人设和输出格式

    • 身份:专业天气查询助手
    • 任务:根据城市 + 日期,模拟真实天气数据
    • 禁止:不能说 “模拟、虚构”
    • 必须输出固定格式:
      • 天气状况
      • 温度
      • 风力风向
      • 湿度
      • 空气质量
      • 日出日落
      • 温馨提示

整个流程跑起来是什么样?

  1. 用户输入:

    • 城市:北京
    • 日期:2026-02-11
  2. 开始节点把 city=北京 date=2026-02-11 传给大模型。

  3. 大模型拿着这两个参数,按照你写的 systemPrompt 规则,生成一段:

    【北京】天气报告(2026-02-11)
    天气状况:晴
    温度:-5℃ ~ 5℃
    ...
    温馨提示:天气寒冷,注意保暖。
    
  4. 结束节点把这段文字直接返回给用户。


2.4 工作流导入json二次开发定制化服务:

接下来我们新建一个工作流,这个工作流主要是基于上面的工作流"check_weather"做二次开发使用:
请添加图片描述

通过导入工作流json文件导入到新的工作流"check_all_weather"中,可以看到3个节点全部有了,接下来就可以进行二次开发了:

请添加图片描述

接下来我们通过增加"意图识别"的功能分析一下"帮我查看一下天气,只要有一个天气低于15度就表示不适合出行",如果高于15度就会去安排下面的旅游计划。

请添加图片描述

2.4.1核心判断逻辑:15℃是关键出行阈值:
  • 当检测到目标地点‌任意一个时段气温 ≤15℃‌,即判定为“不适合出行”,旅游计划中止;
  • 只有‌所有时段气温均 >15℃‌,才视为适合出行,继续推进下一步安排。

这实际上是一种‌负向筛选机制‌——只要存在低温风险,就否决出行,体现出对体感舒适度的高要求。

2.4.2 智能体如何在已有的工作流中迭代实现该逻辑?
  1. 意图识别阶段
    • 解析用户指令中的条件语句:“只要……就……”结构表明这是一个‌条件触发型任务‌;
    • 提取关键参数:温度阈值(15℃)、判断逻辑(低于即不适合)、后续动作(是否安排旅游)。
  2. 天气数据调用
    • 调用大模型给出当地的天气数据;
    • 检查是否存在任一记录 <15℃。
  3. 决策输出
    • 若存在低温 → 输出“不适合出行”,并建议调整行程或准备保暖措施;
    • 若全部高于15℃ → 输出“适合出行”,并自动衔接旅游计划模块。
目的地 最低气温 是否适合出行 理由
长白山 -8℃ ❌ 不适合 远低于15℃,存在冻伤风险
京都 3℃ ❌ 不适合 虽有雪景,但体感寒冷
敦煌 12℃ ❌ 不适合 晨间低温,易受凉
三亚 22℃ ✅ 适合 全天稳定高于15℃
杭州 16℃ ✅ 适合 微凉但可接受,适合漫步西湖

智能体导入导出功能还能够帮助用户在不同的平台或系统间迁移智能体,实现跨平台的兼容性。例如,当用户需要将一个智能体从本地开发环境迁移到云端服务器时,导入导出功能可以确保所有配置和数据都完整无误地转移。这不仅提高了工作效率,也减少了因手动重新配置而导致的错误风险。

请添加图片描述

在不到5分钟就可以基于其它的智能体或者工作流进行二次开发迭代,这样可以大大的提高了效率。openJiuwen平台提供官方自带的“check_weather”天气查询工作流插件,该插件可实现“输入城市和日期→调用大模型生成格式化天气报告→输出结果”的基础功能,与旅游规划智能助手的需求符合度约70%,无需从零搭建,借助导入导出功能进行二次开发,可快速适配需求,节省开发时间。

总结具体操作流程如下:

  1. 测试基础工作流:先运行官方“check_weather”工作流,确认其可正常输出天气报告,核心节点(开始、大模型、结束)无异常;
  2. 导出基础工作流:点击“导出工作流”按钮,将该工作流下载为JSON格式文件,该文件包含所有节点配置、连线逻辑,是可视化AI工作流的标准配置;
  3. 导入并二次开发:新建工作流“check_all_weather”,通过导入功能上传下载的JSON文件,此时3个核心节点(开始、大模型、结束)将完整恢复,无需手动搭建;
  4. 定制化优化:新增“意图识别”功能,解析用户指令“帮我查看一下天气,只要有一个天气低于15度就表示不适合出行”,添加判断逻辑,实现温度阈值筛选与行程建议输出。

三、企业实现 AI 智能体可移植与测试智能体方案:

在实际业务中,智能体往往在测试环境中完成开发和调优,但最终需要部署到生产环境或不同分支机构,通过导出功能,可将已配置好的智能体(含技能、记忆、对话逻辑等)打包为标准格式,再在目标环境中一键导入,避免重复搭建。

例如:全国性的旅游公司开发一个的“客户服务助手”可快速导入至各区域子公司系统中,确保服务一致性,然后各个子公司可以有适当的发挥空间。

3.1 导出智能体json配置文件:

我们可以在智能体的右侧的导出功能,直接导出一个json文件:

请添加图片描述

{
  "version": "",
  "agent": {
    "agent_id": "a407b1d9-75b2-4ae8-9ae6-d899f13a1da4",
    "agent_version": "draft",
    "latest_publish_time": null,
    "latest_publish_version": null,
    "primary_id": 8,
    "space_id": "02319784",
    "agent_name": "旅游规划大师",
    "description": "旅游规划大师",
    "agent_type": "workflow",
    "icon": "🤖",
    "edit_mode": "manual",
    "prompt_template_name": "",
    "auto_generated_prompt": "",
    "opening_remarks": "您好!我是您的智能助手,很高兴为您服务。请问有什么可以帮助您的吗?",
    "default_response": null,
    "configs": {
      "retrieval_config": {
        "topk": 5,
        "use_sync": false,
        "use_agent": false,
        "retrieval_type": 2,
        "score_threshold": 0.5
      }
    },
    "plugins": [],
    "workflows": [
      {
        "description": "天气检查的工作流",
        "workflow_id": "216311fd-4ef5-498e-904e-62cc87d55a54",
        "workflow_name": "check_all_weather",
        "workflow_version": "draft"
      }
    ],
    "model": {
      "model_info": {
        "top_p": 0.9,
        "api_key": "",
        "timeout": 60,
        "api_base": "",
        "model_id": 1,
        "streaming": true,
        "max_tokens": 4000,
        "model_name": "DeepSeek-V3",
        "model_type": "DeepSeek-V3",
        "temperature": 0.7
      },
      "model_provider": "openai"
    },
    "prompt_template": [],
    "constraint": {
      "max_iteration": 5,
      "reserved_max_chat_rounds": 10
    },
    "prompt_tuning": {},
    "triggers": [],
    "knowledge": [],
    "memory": {
      "max_tokens": 1000,
      "variable_config": null,
      "longterm_memory_config": false
    },
    "create_time": 1770836424011,
    "update_time": 1770913262836
  },
  "dependencies": {
    "workflows": [
      {
        "workflow_id": "216311fd-4ef5-498e-904e-62cc87d55a54",
        "workflow_version": "draft",
        "latest_publish_time": null,
        "latest_publish_version": null,
        "primary_id": 10,
        "name": "check_all_weather",
        "desc": "天气检查的工作流",
        "space_id": "02319784",
        "url": "test",
        "icon_uri": "",
        "schema": "{\"nodes\":[{\"id\":\"start_1\",\"type\":\"1\",\"meta\":{\"position\":{\"x\":180,\"y\":73}},\"data\":{\"title\":\"开始\",\"outputs\":{\"type\":\"object\",\"properties\":{\"origin\":{\"type\":\"string\",\"default\":\"\",\"description\":\"待查询城市名称\"},\"date\":{\"type\":\"string\",\"extra\":{\"index\":2},\"description\":\"待查询日期\"},\"destin\":{\"type\":\"string\",\"extra\":{\"index\":3}}},\"required\":[\"origin\",\"date\"]}}},{\"id\":\"llm_1\",\"type\":\"3\",\"meta\":{\"position\":{\"x\":640,\"y\":41}},\"data\":{\"title\":\"大模型1\",\"inputs\":{\"llmParam\":{\"systemPrompt\":{\"type\":\"template\",\"content\":\"**【查询地点】天气报告(查询时间)**  \\n\\n*   **天气状况**:{{晴}}  \\n*   **温度**:{{18}}℃ ~ {{28}}℃  \\n*   **风力风向**:{{东南风}} {{3}}级  \\n*   **湿度**:{{65}}%  \\n*   **空气质量**:{{50}} ({{优}})  \\n*   **日出/日落**:{{06:15}} / {{18:30}}  \\n\\n**温馨提示**:{{天气晴朗,适合户外活动,但请注意防晒。}}  \\n\\n---  \\n\\n**【查询地点】天气报告(查询时间)**  \\n\\n*   **天气状况**:{{多云转小雨}}  \\n*   **温度**:{{15}}℃ ~ {{22}}℃  \\n*   **风力风向**:{{东北风}} {{4}}级  \\n*   **湿度**:{{80}}%  \\n*   **空气质量**:{{75}} ({{良}})  \\n*   **日出/日落**:{{06:30}} / {{18:45}}  \\n\\n**温馨提示**:{{傍晚可能有小雨,建议携带雨具出行。}}\"},\"prompt\":{\"type\":\"template\",\"content\":\"\"},\"model\":{\"id\":\"1\",\"name\":\"DeepSeek-V3\",\"type\":\"DeepSeek-V3\"}},\"inputParameters\":{\"origin\":{\"type\":\"ref\",\"content\":[\"start_1\",\"origin\"],\"extra\":{\"index\":0}},\"date\":{\"type\":\"ref\",\"content\":[\"start_1\",\"date\"],\"extra\":{\"index\":1}},\"destin\":{\"type\":\"ref\",\"content\":[\"start_1\",\"destin\"],\"extra\":{\"index\":2}}}},\"outputs\":{\"type\":\"object\",\"properties\":{\"output\":{\"type\":\"string\",\"extra\":{\"index\":1}}},\"required\":[\"output\"]}}},{\"id\":\"intent_MG_G_\",\"type\":\"6\",\"meta\":{\"position\":{\"x\":1118.8072122052704,\"y\":0}},\"data\":{\"title\":\"意图识别\",\"inputs\":{\"llmParam\":{\"systemPrompt\":{\"type\":\"template\",\"content\":\"\"},\"prompt\":{\"type\":\"template\",\"content\":\"\"},\"model\":{\"id\":\"1\",\"name\":\"DeepSeek-V3\",\"type\":\"DeepSeek-V3\"}},\"intents\":[{\"name\":\"帮我查看一下天气,只要有一个天气低于15度就表示不适合出行\",\"id\":\"intent_x7RO1hwv\"}],\"default_intent\":\"0\",\"inputParameters\":{\"query\":{\"type\":\"ref\",\"content\":[\"llm_1\",\"output\"],\"extra\":{\"index\":0}}}},\"outputs\":{\"type\":\"object\",\"properties\":{\"classification_id\":{\"type\":\"integer\",\"extra\":{\"index\":1}}},\"required\":[\"classification_id\"]}}},{\"id\":\"llm_Rm29W\",\"type\":\"3\",\"meta\":{\"position\":{\"x\":1660,\"y\":-44.125520110956984}},\"data\":{\"title\":\"大模型2\",\"output_format\":\"text\",\"inputs\":{\"llmParam\":{\"systemPrompt\":{\"type\":\"template\",\"content\":\"## 人设\\n我是一位专业的旅游规划师,擅长根据用户需求制定个性化的旅行方案。具备丰富的目的地知识、预算规划能力和行程优化经验。\\n\\n## 任务描述\\n根据用户提供的旅行偏好、预算和时间限制,制定一份详细的旅游计划。该计划将帮助用户高效安排行程,最大化旅行体验,同时控制成本。\\n\\n## 约束条件\\n1. 分析用户提供的{{input}}值,包括但不限于:目的地偏好、旅行日期、预算范围、兴趣点等\\n2. 制定3-5天的详细行程安排\\n3. 包含交通、住宿、餐饮和景点推荐\\n4. 提供预算分配建议\\n5. 考虑当地天气和季节因素\\n6. 按照<输出格式>输出\\n7. 按照<执行步骤>一步一步执行\\n\\n## 执行步骤\\n1. 解析用户输入的{{input}}值\\n2. 确定主要旅行目的地和停留时间\\n3. 设计每日行程框架\\n4. 筛选合适的景点和活动\\n5. 规划交通方式和路线\\n6. 推荐住宿和餐饮选择\\n7. 计算预估费用\\n8. 考虑备用方案和注意事项\\n9. 整理成完整旅游计划\\n\\n## 输出格式\\n### 旅游计划:{{目的地名称}}\\n\\n**基本信息:**\\n- 旅行日期:{{开始日期}}至{{结束日期}}\\n- 预算范围:{{预算金额}}\\n- 旅行人数:{{人数}}\\n\\n**每日行程安排:**\\n\\n**第1天:{{日期}}**\\n- 上午:{{活动1}}({{时间}},{{地点}})\\n- 中午:{{餐厅推荐}}({{预算}})\\n- 下午:{{活动2}}({{时间}},{{地点}})\\n- 晚上:{{活动3}}({{时间}},{{地点}})\\n- 住宿:{{酒店名称}}({{预算}})\\n\\n**交通建议:**\\n- {{交通方式}}:{{路线详情}}\\n\\n**预算分配:**\\n1. 交通:{{金额}}({{比例}}%)\\n2. 住宿:{{金额}}({{比例}}%)\\n3. 餐饮:{{金额}}({{比例}}%)\\n4. 门票:{{金额}}({{比例}}%)\\n5. 其他:{{金额}}({{比例}}%)\\n\\n**注意事项:**\\n- {{注意事项1}}\\n- {{注意事项2}}\\n- {{注意事项3}}\"},\"prompt\":{\"type\":\"template\",\"content\":\"{{input}}\"},\"model\":{\"id\":\"1\",\"name\":\"DeepSeek-V3\",\"type\":\"DeepSeek-V3\"}},\"inputParameters\":{\"input\":{\"type\":\"ref\",\"content\":[\"start_1\",\"destin\"],\"extra\":{\"index\":0}}}},\"outputs\":{\"type\":\"object\",\"properties\":{\"output\":{\"type\":\"string\",\"extra\":{\"index\":1}}},\"required\":[\"output\"]}}},{\"id\":\"end_1\",\"type\":\"2\",\"meta\":{\"position\":{\"x\":2084.257975034674,\"y\":257.93758668515954}},\"data\":{\"title\":\"结束\",\"inputs\":{\"inputParameters\":{\"result1\":{\"type\":\"ref\",\"content\":[\"llm_Rm29W\",\"output\"],\"extra\":{\"index\":1}}},\"streaming\":true,\"content\":{\"type\":\"template\",\"content\":\"{{result1}}}}\"}},\"streaming\":false}}],\"edges\":[{\"sourceNodeID\":\"start_1\",\"targetNodeID\":\"llm_1\"},{\"sourceNodeID\":\"llm_1\",\"targetNodeID\":\"intent_MG_G_\"},{\"sourceNodeID\":\"intent_MG_G_\",\"targetNodeID\":\"llm_Rm29W\",\"sourcePortID\":\"intent_x7RO1hwv\"},{\"sourceNodeID\":\"intent_MG_G_\",\"targetNodeID\":\"end_1\",\"sourcePortID\":\"0\"},{\"sourceNodeID\":\"llm_Rm29W\",\"targetNodeID\":\"end_1\"}]}",
        "input_parameters": [
          {
            "name": "origin",
            "type": "string",
            "method": 0,
            "required": true,
            "description": "待查询城市名称"
          },
          {
            "name": "date",
            "type": "string",
            "method": 0,
            "required": true,
            "description": "待查询日期"
          },
          {
            "name": "destin",
            "type": "string",
            "method": 0,
            "required": false,
            "description": ""
          }
        ],
        "output_parameters": [
          {
            "name": "result1",
            "type": "ref",
            "method": 0,
            "required": true,
            "description": ""
          }
        ],
        "object_key": null,
        "create_time": 1770820848761,
        "update_time": 1770836347106
      }
    ],
    "plugins": [],
    "knowledge_bases": [],
    "prompt_templates": []
  },
  "metadata": {
    "export_time": "2026-02-12T16:21:20.277929+00:00",
    "export_by": "service",
    "agent_studio_version": ""
  }
}

这是 openJiuwen 平台导出的一整个「智能体完整包」,包含三大部分:

  1. 智能体信息(agent):名字、人设、模型、开场白
  2. 依赖资源(dependencies):里面只有一个工作流 check_all_weather
  3. 元数据(metadata):导出时间、版本信息

这就openJiuwen在平台上做的 「旅游规划大师」智能体的完整备份文件,包含了它的所有配置、工作流、节点、连线、提示词,这段 JSON 是 openJiuwen 智能体与工作流的标准导出格式,它完整保存了从用户输入、天气查询、温度判断到旅游规划生成的全流程业务逻辑,支持跨环境导入、二次开发、私有化部署,是企业实现 AI 智能体可移植、可复用、可沉淀的核心载体。


3.2 新私有化服务器云上迁移本地导入json配置文件:

接下来,我们在另外一个私有化服务器上,这是一个刚安装的环境上,我们找到"智能体开发"中直接有一个"导入"按钮,直接点击,把上面的json文件进行导入即可。
请添加图片描述

在导入后,我们发现大模型这里报红了,提示该模型不能使用,因为我们这个是新安装的服务器,所以,还没有设置过大模型的参数,所以这里是缺失的。

请添加图片描述

另外,因为我们使用了工作流的功能,同样来看一下工作流的列表,可以看到这里的工作流也是帮我们新建好了,非常的智能与友好。
请添加图片描述

但是我们发现工作流中有需要使用到的大模型也不在了。
请添加图片描述

接下来我们添加一个名称一样的DeepSeek-V3大模型即可。
请添加图片描述

但是在打开"旅游规划大师"智能体后,可以看到工作流中提示”工作流校验失败,请跳转对应的工作流进行修改“,将工作流中的大模型选择一下即可修复。
请添加图片描述

最后,在不到5分钟左右,即可将一个"旅游规划大师"智能体从云上搬到本地完成。
请添加图片描述


3.3 企业本地部署场景方案解决效率:

智能体导入导出的效率提升核心体现在跨环境迁移、运维迭代、人力成本三大维度,结合实际落地数据,具体效率优势如下:

  1. 跨环境迁移效率:原有手动复刻云环境智能体配置至本地,需 3 天且出错率 30%;导入导出仅需 半小时(含环境适配),出错率降至 0,部署效率提升 95%。
  2. 版本运维效率:本地部署后迭代异常需回滚时,原有方式重新调试需 6 小时,导入历史版本仅需 5分钟,回滚效率提升 98%;同时可快速同步开发、测试、生产环境版本,避免配置混乱。
  3. 人力成本效率:单工作流本地部署,原有方式需 3 名开发者协同(搭建、调试、对接),导入导出后仅需 1 名开发者完成导入、适配、部署,人力成本降低70%。

核心原因:导入导出基于标准化 JSON 格式,自动处理节点、插件、模型依赖,导入后无需手动重建配置关系,大幅减少重复操作与人为错误。


四、智能体与工作流导入效率的提升与优化:

工作流的导入导出功能,是openJiuwen平台提升智能体复用性与协作效率的核心能力之一,结合本次"旅游规划师"系统实践,其导入导出前后的变化、核心提升及效率优化如下:

对比维度 导入导出前 导入导出后
工作流复用性 复用性差,新增同类天气场景,需手动重新编排所有节点,重复工作量大且易出现配置偏差 复用性显著提升,基于"check_weather"工作流可导出为标准化模板,导入后仅需修改核心参数(如校验接口、字段规则),即可快速适配新场景
迁移与部署 迁移至测试/生产环境需手动复刻所有节点参数、分支逻辑及插件配置,周期长且易出现配置遗漏,导致工作流无法正常运行 迁移部署更便捷,调试通过后可直接导出完整配置,导入目标环境后仅需适配环境变量,即可快速完成部署,避免配置遗漏
此次实践充分体现了openJiuwen开源平台的核心价值,通过可视化编排将复杂旅游业务逻辑解耦,结合工作流导入导出功能,进一步降低了开发与协作成本,让开发者无需陷入复杂代码开发与重复配置,即可快速构建、迭代符合业务需求的AI智能体,为业务的智能化升级提供了高效、可复用的实现路径。

结合上述真实场景,对比传统开发/运维方式与openJiuwen导入导出方式的核心指标,数据化呈现效率提升:

对比维度 手工方式(无导入导出) openJiuwen导入导出方式 数据化提升
工作流复用效率(同类场景) 手动搭建所有节点,单一场景耗时8小时 导入模板+修改参数,单一场景耗时40分钟 效率提升70%,耗时缩短70%
跨环境迁移部署(云→本地) 手动复刻配置,耗时3天,出错率30% 导入导出+环境适配,耗时1小时,出错率0% 部署效率提升90%,出错率降至0
版本回滚效率(迭代异常时) 重新调试完整工作流,耗时6小时 导入历史版本,耗时10分钟 回滚效率提升95%
配置一致性(多环境) 手动搭建,配置偏差率25%,影响业务准确性 标准化导入导出,配置偏差率0% 配置一致性提升100%
二次开发迭代周期 从零开发,迭代周期3-5天 导入模板开发,迭代周期0.5-1天 迭代周期缩短80%以上

五、常见问题与解决方案:

问题现象 原因分析 解决方案
智能体在迁移导入新环境后提示大模型失效 新的环境没有配置大模型/或者大模型名称不对 将大模型添加/或者重新选择新的大模型名称
智能体在使用时,提示”工作流校验失败,请跳转对应的工作流进行修改“ 新的环境没有配置大模型/或者大模型名称不对 重新在工作流中选择新的大模型名称

上文中均有详细的解决方案与策略。

5.1 通过”天气数据工作流“方案场景衍生:

“旅游规划师“智能体的天气检查场景,需紧密结合对于天气有业务需求的场景,核心是通过天气数据辅助判断是否满足业务的需求,具体还可以应用于其它的以下场景:

  • 户外作业类场景:针对建筑工人、外卖骑手、物流配送员等户外作业人员,天气检查可核实作业区域实时及未来天气(如暴雨、暴雪、高温、台风等极端天气),辅助判断作业风险等级,提示用户极端天气下的注意事项。

  • 旅游类场景:用户咨询短期旅游(如单日/多日户外出行、景区游玩)时,天气检查可查询出行目的地天气(如暴雨、暴雪、台风导致景区关闭),比如恶劣天气下建议调整出行时间。

  • 农业类场景:针对种植、养殖类农业,天气检查可查询所在地区域近期及历史天气数据(如旱灾、洪涝、冰雹、霜冻等),核实作物/养殖物生长环境的天气风险。

  • 车辆保险类场景:天气检查可查询车辆登记地/常用行驶区域的极端天气情况(如暴雨、暴雪、强降雨),提示用户此类天气下车辆使用风险。

  • 短期户外赛事/活动类场景:针对户外马拉松、露营、登山等短期活动的团体/个人,天气检查可查询活动举办地实时天气,若存在恶劣天气,可提示活动主办方及参与者调整活动计划。


六、总结:

智能体和工作流通常在云平台(如openJiuwen等)上快速开发和验证,但企业最终需要将其部署到本地服务器或私有云环境,以满足数据安全、合规性或网络隔离的要求,导入导出功能使得开发好的智能体流程能够从云环境“带走”并“还原”到本地环境,避免了重复开发,极大提升了部署效率。

  1. 支持团队协作与版本管理:
    在团队开发中,多个成员可能同时参与智能体的优化和工作流的调整。通过导出为标准格式(如JSON)的配置文件,团队成员可以:
  • 共享配置:快速交换工作成果,避免“在我机器上能跑”的问题。
  • 版本控制:将配置文件纳入Git等版本管理系统,追踪每次修改,实现回滚和对比。
  • 统一标准:确保不同开发者创建的智能体在行为上保持一致。
  1. 保障系统稳定性与可维护性
    工作流是智能体的“执行骨架”,其逻辑的稳定性和可审计性至关重要。导入导出功能允许企业:
  • 备份与恢复:在系统故障或配置错误时,能快速恢复到上一个稳定版本,降低业务中断风险。
  • 隔离测试:在测试环境中导入生产环境的工作流配置进行验证,确保变更安全。
  • 审计与合规:对于金融、医疗等强监管行业,可导出工作流日志和配置,作为操作审计的依据。
  1. 促进知识沉淀与资产化
    一个设计良好的工作流,本质上是企业业务流程的数字化资产。导入导出功能使得:
  • 流程可复用:一个成功的客服应答工作流,可以导出后导入到其他部门或子公司复用。
  • 能力传承:当核心开发者离职时,其设计的智能体工作流可以完整交接,避免知识流失。
  • 生态构建:企业可以建立内部的“智能体工作流市场”,鼓励员工分享和复用最佳实践。

总结来说,导入导出功能不是简单的“文件保存”,而是将智能体和工作流从“一次性实验”转变为“企业级可靠资产”的关键一步。 它确保了智能体技术的落地不是昙花一现,而是能被持续管理、优化和传承的长期战略投资。


相关资源:

●Agent Studio(智能体工作室):
https://atomgit.com/openJiuwen/agent-studio
可视化智能体开发平台,提供零码、低码可视化开发和工作流编排能力,以及模型、知识库、插件等各资源管理能力

●Agent Core(智能体核心):
https://atomgit.com/openJiuwen/agent-core
智能体核心引擎,提供Agent开发、运行、调优与演进相关的全套SDK能力

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐