> ## 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 チャットでできることはすべて使えます。

ルーティンは Base 内のリソースで、テーブル・アプリ・オートメーションと並んで左サイドバーに表示されます。

<Info>オートメーションはレコードの変更、フォームの送信、Webhook などのイベントで起動し、あらかじめ設定した手順を実行します。ルーティンは時刻だけで起動し、エージェント自身が解釈するプロンプトを実行します。手順が固定で結果が予測できる必要があるならオートメーション、そのときのデータを見てエージェントに判断させたいならルーティンを選びます。</Info>

## ルーティンを作成する

<Steps>
  <Step title="作成">
    左サイドバーの **+** をクリックし、**新しいルーティン** を選びます。
  </Step>

  <Step title="プロンプトを書く">
    **プロンプト** に、各回の実行で行うことを記述します。プロンプトは 1 回の実行の指示すべてなので、データの取得元、処理方法、結果の書き出し先まで書きます。たとえば「タスクテーブルに昨日追加されたレコードを集計し、担当者ごとにまとめて日報テーブルに書き込む」のように指定します。
  </Step>

  <Step title="スケジュールを設定">
    **スケジュール** で頻度を選び、必要に応じて **開始** と **終了(任意)** を設定します。
  </Step>

  <Step title="有効にする">
    **有効にする** をクリックします。事前に設定が保存されていること、スケジュールに今後の実行予定があることが必要です。
  </Step>
</Steps>

## 設定項目

プロンプトとスケジュール以外に、フォームには次の設定があります。

| 設定                  | 説明                                                                                          |
| ------------------- | ------------------------------------------------------------------------------------------- |
| **モデル**             | このルーティンが使うモデルと知能レベル。**デフォルトモデル** のままにするとスペースの既定のチャットモデルを使います                                |
| **最大実行時間（分）**       | この時間を超えた実行は中断され、失敗として記録されます。5〜120 分、既定は 30                                                  |
| **チャット**            | **実行ごとに新しいチャット** は各回を互いに独立させます。**前回の実行のチャットを続ける** はこれまでの実行の文脈を引き継ぐため、前回の結果を参照する必要がある作業に向きます |
| **開始** / **終了(任意)** | スケジュールの範囲。終了時刻を設定しなければ無期限に実行し続けます                                                           |

保存時にそのときのモデルと知能レベルも記録されるため、実行履歴では各回が実際に何で動いたかを確認できます。

### スケジュール

頻度はプリセットから選べます。**毎時** は分を、**毎日** と **平日** は時刻を、**毎週** は曜日と時刻を、**毎月** は日と時刻を指定します。

より細かい条件が必要な場合は **カスタム(RRULE)** を選び、`FREQ=DAILY;BYHOUR=9;BYMINUTE=0` のような RFC 5545 のルールを記述します。カスタムルールには次の制限があります。

* 頻度は `HOURLY`、`DAILY`、`WEEKLY`、`MONTHLY`、`YEARLY` のいずれかで、2 回の実行の間隔は 1 時間以上必要です。
* `INTERVAL`、`COUNT`、`BYDAY`、`BYMONTHDAY`、`BYMONTH` に加え、`BYMINUTE` と `BYHOUR` を 1 つずつ使えます。`COUNT` の上限は 1000 で、`COUNT` または `INTERVAL` を使う場合は **開始** の設定が必要です。
* タイムゾーンと範囲はフォームで指定するため、`TZID`、`DTSTART`、`UNTIL`、`BYSECOND` は使えません。

1 回だけ実行するスケジュールは、カスタムルールに `COUNT=1` を付けて表します。

スケジュールはルーティンを作成した人のタイムゾーンで評価され、閲覧者によって変わることはありません。画面に表示される **次回実行** の時刻は、すでにご自身のローカル時刻に換算されています。

## 下書き・更新・今すぐ実行

作成直後のルーティンは下書きで、有効にするまでスケジュール実行されません。有効なルーティンを編集した場合も変更はまず下書きとして保存され、稼働中のバージョンは元の設定のまま動き続けます。**更新** をクリックすると反映され、**変更を破棄** をクリックすると変更は取り消されます。

**今すぐ実行** を使うと、スケジュールを待たずに 1 回実行できます。プロンプトの確認に便利です。前回の実行が終わるまでは、同じルーティンを手動で再実行できません。

スイッチをオフにすると停止します。以後スケジュールは起動せず、既存の実行履歴はそのまま残ります。

## 実行履歴

ルーティンを開いて **実行履歴** に切り替えます。実行の一覧はステータスと期間で絞り込めるため、特定の失敗を見つけやすくなります。実行を選ぶと、予定時刻・開始時刻・終了時刻・所要時間と、その実行のチャット全体を確認できます。

実行のステータスは **待機中**、**実行中**、**完了**、**失敗**、**キャンセル** のいずれかです。**キャンセル** は、その実行を誰かが中断した場合、またはルーティンや所属する Base が削除された場合に表示されます。

**失敗** の実行には理由が示され、理由ごとに対処が異なります。

| 表示                          | 意味                         | 対処                                             |
| --------------------------- | -------------------------- | ---------------------------------------------- |
| **実行に失敗しました**               | 実行は開始したがエラーになった            | その実行のチャットを開き、エラー箇所からプロンプトとデータのどちらが原因かを判断します    |
| **実行がタイムアウトしました**           | **最大実行時間** を超えて中断された       | **最大実行時間** を延ばすか、プロンプトを小さな処理単位に分割します           |
| **スキップ:クレジット不足**            | クレジットが足りず実行されなかった          | スペースのクレジットを補充します                               |
| **スキップ:前回の実行がまだ進行中でした**     | 前回の実行が終わっておらず、この予定時刻が飛ばされた | 頻度を下げるか、1 回あたりの処理量を減らします                       |
| **スキップ:キューでの待機がタイムアウトしました** | キューでの待機が長すぎて飛ばされた          | 単発なら対処不要です。繰り返す場合は同時刻に処理が集中しているので、スケジュールをずらします |

実行のチャットは既定で読み取り専用です。このルーティンを編集できるメンバーは末尾から続けて質問でき、その回の処理経過を調べられます。

<Info>実行履歴の閲覧にはルーティンを編集する権限が必要です。Base の所有者と作成者はルーティンの作成・編集・削除ができ、ほかの共同編集者は閲覧のみです。</Info>

## 失敗通知と自動停止

実行が失敗した場合やクレジットが不足した場合、Teable が通知を送ります。宛先はそのルーティンを最後に更新したメンバーで、実行履歴の上部にある **通知の送信先** に表示されます。失敗が続いても受信側が埋もれないよう、失敗通知は毎回は送られません。

5 回連続で失敗するとルーティンは自動的に停止し、別途通知が送られます。原因を解消したらスイッチを入れ直してください。回数は次に実行が成功した時点でリセットされます。

失敗しなかった実行がすべてこの回数に数えられるわけではありません。前回の実行が終わっていない、またはキューでの待機がタイムアウトしてスキップされた実行と、**キャンセル** された実行は失敗とみなされず、通知も送られません。クレジット不足は数えられるため、補充しないままだといずれ自動停止します。

## よくある質問

<AccordionGroup>
  <Accordion title="ルーティンはクレジットを消費しますか？">
    消費します。各実行は AI チャットであり、実際の使用量に応じてスペースのクレジットに計上されます。請求ページの **クレジット使用量** に、種別 **ルーティン** として表示されます。クレジットが不足すると実行はスキップされて通知が送られ、スキップが続くと自動停止につながります。
  </Accordion>

  <Accordion title="プロンプトを変更すると、実行中の回に影響しますか？">
    影響しません。変更はまず下書きとして保存され、**更新** をクリックして初めて稼働中のバージョンに適用されます。すでに進行中の実行は、開始時点の設定のまま動きます。
  </Accordion>

  <Accordion title="テンプレートから作成した Base のルーティンは自動で実行されますか？">
    されます。テンプレートのインストール後、ルーティンはワークフローと同じように有効化されます。今後の実行予定がないスケジュールは下書きのまま残ります。
  </Accordion>

  <Accordion title="前回の実行のチャットを続けると、コンテキストは増え続けますか？">
    コンテキストが上限に近づくと Teable がチャットの内容を圧縮するため、実行が中断されることはありません。毎回きれいなコンテキストから始めたい場合は **実行ごとに新しいチャット** を選んでください。
  </Accordion>
</AccordionGroup>
