本期导读
上一期我们把一个“万能助手”拆成了一支分工明确的 Bot 小队。队伍有了,下一步就是让它们“自己上班”:每天早上把资讯整理好、代码检查失败时第一时间告诉你、收到某封邮件就自动处理。
这就是 Routines(定时任务 / 例行任务)。根据官方文档,一个 Routine 告诉某一个 Bot 什么时候运行一项工作:可以按时间表,也可以在某件事发生时启动;它在云端运行,你的笔记本合上了也不影响。今天这期就从零讲清楚怎么用好它。
可直接上手的 5 条技巧
每条技巧都附了一段示例提示词,把方括号里的内容换成你自己的,就能直接发给负责这件事的 Bot。
技巧一:先跑通一次,再交给 Routine
官方文档的建议是:先做成一次性的任务,把它跑稳定,必要时把做法存成技能(skill),最后再自动化。直接把一个从没跑通过的想法设成定时任务,往往只会得到一连串失败的运行记录。
创建方式很简单:在聊天里对要负责的 Bot 用大白话说清楚“做什么、什么时候、结果给谁”。创建前最好确认这几件事:
- 负责的 Bot
- 由哪个 Bot 来跑,例如“资料研究员”
- 时间与时区
- 例如“每个工作日早上 8 点”,按你设置里的时区算
- 输入来源
- 从哪里拿数据
- 期望结果
- 交付什么、什么格式
- 审批边界
- 哪些事必须先问你
- 数据缺失时
- 来源打不开时应该怎么做
刚才这份资讯摘要做得不错,我想让你以后定期做。请先别创建,先给我一份 Routine 方案:
1. 你理解的任务目标(一句话);
2. 建议的运行时间和频率,以及理由;
3. 数据来源有哪些;
4. 交付格式和发送位置;
5. 哪些事你不会自己做、需要先问我;
6. 数据源打不开时你会怎么处理。
我确认后你再创建。技巧二:时间表用大白话说,然后核对“何时运行”
时间表直接用自然语言描述就行,例如“每个工作日早上 8 点”“每 2 小时一次”。时间按设置中 Bot 分类下的时区(Timezone)来算,自动检测时跟随当前电脑;如果这项工作属于另一个城市的办公室,可以单独指定时区。
创建后打开这个 Routine,看“何时运行”(When to run)一栏,它会用文字显示保存下来的时间表,不对就选编辑(Edit)告诉 Bot 改哪里。两个容易踩的坑:
- 新建的定时任务要等到下一个预定时间才首次运行
- 想马上看效果,打开它选择测试(Test),结果会出现在 Bot 的聊天里
- 测试会真的干活,会改文件、会用已连接的应用,请用安全的输入
- 8:05 设好“每天 8 点”,然后干等它今天跑
- 用一个会对外发消息的真实任务直接测试
- 把频率定得越密越好:按你真正会看结果的时间来定就够了
如果你在意的是“几点之前要准备好”,而不是“几点整开始”,就把截止时间直接写进提示词,让 Bot 帮你安排一个足够提前的运行时间。
帮我建一个 Routine:每个工作日早上 [9 点] 之前,把 [主题] 的新动态整理成一份不超过 10 条的摘要,每条附原始链接。
我想在 [9 点] 打开聊天时就能看到结果,请你自己安排一个足够提前的运行时间,并告诉我最终保存的时间表和时区。技巧三:提示词写成“意图”,结尾交代收件人和“没新内容怎么办”
Routine 每次运行都会重新读一遍你保存的提示词。如果把它写成一份死板的操作步骤(先点哪里、再调用什么),一旦工具或页面变了,下一次运行就会出错。更好的写法是描述目标和标准,让 Bot 每次自己找到合适的做法。
提示词最后,用一句话写清两件事:结果发给谁、发到哪里(比如就在这个聊天里);没有新内容时怎么办。大多数情况下,“没有新内容就保持安静”能省掉大量无用的打扰。
请把下面这段话存成你这个 Routine 的指令:
目标:每天检查 [项目或主题] 有没有值得我关注的新变化,判断标准是 [你的标准]。
要求:只用一手来源,每条附链接;来源打不开就如实报告失败,不要拿旧数据充数;不要替我对外联系任何人。
交付:结果发给我,就在这个聊天里,先结论后细节;如果没有新内容,就什么也不发。技巧四:默认工作日、白天运行;一次性盯梢要自带到期
“每天看一眼”“盯着点”这类说法,大多数人的意思是“定期”,而不是“连周末和半夜也要”。所以一个好习惯是:默认只在工作日、白天的时段运行,真需要周末或夜间运行时再明确说出来,比如服务故障、上线发布、和你自己生活相关的提醒(吃药、喂宠物、打卡习惯)。
另一类是一次性的盯梢:“这个合并请求合进去就告诉我”“这件商品降价就通知我”。这种任务应该自带结束条件:达成目标后汇报一次就自动删除,或者写明一个截止日期,过期自动结束,免得它在后台一直跑、一直消耗用量。
帮我盯一下 [要关注的事情],满足 [条件] 时在这个聊天里告诉我一次。
要求:
1. 只在工作日 [9 点到 18 点] 之间检查,频率你按需要定,越省越好;
2. 条件满足并通知我之后,就把这个 Routine 删掉;
3. 如果到 [截止日期] 还没发生,也通知我一声,然后删掉。技巧五:让事件来叫醒 Bot,而不是让它一直轮询
除了按时间表,Routine 还能在某件事发生时启动:Slack 消息(提到 Bot、出现某个关键词、你对消息加了表情回应,或任意消息)、GitHub 事件(例如新的合并请求、代码检查通过或失败)、Linear、Sentry、PagerDuty 事件、发到 Bot 自己邮箱的邮件,以及外部系统调用 Webhook。只认触发器建立之后的新动态,之前的消息不会触发。
事件触发依赖你账号里连接好的对应应用,可能需要单独连接一次。官方文档特别提醒:规则要窄,不要监听“某个热闹频道里的每一条消息”,否则会频繁运行、白白消耗用量,还更容易对无关内容动手。
Webhook 的地址和密钥在桌面端打开这个 Routine 后的 Webhook 区域里,点一下即可复制。外部系统调用后收到 200,只代表 Grok Bot 接受了这次调用并开始运行,不代表已经做完,结果要去 Bot 的聊天里看。
帮我建一个事件触发的 Routine:当 [仓库名] 的主分支代码检查失败时,你去看失败日志,找出最可能的原因,在这个聊天里给我一段简短报告(失败的检查、原因判断、建议的修复)。
不要自己改代码或提交,只做诊断。检查通过时不用通知我。几个必须知道的边界
- 密码和银行卡Routine 运行时不能自己填写已保存的登录信息、银行卡等私密内容,这些需要你在聊天里在场。需要时它会在聊天里叫你,由你来登录或批准填写。
- 确认卡片新建或修改 Routine 时,可能会弹出一张确认卡片,显示时间表和指令,你确认后才会保存。因为它是你不在时也会行动的东西。
- 暂停与恢复暂时不需要时,让 Bot 暂停这个 Routine,之后再恢复,不必删除;手机上对应的是“启用”(Active)开关。
- 隐藏不等于停用把 Bot 从侧边栏隐藏,它的 Routines 照常运行;删除 Bot 才会一起删掉。
实战案例:一支自己上班的通讯小队
延续上一期的虚构阵容(并非任何人的真实配置):一个小团队每周出一期通讯,同时维护一个业余小应用。给每个 Bot 配上合适的 Routine:
| Bot | Routine | 触发方式 | 结果去向 |
|---|---|---|---|
| 资料研究员 | 整理本周主题的新资料 | 工作日早上 | 发到自己的聊天,没新内容不发 |
| 撰稿人 | 把阅读清单写成初稿 | 每周固定一天上午 | 交给审稿人 |
| 审稿人 | 逐条核对来源 | 收到初稿时 | 结论发给你 |
| 规划师 | 汇总一周需求与进度 | 每周一上午 | 发给你 |
| 构建师 | 诊断失败的代码检查 | 主分支检查失败时 | 诊断报告发给你 |
亮点:从定时到事件的接力
- 资料研究员 → 撰稿人:阅读清单
- 撰稿人 → 审稿人:初稿
- 审稿人 → 我:核对结论
- 审稿人 ⇢ 撰稿人:有问题打回
对外发布这一步留给你自己。整条流水线里,只有“需要拍板”的时候才会打扰你。
你是这个团队的规划师。请帮我设计一套 Routines,让资料研究员、撰稿人、审稿人每周自动接力出一期通讯:
1. 每个 Bot 各需要什么 Routine,按时间还是按事件触发,建议的时间;
2. 每个 Routine 的结果发给谁;没新内容时怎么办;
3. 哪些步骤必须等我确认。
先给我方案表格,我确认后再分别去对应的 Bot 里创建。社区玩法精选
本期我们整理了几类常见、好上手的 Routine 用法,供大家参考。都是通用思路,具体时间和来源换成你自己的。
工作日晨间简报
在你通常开始工作前,把日程、未读邮件里的重点和关注领域的新闻合成一份简报。关键是“在你打开聊天之前准备好”,而不是越早越好。
代码检查失败时的第一响应
主分支检查失败或新的合并请求打开时,Bot 先去看日志、拉一份诊断,等你上线时问题已经有了初步判断。只诊断、不改代码,是最安心的起步方式。
用专属邮箱接收通知
给 Bot 一个自己的邮箱地址,把某些服务的通知发到这里,邮件一到就触发 Routine,自动归类、提炼要点,只把真正需要处理的告诉你。
一次性的“到了告诉我”
等某个合并请求合入、某个页面更新、某件商品降价,这类盯梢做成自带到期的 Routine:达成就汇报一次然后自动删除,不留尾巴。
生活提醒覆盖周末
工作类的任务默认只在工作日跑,但吃药、喂宠物、打卡习惯这类和生活相关的提醒,就应该一周七天都运行,跳过周末反而是错误。
延伸阅读
欢迎把你的 Routine 玩法(记得脱敏)分享到 X 并带上 #StudyGrokBot,优秀的玩法会收录进后续期刊。
本期小练习
花 15 分钟,给你的 Bot 配上第一个 Routine。
- 选一件事挑一件你每周都会手动让 Bot 做的事,先手动跑通一次。
- 出方案把技巧一的提示词发给它,拿到一份 Routine 方案。
- 写指令用技巧三的写法改好指令:写意图、写收件人、写“没新内容就不发”。
- 定时间按技巧二和技巧四定在工作日白天,创建后核对“何时运行”和时区。
- 测一次用安全的输入点一次测试(Test),在聊天里看结果,不满意就让 Bot 编辑。
往期与预告
- 明日预告
- 敬请期待下一期
Study GrokBot:GrokBot 自主教你来学习 GrokBot,每天更新一期各种 GrokBot 的技巧,以及各路大神们分享的作品和玩法。
快问快答
Routine 和普通聊天有什么区别?
普通聊天是你发一句、它做一次;Routine 把一段提示词和一个触发条件存起来,到点或事件发生时由 Bot 自己开工,你不在线、电脑合上也会在云端运行,结果发回 Bot 的聊天里。
怎么创建一个 Routine?
直接在聊天里告诉要负责这件事的 Bot:做什么、什么时候做、结果给谁。例如“每个工作日早上 9 点,把新的工单整理成摘要发到这个聊天里”。Bot 会创建它,并出现在这个 Bot 的 Routines 里。
定时任务按哪个时区算?为什么创建完没有马上跑?
按设置中 Bot 分类下的时区(Timezone),自动检测时跟随当前电脑。新建的定时任务会等到下一个预定时间才运行,比如 8:05 设置“每天 8 点”,第一次运行在明天 8 点;想立刻验证可以打开它选择测试(Test)。
Routine 没有按时运行,先查什么?
先看它是否处于暂停(Paused)状态,再看“何时运行”(When to run)里显示的时间表或触发条件、时区是否符合预期;事件触发只认触发器建立之后的新动态。