gpt/docs/scheduler.md
2025-06-01 21:43:16 +09:00

3.8 KiB
Raw Blame History

スケジューラーガイド

概要

スケジューラーは、AIの自律的な動作を実現するための中核機能です。定期的なタスクを設定し、バックグラウンドで実行できます。

タスクタイプ

transmission_check

関係性が閾値を超えたユーザーへの自動送信をチェックします。

# 30分ごとにチェック
ai-gpt schedule add transmission_check "30m" --provider ollama --model qwen2.5

maintenance

日次メンテナンスを実行します:

  • 記憶の忘却処理
  • コア記憶の判定
  • 関係性パラメータの整理
# 毎日午前3時に実行
ai-gpt schedule add maintenance "0 3 * * *"

fortune_update

AI運勢を更新します通常は自動的に更新されます

# 毎日午前0時に強制更新
ai-gpt schedule add fortune_update "0 0 * * *"

relationship_decay

時間経過による関係性の自然減衰を適用します。

# 1時間ごとに減衰処理
ai-gpt schedule add relationship_decay "1h"

memory_summary

蓄積された記憶から要約を作成します。

# 週に1回、日曜日に実行
ai-gpt schedule add memory_summary "0 0 * * SUN"

スケジュール形式

Cron形式

標準的なcron式を使用できます

┌───────────── 分 (0 - 59)
│ ┌───────────── 時 (0 - 23)
│ │ ┌───────────── 日 (1 - 31)
│ │ │ ┌───────────── 月 (1 - 12)
│ │ │ │ ┌───────────── 曜日 (0 - 6) (日曜日 = 0)
│ │ │ │ │
* * * * *

例:

  • "0 */6 * * *" - 6時間ごと
  • "0 9 * * MON-FRI" - 平日の午前9時
  • "*/15 * * * *" - 15分ごと

インターバル形式

シンプルな間隔指定:

  • "30s" - 30秒ごと
  • "5m" - 5分ごと
  • "2h" - 2時間ごと
  • "1d" - 1日ごと

実践例

基本的な自律AI設定

# 1. 30分ごとに送信チェック
ai-gpt schedule add transmission_check "30m"

# 2. 1日1回メンテナンス
ai-gpt schedule add maintenance "0 3 * * *"

# 3. 2時間ごとに関係性減衰
ai-gpt schedule add relationship_decay "2h"

# 4. 週1回記憶要約
ai-gpt schedule add memory_summary "0 0 * * MON"

# スケジューラーを起動
ai-gpt schedule run

タスク管理

# タスク一覧を確認
ai-gpt schedule list

# タスクを一時停止
ai-gpt schedule disable --task-id transmission_check_1234567890

# タスクを再開
ai-gpt schedule enable --task-id transmission_check_1234567890

# 不要なタスクを削除
ai-gpt schedule remove --task-id old_task_123

デーモン化

systemdサービスとして実行

/etc/systemd/system/ai-gpt-scheduler.service:

[Unit]
Description=ai.gpt Scheduler
After=network.target

[Service]
Type=simple
User=youruser
WorkingDirectory=/home/youruser
ExecStart=/usr/local/bin/ai-gpt schedule run
Restart=always

[Install]
WantedBy=multi-user.target
# サービスを有効化
sudo systemctl enable ai-gpt-scheduler
sudo systemctl start ai-gpt-scheduler

tmux/screenでバックグラウンド実行

# tmuxセッションを作成
tmux new -s ai-gpt-scheduler

# スケジューラーを起動
ai-gpt schedule run

# セッションから離脱 (Ctrl+B, D)

トラブルシューティング

タスクが実行されない

  1. スケジューラーが起動しているか確認
  2. タスクが有効になっているか確認:ai-gpt schedule list
  3. ログを確認(将来実装予定)

重複実行を防ぐ

同じタスクタイプを複数回追加しないよう注意してください。必要に応じて古いタスクを削除してから新しいタスクを追加します。