ホームHermesとは記憶スキルマルチプラットフォーム自動化コマンド一覧ブログDelegationMCP人格設定導入と移行活用シナリオ
任せるAI — Cron・自動化・定期実行の設計 のイメージ
CRON & AUTOMATION

任せるAI — Cron・自動化・定期実行の設計

Hermes Agent の cronjob、定期監視、配信先指定など、業務自動化に向いた設計を整理します。

定期業務をAIへ渡す発想

毎朝のニュース要約、定期的なレポート、監視通知、サイト更新チェックなど、人間が手で回している繰り返し業務はAIと相性が良い領域です。

Hermes Agent は cronjob を通じて、こうした仕事を自然言語またはCLIからスケジュール化できます。

独立セッションで動く意味

Hermes の cron 実行は、現在の会話の延長ではなく、新しいエージェントセッションとして動きます。これにより、毎回安定した文脈で処理できます。

ジョブにスキルを紐づければ、“この業務を定期的に実行する専用エージェント”のような運用も可能です。

配送先まで含めて設計されている

cron の価値は裏で実行するだけではありません。origin チャット、ローカルファイル、Telegram、Slack など配送先まで含めて指定できます。

実務では結果の届け先が重要であり、Hermes はそこまでワンセットで扱えます。

常駐運用との相性

Hermes Agent は heartbeat や定期監視との相性も良く、監視・報告・通知といった地味だが重要な仕事を継続的に担えます。

単発で便利なAIではなく、日々の運用のなかに常駐するAIとして見たとき、Hermes の価値は一段上がります。

運用事例: マーケティングチームの週次レポート自動化

ある BtoB マーケティングチームでは、毎週月曜の朝に前週の KPI をまとめてチーム Slack に投げる作業を、Hermes Agent の cron ジョブに任せています。GA4・広告プラットフォーム・自社 DB のデータを突き合わせて、傾向コメントまで添えて投稿するまでを自動化した事例です。

  • 課題: 担当者が月曜朝に1〜2時間かけて KPI をまとめ、Slack に共有していた。属人化しやすく、不在時に止まる運用だった。
  • 解決策: KPI 取得手順をスキル化し、月曜 9:00 発火の cron で Hermes が一貫処理。出力は Slack の指定チャンネルへ自動投稿。
  • 成果: 月曜朝の手作業が無くなり、担当者は「気づきを書くコメント」だけをスレッドに返す運用に集中できるようになった。

レポート業務は「集める」部分が重くて「考える」部分に時間が残らない、という典型的な負のパターンに陥りがちです。集める部分を cron に渡すだけで、考える時間が戻ってきます。

運用事例: 小規模SaaSの障害監視ループ

個人開発に近い規模のSaaSを運用しているエンジニアが、Hermes Agent の cron を使って簡易な障害監視と一次対応メッセージを回している例もあります。10分おきに本番 URL をチェックし、異常があれば Telegram に通知、同時にステータスページ用の文面ドラフトまで用意する設計です。

  • 課題: 一人運用のため、障害の初動で考えなければならないことが多く、夜間の対応に負担が集中していた。
  • 解決策: 監視→通知→一次対応文面生成までを cron に任せ、通知受領時には選択肢だけを判断すればよい状態を作った。
  • 成果: 初動までの時間が短縮され、対応の内容が安定。夜間でも落ち着いて判断できる運用に変わった。

人がやると疲れる「同じことを淡々とやる」部分を Hermes に預けるほど、人間は判断と対話に集中できるようになります。

cron ジョブの登録例

cron の設定は CLI から一行で済ませられます。スケジュールと依頼内容、配送先をまとめて指定するのが基本形です。

hermes cron add --name weekly-report \
  --schedule "0 9 * * 1" \
  --prompt "先週のKPIをまとめてSlack #marketing に投稿" \
  --delivery slack:#marketing \
  --skill weekly-kpi-report

この設定では、毎週月曜 9:00 に Hermes が独立セッションを立ち上げ、weekly-kpi-report スキルを呼び出して KPI をまとめ、指定の Slack チャンネルへ配送します。cron 表記は標準の crontab 記法に沿っているので、既存運用とも混乱しません。

YAML での一括定義

cron が増えてきたら、YAML ファイルにまとめて宣言的に管理するのが便利です。Git で差分を追いやすく、コードレビューの対象にもなります。

# hermes-crons.yaml
version: 1
jobs:
  - name: weekly-report
    schedule: "0 9 * * 1"
    prompt: 先週のKPIをまとめてSlack #marketing に投稿
    skill: weekly-kpi-report
    delivery:
      - slack:#marketing

  - name: daily-status-check
    schedule: "*/10 * * * *"
    prompt: 本番サイトを巡回し、異常があれば一次対応文面を作る
    skill: site-health-check
    delivery:
      - telegram:@oncall
      - file:/var/log/hermes/status.log

この形にしておくと、ステージングと本番でジョブ定義を差分管理したり、メンバーの入れ替わりでも引き継ぎが容易になります。

cron ジョブの管理コマンド

日常的に触るコマンドはそれほど多くありません。主なものをまとめておきます。

# 登録済みジョブの一覧
hermes cron list

# ジョブを一時停止/再開
hermes cron pause weekly-report
hermes cron resume weekly-report

# 次回実行予定と最終実行ログを確認
hermes cron status weekly-report

# 手動で今すぐ走らせる(動作確認用)
hermes cron run weekly-report --dry-run

運用の初期は --dry-run で挙動を確かめながら、本番投入は小さなジョブから段階的に始めるのが安全です。

[PR] 【固定IPが月額490円から】ロリポップ!固定IPアクセス

配送先の設計パターン

cron の結果をどこに届けるかは、AI 運用の成否を分ける大事なポイントです。よく使われる配送先の組み合わせを整理しました。

  • Slack チャンネル: チーム共有が前提の定例レポート向け。スレッド化すると議論に発展させやすい。
  • Telegram 個人チャット: 一人で完結する監視や、モバイル中心の通知向け。
  • Email: 関係者の幅が広い場合や、外部パートナーへの定期報告向け。
  • ファイル出力: ログとして残す用途。他のバッチや BI と連結できる。
  • origin チャット: 直前の会話の続きとして結果を受け取る使い方。試作・検証に便利。

配送先はひとつに絞らず、Slack で共有しつつ Email で記録、といった複線運用にすると、あとから振り返るときに助かります。

手動運用と自動化の比較

cron に任せる前と任せた後で、運用がどう変わるかを比較しておきます。導入可否を判断する資料にも使える観点です。

  • 所要時間: 手動では週あたり数時間かかる処理が、cron では人間のレビュー時間のみに短縮される。
  • 抜け漏れ: 手動は担当者の不在や繁忙に左右されるが、cron は一定頻度で必ず動く。
  • 品質の安定: 人による書き分けのゆらぎがなくなり、フォーマットが揃う。
  • 障害時の対応: 手動は気づかないことも多いが、cron なら失敗通知までセットにできる。
  • 改善サイクル: スキル更新がそのまま次回以降に反映される。組織として学習する仕組みが回る。

cron 化は単なる時短ではなく、「同じ品質を再現できる運用」への移行そのものだと捉えるのがちょうど良い見方です。

よくある質問

Q. cron ジョブはどのくらいの頻度まで回せますか?

A. 技術的には分単位で回せますが、LLM 呼び出しコストとの兼ね合いで、実運用では10分〜1時間間隔が現実的です。監視系は10分、レポート系は日次・週次が多く選ばれます。

Q. ジョブが失敗した場合の挙動は?

A. 失敗時は失敗通知を配送先とは別のチャンネルに送る設計が推奨です。リトライ回数やバックオフ間隔も設定できるので、一時的な障害なら自動回復します。

Q. 本番と検証で cron を分けたいのですが?

A. プロファイル機能を使えば、本番用と検証用で別々のジョブ定義を維持できます。YAML を環境ごとに分ける運用と組み合わせるのが定番です。

Q. 現在の会話の続きを cron に任せられますか?

A. 可能です。ただし cron は独立セッションで起動するため、必要な文脈はスキルやメモとして渡す設計にすると安定します。会話履歴をそのまま引き継ぐ運用は想定外の挙動の原因になりやすいです。

Q. cron が動いているかの確認はどうすれば?

A. hermes cron status で次回実行予定と前回結果が確認できます。監視の監視として、heartbeat を別 cron で飛ばしておくとより安心です。

僕の体験談

最初に cron 自動化を設計したとき、僕はつい欲張って「全部を一度に自動化したい」と思ってしまいました。結果として、10個以上のジョブを一気に投入し、どのジョブがいつ何をしているのか、自分でも追えなくなる事態になりました。通知チャンネルは溢れかえり、通知疲れで Slack のサイドバーを見るのが億劫になるほどでした。

通知は情報ではなく、届いたときに価値がある合図でなければならない。これは cron を止めて半年運用してやっと腹落ちした学び。

一度すべてのジョブを止めて、本当に欲しいものだけを残す整理から始めました。残ったのは、週次 KPI レポート、日次のサイト監視、月初の契約リマインドの3つだけ。それでも体感の情報量は変わらず、通知を開くときの心理的負担が驚くほど減りました。

今は新しい cron を追加するときに、「これは本当に自動化する価値があるか?」を自分に問うようにしています。手でやっても苦にならないものは、手でやる。繰り返しが耐えられないものだけ、Hermes に渡す。このシンプルなルールに落ち着いてから、cron 自動化は本当の意味で生活に馴染んできました。

導入ステップのチェックリスト

これから cron 自動化を始めるチームへ、最初の一ヶ月の進め方を順番に並べておきます。焦らずひとつずつやれば、無理なく運用に乗ります。

  • ステップ1: 「毎週必ず発生する作業」をチームで5つ挙げ、最も負担の大きいものから着手する。
  • ステップ2: 手順をスキル化してから cron に接続する。ジョブ本体に長いプロンプトを書かない。
  • ステップ3: 最初の2週間は --dry-run で動作確認し、想定どおりか確認する。
  • ステップ4: 失敗通知の配送先を、成功通知とは別のチャンネルに分ける。
  • ステップ5: 月次で cron の一覧を棚卸しし、呼ばれ続けていないジョブは停止する。
  • ステップ6: 記録用のファイル出力を必ず1本挟み、あとから傾向を見返せるようにする。

大事なのは、自動化は足し算よりも引き算だということです。残るジョブを厳選するほど、cron 運用は静かで頼もしい存在になります。

注意点と運用のコツ

便利な反面、cron 自動化にも独特の落とし穴があります。経験的に気をつけてほしいポイントをまとめました。

  • 時間帯の設定に注意する。タイムゾーンのずれで深夜に発火すると迷惑メッセージになる。
  • 通知の文面をテンプレ化する。人間が流し読みできる形式に整えると、見落としが減る。
  • 失敗時の自動復旧と、人による介入ポイントを分けて設計する。
  • cron のログは最低30日分保管し、トラブル時に経緯を追えるようにする。
  • 依存関係のあるジョブは chain ではなく skill 内部で完結させる。cron 同士の依存は極力作らない。

cron 自動化は、いちど馴染むと生活インフラのような存在になります。静かに動き続けてくれる相棒として育てていく気持ちで、ゆっくり整えていけば大丈夫です。