AI 流程排程治理 SOP 封面圖

我們公司怎麼跑出 20+ AI 流程?系列第 2 篇:排程治理 SOP——時間表、重試、報警、版本管控 4 維度 + 5 條紅線

恆遠數位編輯團隊14 分鐘閱讀
複製引文

過去三天的早上七點,我們公司的「每日部落格 AI 寫稿」cron 連續跑了三次都沒有產出文章——agent 自己看完當天 pipeline、查重、預算盤點之後,自決跳過。一週前我們公司內部跑的 AI 流程數量正式破 20 個,這三天的「自決跳過」反而讓我看到一件事:流程多到讓 agent 自己會「拒絕做不該做的事」,比流程數本身更值得寫一篇出來。

這篇是「我們公司怎麼跑出 20+ AI 流程?」系列的第二篇。第一篇拆的是 內部報價自動化 SOP——把單一流程的節點、LLM 分工、fallback 兜底寫得很細。這一篇把鏡頭拉遠,談「20 個流程同時跑」的時候,**真正會讓老闆夜裡爬起來的,是治理層面的東西,遠超過任何單一流程壞掉本身**:誰跑、什麼時候跑、壞了怎麼處理、誰會被叫醒、改一行設定誰要簽字。下面這四個維度,會決定你公司有沒有資格說「我們在跑 N 個 AI 流程」。

AI 工作流失敗重試機制示意圖
AI 工作流失敗重試機制示意圖

我們團隊「20+ AI 流程」現在長什麼樣

先把我們內部正在跑的流程攤開——這不是宣傳,是讓接下來的治理規則有對應的真實 case。下表是節錄到今天為止 22 個流程的觸發方式與成熟度,產品名沿用我們內部慣用稱呼(Claude Code / N8N / Skill 庫是我們的 git repo),不是廠商分類。

流程類別

觸發方式

用的工具

成熟度

失敗會怎樣

每日部落格寫稿

cron 7am

Claude Code Skill

穩定 60+ 天

當天 0 篇 + 寄信

每週 SEO 策略週報

cron 週日 11am

Claude Code + GA4 / GSC

穩定 7 期

週報遲到 + 寄信

客戶詢價自動回覆

webhook(表單觸發)

N8N + Claude API

穩定 90+ 天

客戶等 4 小時收 fallback

每日匯率 / 雲端帳單抓取

cron 6am

N8N + Slack

穩定 120+ 天

報表延遲 1 天

GitHub PR 自動 code review

PR webhook

Claude Code subagent

穩定 45 天

PR 缺一份審閱意見

客戶端網站 RUM 警報

Sentry → N8N → Slack

N8N + LLM 分類

穩定 30 天

警報沒分類、人工撈

Portfolio 圖文自動排版

manual(一鍵)

Claude Code + R2

迭代中 14 天

手動退回再跑

技術文 / Skill 庫 versioning

git hooks

Claude Code 自己 commit

成熟 90 天

PR 被 reviewer 退

最痛的學習是:剛跑到 5 個流程的時候,每加一個流程就像加一個新員工——記得了。跑到第 12 個,我就開始忘記「上週禮拜三半夜跑壞那一個是哪一條」。跑到第 18 個,我已經沒辦法在腦袋裡裝下「全部流程的時間表 + 失敗模式」。

把這個焦慮翻譯成一句話:**流程數量翻倍,治理複雜度是翻四倍**。blckalpaca 在 2026 的一份 production AI workflow 報告裡也提到同樣觀察:「企業跑 AI 流程的失敗率,在第 10~20 個流程之間會出現一個治理斷層」。真正會把企業帶進這個斷層的,不是工具難用,是沒有人提早把「治理層」當成第一級資產來投資。

ℹ️我們做過這件事

順帶說一下,這篇分享的方法我們公司自己每天就在跑——目前內部就有 20+ 個 AI 流程在工作。所以這裡寫的時間表 / 重試 / 報警 / 版本管控四件事,每一條都是我們踩過、調整過、放進實際 cron 才確認真的有用之後才寫的。看到這裡,如果你也在想『這套放在我們公司會是什麼樣子』——我們很樂意 聽你聊聊現在的實際情況,一起看看哪些做得起來、能從哪一塊開始。

排程治理的四個維度——少做一塊就會吃悶虧

我們最後抽出來的四個維度很簡單:時間表(什麼時候跑)、重試(壞了怎麼辦)、報警(誰被叫醒)、版本(誰能改)。少投資任何一塊,後面三個月一定會出事。先給總圖再展開。

圖表載入中…

時間表設計:哪些走 cron、哪些走 webhook、哪些走 manual

時間表這件事不是寫個 crontab 就結束。最常見的失敗模式是:一開始什麼都 cron,後來流量大了之後 cron 之間互撞——同一台機器同時跑 5 個 LLM 任務,token 配額被打爆 + 互相搶 IO + 監控 dashboard 一片亮紅。我們現在的分配原則簡單到一張表能講完。

觸發方式

適合的流程特性

我們的真實案例

陷阱

cron(定時)

可預測、有時間敏感、能容忍 5-30 分鐘延遲

每日寫稿 / 週報 / 帳單抓取

互撞、節日資料不一致、漏跑沒人發現

webhook(事件)

外部資料一到就要處理、不能等下一輪 cron

客戶詢價 / PR review / Sentry 警報

事件丟失沒重送、洪峰時 LLM 配額爆

manual(手動)

結果要人類確認 / 風險高 / 還在迭代

Portfolio 排版 / 新模板首次跑

忘了跑、團隊離職時知識失傳

我們公司內部有一條很硬的規則:**新流程上線的前 30 天一律走 manual**,跑穩了才升 cron / webhook。這條規則是某次「自動排程把客戶詢價回信寄錯地址、隔天才發現」之後加的。學的是 n8n 官方對 production deployment 的建議——他們在 2026 best practice 寫的 15 條裡,第一條就是「flow staging」:所有新 flow 要先在 staging env 跑 30 天才能進 production。

⚠️cron 互撞最容易發生的時段

我們的痛點時段是「每天早上 6:00-9:00」——三個 cron 全擠在這裡(帳單抓取 6am / 寫稿 7am / 週報 11am 週日)。後來把帳單往前移到 5:45、週報移到 11:15,並且每個 cron 設了 timeout 30 分鐘——超過就強制 kill 不讓它把後面的 cron 堵死。看似小事,卻把連環炸彈拆掉。

一個小決策框架:cron 還是 webhook?

如果你還在猶豫某個新流程要排 cron 還是接 webhook,問自己這三個問題就夠:

  • 資料來源「能不能等」:等 1 小時還算可接受 → cron;不能等 30 分鐘 → webhook
  • 失敗如果沒人發現、後果嚴不嚴重:客服回信晚了 4 小時可能掉單 → webhook + 重送;報表晚 1 天頂多被罵 → cron
  • 資料量會不會「洪峰」:年中大促一天進 500 筆詢價 → webhook 必加 queue;穩定一天 10 筆以下 → 隨便 cron
AI 工作流監控報警儀表板示意圖
AI 工作流監控報警儀表板示意圖

失敗重試策略:哪些該重試、哪些不該重試

這一段我寫得最久——因為踩過的雷最多。最痛的一次是:客戶詢價自動回覆流程裡,LLM 回來「rate limit 429」我們設了「無限重試 + 指數退避」,結果 OpenAI 那邊配額一直沒釋放,我們的流程整夜不斷重試把今天的 token 預算燒光、隔天早上正常請求全部回 429——這是「該重試但策略錯」。

另一次是「該重試但被吃掉」:N8N 一個 node 拋 timeout,我們以為自己有 retry 設定,結果是上游 webhook 已經 ack 過了、retry 拿到的是 stale data、回覆給客戶的內容是「我們已收到您 3 天前的詢價」——但客戶 1 小時前才送出。客戶當場退單。Fast.io 在 AI agent retry patterns 那份 2026 文章講過:「retry 的本質是『把不確定的失敗變成確定的延遲』,不能把『不該重試的東西』也丟進來」。

錯誤類型

該重試嗎

重試次數

退避策略

為什麼

network timeout(短暫網路)

✅ 該

3 次

指數退避 2s / 4s / 8s

通常 10 秒內會恢復

429 rate limit

✅ 該

5-7 次

讀 Retry-After header

硬撞會把整天 token 預算燒光

LLM 回 500 / 503

✅ 該

3 次

指數退避 + jitter

供應商重啟通常 1 分鐘內

LLM 回 401 / 403

❌ 不該

認證壞了再 retry 也壞,立即報警

LLM 回 400 invalid request

❌ 不該

prompt 結構壞了,要人類改

LLM 回出來內容 schema 不對

✅ 該(限 1 次)

1 次

改溫度 0 + 加更嚴格 system prompt

再失敗就降級走 fallback

DB unique constraint violation

❌ 不該

資料已存在,重試只會多錯一次

我們把這張表寫進 Skill 庫的 retry-policy.md,每個新流程上線時 reviewer 一定會問「你的 retry 對應到哪幾條?」沒答上來不准 merge。MetaCTO 的 error handling for AI workflows 那篇也呼籲類似做法——把 retry policy 從 ad-hoc 升級成「機制化的決策」。

🚨我們踩過最痛的「無限重試 + 指數退避」陷阱

別寫「max_retries=None」這種事——任何 retry 都要有上限。我們現在的 hard rule:總重試時間不超過 15 分鐘 + 累積 token 消耗不超過該流程單次預算的 3 倍。超過就讓它失敗、走 fallback、寫一筆 incident,等人類起床看。

報警邊界:什麼狀況該叫醒老闆、什麼狀況該靜默

這一段直接決定老闆睡得好不好。我們公司報警分四級,過去三個月修了三次——每次都是「警報太多麻木 vs 警報太少漏掉」之間調平衡。現在的分級長這樣。

等級

觸發條件

通知對象

通知方式

我們的真實 case

P0

客戶看得見 / 錢相關失敗

老闆 + 工程主管

Slack mention + Email + LINE Notify

客戶詢價回覆寄錯地址

P1

內部營運中斷 + 24 小時內要修

工程主管

Slack mention + Email

週報沒跑出來

P2

降級運作 + 一週內處理

工程主管

Slack mention

某個 fallback 被啟動

P3

log only / 統計需要

只進 Sentry / GA4 event

重試 1 次後成功

這張表看似簡單,但難在「P0 / P1 / P2 之間的判定」。我們的判定原則只有一條:「客戶或老闆會因此打電話來嗎?」——會 → P0 / P1,不會 → P2 / P3。聽起來很主觀,但實際運作半年,誤判率比我們之前列十條規則的版本還低。

配套是 AI agent observability tools:每個流程都有自己的 dashboard(成功率、平均執行時間、token 消耗、cost per run)。dashboard 上的指標統一塞進 Sentry custom event,週報 cron 跑的時候自動撈一份 trend 報告——這樣老闆每週末都看得到「20 個流程這週整體健康度是 87% 還是 92%」,不必每天問。

警報疲勞是真實的,比沒警報還可怕

我們最早一個月把 P1 / P2 全部開 Slack mention,結果是「老闆每天被 ping 30 次、後面 90% 的 ping 都被滑掉沒看」——等到真正的 P0 ping 來,老闆以為又是雜訊。後來把 P2 改成「只進 dashboard / 不 ping」,整個團隊對 Slack mention 的敏感度就回來了。少 ping 反而多救援。

版本管控:Skill 庫、prompt、DB schema 的三軌治理

這一段最常被忽略,也是出事時最後悔沒做的。AI 流程的「程式碼」其實散在三個地方:

  • **Skill 庫 / agent 設定**:我們的 .claude/commands/*.md 與 SOP markdown 都在一個獨立 git repo(sheep-skill),每次改都過 PR + 兩個 reviewer。
  • **prompt template**:寫死在腳本裡的 prompt 也算「程式碼」,改 prompt 就要 commit。我們 2026-05 踩過一次:某 agent 直接在 production 改了 system prompt 沒 commit、隔週 cron 因為某個 nuance 走錯路徑、回頭沒人記得當天改了什麼。
  • **DB schema 變動**:每改一個 collection 欄位,schema 必須先在 dev 跑過 + push 到 prod,再 deploy code。我們在 2026-06-19 因為「先 deploy code 才 push schema」全站 404 一小時——詳見 [記憶memory db-schema-workflow]。
AI 工作流版本管控與 Git 治理示意圖
AI 工作流版本管控與 Git 治理示意圖

配套的工程實踐:每次 cron 跑完之後寫一條紀錄到 `/audit-log` 表,欄位包含「執行時間 / agent 版本 hash / prompt 版本 hash / 結果 hash」。如果跑壞了,可以用「結果 hash」反推當時的 agent + prompt 組合。這個習慣是抄 Anthropic Agentic Coding Trends Report 裡提到的「auditable trace」概念——production agent 的可追蹤性,要做到事後能完整還原當時的決策路徑。

Bash
# 我們 audit-log 表的最小版本
CREATE TABLE audit_log (
  id BIGSERIAL PRIMARY KEY,
  run_at TIMESTAMPTZ NOT NULL,
  flow_name TEXT NOT NULL,
  agent_version_hash TEXT,
  prompt_version_hash TEXT,
  result_status TEXT,
  result_hash TEXT,
  cost_usd NUMERIC(6,4),
  token_input INT,
  token_output INT,
  notes JSONB
);
CREATE INDEX idx_audit_flow_time ON audit_log(flow_name, run_at DESC);

5 條治理紅線——中小企業老闆採購評估時直接拿來用

如果你正在評估「該不該找廠商幫忙跑 N 個 AI 流程」——下面這五條可以當成跟廠商面談時的快速濾網。任何一條對方答不出來 / 答得很 vague,這個合作風險就很高。我們公司自己內部也用這五條當「流程是否成熟」的驗收標準。

紅線

問廠商的具體問題

好答案長什麼樣

壞答案的訊號

時間表治理

你怎麼避免多個 cron 互撞?

「我們有 flow staging 30 天 + cron 互撞檢查 + timeout 強制 kill」

「不會啊,cron 各跑各的」

重試策略

429 跟 401 你怎麼分別處理?

「429 走指數退避最多 5 次、401 立即報警不重試」

「都重試到成功為止」

報警邊界

P0 / P1 / P2 的判定原則是什麼?

「客戶或老闆會打電話來嗎?會 → P0」

「所有錯誤都丟 Slack」

版本管控

改一條 prompt 要過幾個 reviewer?

「最少兩個 + git PR」

「直接改 production 比較快」

可審計性

三個月前某條 cron 跑壞,你還原得了當時的設定嗎?

「audit-log 撈 result_hash 一秒還原」

「印象中是改過某個地方……」

⚠️5 條都過 + 廠商願意把治理流程攤給你看 = 合格底線

這 5 條不是「廠商加分項」,是「底線」。任何宣稱「我們能幫你跑 N 個 AI 流程」的廠商,至少要對這 5 條有答案。如果對方說「這些都是顧問費另計」或「我們先讓流程跑起來再說治理」——這就是後面 6 個月會踩坑的訊號。可以參考我們之前寫的 軟體外包專案『風險登錄簿』完整指南 裡 8 個風險類別的判斷邏輯,是同一套思維延伸。

你的公司也想跑 20+ AI 流程?從這 6 個決策開始

最後一段給「剛起步、想知道從哪邊開始」的老闆。我們公司花了 14 個月從 3 個流程跑到 22 個——這條路不是線性的,但有六個決策節點是每家公司都要做的:

  • **決策 1**:第一個流程選什麼?建議選「重複性高 + 結果可驗證 + 失敗無痛」——例:每日報表抓取、log 分類、客戶分群統計。**不要**第一個就挑「客戶溝通」這種對外、不可逆、容錯低的流程。
  • **決策 2**:自己跑還是找廠商?看內部有沒有人能寫程式 + 願意 oncall。沒有 → 找廠商但 5 條紅線必問;有 → 先自己跑前 3 個建立 know-how。
  • **決策 3**:選哪個編排工具?N8N(low-code 視覺化)、Make.com(同類)、純程式碼(Python / Node)+ cron——選你團隊裡半夜被叫醒能修的。
  • **決策 4**:第 5 個流程之前要不要先建治理層?我們的建議是:**到第 5 個流程之前就要把這四個維度的最小版本跑出來**——否則第 6 個流程上線那一刻會吃悶虧。
  • **決策 5**:什麼時候請第二個工程師?跑到第 10 個流程 + 一週至少有 3 件 P1 事件 = 該找人了。在這之前都還能一人撐。
  • **決策 6**:要不要 OKR 化?跑到第 15 個之後,每個流程要有自己的 KPI(成功率、平均耗時、cost per run、節省的人力 hour)。沒有 KPI 的流程就像沒有預算的部門——遲早被砍。

ℹ️我們怎麼看:AI 流程治理是 2026-2027 的「分水嶺技能」

Agent 框架現在像 2010 年的前端框架混戰——LangGraph、CrewAI、AutoGen 每月在打架。我們的看法是:**3 年後贏的不會是某個框架、不會是某個 SaaS 廠牌,而是會把『AI 流程』當成『工程資產』而不是『demo 試玩』的團隊**。對中小企業老闆,現在不需要急著挑工具,但要開始問自己一件事:「我的業務裡,哪三條流程適合升上 cron / webhook、哪三條還是該手動?」答得出來 → 你有資格開始投資 AI 流程治理;答不出來 → 先回去畫流程圖,工具選哪一個之後再說。

看到這裡,如果你也在想「我們公司現在跑了 3-5 個 AI 流程,要不要升級治理層」——可以把現況丟過來,我們很樂意 聽你聊聊現在的實際狀況,一起看看哪一條最該先升、哪一條先暫緩。或如果你還在思考「該不該找客製化廠商幫你做底層工程」——可以看一下我們的 客製化系統開發服務,理解我們怎麼把治理層當成第一級交付物(而不是事後補的文件)。

Q公司只有 5-10 人,需要這套治理嗎?

如果流程數 < 3 個,先不用——一個 markdown 寫清楚就好。流程數到第 5 個之前要把四個維度的最小版本建起來(時間表表格 + retry policy markdown + Slack 警報分級 + git PR 流程)。等到 10 個以上才開始建治理,會非常痛。

Q用 N8N 跟用純程式碼(Python / Node)的治理差別大嗎?

差別不大,治理層是「橫向能力」——不管底層是 N8N、Make.com 還是純程式碼,時間表 / 重試 / 報警 / 版本這四件事都要做。N8N Enterprise 版內建較多治理功能(SSO / RBAC / audit log),自架版要自己拼湊。

Q我們已經跑 8 個流程但沒有治理層,要從哪一塊先補?

順序建議:報警邊界 → retry policy → 時間表盤點 → 版本管控。報警邊界先做的原因是它能讓你 1 週內就「不再每天被沒意義的 ping 騷擾」,立即生活品質提升;版本管控放最後是因為它需要把整個團隊的 git 習慣改掉,工程量最大。

Q用 Claude Code 跑這些流程跟用 OpenAI / Gemini 的治理一樣嗎?

本文寫的四個維度是工具中立的——不管底層 LLM 廠商是誰都適用。差別在「retry 該怎麼判斷錯誤類型」這塊:每家廠商的錯誤碼設計不同(OpenAI 用 type+code、Anthropic 用 error.type、Gemini 用 status),retry policy 要對應廠商各自的錯誤碼表來做。

Q中小企業老闆自己跑這套,學習門檻有多高?

如果你或你的工程主管能讀程式碼 + 能寫 cron,2-4 週能跑出最小版本(4 個流程 + 治理層)。完全沒工程背景,建議找廠商做底層 + 你公司內部一個 owner 學會「讀 dashboard + 判斷 P0/P1/P2」——這個技能門檻 1-2 個月能上手。

Q你們公司怎麼決定要開新流程?

我們的 GO/NO-GO 評估有 4 條:(1) 這件事一週至少做 10 次、(2) 結果有清楚的對錯(能自動驗證)、(3) 失敗的成本可控(不會直接掉單)、(4) 我們有人 oncall。四條都過才開新流程;三條過就先進 manual 跑 30 天觀察;不到三條就直接拒。

分享文章

AUTHOR

恆遠數位編輯團隊

查看作者頁

留言(0)

尚無留言,成為第一個留言的人吧!

需要網站系統架設或軟體開發?

無論是品牌官網、客製化系統還是應用程式,我們的團隊擁有豐富經驗,歡迎聯繫我們,讓專業為您的事業加分。