寫給剛開始用 Claude Code 的你——當你學會讓 AI 自己動起來,才算真正解鎖了一人公司的生產力。
前言:為什麼你需要讓 Claude Code「自己動」?
如果你已經開始用 Claude Code 來開發工具或維護專案,你一定遇過這個問題:
每天都要手動開一個 session,打一樣的指令,做一樣的事。
「幫我跑測試。」「幫我檢查有沒有依賴要更新。」「幫我掃一下 lint。」
這些事情重要嗎?重要。
但值得你每天花時間坐在電腦前親手打嗎?不值得。
好消息是,Claude Code 在 2026 年已經內建了排程執行的能力。
你可以讓它像一個盡責的助手一樣,每天早上 9 點自己檢查程式碼、跑測試、產出報告——而你只需要看結果就好。
但問題來了:Claude Code 的排程機制有三種,分別是 /loop、/schedule 和系統 cron。
看起來很像,剛開始接觸我也不知道怎麼選。
選錯了,會發現排程莫名其妙消失,或者根本沒跑。
這篇文章就是要幫你一次搞清楚這三種方式的差異,讓你根據自己的需求選對工具。
一、先看全貌:三種方式的核心差異
在講細節之前,先用一張表讓你有個整體概念:
/loop |
/schedule |
系統 cron |
|
|---|---|---|---|
| 在哪裡用 | Claude Code CLI(終端機) | Claude Desktop App(Cowork) | macOS / Linux 系統層 |
| 持久性 | ❌ 關掉終端就消失 | ✅ 重啟後還在 | ✅ 重啟後還在 |
| 最長存活時間 | 最多 3 天,之後自動過期 | 無限期,App 開著就運作 | 無限期,機器開著就運作 |
| 最小排程間隔 | 1 分鐘 | 1 小時 | 1 分鐘 |
| 錯過排程會補跑嗎 | 不會(只在閒下來時補一次) | 會(醒來後補跑最近一次) | 不會(除非搭配 anacron) |
| 跨次執行有記憶嗎 | ✅ 有,知道前幾次跑了什麼 | ❌ 每次都是全新 session | ❌ 每次都是全新執行 |
| 需要什麼保持運作 | CLI session 不能關 | Desktop App 不能關 | 機器開著就行 |
| 適合什麼場景 | 短期監控、即時盯梢 | 每日/每週固定任務 | 重度自動化、多專案排程 |
二、用比喻秒懂三種排程
/loop = 廚房裡的倒數計時器
你在煎牛排,設定每 5 分鐘響一次提醒你翻面。
它很方便、很即時,但有一個特性:你離開廚房(關掉終端機),計時器就沒了。
而且就算你不離開,這個計時器最多也只響 3 天,之後自動關閉。
這就是 /loop——它只活在你當前的工作 session 裡。
/schedule = 手機上的每日鬧鐘
每天早上 9 點響,提醒你該起床了。
你設定一次,它就會一直響下去。手機關機重開,鬧鐘還在。
但前提是:手機要開著(也就是 Claude Desktop App 要保持運行)。
如果你手機關機導致 9 點的鬧鐘沒響,它會在你開機後自動補響一次。
cron = 工廠的自動化產線排程系統
工廠裡的機器不管有沒有人在現場監督,到了排定的時間就會自動啟動生產線。
它跑在作業系統層級,不依賴任何 App。
只要機器開著,它就會執行。 而且你可以同時排好幾條產線(多個專案)各自運作,互不干擾。
三、各別詳解
/loop:session 內的輕量輪詢
怎麼用
在 Claude Code CLI 裡直接輸入:
/loop 5m check if the deployment finished and tell me what happened
Claude 會把你的指令轉換成 cron 表達式,在背景每 5 分鐘跑一次。
你也可以用自然語言:
/loop check the build every 2 hours
支援的時間單位
s:秒(但會進位到最近的分鐘)m:分鐘h:小時d:天
如果你沒指定間隔,預設是 10 分鐘。
管理排程
/loop list # 查看目前有哪些排程
/loop cancel <id> # 取消某個排程
關鍵限制
- 3 天自動過期。 這是 Anthropic 刻意設計的安全機制,避免你設了一個 loop 然後忘記它的存在,結果一直在燒 API 額度。
- 關掉終端就全部消失。 沒有任何持久化。
- 每個 session 最多 50 個排程任務。
- 如果 Claude 正在忙,排程到了也不會中斷它。 等它忙完才補跑一次(不是每個錯過的都補)。
最佳使用場景
- 部署後盯著 CI/CD 有沒有通過
- 開發中每隔幾分鐘檢查一次測試結果
- 在一個長時間的 debug session 裡設提醒
一句話總結:/loop 是你手邊的臨時小幫手,用完就可以丟掉的那種。
/schedule:Desktop App 的持久排程
怎麼用
- 打開 Claude Desktop App
- 進入 Cowork 頁面
- 點擊左側的「Scheduled」
- 點「+ New task」
- 輸入你要執行的 prompt,設定排程頻率
或者在 Cowork 的對話框裡直接輸入 /schedule,Claude 會引導你建立排程任務。
能做什麼
每次排程觸發時,Claude 會啟動一個全新的 session,擁有完整的存取權限:你的檔案、MCP servers、skills、connectors、plugins 全都能用。
常見用途包括:
- 每日簡報:彙整過去 24 小時的 Slack 訊息、Email、行事曆
- 每週報告:從 Google Drive 或試算表拉資料產出摘要
- 定期研究:追蹤競品動態、產業新聞
關鍵限制
- 最小間隔是 1 小時。 在 UI 上不能設定分鐘或秒鐘級別的排程。
- Claude Desktop App 必須保持開啟。 App 關了,排程就不會觸發。
- 電腦休眠也不行。 不過醒來後會自動補跑最近一次錯過的排程。
最佳使用場景
- 每天早上 9 點自動跑程式碼檢查
- 每週一產出上週的開發進度報告
- 定期檢查依賴更新
一句話總結:/schedule 是你設好就不用管的每日鬧鐘,但手機(App)要保持開著。
系統 cron:作業系統層級的硬核排程
怎麼用
前置準備: 先確保 Claude Code 可以自主執行,不需要每個動作都跟你確認:
claude config set auto_approve true
寫一個維護腳本:
#!/bin/bash
# ~/scripts/daily-maintain.sh
PROJECT_PATH="/path/to/your/project"
REPORT_PATH="$HOME/reports/$(date +%Y%m%d).md"
cd "$PROJECT_PATH" || exit 1
claude -p "
執行以下日常維護:
1. 跑完整測試,分析失敗原因
2. 檢查 patch 級依賴更新
3. lint 檢查並自動修正
4. 有修改就建 branch 提 PR
5. 輸出維護摘要
" > "$REPORT_PATH" 2>&1
記得給腳本執行權限:
chmod +x ~/scripts/daily-maintain.sh
加進 crontab:
crontab -e
在編輯器裡加入排程:
# 重要:先在開頭設定環境變數
PATH=/usr/local/bin:/usr/bin:/bin:/opt/homebrew/bin
SHELL=/bin/bash
# 每天早上 9 點:專案 A 日常維護
0 9 * * * /Users/yourname/scripts/daily-maintain.sh
# 每天早上 9:30:專案 B 日常維護
30 9 * * * /Users/yourname/scripts/daily-maintain-b.sh
# 每週一早上 10 點:產出全專案週報
0 10 * * 1 /Users/yourname/scripts/weekly-report.sh
# 每月 1 號早上 6 點:大規模依賴檢查
0 6 1 * * /Users/yourname/scripts/monthly-audit.sh
cron 表達式速查
如果你沒用過 cron,它的時間格式是這樣的:
分 時 日 月 星期幾
幾個常見範例:
| 表達式 | 意思 |
|---|---|
0 9 * * * |
每天早上 9:00 |
30 9 * * 1-5 |
平日早上 9:30 |
0 10 * * 1 |
每週一早上 10:00 |
0 6 1 * * |
每月 1 號早上 6:00 |
*/15 * * * * |
每 15 分鐘 |
一個容易踩的坑
cron 執行時的環境變數跟你平常在終端機裡不一樣。最常見的問題是 claude 指令找不到,因為 cron 不知道它裝在哪裡。
解法: 在 crontab 的最開頭明確設定 PATH:
PATH=/usr/local/bin:/usr/bin:/bin:/opt/homebrew/bin
這樣 cron 才知道去哪裡找 claude 這個指令。
最佳使用場景
- 同時維護多個專案,各自有獨立的排程
- 需要最高穩定性,不依賴任何 GUI App
- 機器是 always-on 的(例如一台常駐的 Mac mini)
- 搭配 iCloud Drive 同步報告,遠端查看結果
一句話總結:cron 是最底層、最穩定的排程機制。不管你在不在,它都會準時執行。
四、到底該選哪一個?
選擇的關鍵其實就一個問題:
「關掉 session 之後這個任務消失,你可以接受嗎?」
- 可以 → 用
/loop - 不行,但我平常用 Desktop App → 用
/schedule - 不行,而且我要最穩定的方案 → 用
cron
用更具體的情境來說:
| 你的需求 | 推薦方案 |
|---|---|
| 「我剛部署了一版,想盯半小時看有沒有問題」 | /loop |
| 「我想每天早上自動跑一次程式碼檢查」 | /schedule 或 cron |
| 「我有 3 個專案要同時維護,各自不同排程」 | cron |
| 「我的電腦是 always-on 的 Mac mini」 | cron(最穩定) |
| 「我想在開發中每 5 分鐘檢查一次 CI」 | /loop |
| 「我想每週一自動產出週報」 | /schedule 或 cron |
當然,這三種方式不是互斥的。實務上很多人會混合使用:
- 日常維護用
cron或/schedule穩穩跑 - 開發中的即時監控用
/loop快速設定 - 週報、月報用
cron或 GitHub Actions
五、進階:讓排程搭配 CLAUDE.md 發揮最大效果
不管你用哪種排程方式,有一件事一定要先做好:在專案裡放好 CLAUDE.md。
CLAUDE.md 是 Claude Code 每次啟動時自動讀取的設定檔,裡面記錄了你的專案架構、程式碼規範、常用指令。沒有它,Claude 每次排程執行都像一個剛到職的新人,什麼都不知道。
有了它,Claude 每次排程跑起來就已經知道:
- 測試指令是什麼
- 程式碼該遵循什麼風格
- 哪些檔案不能動
- 專案架構長什麼樣
這就像你幫助手寫好了一份詳細的 SOP。就算你不在場,它也知道該怎麼做。
六、總結
/loop |
/schedule |
cron |
|---|---|---|
| 臨時的倒數計時器 | 每日鬧鐘 | 工廠自動化排程 |
| 活在 session 裡 | 活在 Desktop App 裡 | 活在作業系統裡 |
| 最多 3 天 | 無限期 | 無限期 |
| 有跨次記憶 | 沒有 | 沒有 |
| 開發時隨手用 | 設好就不管 | 最穩定、最靈活 |
選擇沒有對錯,只有適不適合你的工作方式和設備環境。
如果你是一個人在打拼,建議從 /schedule 或 cron 開始,先把最重要的日常維護自動化起來。當你發現每天早上打開電腦,維護報告已經靜靜躺在資料夾裡等你——那種感覺,就是一人公司真正開始運轉的時刻。
如果這篇文章對你有幫助,歡迎分享給也在用 Claude Code 的朋友。