开源版 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 与外部系统
  • 支持人工干预节点

适用于:

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

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


附:官方资源

相关推荐
开源能源管理系统12 小时前
MyEMS开源能源管理系统结合零碳工厂
系统架构·开源·能源·制造·能源管理系统
a11177612 小时前
星球浏览 漫游(纯html 开源)
前端·开源·html
悟空码字14 小时前
一款免费开源的支付系统,支持支付宝、微信、海科、乐刷等通道,功能强大
开源·支付系统
梦帮科技15 小时前
【DREAMVFIA开源】量子互联网协议:节点通信与路由算法
人工智能·神经网络·算法·生成对抗网络·开源·量子计算
开源能源管理系统16 小时前
MyEMS开源能源管理系统:赋能工业绿色低碳转型的开源创新引擎
开源·能源·能源管理系统
开源能源管理系统16 小时前
开源的安全悖论:MyEMS在关键基础设施中的信任构建
安全·开源·能源·能源管理系统
OpenCSG16 小时前
ACE Studio 联合 StepFun 开源了音乐生成基础模型 ACE-Step 1.5
开源
~kiss~16 小时前
月之暗面(Moonshot AI)的Kimi K2.5开源权重多模态旗舰大模型
人工智能·开源
冬奇Lab1 天前
一天一个开源项目(第32篇):Edit-Banana - 让不可编辑的图表变成可编辑,SAM3+多模态大模型驱动
人工智能·开源·资讯