使用 Grok Bot
技能与例行任务
把一次成功任务变成可重复的流程。Grok Bot 使用两种机制:
- 技能 是一组可复用的指令,说明如何完成某项任务。
- 例行任务告诉一个 Bot 何时运行工作流:可以按计划运行,也可以由 Slack 消息、GitHub、Linear、Sentry 或 PagerDuty 事件、邮件或 webhook 调用触发。
从一次性任务开始。先让它可靠,把方法保存为技能,然后再自动化。
保存技能
技能记录步骤、决策规则、预期输出和安全边界。你的各个 Bot 均可使用技能,但使用某项技能可能需要连接相应应用或登录账号。
可以这样要求:
把我们刚使用的流程保存为名为“Weekly account health”的技能。包含源系统、风险定义、输出格式,以及“联系客户始终需要批准”这一规则。
实用的技能 会说明:
- 何时使用它
- 必需输入和访问权限
- 工作顺序
- 如何验证结果
- 返回什么
- 什么需要批准
在侧栏中打开 Connect apps,可以查找并安装受支持的应用及打包好的技能。要调用某项技能,直接告诉 Bot 技能名称;要提及 Bot、群组、例行任务或应用,使用 @。
所有 Bot 共用一个私有技能库。如果 Bot 找不到某项私有技能,在侧栏打开 Connect apps,点击标题旁的已连接数量,然后在 Private skills 下为当前 Bot 启用该技能。
将技能分享给团队
如果你属于一个团队,可以发布私有技能供队友使用。在桌面端打开 Connect apps,点击标题旁的已连接数量并打开该技能。选择顶部的 Publish。如果你属于多个团队,请在 Publish to 下选择目标团队。
发布前需要为技能填写描述,供队友和他们的 Bot 判断该在何时使用它。发布后,按钮会变为 Published。其菜单中的 Sync 可以将后续编辑同步到团队副本,还提供 Copy link 和 Unpublish。
如果无法发布,消息会说明原因:你需要先加入团队,或团队管理员已关闭成员发布权限(此时可以请管理员代为发布)。应用自带的技能和 Bot 模板附带的技能均无法发布。
通过演示教授工作流
当 Teach a task 可用时,你可以演示一个浏览器工作流,而不是描述每一步。
- 打开一个一对一 Bot 对话及其电脑视图。
- 选择 Teach a task。
- 描述你即将演示的结果。
- 执行一次工作流。
- 停止录制并审阅 Bot 创建的技能。
- 先用一个安全示例测试它,再安排计划运行。
教学会记录最多十分钟的可见电脑交互。它不会录制麦克风音频。演示期间避免暴露凭据;请对凭据使用安全交接流程。
通过演示学到的技能 是草稿。请添加决策规则、失败处理和审批边界,因为这些未必能从一次示例中看出来。
演示教学功能可能会逐步开放。如果看不到该控件,请让 Bot 根据书面指令和已完成任务创建技能。
创建例行任务
询问应负责这项重复工作的 Bot:
每个工作日早上 8:00,针对当前账号列表运行 “Daily customer-risk”技能。在这个对话中发布带链接的观察列表。不要联系客户。如果源数据不可用,请报告失败,而不是使用旧数据。
确认:
- 负责的 Bot
- 计划和时区
- 输入来源
- 预期结果
- 审批边界
- 来源缺失时应该发生什么
Bot 会创建例行任务,并将它列在自己的例行任务列表中。例行任务在云端运行,合上笔记本电脑后也能继续执行。
在手机上,也可以打开 Bot 资料,轻点 Add routine(位于 Routines 下)。Grok Bot 会起草一条以“Set up a routine to”开头的消息,补全这句话后发送即可。
计划和时区
例行任务使用 Settings 中 Bot 下的 Timezone 设置。Auto-detect 会跟随当前电脑的时区。如果任务应使用其他地点的时区,例如负责该工作的办公室所在地,请手动选择。
用日常语言说明计划,例如“每个工作日上午 8 点”或“每隔 2 小时”。然后打开例行任务,查看 When to run,其中会用文字说明已保存的计划。如果与你的意思不符,选择 Edit 并告诉 Bot 要调整什么。
新任务会等到下一个计划时间才运行。比如在 8:05 创建“每天上午 8 点”的任务,它会在明天上午 8 点首次运行。想立即试运行,可以使用 Test。
由事件触发工作
除定时运行外,例行任务也能由事件触发,包括 Slack 消息,GitHub、Linear、Sentry 或 PagerDuty 事件,发送到 Bot 自有邮箱的邮件,以及 webhook 调用。任务通过 Cursor 账号集成触发,该集成独立于 Slack 或 GitHub 应用,可能需要单独连接。告诉 Bot 你想使用的触发条件,任务的 When to run 会用文字显示,例如“When a Linear issue is created”。只有新活动才算,创建触发条件之前发生的事件不会启动任务。
定义一个狭窄的匹配规则和清晰回应:
当
#customer-escalations中的一条消息包含支持工单链接和短语“needs repro”时,打开该工单,在预发环境复现问题,并在这个对话中发布复现包。未经批准,绝不要回发到 Slack。
避免“每条新消息”这类宽泛监听器。它们会制造噪音、消耗用量,并提高对无关输入采取行动的概率。
Slack 触发条件
Slack 触发条件属于例行任务。Slack 应用让 Bot 以所关联 Slack 用户的身份发消息或阅读内容;触发条件则在 Slack 中发生相应事件时启动任务。使用前,请在拥有该 Bot 的 Cursor 账号上连接 Slack。
当有人提及 Bot 或特定词句、你对消息添加表情回应,或收到任意消息时,都可以触发任务。可以监听一个频道或整个 Slack,When to run 会显示触发词句和频道等条件。尽量缩小频道和词句范围;如果将活跃频道中的每条消息都设为触发条件,会频繁执行任务,即使消息不需要 Bot 处理也会消耗用量。
Webhook
让 Bot 为例行任务添加 webhook 触发条件,然后在桌面端打开该任务。Webhook 部分显示三个字段:
- POST to 是 URL。
- key 是密钥。发送方应在请求中携带
Authorization: Bearer <key>。 - header 是可以直接复制的完整请求头。
点击字段即可复制。向该 URL 发送携带上述请求头的 HTTP POST 请求,可选择附带 JSON 请求体;Bot 会一并收到请求体和任务指令。响应为 200 表明 Grok Bot 已接受调用并启动任务,完成情况请查看与 Bot 的聊天。其他响应均表示任务未启动;请检查例行任务未暂停,且请求使用了当前密钥。
启用前测试
如果例行任务提供 Test,创建或编辑后应测试:在桌面端打开该任务,选择 Test。运行完成前,按钮会显示 Running…;结果会出现在与 Bot 的聊天中。如果测试无法启动,你会看到 Couldn't start a test run 或其他说明原因的消息。
有些例行任务没有 Test,仍会按计划或触发条件运行。正式使用前,可以在聊天中使用安全的输入,让 Bot 执行一次相同工作,再检查第一次计划运行的结果。
测试运行会执行真实工作。它可以导航网站、更改文件,并调用已连接工具。请使用安全输入,并让写入操作保持在审批之后。
审阅:
- 它是否选择了当前输入
- 输出是否符合所需格式
- 每个操作是否都有来源或审计轨迹
- 它是否停在预期的审批点
- 失败状态是否明确
管理例行任务
在聊天中告诉 Bot 需要创建或更改什么任务。在桌面端,点击聊天顶部的 Bot 名称打开详情,例行任务位于 Details 标签页。每行显示任务名称和运行时间,或显示 Paused。可通过行内开关暂停或恢复。如果 Bot 没有例行任务,会显示 Ask in chat to set a routine。
打开例行任务,可查看 Instruction(每次执行的工作)和 When to run(计划时间及触发事件)。通过 webhook 调用启动的任务还会显示 Webhook。底部的按钮包括:
- Pause 或 Resume
- Test(如果该任务支持)
- Edit:起草一条发给 Bot 的消息,以“Edit your routine:”和任务名称开头;补充要更改的内容后发送
- Delete routine(垃圾桶图标):需要确认后才会删除
也可以右键点击例行任务,选择 Pause 或 Resume 暂停或恢复,选择 Test 测试,选择 Edit 在聊天中编辑,或选择 Delete 删除。
在手机上,打开 Bot 资料,找到 Routines。轻点任务可查看 Active、Schedule、Next run、Instruction 和 Run history。关闭 Active 可暂停任务,滑动任务所在的行可删除任务。Run history 以 Running、Succeeded 或 Failed 标明近期每次运行的状态,并显示失败原因。No runs yet 表示任务尚未被触发。
每个 Bot 最多可以拥有 50 个例行任务,每个任务保留最近 20 次运行记录。计划运行之间至少间隔 5 分钟。删除例行任务会停止其后续运行,且无法撤销。删除 Bot 也会移除归它所有的例行任务。
如果例行任务没有运行
- 确认任务未处于 Paused 状态。手机端应已开启 Active。
- 检查 When to run 中的时间表或触发条件是否符合预期,时区是否正确。
- 新计划会等待下一个运行时间。要立即运行,请使用 Test。
- 对于 Slack,确认是新收到的消息,在监听的频道中,并且匹配设定的词句。
- 对于 webhook,确认调用返回
200并使用了当前密钥。
运行频率限制
例行任务按小时限流。你的所有任务每小时合计最多运行 300 次,每个任务每小时最多运行 200 次。超过任一限制的运行会失败并报错 Automation run rate limit exceeded。如果某个任务反复达到限制,可以让 Bot 缩小触发范围或延长运行间隔。
所有 Grok Bot 例行任务还有一个共享限制,因此即使你的任务运行次数低于上述数值,也可能出现此错误。这是正在修复的已知问题。出现此错误时不会自动重试,请自行重新运行:使用 Test 立即执行,或在使用 webhook 时再次发送调用。
例行任务和用量
每次运行都会消耗用量,运行越频繁,消耗越多。每小时运行、间隔过短或在繁忙 Slack 频道中触发,都可能在一天内用完一周的额度。如果 Weekly usage limit 消耗得比预期快,可先暂停不需要的任务,让 Bot 延长运行间隔、收紧 Slack 触发条件,然后再考虑升级套餐或提高按需用量上限。始终不运行的任务不会消耗用量;Test 会实际执行工作,因此计入用量。有关每周用量和按需用量月度上限,参见套餐与计费。
为了控制无人值守用量,Grok Bot 可能会在你长时间离开后询问是否继续运行例行任务;如果没有回应,它可能会暂停这些例行任务。回来后请检查已暂停的例行任务。
让例行任务值得信赖
- 先自动化准备工作,再自动化执行。
- 先让 Bot 起草、核对或推荐。
- 对发送、购买、删除、发布或更改生产系统要求批准。
- 包含无数据和陈旧数据政策。
- 尽可能让重试具备幂等性。
- 告诉 Bot 在哪里报告部分完成。
- 当网站、应用或来源格式变化后,重新测试。
有关计划、Slack 触发条件和 webhook 的更多说明,参见例行任务。关于时区和用量控制,请参阅设置和通知;关于自动化边界,请参阅审批、安全和隐私。