开源版 Coze: 创建工作流(Workflow)

一、什么是 Coze 工作流(Workflow)?

在开源版 Coze 中,工作流(Workflow) 是一个可视化编排引擎,允许你将多个 AI 步骤、条件判断、外部工具调用组合成自动化流程。

✅ 支持的节点类型(截至 v1.2.0)

节点 功能 是否可用
Start 流程入口,定义输入参数
LLM 调用大模型生成文本
Plugin 调用自定义 HTTP 插件
HTTP Request 直接发起 HTTP 请求(无需预注册插件)
Condition 条件分支(if/else)
User Input 暂停流程,等待用户输入
End 流程出口,返回结果

不支持:循环(Loop)、定时触发、数据库读写、文件上传等高级节点。


二、工作流 vs 普通 Bot 的区别

特性 普通 Bot 工作流
交互方式 单轮/多轮对话 固定流程,可暂停等待
控制逻辑 仅靠提示词 可视化条件分支
外部集成 仅插件 插件 + 原生 HTTP 请求
复用性 绑定单个 Bot 可被多个 Bot 调用
适用场景 简单问答 多步骤自动化任务

💡 典型用例

  • 内容生成 → 审核 → 发布
  • 用户提交需求 → 调用 API → 生成报告
  • 故障诊断:收集信息 → 分析 → 给出建议

三、创建第一个工作流:天气+穿搭建议

我们将创建一个简单工作流:
输入城市 → 获取天气 → 生成穿搭建议

步骤 1:准备外部服务(模拟天气 API)

创建 weather_mock.py

python 复制代码
from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route('/api/weather')
def get_weather():
    city = request.args.get('city', '北京')
    # 模拟返回
    return jsonify({
        "city": city,
        "temperature": 5,
        "condition": "多云",
        "suggestion": "建议穿厚外套"
    })

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5001)

启动服务:

bash 复制代码
python weather_mock.py

🌐 确保 Coze 容器可访问该服务(如 http://host.docker.internal:5001/api/weather


步骤 2:进入工作流编辑器

  1. 登录 Coze Web 界面(http://localhost:8888
  2. 左侧菜单 → "工作流"
  3. 点击 "+ 新建工作流"
  4. 名称:天气穿搭助手
  5. 点击 "确定"

步骤 3:编排节点

节点 1:Start(开始)
  • 输入参数{"city": "string"}
    (用户需提供城市名)
节点 2:HTTP Request(获取天气)
  • 方法:GET
  • URLhttp://host.docker.internal:5001/api/weather?city={``{start.city}}
  • 变量名weather_data ✅ 支持使用 {``{start.city}} 引用上游输出
节点 3:LLM(生成穿搭建议)
  • 模型 :选择已配置的模型(如 qwen

  • 提示词

    复制代码
    你是一个时尚顾问。根据以下天气信息,给出详细的今日穿搭建议:
    城市:{{weather_data.city}}
    温度:{{weather_data.temperature}}°C
    天气:{{weather_data.condition}}
    
    要求:语言亲切,包含上衣、下装、鞋帽建议,不超过150字。
  • 输出变量名outfit_advice

节点 4:End(结束)
  • 返回内容

    json 复制代码
    {
      "city": "{{weather_data.city}}",
      "advice": "{{outfit_advice}}"
    }

🔗 连接方式:拖拽节点间的连线,按顺序连接 Start → HTTP → LLM → End


步骤 4:保存并测试

  1. 点击右上角 "保存"

  2. 点击 "测试" 按钮

  3. 在弹窗中输入:

    json 复制代码
    {"city": "上海"}
  4. 点击 "运行"

预期输出

json 复制代码
{
  "city": "上海",
  "advice": "今天上海5°C,多云,建议穿保暖内衣+毛衣+厚外套,搭配牛仔裤和运动鞋,记得戴围巾哦!"
}

四、在智能体(Bot)中调用工作流

  1. 进入 "Bot 列表",新建或编辑一个 Bot
  2. "工作流" 标签页,点击 "添加工作流"
  3. 选择 天气穿搭助手
  4. "人设与回复逻辑" 中写:
text 复制代码
当用户询问天气或穿搭时,请调用"天气穿搭助手"工作流。
先询问用户所在城市,然后执行工作流,并将结果自然地呈现给用户。
  1. 发布 Bot

💬 用户交互示例

用户:"今天穿什么?"

Bot:"请问您在哪个城市?"

用户:"广州"

Bot(自动调用工作流)→ 返回穿搭建议


五、高级技巧:使用 User Input 实现人工审核

假设你想在发布前让用户确认内容:

  1. 在工作流末尾添加 User Input 节点
    • 提示语:"请审核以下内容,回复【通过】或【修改:...】"
    • 输入变量名:user_feedback
  2. 添加 Condition 节点
    • 条件表达式:"通过" in user_feedback
    • True 分支 → End(发布)
    • False 分支 → LLM(根据反馈修改内容)→ 再次 User Input(形成循环)

⚠️ 注意:Coze 不支持无限循环,但可通过多次"User Input + Condition"模拟有限次修改。


六、关键限制与注意事项

  1. 无定时触发

    工作流必须由用户消息或 Bot 主动调用,不能自动每日执行

  2. 变量作用域

    所有变量通过 {``{node_name.output_field}} 引用,大小写敏感。

  3. HTTP 超时

    默认超时 10 秒,长任务需优化外部服务。

  4. 错误处理弱

    若 HTTP 返回非 2xx,工作流会中断并报错,无法捕获异常。

  5. 调试困难

    无中间变量日志查看功能,建议在 LLM 节点中打印关键数据用于调试。


七、最佳实践建议

  • 模块化设计:将通用逻辑(如"获取热点")封装为独立工作流,供多个 Bot 复用
  • 输入校验:在 Start 节点后加 LLM 节点清洗用户输入
  • 安全隔离:外部服务不要暴露敏感接口,Coze 插件无认证机制
  • 性能优化:避免在工作流中串行调用多个慢速 API

八、总结

开源版 Coze 的工作流功能虽处于早期阶段,但已能支撑中等复杂度的自动化任务。其优势在于:

  • 低代码可视化编排
  • 无缝集成 LLM 与外部系统
  • 支持人工干预节点

适用于:

  • 内容生成与审核流程
  • 运维巡检报告生成
  • 客户需求自动分析

🔜 未来期待:循环节点、定时触发、数据库连接、更强大的错误处理。


附:官方资源

相关推荐
铁蛋AI编程实战2 小时前
DeepSeek-OCR2:开源 OCR 新王者完整部署教程(vLLM+Transformers 双接口 + 动态分辨率 + 文档批量处理)
开源·ocr·vllm
铁蛋AI编程实战3 小时前
ChatWiki 开源 AI 文档助手搭建教程:多格式文档接入,打造专属知识库机器人
java·人工智能·python·开源
小柯博客3 小时前
从零开始打造 OpenSTLinux 6.6 Yocto 系统 - STM32MP2(基于STM32CubeMX)(六)
c语言·git·stm32·单片机·嵌入式硬件·开源·yocto
兆龙电子单片机设计4 小时前
【STM32项目开源】STM32单片机厂房环境安全监测
stm32·单片机·安全·开源·毕业设计·电子信息
开源能源管理系统4 小时前
MyEMS开源能源管理系统:开源赋能、智控减碳,引领工业能源管理新变革
开源·能源·能源管理系统·零碳工厂
寻道码路4 小时前
【MCP探索实践】Google GenAI Toolbox:Google开源的企业级AI数据库中间件、5分钟搞定LLM-SQL安全互联
数据库·人工智能·sql·开源·aigc
lbb 小魔仙5 小时前
【HarmonyOS】开源鸿蒙跨平台DAY11:Flutter电商实战:从零开发商品详情页面(含轮播图点击跳转完整实现)
flutter·开源·harmonyos
GitCode官方5 小时前
开源星期六第五期!开源鸿蒙跨平台三方库适配实战,打通跨端开发
华为·开源·harmonyos
说私域7 小时前
基于开源AI智能名片S2B2C商城小程序视角下的消费需求激发与企业机遇挖掘
人工智能·小程序·开源·流量运营·私域运营