一、基础入门

1.Agent介绍
AI Agent是能够感知环境、自主决策、使用工具完成任务的智能体

2.Coze介绍
零代码/低代码开发
网址:扣子编程,你的 AI 开发伙伴, Vibe Coding 基础设施,自然语言对话开发智能体、工作流、网页应用、移动应用,一键部署上线
特点:1.快速搭建 2.插件丰富 3.工作流强大 4.免费使用 5.多渠道发布
3.Agent案例实践

Step 1让 Bot 听懂人话提示词工程,优化指令让模型准确理解用户意图
Step 2让 Bot 专业RAG 应用,接入外部知识库,提供精准、专业的领域知识
Step 3让 Bot 做事插件制作,让 Bot 调用外部工具 / API,完成实际业务操作
Step 4让 Bot 工作工作流编排,串联多步骤任务,实现复杂自动化流程
Step 5让 Bot 应用发布运营,将 Bot 部署到线上场景,触达真实用户并持续迭代
二、提示词
1.提示词知识
角色定位:明确 Bot 身份,塑造专业形象。
技能描述:清晰定义任务目标,明确工作范围。
约束条件:限制不当行为,保障交互安全合规。
输出格式:规范回复结构,保证输出统一清晰。
2.Coze提示词操作
常用方式:编写提示词+AI调优

3.实战:高情商职场回复助手
点击提示词库

操作:用AI优化提示词,人工审核
三、RAG技术
01 RAG原理
RAG是一种结合知识检索和语言生成的人工智能技术,主要用于解决大型语言模型幻觉问题

基本原理:在生成回答时,先从知识库中检索相关文档,将检索到的文档与原始问题一起输入LLM,LLM基于检索内容生成最终答案。
02 知识库构建
知识库构建:
文档准备
1.文档类型 2.表格类型 3.照片类型
文档预处理:清理无关内容(广告、水印)- 按主题分类整理 - 文件命名规范(含关键信息)
文档切片
为了适应大语言模型的上下文长度限制,并提升检索的精确度和效率
1.按字符数切分:固定长度(如每300字一段)
2.按符号切分:按照句号、换行符、感叹号等
3.按语义切分:识别主题变化点智能切分
文档向量化
将切分后的文本进行向量数字化,便于计算问题和文档的相似性。
03 LOL助手知识库

4 LOL-RAG应用
1.创建智能体bot
2.构建提示词
3.选择知识库
4.结果验证

四、Function Calling
1.工作原理

让大模型具备调用外部工具的能力。
流程:用户请求-》 大模型判断是否调用函数 -》 函数结果返回大模型 -》 给出答案
2. 旅游规划助手实操
业务:AI旅行规划助手
目标:基于现有插件,帮我规划去北京旅游的行程


可以用模型自动优化提示词

3 天气查询插件制作
01 Coze自定义插件

插件:get_weather
from runtime import Args
# 导入 requests 库,用于发送 HTTP 请求(调用天气 API)
import requests
# 若你的 Coze 模板里自带 Args,则保留;如果没有可删掉 ": Args"
def handler(args: Args):
"""
天气查询插件:
根据城市地址查询天气信息,例如输入“北京”,输出{
high: "高温 7℃",
low: "低温 -1℃",
weather: "晴",
week: "星期二"
}
"""
# === 1. 解析输入 ===
try:
# 从 args.input 中获取 location 字段,并去除首尾空格
location = args.input.location.strip()
except Exception:
# 若获取 location 失败(如字段不存在、输入非对象等),设为空字符串
location = ""
# === 2. 城市编码映射(仅北京、天津、上海) ===
city_code_map = {
"北京": "101010100", # 北京市天气 API 编码
"天津": "101030100", # 天津市天气 API 编码
"上海": "101020100" # 上海市天气 API 编码
}
# 根据用户输入的城市名,查找对应编码;若找不到则返回 None
city_code = city_code_map.get(location)
# 不支持的城市(如输入为空或未配置) -> 返回空值结构
if not city_code:
args.logger.warning(f"Unsupported location: {location}")
return {
"high": None,
"low": None,
"weather": None,
"week": None
}
# === 3. 调用天气 API ===
# 拼接完整 API 请求 URL
url = f"http://t.weather.itboy.net/api/weather/city/{city_code}"
try:
# 发起 GET 请求,设置超时 5 秒
response = requests.get(url, timeout=5)
# 若 HTTP 状态码非 2xx,主动抛出异常
response.raise_for_status()
# 将响应体解析为 JSON 字典
data = response.json()
# 检查 API 业务状态码(该 API 约定 status=200 表示成功)
if data.get("status") != 200:
raise ValueError("Weather API returned non-200 status")
# 提取今日天气预报(forecast 列表第 0 项即为当天)
forecast = data["data"]["forecast"][0]
# 返回天气基本信息
return {
"high": forecast["high"], # 例如 "高温 7℃"
"low": forecast["low"], # 例如 "低温 -1℃"
"weather": forecast["type"], # 例如 "晴"
"week": forecast["week"] # 例如 "星期二"
}
except Exception as e:
# 记录错误日志,便于调试
args.logger.error(f"Weather query failed for '{location}': {e}")
# 统一返回空值结构,保证插件健壮性
return {
"high": None,
"low": None,
"weather": None,
"week": None
}

查询

5 工作流搭建
01 工作流原理
工作流作用:将一个复杂的任务分解成一系列可管理的、按顺序或按条件执行的步骤,并通过图形化的界面将这些步骤连接起来
工作流:业务逻辑的可视化执行
Coze的两种工作流类型:对话流和工作流
工作流的核心组件:节点-特定功能的独立组件,负责处理数据、执行任务
02 对话助手基本流程


步骤:选择Agent对话流
创建对话流
03 意图识别插件
from runtime import Args
import random
"""
Each file needs to export a function named `handler`. This function is the entrance to the Tool.
Parameters:
args: parameters of the entry function.
args.input - input parameters, you can get test input value by args.input.xxx.
args.logger - logger instance used to print logs, injected by runtime.
Remember to fill in input/output in Metadata, it helps LLM to recognize and use tool.
Return:
The return data of the function, which should match the declared output parameters.
"""
def handler(args)->dict:
"""
基于固定短语匹配的跨境电商问答处理器
Args:
query: 用户输入的问题
Returns:
Dict: 包含回复类型、回复内容等信息的字典
"""
# 去除首尾空格
query = args.input.query.strip()
# 打招呼相关的固定短语
greeting_phrases = {
# 基本问候
"你好", "您好", "hi", "hello", "嗨", "哈喽", "哈罗",
"早上好", "下午好", "晚上好", "上午好", "中午好", "晚安",
"早", "午安", "good morning", "good afternoon", "good evening",
# 询问身份
"你是谁", "你是什么", "你叫什么", "你的名字", "介绍一下自己",
"自我介绍", "你是什么东西", "你是哪个", "你是啥",
# 询问状态
"你好吗", "怎么样", "还好吗", "你还好吗", "最近怎么样",
"你在吗", "在不在", "还在吗", "在线吗", "你在线吗",
# 询问能力
"你能干什么", "你会做什么", "你能做什么", "你的功能",
"你有什么用", "你的作用", "你的职责", "你的用途",
"你能帮我什么", "你可以做什么", "你会什么", "你懂什么",
"能力介绍", "功能介绍", "你的能力", "你有什么功能",
# 开始对话
"开始", "开始咨询", "开始对话", "开始聊天", "我想咨询",
"我有问题", "我想问问题", "我想了解", "咨询一下",
# 测试类
"测试", "试试", "试一试", "test", "testing", "试试看",
"测试一下", "看看", "检查一下"
}
# 礼貌用语
thank_phrases = {
"谢谢", "感谢", "多谢", "谢了", "thanks", "thank you",
"thx", "3q", "3x", "谢谢你", "感谢你", "多谢了",
"非常感谢", "十分感谢", "万分感谢", "太感谢了"
}
goodbye_phrases = {
"再见", "拜拜", "bye","byebye","goodbye", "88", "走了", "告辞",
"先走了", "下次见", "回头见", "有空再聊", "改天聊",
"see you", "拜", "溜了", "闪了", "slip away"
}
# 人工服务相关短语
human_service_phrases = {
# 直接要求人工服务
"人工服务", "人工客服", "人工坐席", "人工咨询", "人工帮助",
"人工支持", "人工答疑", "人工解答", "人工回复", "人工对话",
# 转接相关
"转人工", "找人工", "要人工", "转接人工", "转接客服",
"切换人工", "接入人工", "联系人工","答疑入口",
# 真人服务
"真人服务", "真人客服", "真人咨询", "真人对话", "真人帮助",
"活人", "真人", "人类", "人工", "真的人",
# 客服相关
"客服", "在线客服", "联系客服", "找客服", "客服电话",
"客服微信", "客服qq", "官方客服",
# 老师/导师
"联系老师", "找老师", "咨询老师", "请教老师", "老师帮忙",
"专业老师", "课程老师", "指导老师",
# 专业服务
"专人服务", "专人客服", "专业咨询", "专业服务", "专家咨询",
"顾问咨询", "一对一服务", "专属服务",
# 投诉和问题
"投诉", "举报", "反馈问题", "意见反馈", "服务投诉",
"质量问题", "服务问题", "系统问题",
# 售后相关
"退款", "退货", "售后", "售后服务", "退换货", "申请退款",
"退费", "取消订单", "订单问题",
# 不满意
"不满意", "有问题", "出问题", "不行", "太差了", "服务差",
"回答不对", "答非所问", "听不懂", "不准确"
}
# 固定回复
greeting_response = "你好,很高兴为您服务!我是您的跨境电商学习小助手,专业为您答疑解惑。"
polite_responses = {
"thank": [
"不用客气,随时为您服务!",
"很高兴能帮助到您!",
"这是我应该做的,有问题随时找我哦!",
"客气了,有什么问题尽管问!",
"不客气,祝您跨境电商生意兴隆!"
],
"goodbye": [
"再见!期待下次为您服务!",
"祝您生活愉快,有问题随时来找我!",
"再见!祝您跨境电商生意兴隆!",
"拜拜!有问题随时回来咨询!",
"再见!祝您学习愉快!"
]
}
human_service_response = "同学,点击 https://www.123.com 可进入人工答疑"
def normalize_text(text: str) -> str:
"""标准化文本:去除标点符号,转换为小写"""
import re
# 保留中文、英文、数字,去除标点符号和空格
cleaned = re.sub(r'[^\w\u4e00-\u9fff]', '', text.lower().strip())
return cleaned
def exact_match_check(query_text: str, phrase_set) -> bool:
"""精确匹配检查"""
normalized_query = normalize_text(query_text)
for phrase in phrase_set:
normalized_phrase = normalize_text(phrase)
if normalized_phrase == normalized_query:
return True
return False
def contains_match_check(query_text: str, phrase_set) -> bool:
"""包含匹配检查(用于短查询中包含关键短语的情况)"""
normalized_query = normalize_text(query_text)
# 只有当查询很短时才使用包含匹配(避免误匹配)
if len(normalized_query) <= 10:
for phrase in phrase_set:
normalized_phrase = normalize_text(phrase)
if normalized_phrase in normalized_query or normalized_query in normalized_phrase:
return True
return False
# 处理输入
query = query.strip()
if not query:
return {
"type": "error",
"response": "请输入您的问题。",
"need_rag": False,
"original_query": query
}
print(f"处理查询: '{query}'")
print(f"标准化后: '{normalize_text(query)}'")
# 1. 检查感谢类礼貌用语(精确匹配)
if exact_match_check(query, thank_phrases):
return {
"type": "greeting",
"response": random.choice(polite_responses["thank"]),
"need_rag": False,
"original_query": query
}
# 2. 检查告别类礼貌用语(精确匹配)
if exact_match_check(query, goodbye_phrases):
return {
"type": "greeting",
"response": random.choice(polite_responses["goodbye"]),
"need_rag": False,
"original_query": query
}
# 3. 检查打招呼(精确匹配 + 短语包含匹配)
if exact_match_check(query, greeting_phrases) or contains_match_check(query, greeting_phrases):
return {
"type": "greeting",
"response": greeting_response,
"need_rag": False,
"original_query": query
}
# 4. 检查人工服务请求(精确匹配 + 短语包含匹配)
if exact_match_check(query, human_service_phrases) or contains_match_check(query, human_service_phrases):
return {
"type": "human_service",
"response": human_service_response,
"need_rag": False,
"original_query": query
}
# 5. 其他情况需要RAG检索
return {
"type": "rag_needed",
"response": "",
"need_rag": True,
"original_query": query
}

04 完整对话流


05 微信发布
授权发布即可。
完整文档可见仓库地址:RudyGo8/Coze_Study
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://blog.grover.top/2025/10/21/coze%e6%99%ba%e8%83%bd%e4%bd%93%e5%ad%a6%e4%b9%a0/


共有 0 条评论