计划任务
在你选择的时区和对话中,于每个工作日、每小时或仅一次运行智能体的提示词。
计划任务会设定时间向智能体发送提示,例如每个工作日早上 08:00 或下周二一次。每次到达设定时间时,智能体都会在你选择的对话中收到提示,并在此处回复。
创建计划任务
在左侧边栏中打开计划任务,然后点击新建计划任务。表格要求填写:
| 字段 | 填写内容 |
|---|---|
| 名称 | 简短标签,例如“早间简报” |
| 智能体 | 执行工作的智能体 |
| 提示 | 智能体每次应执行的操作,以你将在聊天中撰写的方式编写 |
| 时间 | 重复 (cron)、重复 (RRULE) 或 一次,下方附有时间 |
| 时区 | IANA 时区,例如 Europe/Amsterdam |
| 回复到 | 你与智能体的私信,或你的某个频道 |

如何编写时间:
- Cron 有五个字段:分、时、月的某日、月和工作日。
0 8 * * 1-5表示工作日 08:00。 - RRULE 使用日历格式,例如
FREQ=WEEKLY;BYDAY=MO,WE;BYHOUR=9;BYMINUTE=0。Laze 将其存储为匹配的 cron。 - 一次采用时区中的本地时间,例如
2026-11-02T09:00。一次性计划任务运行一次后将显示为已完成。
无效的时间或时区将被 schedule_invalid 拒绝,并且不会保存任何内容。
重复计划任务最长每 30 分钟运行一次。运行时间过于密集的 cron 或 RRULE(例如 */5 * * * *)将被 schedule_too_frequent 拒绝;对于应在某事件发生后进行的工作,请改用触发器。
计划任务运行时会发生什么
智能体将在你选择的对话中发布“已计划运行:早间简报”(带有计划任务名称)和提示,其回复将发布在该消息下的讨论串中。该提示计为创建计划任务的人员发送的消息,因此智能体将使用该人员对保险库的访问权限进行工作。
每次运行都在托管智能体的全新会话中开始:它拥有智能体的技能和记忆文件,但没有其早期的聊天记录,因此每次都从频道、文件和连接中执行任务。运行结束时,智能体的主会话会收到一份简短说明,告知运行执行了什么。如果运行未找到任何可执行的操作,则不会发布任何内容。
如果智能体已离开该频道,则运行不会发布任何内容,也不会给予智能体任何轮次。如果智能体被移除,则运行将被记录为跳过,并且计划任务停止。

首先检查,仅在发生变化时唤醒
轮询更改的计划任务每次都不需要模型。给它一个检查:智能体工作文件夹中的可执行脚本。每次触发时,脚本都会在智能体计算机上运行,然后才进行任何模型调用。
| 脚本 | 发生什么 |
|---|---|
| 退出码 0 并打印内容 | 智能体唤醒,并将其打印的内容添加到提示中 |
| 退出码 0 且不打印任何内容 | 无事发生。运行显示为“无新内容”,不消耗任何额度 |
| 退出时出错,或运行超过 30 秒 | 检查失败。智能体保持休眠状态,计划任务显示为“需要关注” |
在表单中的首先检查下设置,或使用 laze schedule add ... --check checks/new-calls.sh 设置。只有智能体或其所有者才能设置或更改检查,因为它使用智能体的文件和 laze 命令运行。它在任何轮次之外运行,因此 laze vault 命令会拒绝它。调用模型本身的检查会支付该调用的费用。从你自有机器连接的智能体没有 Laze 计算机来运行检查。
将脚本上次看到的内容保存在你自己的文件中。此示例在值更改时唤醒智能体,智能体的轮次保存新值:
#!/bin/sh
now=$(laze app records list picks --site published | sha256sum)
[ "$now" = "$(cat state/picks 2>/dev/null)" ] && exit 0
echo "picks changed: $now"输出的前 8000 个字符会发送给智能体,标记为来自脚本的数据。它们不会发布到对话中。连续三次失败会将一张卡片发送到创建计划任务的人员的动态中。立即运行会首先运行检查,因此它会测试脚本:仅当脚本打印内容时,它才会唤醒智能体。检查会唤醒一台休眠的计算机,当检查未发现任何内容时,该计算机很快会再次休眠。
如果你监视的是应用记录或频道,请改用触发器或监视器:它们会在更改时触发,并且在此之前不需要计算机。
时区、夏令时和停机时间
时间遵循计划任务的时区,包括夏令时:
- 当时间向前调整且该时间在当天不存在时,计划任务会在间隔后立即运行一次。
- 当时间向后调整且该时间出现两次时,计划任务会在第一次出现时运行一次。
- 如果 Laze 停机并错过了运行,计划任务会在 Laze 恢复后运行一次,该运行会记录错过了多少次。下一次运行将从现在开始计算。
暂停、编辑和删除计划任务
计划任务页面上的每一行都包含运行时间、编辑、暂停或恢复,以及删除:
- 运行时间列出每次运行的时间和结果。
- 暂停会清除下一次运行。恢复会从现在开始计算下一次运行,并且不会补上暂停期间的时间。
- 编辑会更改名称、提示、时间、时区或对话。已暂停的计划任务在编辑后仍保持暂停状态,如果为已完成的一次性计划任务提供未来的时间,它将再次运行。
- 删除会移除计划任务;它将永远不再运行。
任何可以与智能体对话的人都可以查看其计划任务,并可以创建、编辑、暂停、恢复和删除它们:其所有者、与其共享的人员,以及团队智能体的所有人员。请求计划任务的人员也会保留它。其他人,包括工作区管理员,都看不到智能体的计划任务;排定你无法对话的智能体将被 schedule_agent_not_allowed 拒绝。
从命令行排定计划任务
人员和智能体都使用 laze schedule。提供 --cron、--rrule 或 --at 中的一个,且只能是一个。如果没有 --tz,时区为 UTC。
laze schedule add "Morning brief" --prompt "Write my morning brief from my inbox and calendar" --cron "0 8 * * 1-5" --tz Europe/Amsterdam
laze schedule add "Renewal reminder" --prompt "Remind the team about the ACME renewal" --at 2026-11-02T09:00 --tz Europe/Amsterdam --channel <channelId>
laze schedule list
laze schedule pause <scheduleId>
laze schedule runs <scheduleId>
laze schedule run <scheduleId>立即运行和未发生的运行
计划任务行上的立即运行,或 laze schedule run <scheduleId>,会立即运行一次。下一次触发时间不会移动。
如果计划任务在智能体未连接、被移除或其对话已消失时触发,则该计划任务运行所针对的人员将在其动态中收到一张卡片:Your scheduled run "<name>" did not run,其中包含原因和立即运行按钮。同一计划任务再次错过会使同一卡片重新出现。
示例:动态中的早间简报
早间简报是一个计划任务,其提示会告诉智能体将动态卡片作为一组发布。动态会在问候语下方显示最新的群组,每个标签一个筛选器芯片。
laze schedule add "Morning brief" --cron "45 7 * * 1-5" --tz Europe/Amsterdam --prompt "Check my inbox, calendar and open loops. Post one feed card per thing that needs me with --group \"Morning brief <d Mon>\", one --label of money, promise, decide, nudge, risk or fyi, and --loop <stable key>. Then run laze feed group-summary \"Morning brief <d Mon>\" and post its output."对于更长的简报,请将阅读任务分配给侦察智能体。在每个侦察智能体上安装 brief-scout 技能,并在撰写简报的智能体上安装 morning-brief 技能,然后在简报之前排定侦察智能体的计划任务。每个侦察智能体将其报告以 briefs/<YYYY-MM-DD>/<scout>.md 的形式上传到简报读取的频道,并附带每个项目的证据。简报智能体读取这些文件,等待最多 15 分钟以获取迟到的文件,检查每个项目,然后将检查过的项目作为卡片发布到群组中。未运行的侦察智能体会引导简报,其所有者也会收到带有立即运行的错过运行卡片。
使用相同的 --loop 密钥再次发布卡片会将其移动到新群组中,并显示已查看的次数。--auto-send-on <YYYY-MM-DD> 会向任何卡片添加带有停止按钮的倒计时。
当智能体使用自己的密钥运行 laze schedule add 时,计划任务会以该智能体为目标,并被计为由智能体所有者创建。在聊天中请求重复工作的智能体可以通过这种方式创建计划任务。