「毎朝の売上集計を AIエージェントに任せて、出社したら下書きができている状態にしたい。でも、誰も見ていない間に動かすのは不安だ」
このページでは、Claude Code を例に、AIエージェントを決まった時刻や条件で動かす方法と、無人で動かすときの設計を説明します。
このページで出てくる言葉の意味は用語一覧で確認できます。
業務でどう使うか
- 前日分の売上ファイルから集計表の下書きを毎朝作り、決まったフォルダに置く。人が出社後に開いて確かめる
- 問い合わせメールの返信案や、週1回の在庫表の点検結果を、下書きまで作らせる
- 見積書のひな形を、決めた条件をすべて満たすまで直させる
- 納品ファイルが所定のフォルダに置かれたかを、作業している間だけ確かめさせる
- メールの送信、SNSへの投稿、請求書の発行、支払いを、無人の処理に入れる
- 手で1回も試していない依頼を、いきなり毎日の予定に登録する
- 他社のサイトを短い間隔で確かめ続ける。相手のサーバーに負担をかけ、利用規約に触れるおそれがある
- 「完了しました」という返答だけを見て、出来上がったファイルを開かずに済ませる
無人にしてよい作業
無人にしてよいのは、下書きやファイルの書き出しで止まり、失敗しても取引先に影響が出ない作業です。
人がその場にいれば、おかしな動きをその場で止められます。人がいなければ、止める仕組みを先に作っておくしかありません。AIエージェントを動かすきっかけを、人の目からの距離で並べると次のようになります。
番号が大きいほど、人が見ていない間に動き、途中で止める機会が減ります。
どの作業を無人にするかは経営者が決めます。1回の失敗で取引先に迷惑がかかる作業は、無人にしないことを勧めます。
定期実行の3つの仕組み
決まった時刻や間隔で動かす仕組みは3つあり、動く場所によって、読めるファイルと止め方が違います。
| 観点 | ルーティン | デスクトップの定期タスク | /loop |
|---|---|---|---|
| 動く場所 | クラウド。PCを閉じていても動く | PC。PCが起きていて、アプリが起動している間だけ動く | 起動したセッションの中。ターミナルを閉じると止まる |
| PCの中のファイル | 読めない。毎回、リポジトリの内容を写して始める | 読める | 読める |
| 人への確認 | 出ない | タスクごとの設定で決まる。許可していない操作では止まる | 起動したセッションの設定を引き継ぐ |
| 最短の間隔 | 1時間 | 1分 | 1分 |
| 止め方 | 一覧の画面で一時停止か削除をする | 詳細画面で一時停止か削除をする | 「その繰り返しを止めて」と頼む |
1つだけ選ぶときは、材料の置き場所で決めてください。
- 売上ファイルや在庫表がPCの中にある
- デスクトップの定期タスクを使います。PCは起動しておく必要がありますが、セッションを開いておく必要はありません。
- PCを閉じていても動かしたい
- ルーティンを使います。ルーティンはPCの中を読めないため、材料を GitHub のリポジトリに入れておく必要があります。
- 作業している間だけ様子を見たい
- /loop を使います。/loop は起動したセッションの中で動き、そのセッションを閉じない限り、別のセッションで作業していても続きます。Claude Code が動いていて手が空いている間だけ実行され、7日で期限切れになります。
無人で動かす設計
無人で動かす前に、止める条件、上限、通知先、止め方の4つを決めてください。
無人で動く仕組みでは、異常が起きても、人が気づくまで処理が続きます。気づくまでの間に被害が広がらないよう、先に決めておきます。従業員8人の小売店で、前日分の売上ファイルから集計表の下書きを毎朝作らせ、店長が出社後に確かめる場合を例にします。
- 止める条件
- 売上ファイルが無い、前日と同じ内容のまま、行数が普段の半分以下のときは、推測で埋めずに止まって報告させます。それらしい数字で集計表を埋められることが、いちばん困るためです。
- 上限
- 1日1回、1回に読むファイルは前日分だけと決めます。1回ごとの消費は小さくても、回数が積み重なるためです。
- 通知先
- 「集計の下書きを置きました」「売上ファイルが見つからず止まりました」のような決まった文だけを、社内のチャットツールに送らせます。売上の数字や顧客名は、通知の本文に入れません。
- 止め方
- 一時停止する画面と、止める権限を持つ人を決めます。店長が不在の日に止める人も決めておきます。
書き出すファイルの名前には、日付を入れてください。時刻がずれたり、逃した回が後から動いたりして2回実行されても、前の回のファイルを上書きしないためです。
何を無人にするかと、止める条件、上限、通知先、止め方は経営者が決めます。設定は詳しい人に頼んでかまいません。頼むときは、決めた4つと「外部に出る操作を入れない」ことを伝えてください。
登録までの手順
いきなり本番の予定に登録せず、手で1回試してから段階を踏んで登録してください。
時刻で動くタスクは、毎回新しいセッションとして始まります。その場で伝えた前提は引き継がれないため、CLAUDE.md やスキルに書いておきます。ルーティンはリポジトリの内容で始まるため、PCで直した CLAUDE.md やスキルは、push するまで反映されません。
/goal で条件まで続ける
/goal には、生成物を見て合否を判定できる終わりの条件を渡してください。
/goal は、終わりの条件を満たすまで Claude Code に作業を続けさせるコマンドです。応答が1回終わるたびに、Anthropic の小型で速いモデルが条件を満たしたかを判定します。「いい感じになるまで」のような条件では、合否を決められません。
/goal 見積書のひな形5件すべてで、消費税の欄が新しい税率で計算され、合計が明細の合計と一致している
条件を満たして止まったら、人が5件を開いて金額を確かめます。/goal を使っても、人への確認が要る操作に来ると、そこで止まって待ちます。止めるときは、/goal clear で解除します。
/loop とフックで見届ける
作業の終わりを見届けるには、/loop で様子を確かめ、フックで記録を残してください。
/loop は、同じプロンプトを間隔ごとに送り直しているだけで、間の時間も状態を確かめ続けているわけではありません。送り直すたびに、契約プランの利用量を消費します。
/loop 10分ごとに、納品フォルダに今日の日付のファイルがあるかを確かめてください。変化がなければ「変化なし」と1行で返し、ファイルを読んで報告するところまでで止まってください。
始める前に一度わざと変化を起こし、AIエージェントが気づくかを確かめてください。「変化なし」の報告だけでは、見落としと区別できないためです。
Stop フックを使うと、応答が終わるたびに、直したファイル名と時刻を記録ファイルに書き出させたり、長い作業の終わりに通知を出させたりできます。フックは AIモデルの外にある処理なので、AIの判断に関係なく毎回動きます。必ず止めたい操作は、フックで実行前に止めます。
無人で動かすときの注意
無人の仕組みでは、確認が出ないことと、認証情報の置き場所に注意してください。
- ルーティンの実行中は、人への確認が出ません。接続した外部サービスは既定ですべて含まれ、書き込みも確認なしで使えます。操作は、登録した本人の名前で記録されます。
- ルーティンの実行一覧の緑の表示は、環境のエラーなく終わったことだけを示します。生成物が正しいかは、ファイルを開いて確かめます。
- 保存したプロンプトは、その場の承認の代わりになりません。何をするか、何ができたら成功かまで、プロンプトだけで分かるように書いてください。
- 通知に使うAPIキーは、人が .env に書きます。プロンプトに書くとセッションの記録に残ります。クラウド側の設定欄は、その環境を使う人全員が読めるため、そこにも置きません。
- 他人が公開したフックの設定は、中身を読んでから追加することを勧めます。フックは AIモデルの判断を通らずにシェルコマンドを実行します。要らなくなったフックは消します。
まとめ
- 自社の業務から、下書きやファイルの書き出しで止まる作業を1つ選び、比較の表で使う仕組みを決めてください。
- その作業の止める条件、上限、通知先、止め方を決め、設定を頼む人に渡してください。
- 手で1回試し、短い間隔の予定で見届けてから、本番の予定に登録してください。
- 送信、投稿、支払いのような外部に出る操作は、無人の処理に入れません。