在 Coze(扣子)中搭建自定义智能体
本文介绍如何在字节跳动的AI开发平台Coze上创建天气服务智能体。首先需注册账号并了解基本概念,然后通过标准或AI创建方式新建智能体,配置人设与回复逻辑。接着添加天气查询功能,可使用内置插件或自定义HTTP请求插件,也可通过知识库提供静态天气数据。最后配置工作流,包括提取城市名称、调用API和格式化回复等节点。整个过程涵盖智能体创建、功能配置和流程设计,帮助开发者快速构建实用的天气查询AI助手。
概述
Coze(扣子)是字节跳动推出的 AI 应用开发平台,支持通过自然语言和可视化配置创建自定义智能体。本文档以天气服务智能体为例,详细介绍如何在 Coze 平台搭建一个完整的自定义智能体。
一、准备工作
1.1 注册账号
- 访问 Coze 官网:https://www.coze.cn/
- 使用手机号或邮箱注册账号
- 完成实名认证(可选,但建议完成)
1.2 了解基本概念
- 智能体(Agent):能够理解用户意图并执行任务的 AI 助手
- 插件(Plugin):扩展智能体功能的工具
- 知识库(Knowledge Base):为智能体提供领域知识
- 工作流(Workflow):定义智能体的执行流程
二、创建天气服务智能体
步骤 1:创建新智能体
-
登录 Coze 平台

-
点击左侧菜单 “智能体” → “创建智能体”

注意 ,这里有标准创建,也可以用AI 创建,如果不会,可以先用AI 创建试试 。
- 填写基本信息:
- 智能体名称:天气助手
- 智能体描述:提供实时天气查询、天气预报、穿衣建议等服务
- 头像:上传或选择头像(可选)

步骤 2:配置人设与回复逻辑
2.1 人设设置
在 “人设与回复逻辑” 中,使用自然语言描述智能体的角色:
##技能
-根据用户提供的地点和时间,使用天气查询 API 查询天气信息。
-对于没有指定时间的查询,默认查询未来三天的天气。
- 将查询结果按照一定的格或返回给用户,包括日期、星期几、天气、温度(早,中,晚)、空气质量和穿衣建议(早,中,晚)。
| 图标 | 含义 | 对应字段 |
|------|------|---------|
| 📅 | 日历 | 日期 |
| ☀️ | 太阳 | 星期几 |
| 🌡️ | 温度计 | 天气 |
| 🏠 | 房屋 | 温度 |
| 🍃 | 叶子 | 空气质量 |
| 🧥 | 外套 | 穿衣建议 |
##限制
- 只能回答天气相关的问题。
- 对于无法回答的问题,回复“对不起啦,我只能回答天气问题呦,请不要忽悠我回答其它问题。”

2.2 回复逻辑设置
开场白设置:
你好!我是天气助手小天气,可以帮你查询天气信息、提供天气预报和穿衣建议。你想了解哪里的天气呢?
回复风格:
- 语气:友好、专业
- 格式:结构化展示,使用 emoji 增强可读性
- 内容:准确、详细、实用

三、添加天气查询功能
3.1 使用插件方式(推荐)

测试效果

修改提示词:
##技能
-根据用户提供的地点和时间,使用天气查询 API 查询天气信息。
-对于没有指定时间的查询,默认查询未来三天的天气。
- 将查询结果按照一定的格或返回给用户,包括日期、星期几、天气、温度(早,中,晚)、空气质量和穿衣建议(早,中,晚)。
| 图标 | 含义 | 对应字段 |
|------|------|---------|
| 📅 | 日历 | 日期 |
| ☀️ | 太阳 | 星期几 |
| 🌡️ | 温度计 | 天气 |
| 🏠 | 房屋 | 温度 |
| 🍃 | 叶子 | 空气质量 |
| 🧥 | 外套 | 穿衣建议 |
##限制
- 只能回答天气相关的问题。
- 对于无法回答的问题,回复“对不起啦,我只能回答天气问题呦,请不要忽悠我回答其它问题。”

方式一:使用内置天气插件
- 在智能体编辑页面,点击 “插件” 标签
- 搜索 “天气” 或 “Weather”
- 选择天气插件(如:高德天气、和风天气等)
- 配置插件参数:
- API Key:填写天气服务的 API Key
- 默认城市:设置默认查询城市(可选)
方式二:创建自定义插件
如果内置插件不满足需求,可以创建自定义插件:
步骤:
- 点击 “插件” → “创建插件”
- 选择插件类型:HTTP 请求插件
- 配置插件信息:
插件名称:天气查询插件
插件描述:通过 API 查询天气信息
请求配置:
请求方式: GET
请求URL: https://restapi.amap.com/v3/weather/weatherInfo
请求参数:
- key: ${api_key} # 从环境变量获取
- city: ${city} # 从用户输入获取
- extensions: all # 返回全部信息
响应解析:
{
"status": "1",
"count": "1",
"info": "OK",
"infocode": "10000",
"lives": [
{
"province": "省份",
"city": "城市",
"adcode": "城市编码",
"weather": "天气现象",
"temperature": "温度",
"winddirection": "风向",
"windpower": "风力",
"humidity": "湿度",
"reporttime": "发布时间"
}
],
"forecasts": [
{
"city": "城市",
"adcode": "城市编码",
"province": "省份",
"reporttime": "发布时间",
"casts": [
{
"date": "日期",
"week": "星期",
"dayweather": "白天天气",
"nightweather": "夜间天气",
"daytemp": "白天温度",
"nighttemp": "夜间温度",
"daywind": "白天风向",
"nightwind": "夜间风向",
"daypower": "白天风力",
"nightpower": "夜间风力"
}
]
}
]
}
3.2 使用知识库方式
如果不想使用 API,可以通过知识库提供天气信息:
- 点击 “知识库” → “创建知识库”
- 上传天气数据文档(CSV、TXT、PDF 等)
- 配置知识库:
- 名称:天气知识库
- 描述:包含常见城市的天气信息
- 检索方式:语义检索
知识库内容示例(CSV 格式):
城市,日期,天气,最高温度,最低温度,空气质量,穿衣建议
北京,2024-12-15,晴,15,5,良,建议穿薄外套或牛仔裤等服装
上海,2024-12-15,多云,18,10,优,建议穿薄外套或牛仔裤等服装
广州,2024-12-15,晴,25,15,良,建议穿短袖或薄长袖
四、配置工作流
4.1 创建天气查询工作流
- 点击 “工作流” → “创建工作流”
- 工作流名称:天气查询流程
4.2 设计工作流节点
开始
↓
提取用户输入(城市名称)
↓
调用天气插件/API
↓
解析天气数据
↓
生成回复内容
↓
返回结果
↓
结束
4.3 工作流配置示例
节点 1:提取城市名称
节点类型: 变量提取
输入: ${user_input}
提取规则: 从用户输入中提取城市名称
输出变量: city_name
节点 2:调用天气 API
节点类型: HTTP 请求
URL: https://restapi.amap.com/v3/weather/weatherInfo
方法: GET
参数:
key: ${api_key}
city: ${city_name}
extensions: all
输出变量: weather_data
节点 3:格式化回复
节点类型: LLM 生成
提示词: |
根据以下天气数据,生成友好的回复:
城市:${weather_data.city}
天气:${weather_data.weather}
温度:${weather_data.temperature}°C
风向:${weather_data.winddirection}
风力:${weather_data.windpower}
湿度:${weather_data.humidity}
请用友好的语气,使用 emoji,结构化展示信息。
输出变量: formatted_reply
添加工作流

创建工作流


开始结点和结束结点一开始coze就自动生成了 。
添加大模型

配置大模型

添加插件结点


配置插件结点

配置结束结点输出

试运行

查看试运行结果

发布工作流&添加到智能体中

五、完整配置示例
5.1 智能体完整配置
# 天气助手智能体配置
## 基本信息
- 名称:天气助手
- 描述:专业的天气查询服务助手
- 头像:☀️
## 人设
你是一位专业的天气服务助手,名字叫"小天气"。
你能够查询实时天气、提供天气预报、给出穿衣建议和出行建议。
## 能力
1. 实时天气查询
2. 天气预报(3-7天)
3. 穿衣建议
4. 出行建议
5. 空气质量查询
## 回复格式
使用以下格式回复:
📅 **日期**: ${date}
☀️ **星期几**: ${week}
🌡️ **天气**: ${weather}
🏠 **温度**: ${max_temp}°C / ${min_temp}°C
🍃 **空气质量**: ${air_quality}
🧥 **穿衣建议**: ${clothing_suggestion}
5.2 插件配置示例
{
"plugin_name": "天气查询插件",
"plugin_type": "http_request",
"config": {
"method": "GET",
"url": "https://restapi.amap.com/v3/weather/weatherInfo",
"headers": {
"Content-Type": "application/json"
},
"params": {
"key": "${AMAP_API_KEY}",
"city": "${city}",
"extensions": "all"
},
"response_parser": {
"type": "json",
"fields": {
"city": "lives[0].city",
"weather": "lives[0].weather",
"temperature": "lives[0].temperature",
"winddirection": "lives[0].winddirection",
"windpower": "lives[0].windpower",
"humidity": "lives[0].humidity"
}
}
}
}
六、测试智能体
6.1 对话测试
- 在智能体编辑页面,点击右上角 “测试” 按钮
- 在测试对话框中输入测试问题:
- “北京今天天气怎么样?”
- “上海未来3天的天气预报”
- “广州适合穿什么衣服?”
- 查看智能体的回复是否符合预期
6.2 测试用例
| 测试场景 | 输入 | 预期输出 |
|---|---|---|
| 实时天气查询 | “北京天气” | 返回北京当前天气信息 |
| 天气预报 | “上海未来3天天气” | 返回未来3天天气预报 |
| 穿衣建议 | “广州适合穿什么” | 根据温度给出穿衣建议 |
| 错误处理 | “查询不存在的城市” | 友好提示城市不存在 |
七、发布和部署
7.1 发布智能体
- 完成配置后,点击 “发布” 按钮
- 选择发布方式:
- 公开发布:所有用户可见
- 私有发布:仅自己可见
- 团队发布:团队成员可见
7.2 集成到其他平台
Coze 支持将智能体集成到多个平台:
集成到豆包
- 在智能体页面,点击 “发布” → “发布到豆包”
- 配置豆包相关参数
- 完成发布

发布成功之后立即对话 。

自定义天气查询,就可以使用自己的机器人了。

集成到飞书
- 在智能体页面,点击 “发布” → “发布到飞书”
- 配置飞书应用信息
- 完成发布
集成到微信
- 在智能体页面,点击 “发布” → “发布到微信”
- 配置微信公众号信息
- 完成发布
点击发布

选择微信客服

以微信为例子
参考 :https://www.coze.cn/open/docs/guides/wecom《发布低代码智能体到微信客服》

最终效果

八、高级功能
8.1 多轮对话
配置智能体支持多轮对话:
## 对话上下文
- 记住用户上次查询的城市
- 支持连续查询:"明天的天气呢?"(基于上次的城市)
- 支持追问:"那后天呢?"
8.2 个性化回复
根据用户偏好定制回复:
## 个性化设置
- 温度单位:摄氏度/华氏度
- 语言风格:正式/轻松/幽默
- 信息详细程度:简洁/详细
8.3 数据持久化
如果需要保存用户查询历史:
- 创建数据库插件
- 配置数据存储
- 在工作流中添加保存节点
九、优化建议
9.1 提升准确性
- ✅ 使用可靠的天气 API(如高德、和风天气)
- ✅ 添加城市名称纠错功能
- ✅ 处理模糊查询(如"帝都"→"北京")
9.2 提升用户体验
- ✅ 使用 emoji 增强可读性
- ✅ 结构化展示信息
- ✅ 提供友好的错误提示
- ✅ 支持语音输入(如果平台支持)
9.3 性能优化
- ✅ 缓存常用城市的天气数据
- ✅ 异步处理复杂查询
- ✅ 优化 API 调用频率
十、完整示例代码
10.1 工作流配置(JSON 格式)
{
"workflow_name": "天气查询流程",
"nodes": [
{
"id": "1",
"type": "extract_variable",
"name": "提取城市",
"config": {
"input": "${user_input}",
"pattern": "城市名称",
"output": "city_name"
}
},
{
"id": "2",
"type": "http_request",
"name": "查询天气",
"config": {
"url": "https://restapi.amap.com/v3/weather/weatherInfo",
"method": "GET",
"params": {
"key": "${AMAP_API_KEY}",
"city": "${city_name}",
"extensions": "all"
}
}
},
{
"id": "3",
"type": "llm_generate",
"name": "生成回复",
"config": {
"prompt": "根据天气数据生成友好回复",
"input_data": "${weather_data}",
"output": "formatted_reply"
}
}
],
"edges": [
{"from": "1", "to": "2"},
{"from": "2", "to": "3"}
]
}
10.2 提示词模板
# 天气查询提示词模板
## 系统提示词
你是一位专业的天气助手,能够准确理解用户的天气查询需求,并提供详细的天气信息。
## 用户输入处理
1. 识别用户查询的城市
2. 识别查询类型(实时天气/天气预报/穿衣建议)
3. 提取时间信息(今天/明天/未来N天)
## 回复格式
使用以下模板:
📅 **日期**: {date}
☀️ **星期几**: {week}
🌡️ **天气**: {weather}
🏠 **温度**: {max_temp}°C / {min_temp}°C
🍃 **空气质量**: {air_quality}
🧥 **穿衣建议**: {clothing_suggestion}
💡 **出行建议**: {travel_tip}
十一、常见问题
Q1: 如何获取天气 API Key?
A:
- 注册高德开放平台账号:https://lbs.amap.com/
- 创建应用并获取 API Key
- 在 Coze 插件配置中填入 API Key
Q2: 智能体回复不准确怎么办?
A:
- 优化提示词,更明确地描述需求
- 检查 API 返回的数据是否正确
- 添加数据验证和错误处理
Q3: 如何支持多个城市同时查询?
A:
- 在工作流中添加循环节点
- 或者使用批量查询 API
- 解析多个城市的结果并合并
Q4: 如何添加天气预报功能?
A:
- 在 API 调用时设置
extensions=all - 解析
forecasts字段 - 格式化展示未来几天的天气
Q5: 智能体可以保存用户偏好吗?
A:
- 可以使用知识库存储用户信息
- 或者创建数据库插件持久化数据
- 在工作流中读取用户偏好
十二、最佳实践
1. 提示词编写
- ✅ 明确角色定位和能力
- ✅ 定义清晰的回复格式
- ✅ 包含错误处理说明
- ✅ 使用示例说明期望行为
2. 工作流设计
- ✅ 逻辑清晰,节点职责单一
- ✅ 添加错误处理节点
- ✅ 优化 API 调用顺序
- ✅ 合理使用缓存
3. 测试验证
- ✅ 覆盖常见场景
- ✅ 测试边界情况
- ✅ 验证错误处理
- ✅ 检查用户体验
十三、总结
搭建天气服务智能体的关键步骤:
- ✅ 创建智能体:设置基本信息和人设
- ✅ 配置功能:添加天气查询插件或 API
- ✅ 设计工作流:定义查询和处理流程
- ✅ 测试验证:确保功能正常
- ✅ 发布部署:发布到目标平台
核心优势:
- 🚀 无需编程,自然语言配置
- 🎯 快速搭建,几分钟完成
- 🔄 易于迭代和优化
- 🌐 支持多平台部署
参考资料
- Coze 官方文档:https://www.coze.cn/docs
- 高德天气 API:https://lbs.amap.com/api/webservice/guide/api/weatherinfo
- 和风天气 API:https://dev.qweather.com/
更多推荐


所有评论(0)