Vibe Coder

自動化維運:讓 AI 幫你監控、排程、修復

自動化維運分三個層次:排程任務是定時自動執行的工作,智慧監控是讓 AI 分析系統狀態判斷是否異常,自動修復是偵測到問題後自動執行修復動作。原則是只自動做你有把握的操作,例如重啟服務,其他像資料不一致這類問題一律通知你來決定。
自動化維運:讓 AI 幫你監控、排程、修復

自動化維運:讓 AI 幫你監控、排程、修復

服務凌晨三點掛掉,使用者早上才回報,這四個小時的損失本來可以避免。這是 Stage 7 的最後一個模組,帶你把前面學到的 Agent、工具呼叫、多 Agent 架構,收斂成一套會排程、會看 Log、會自動修復的維運系統,最後一起回顧整個 Stage 7 學到的東西。

你將學到什麼

自動化維運三層次

排程任務、智慧監控、自動修復,各自解決什麼問題。

排程任務怎麼寫

用 APScheduler 或 n8n Schedule Trigger 定時執行任務。

讓 AI 看懂 Log

設計一個能分辨嚴重程度、避免告警疲勞的 AI 監控。

自動修復的邊界

哪些問題能自動修,哪些只能通知你決定。

自動化維運的三個層次

層次說明例子
排程任務定時自動執行的任務每天備份資料庫、每週寄使用報告
智慧監控AI 分析系統狀態,判斷是否異常分析 Log 找出異常模式、預測即將發生的問題
自動修復偵測到問題後自動執行修復動作服務掛掉自動重啟、資料庫連線數過高自動清理
排程任務定時自動執行智慧監控AI 判斷是否異常自動修復偵測後自動處理
自動化維運的三個層次,由基礎排程逐步升級到自動修復。

排程任務:定時讓 AI 做事

方法一是用 Python 的 APScheduler,直接在程式裡設定定時任務:

from apscheduler.schedulers.blocking import BlockingScheduler
import anthropic

scheduler = BlockingScheduler()
client = anthropic.Anthropic()

@scheduler.scheduled_job('cron', hour=8, minute=0)
def daily_weather_report():
    """每天早上 8 點執行天氣報告"""
    weather = get_weather("Taipei")
    r = client.messages.create(
        model="claude-haiku-4-5-20251001",
        max_tokens=200,
        messages=[{"role": "user",
                   "content": f"用一句話總結今天台北的天氣:{weather}"}]
    )
    send_email("you@example.com", r.content[0].text)

scheduler.start()

方法二是直接在 n8n 用 Schedule Trigger 節點設定 cron 表達式,不需要寫程式,連接後續的 AI 節點和動作節點,更適合 Vibe Coder 的視覺化工作流。

Cron 表達式速查0 8 * * * 代表每天早上 8:00。0 9 * * 1 代表每週一早上 9:00。0 */6 * * * 代表每 6 小時。*/5 * * * * 代表每 5 分鐘。

智慧監控:讓 AI 看懂 Log

傳統監控設定閾值,例如錯誤率超過 1% 就警報。AI 監控能理解 Log 的上下文,判斷哪些是真的需要處理的問題:

def analyze_logs(log_lines: list[str]) -> dict:
    prompt = f"""
分析以下系統 Log,判斷:
1. 有沒有需要立刻處理的嚴重問題?
2. 有沒有需要關注的異常模式?
3. 系統整體健康狀態如何?

以 JSON 格式回傳:
{{
  "severity": "critical/warning/normal",
  "issues": ["問題清單"],
  "action_required": true/false,
  "summary": "一句話摘要"
}}

Log 內容:
{chr(10).join(log_lines)}
"""
    r = client.messages.create(
        model="claude-haiku-4-5-20251001",
        max_tokens=500,
        messages=[{"role": "user", "content": prompt}]
    )
    return json.loads(r.content[0].text)

自動修復:定義修復策略

自動修復要謹慎設計,錯誤的自動修復可能讓問題更嚴重。原則是只自動做你有把握的操作,其他的通知你來決定。

問題類型可以自動修復?修復動作
服務當機(crash)可以自動重啟服務,並記錄崩潰原因
資料庫連線數過高可以清理閒置連線,釋放連線池
磁碟空間不足謹慎清理 log 檔案,但通知你確認
應用程式錯誤(bug)不行通知你,讓你決定是否回滾
資料不一致不行通知你,需要人工確認後再修復
自動修復的紅線凡是涉及資料本身的問題,一律不要自動修,只通知你。自動重啟、自動重試這類無副作用的操作可以放心自動化,但任何可能改變資料狀態的修復動作,都要留給人來確認。

Stage 7 總複習

走到這裡,你已經完成 Stage 7 的六個模組,從理解 Agent 的原理,一路做到能設計會自動監控和修復的維運系統。

模組核心能力
7-1 什麼是 AI AgentAgent = Model + Harness,三大能力,Orchestrator-Subagent 架構
7-2 工具呼叫與函式定義定義 Tool Schema,實作 Tool Use 執行迴圈
7-3 n8n 自動化工作流n8n 節點設計,AI Agent 節點,連接外部服務
7-4 Claude Code 實戰Claude Code 安裝、CLAUDE.md、權限設定、修 bug 任務
7-5 多代理架構設計四種多 Agent 模式,任務拆解,並行實作
7-6 自動化維運排程任務、AI Log 分析、自動修復策略
Stage 7 完整驗收清單能說出 AI Agent 等於 Model 加 Harness,舉出三個真實例子;能設計並實作帶 Tool Use 的 Agent;建立了至少一個有 AI 節點的 n8n 工作流;Claude Code 安裝完成,有 CLAUDE.md,完成過一個修 bug 任務;能選擇正確的多 Agent 模式並實作並行執行;設計了至少一個自動化排程任務並部署上線。全部打勾,代表你已經從會用 AI 回答問題,升級到讓 AI 自動完成任務的 Vibe Coder。

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

自動化維運的三個層次分別是什麼?
排程任務是定時自動執行的工作,例如每天備份資料庫;智慧監控是讓 AI 分析系統狀態判斷是否異常;自動修復是偵測到問題後自動執行修復動作,例如服務掛掉自動重啟。
AI 監控 Log 跟傳統閾值監控有什麼不同?
傳統監控只會設固定閾值,例如錯誤率超過 1% 就警報。AI 監控能理解 Log 的上下文,判斷哪些是真的需要處理的問題,降低誤判,減少告警疲勞。
什麼問題適合自動修復?
只自動做你有把握的操作,例如服務當機自動重啟、資料庫連線數過高自動清理閒置連線。應用程式 bug 或資料不一致這類需要判斷的問題,一律通知你來決定,不要自動修。
MTTR 是什麼?為什麼重要?
MTTR 是 Mean Time To Recovery,平均修復時間,衡量從問題發生到恢復正常的平均時間。自動監控和自動修復能把 MTTR 從人工發現的幾小時縮短到幾分鐘,是自動化維運的核心目標。