共计 1938 个字符,预计需要花费 5 分钟才能阅读完成。
什么是 Coze Skill?
Skill 是 Coze 平台上可复用的功能模块,相当于一个迷你应用。比如天气查询、翻译服务、定时提醒等都可以封装成 Skill。开发者创建 Skill 后,用户通过自然语言(如 ” 明天会下雨吗 ”)就能触发对应功能,无需关心技术实现细节。

创建 Skill 全流程
1. 进入 Skill 控制台
- 登录 Coze 开发者平台
- 点击左侧导航栏【技能开发】
- 选择【创建新技能】按钮
2. 配置基础信息
- 技能名称 :建议用动词 + 名词形式(如 ” 查询天气 ”)
- 描述 :用一句话说明功能(如 ” 提供国内城市未来 3 天天气预报 ”)
- 分类 :根据功能选择最匹配的类别(如工具、生活服务等)
3. 设置触发条件
通过意图识别配置用户可能输入的语句模式:
# 示例:用正则表达式匹配天气查询请求
import re
trigger_pattern = re.compile(r'(.*)(天气 | 天气预报)(.*)')
4. 编写响应逻辑
以下是一个带错误处理的天气查询示例:
# 符合 PEP8 规范的 Python 示例
def get_weather(city: str) -> dict:
"""
获取指定城市天气预报
:param city: 城市名称
:return: 包含天气数据的字典
"""
import requests
try:
# 实际开发中替换为真实 API 地址
api_url = f"https://weather.example.com/api?city={city}"
response = requests.get(api_url, timeout=5)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
return {"error": f"天气查询失败: {str(e)}"}
5. 测试与发布
- 在【测试面板】输入触发语句验证功能
- 检查错误日志排查问题
- 确认无误后点击【发布】按钮
- 注意:生产环境建议开启参数校验
避坑指南
坑 1:正则表达式过于宽松
❌ 错误写法:r'天气'(会误匹配 ” 今天心情天气不错 ”)
✅ 正确方案:r'^(北京 | 上海).* 天气'(限定城市 + 天气关键词)
坑 2:未处理 API 超时
❌ 直接调用外部 API 无超时设置
✅ 解决方案:
# 添加 timeout 参数
requests.get(url, timeout=3)
坑 3:敏感数据硬编码
❌ API 密钥写在代码中
✅ 正确做法:
1. 使用 Coze 提供的密钥管理功能
2. 通过环境变量读取敏感信息
完整天气 Skill 示例
import os
import requests
from typing import Dict, Union
class WeatherSkill:
"""
天气查询 Skill 完整实现
功能:提供国内城市 3 日天气预报
"""
def __init__(self):
self.api_key = os.getenv('WEATHER_API_KEY')
def validate_city(self, city: str) -> bool:
"""校验城市名称是否合法"""
valid_cities = ['北京', '上海', '广州'] # 示例城市列表
return city in valid_cities
def fetch_weather(self, city: str) -> Dict[str, Union[str, dict]]:
"""调用天气 API 获取数据"""
if not self.validate_city(city):
return {"error": "暂不支持该城市查询"}
try:
url = f"https://api.weather.example.com/v3?key={self.api_key}&city={city}"
resp = requests.get(url, timeout=3)
resp.raise_for_status()
return {"data": resp.json()}
except Exception as e:
return {"error": f"服务暂时不可用: {str(e)}"}
def format_output(self, raw_data: dict) -> str:
"""将 API 响应格式化为自然语言"""
# 实现细节省略...
return "格式化后的天气信息"
进阶思考
- 多轮对话实现 :如何记忆上下文状态?需要用到对话管理(Dialogue Management)技术
- 外部 API 对接 :Webhook 调用时要注意哪些安全规范?建议研究 OAuth2.0 认证机制
总结建议
新手开发 Skill 时,建议先用简单功能练手(如时间查询)。熟悉流程后,再逐步增加复杂功能。遇到问题可以查看 Coze 官方文档的 [技能开发指南],里面有很多实用案例。关键是要多测试,确保各种边缘情况都能正确处理。
正文完
