> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 例行任务

> 让 Cuppy 按计划自动运行一段提示词，并在运行历史中查看每次结果。

<Note>云端版本所有方案可用；私有部署版本需要商业版及以上方案。</Note>

例行任务把一段提示词交给 Cuppy 按计划重复执行，适合每天生成日报、定期清理过期记录、按周汇总数据这类不需要人工触发的工作。每次运行都是一段完整的 AI 对话，因此例行任务能使用 AI 对话的全部能力，包括读写表格、调用技能和生成文件。

例行任务是数据库中的资源，和表格、应用、自动化一样出现在左侧目录栏中。

<Info>自动化由记录变化、表单提交或 Webhook 这类事件触发，执行的是你预先配置好的步骤；例行任务只按时间触发，执行的是一段交给 AI 自行判断的提示词。需要固定步骤和可预期结果时用自动化，需要 AI 每次根据当前数据自行处理时用例行任务。</Info>

## 创建例行任务

<Steps>
  <Step title="新建">
    在左侧目录栏点击 **+**，选择 **新例行任务**。
  </Step>

  <Step title="写提示词">
    在 **提示词** 中描述每次运行要做的事。提示词是每次运行的全部指令，需要写清数据来源、处理方式和结果去向，例如"统计任务表中昨天新增的记录，按负责人汇总后写入日报表"。
  </Step>

  <Step title="设置运行计划">
    在 **运行计划** 中选择执行频率，并按需设置 **生效开始** 和 **生效结束(可选)**。
  </Step>

  <Step title="启用">
    点击 **启用**。启用前需要先保存配置，并且计划中要有未来的运行时间。
  </Step>
</Steps>

## 配置项

除提示词和运行计划外，表单还有这些配置：

| 配置项                     | 说明                                                              |
| ----------------------- | --------------------------------------------------------------- |
| **模型**                  | 本例行任务使用的模型和智能级别。保持 **默认模型** 时使用空间的默认对话模型                        |
| **最长执行时间（分钟）**          | 超过该时长的运行会被终止并记为失败。范围 5–120 分钟，默认 30                             |
| **对话**                  | **每次运行新开对话** 让每次运行互不影响；**延续上一次运行的对话** 会带上历次运行的上下文，适合需要参考上次结果的任务 |
| **生效开始** / **生效结束(可选)** | 计划的起止时间。不设置结束时间时会一直运行下去                                         |

保存配置时，当前的模型和智能级别会一并记录下来，因此运行历史中能看到每次运行实际使用的模型。

### 运行计划

频率可以从预设中选择：**每小时** 指定分钟、**每天** 和 **工作日** 指定时刻、**每周** 指定星期和时刻、**每月** 指定日期和时刻。

需要更复杂的规则时选择 **自定义(RRULE)**，填写 RFC 5545 规则，例如 `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`。自定义规则有以下限制：

* 频率只能是 `HOURLY`、`DAILY`、`WEEKLY`、`MONTHLY`、`YEARLY`，两次运行至少间隔 1 小时。
* 可用 `INTERVAL`、`COUNT`、`BYDAY`、`BYMONTHDAY`、`BYMONTH`，以及一个 `BYMINUTE` 和 `BYHOUR`。`COUNT` 最大 1000，使用 `COUNT` 或 `INTERVAL` 时需要设置 **生效开始**。
* 时区和起止时间由表单控制，因此不允许 `TZID`、`DTSTART`、`UNTIL`，也不允许 `BYSECOND`。

只运行一次的计划用自定义规则加 `COUNT=1` 表示。

运行计划按创建者所在时区求值，之后不随查看者变化；界面上显示的 **下次运行** 时间已换算成你本地的时间。

## 草稿、更新与立即运行

新建的例行任务是草稿，在启用之前不会按计划运行。编辑已启用的例行任务时，改动同样先保存为草稿，线上版本继续按原配置运行，点击 **更新** 才会生效，点击 **重置** 则丢弃这些改动。

点击 **立即运行** 可以不等计划直接执行一次，用于验证提示词。同一个例行任务在上一次运行结束前不能再次手动运行。

把开关关闭即可停用，停用后计划不再触发，已有的运行历史仍然保留。

## 运行历史

打开例行任务后切换到 **运行历史**。运行列表可按状态和时间范围筛选，便于定位某一次失败；点击一条运行，可以看到它的计划时间、开始时间、结束时间、耗时，以及这次运行的完整对话。

运行状态包括 **排队中**、**运行中**、**已完成**、**运行失败** 和 **已取消**。**已取消** 出现在有人中断了这一轮运行，或例行任务、所属数据库已被删除的情况下。

**运行失败** 会说明原因，对应的处理方式不同：

| 提示                | 含义                  | 该怎么办                              |
| ----------------- | ------------------- | --------------------------------- |
| **运行失败**          | 本次运行已开始但执行出错        | 展开这次运行的对话，从出错位置判断是提示词问题还是数据问题     |
| **运行超时**          | 超过 **最长执行时间**，运行被终止 | 调大 **最长执行时间**，或把提示词拆成处理量更小的任务     |
| **已跳过:credit 不足** | 算力不足，本次未运行          | 补充空间算力                            |
| **已跳过:上一次运行尚未结束** | 上一次运行仍在进行，本次计划时间被跳过 | 降低运行频率，或缩短单次运行的处理量                |
| **已跳过:排队等待超时**    | 在队列中等待过久，本次计划时间被跳过  | 偶发可不处理；持续出现说明同一时间的任务过于集中，建议错开运行计划 |

运行对话默认只读。有权限修改这个例行任务的成员可以在对话末尾继续追问，用于排查某次运行的处理过程。

<Info>运行历史需要修改例行任务的权限才能查看。数据库的所有者和创建者可以创建、修改和删除例行任务，其他协作者只能查看。</Info>

## 失败通知与自动停用

运行失败或算力不足时，Teable 会发送通知。收件人是最后更新这个例行任务的成员，运行历史顶部的 **通知将发送给** 会显示具体是谁。为避免连续失败刷屏，失败通知不会每次都发。

连续 5 次失败后，例行任务会自动停用，并单独发送一条通知。解决问题后重新打开开关即可恢复，失败次数在下一次运行成功后清零。

不是每次运行不成功都计入这个次数：因上一次运行尚未结束、排队等待超时而跳过的运行，以及 **已取消** 的运行，都不算失败，也不会发通知。算力不足计入，因此算力长期不补会导致自动停用。

## 常见问题

<AccordionGroup>
  <Accordion title="例行任务消耗算力吗？">
    消耗。每次运行都是一段 AI 对话，按实际用量计入空间算力，在计费页的 **算力用量统计** 中按类型 **例行任务** 列出。算力不足时本次运行会被跳过并发送通知，连续跳过同样会触发自动停用。
  </Accordion>

  <Accordion title="修改提示词后，正在运行的那一次会受影响吗？">
    不会。改动先保存为草稿，点击 **更新** 之后才会应用到线上版本，正在进行的运行仍使用它开始时的配置。
  </Accordion>

  <Accordion title="从模板安装的数据库，里面的例行任务会自动运行吗？">
    会。安装模板后，其中的例行任务会像工作流一样自动启用；如果某个计划已经没有未来的运行时间，它会保持草稿状态。
  </Accordion>

  <Accordion title="延续上一次运行的对话后，上下文会一直累积吗？">
    上下文接近用满时 Teable 会压缩对话内容，运行不会因此中断。需要每次都从干净的上下文开始时，选择 **每次运行新开对话**。
  </Accordion>
</AccordionGroup>
