第8章:定时任务与触发器——让 Bot 主动服务
8.1 什么是定时任务?
在之前的章节中,我们的 Bot 都是被动响应用户的输入。用户提问,Bot 回答。但很多时候,我们希望 Bot 能够主动在特定时间执行任务,例如每天早上发送天气预报、定时提醒用户喝水、或者定期从网站抓取数据并汇报。这就是定时任务 (Scheduled Task) 的用武之地。
Coze 中的定时任务功能,允许你设置一个触发器 (Trigger),当满足预设的时间条件时,自动运行指定的 Bot 或工作流。这极大地扩展了 Bot 的应用场景,使其从一个问答工具变成了一个可以 7x24 小时自动运行的智能助理。
核心优势:
- 自动化:无需人工干预,自动执行重复性任务。
- 主动服务:变被动为主动,在用户需要的时候主动推送信息。
- 信息同步:可以定时从外部数据源(如API、网站)拉取最新信息。
- 用户关怀:通过定时提醒、问候等,提升用户体验。
8.2 如何在 Coze 中创建定时任务
在 Coze 中,定时任务是通过“触发器”功能来实现的。你可以为一个 Bot 创建一个或多个触发器。
创建步骤:
- 进入你的 Bot 配置页面。
- 在左侧导航栏中,找到并点击“触发器”选项。
- 点击“创建触发器”按钮。
- 配置触发器:
- 名称:为你的触发器起一个有意义的名字,例如“每日早报推送”。
- 触发方式:选择“定时任务”。
- Cron 表达式:这是配置核心。它决定了任务何时执行。Coze 提供了可视化的选择器,你也可以直接编写 Cron 表达式。例如:
0 9 * * *
:表示每天早上 9:00 执行。0 */1 * * *
:表示每小时的 0 分执行一次(即整点执行)。
- 触发内容:你可以设置当触发器被触发时,Bot 要说的第一句话。这句话会启动 Bot 的运行逻辑。例如,你可以设置为“早上好,请为我播报今天的科技新闻头条。”
- 发布范围:选择这个定时任务在哪个发布渠道生效(例如,仅在飞书群中生效)。
8.3 实践项目一:每日定时新闻简报 Bot
项目目标:创建一个 Bot,每天早上 8:30 自动在一个指定的飞书群里播报最新的 3 条国内新闻头条。
实现步骤:
-
Bot 准备:
- 确保你的 Bot 已经具备了新闻插件(参考第四章内容)。
- 在“人设与回复逻辑”中,设计好处理新闻播报请求的 Prompt。
# 角色 你是一个专业的新闻播报员。# 技能 1. 当接收到指令“播报国内新闻头条”时,你会调用新闻插件,获取最新的国内新闻。 2. 你会从新闻列表中选取最重要的前 3 条新闻。 3. 对每一条新闻,你会清晰地播报其标题和 50 字以内的摘要。 4. 输出格式简洁明了,使用数字列表。# 限制 - 只播报国内新闻。 - 严格遵守 3 条的数量限制。
-
创建触发器:
- 进入 Bot 的“触发器”配置页面。
- 点击“创建触发器”。
- 名称:
每日新闻简报
- 触发方式:
定时任务
- Cron 表达式:设置为
30 8 * * *
(每天 8:30)。 - 触发内容:输入
播报国内新闻头条
。这句话将作为定时任务启动时,用户发送给 Bot 的第一句话。 - 发布范围:选择你想要接收新闻的那个飞书群。
-
发布与测试:
- 保存并发布你的 Bot。
- 等到第二天早上 8:30,或者为了立即测试,你可以将 Cron 表达式设置为未来几分钟后执行的时间,例如,如果现在是 14:20,你可以设置为
22 14 * * *
。 - 观察指定的飞书群,Bot 应该会在预定时间自动发送新闻简报。
8.4 实践项目二:工作日整点健康提醒 Bot
项目目标:创建一个 Bot,在工作日的上午 9 点到下午 6 点之间,每个整点在公司群里发送一条健康提醒,如“该起来活动一下了!”或“记得喝水哦!”
实现步骤:
-
Bot 准备:
- 这个 Bot 的逻辑非常简单,甚至不需要复杂的 Prompt,但为了让提醒语更多样,我们可以使用 LLM 的能力。
- 人设与回复逻辑:
# 角色 你是一个关心同事健康的办公室健康小助手。# 技能 1. 当被要求发送一条健康提醒时,你会从以下列表中随机选择一条,或者生成一条类似的、友好的提醒:- "工作再忙,也要起来活动一下颈椎哦!"- "久坐是健康杀手,站起来走两步吧!"- "眼睛累了吗?看看窗外的绿色,放松一下。"- "喝口水,给身体充充电!"- "一个番茄钟结束了,休息 5 分钟吧!"# 限制 - 语气必须亲切、友好、简短。
-
创建触发器:
- 名称:
工作日健康提醒
- 触发方式:
定时任务
- Cron 表达式:
0 9-18 * * 1-5
0
: 表示在每小时的 0 分(整点)触发。9-18
: 表示从上午 9 点到下午 18 点(下午 6 点)。*
: 表示每天。*
: 表示每月。1-5
: 表示周一到周五。
- 触发内容:输入
发送一条健康提醒
。 - 发布范围:选择公司内部的飞-书群。
- 名称:
-
发布与测试:
- 保存并发布 Bot。
- 在下一个工作日的整点时间,观察群内是否收到了 Bot 发送的健康提醒。
本章总结
本章,我们解锁了让 Bot 主动服务的关键能力——定时任务与触发器。我们学习了定时任务的核心概念,掌握了在 Coze 中创建和配置定时触发器的完整流程,特别是如何使用 Cron 表达式来精确控制任务的执行时间。通过“每日新闻简报”和“健康提醒助手”两个实战项目,我们体验了定时任务在信息推送和用户关怀场景下的巨大威力。至此,你的 Bot 已经从一个单纯的对话机器人,进化为了一个能够自主执行任务的自动化流程引擎。