|从“能用”到“好用”|拖拽式编排|零代码实现精准控制|

上一篇文章,我们用自然语言+插件快速搭了一个天气查询智能体。它能回答问题,但你也发现了不少毛病:

—问“北京”,它不知道怎么查(因为没有指定时间)

—输出格式乱七八糟,想让它固定成卡片样式,却总是不听话

—穿衣建议太笼统,能不能根据早中晚分别给出?

这些问题,本质上是大模型“自由发挥”的结果。自然语言提示词再详细,大模型偶尔还是会“抽风”。

怎么解决?答案就是工作流(Workflow)。

工作流就像一张“流程图”,你把每一个步骤用节点画出来,机器人必须严格按照你的流程执行,没有自由发挥的空间。

今天,我就带你从零创建一个工作流,把天气机器人从“能用”升级到“好用”。

📌本篇你将学到什么?

✅什么是工作流,以及它的核心价值

✅如何创建工作流并连接节点

✅用大模型节点解析用户输入(城市+时间)

✅调用天气插件获取真实数据

✅用代码节点精确计算星期几(修复大模型幻觉)

✅自定义输出格式,让回复更美观

全程拖拽+配置,不写一行代码(除了一个可选的Python小片段)。

第一步:为什么需要工作流?

回顾一下我们上一篇文章的架构:

```用户提问→大模型(自然语言)→天气插件→直接输出```

这个流程中,大模型既要理解用户的话,又要决定是否调用插件,还要决定输出格式。任务太多,容易出错。

工作流把每个环节拆开,变成一个个独立的节点:

```用户提问→[开始节点]→[大模型节点(只做解析)]→[插件节点(只查天气)]→[代码节点(处理数据)]→[结束节点]→输出```

每个节点只做一件事,环环相扣,绝对可控。

第二步:创建工作流

1.登录Coze,点击左侧“编程”→“工作流”→“新建工作流”。

2.名称:`weather_workflow`(只能字母、数字、下划线)

3.描述:`根据用户提问,查询指定城市、指定时间的天气,并返回格式化结果。`

4.点击确认,进入工作流编辑界面。

你会看到画布上已经有了两个节点:开始节点和结束节点。这是我们工作流的起点和终点。

第三步:配置开始节点(接收用户输入)

点击开始节点,在右侧配置面板中,添加一个输入参数:

参数名

类型

描述

是否必要

input

string

用户输入的问题(例如“北京未来三天天气”)

这个 input 就是用户发给机器人的原始提问。

第四步:添加大模型节点(解析用户输入)

从左侧节点库拖拽一个“大语言模型”节点到画布,放在开始节点右边。然后连接开始节点的输出端到大模型节点的输入端。

点击大模型节点,配置如下:

配置项

内容

运行模式

单词处理

模型选择

豆包Pro或云雀(任意)

输入参数

引用开始节点的input

提示词

见下方

输出变量

添加四个字符串变量:city、town、start_date、end_date

提示词内容(直接复制):

```从用户输入{{input}}中提取以下信息:

—城市(city)

—区/县/镇(town,如果没有就填空字符串)

—开始日期(start_date)

—结束日期(end_date)

日期格式必须为YYYY—MM—DD,例如2025—05—20。

如果用户没有指定时间,则默认start_date为今天的日期,end_date为今天+2天。

只输出JSON格式,不要有其他内容。```

这个提示词的作用是:让大模型把“北京未来三天天气”这样的自然语言,转换成`{"city":"北京","start_date":"2025—05—20","end_date":"2025—05—22"}`这样的结构化数据。

配置完成后,点击右上角“试运行”,输入测试内容“北京未来三天天气”,查看大模型节点的输出。你应该能看到类似这样的结果:

```json

{

"city":"北京",

"town":"",

"start_date":"2025—05—20",

"end_date":"2025—05—22"

}

```

如果解析不对,微调提示词(比如强调“日期必须补零”)。

第五步:添加插件节点(查询天气)

拖拽一个“插件”节点到画布,放在大模型节点右边,连接两者。

在插件节点中,搜索并选择你上一篇文章添加的天气插件(如“和风天气”或“彩云天气”)。

配置插件的输入参数,映射到大模型节点的输出:

插件参数

映射来源

City

大模型节点的city

start_date

大模型节点的start_date

end_date

大模型节点的end_date

不同插件的参数名可能不同,但一般都有城市、开始时间、结束时间。如果插件要求“城市代码”而不是名称,可以在后续用代码节点转换,这里先按最简单的来。

插件节点的输出是天气数据的JSON数组,包含每一天的温度、天气状况、日期等。

第六步:添加代码节点(精确计算星期几)

这里有一个很多人会踩的坑:大模型直接根据日期推算星期几,经常算错(比如把5月20日周二说成周三)。这是典型的“大模型幻觉”。

最靠谱的方法是:用代码算。Python的`datetime`模块永远不会算错。

拖拽一个“代码”节点到画布,放在插件节点右边,连接两者。

点击代码节点内的“编辑”按钮,进入IDE。选择Python语言,粘贴以下代码:

```python

importjson

fromdatetimeimportdatetime

defmain(input_data):

从插件节点获取天气数据列表

weather_list=input_data.get("weather_list",[])

result=[]

foriteminweather_list:

date_str=item.get("date","")格式应为YYYY—MM—DD

ifdate_str:

dt=datetime.strptime(date_str,"%Y—%m—%d")

weekday():0=周一,6=周日

weekday_map=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]

item["weekday"]=weekday_map[dt.weekday()]

result.append(item)

return{"weather_data":result}

```

这段代码的作用:遍历每一天的天气数据,根据日期计算出正确的星期几,然后添加到数据中。

配置代码节点的输入参数:引用插件节点的输出(通常叫`output`或`data`),参数名设为`weather_list`。

配置代码节点的输出参数:添加一个变量`weather_data`,类型为`array<object`。

点击“测试”,模拟输入插件节点的返回数据,确认代码能正确输出带星期几的天气列表。

第七步:配置结束节点(输出最终回答)

结束节点是工作流的出口。我们需要把处理好的天气数据,加上自定义格式,返回给用户。

连接代码节点的输出端到结束节点。

在结束节点的配置中:

—回答方式:选择“使用设定的内容直接回答”。

—回答内容:使用Markdown格式,循环输出每一天的天气。由于工作流结束节点不支持循环语法,我们需要用大模型节点来生成文本。但为了简单起见,这里先用一个大模型节点做格式化。

优化方案:在代码节点和结束节点之间,再添加一个大模型节点,专门用来生成最终回答。

新建一个大模型节点,连接代码节点。配置如下:

配置项

内容

输入参数

引用代码节点的weather_data

提示词

见下方

输出参数

final_answer(字符串)

提示词:

```

请根据以下天气数据,生成一段友好的回答。要求:

—按日期顺序输出

—每一天的格式为:【日期星期】天气:XXX|温度:最低温—最高温℃|穿衣建议:根据温度给出(20度以下穿外套,20—25度短袖,25度以上防晒)

—最后加一句温馨提醒

天气数据:{{weather_data}}

```

然后让结束节点直接输出这个大模型节点的`final_answer`。

第八步:试运行与发布

点击右上角“试运行”,输入测试内容:

—“北京未来三天天气”

—“上海今天天气”

—“杭州”

检查输出是否:

—日期格式正确

—星期几准确

—穿衣建议合理

—没有多余内容

一切正常后,点击“发布”。

第九步:把工作流关联到智能体

回到你之前创建的“天气查询”智能体编辑页。

1.在左侧“技能”→“工作流”中,点击“+”,添加刚发布的`weather_workflow`。

2.关闭原先直接调用的天气插件(避免冲突)。

3.修改人设与回复逻辑为:

```

你是一个天气查询助手。请调用工作流`weather_workflow`查询天气,并根据工作流返回的内容直接输出。你只能回答天气相关的问题。如果遇到无法解答的问题,请回复:“对不起,我只能回答天气问题。”

```

点击“优化”,然后发布智能体。

🎉你现在拥有了一个“聪明”的天气机器人

对比一下优化前后的区别:

场景

优化前(自然语言)

优化后(工作流)

问“北京”

报错或乱猜

自动查未来三天

输出格式

不稳定,随大模型心情

完全自定义,固定样式

星期几

经常算错

代码计算,100%准确

穿衣建议

笼统

根据温度区间智能推荐

这就是工作流的威力:把不可控的大模型“黑盒”,变成可控的“流水线”。

📢下篇预告:知识库——让机器人拥有长期记忆

下一篇,我们将进入Coze另一个核心功能:知识库。

你会学到:

—如何上传Excel、PDF、Word文档作为知识来源

—如何让机器人精准回答“课程价格是多少”“某某老师教什么课”

—如何用“索引列”实现表格数据的智能查询

适合做智能客服、企业问答系统的你。

如果不想错过,点击关注,第一时间收到更新。

💬最后

这一篇比上一篇复杂了不少,你可能需要花20—30分钟跟着一步步操作。如果遇到问题,欢迎在评论区留言,我会一一解答。

下篇见。

柒柒

2026年4月

📌本文已同步收录于专栏《无代码AI智能体开发实战:从零到一搭建你的专属机器人》,欢迎订阅持续学习。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐