一句話導讀:2026 年想搭一套能整夜接 issue、改程式碼、開 PR 的 AI Coding Agent,很多人第一步就搞錯了——以為裝個 Cursor 或買個 API 就夠了。真正跑得久的 autonomous coding agent,背後還得有常駐執行面、任務排程與客觀驗證。下文按架構分層、部署拓撲、最小可行棧、生產加固四條線展開,是一份可以直接照著做的完整部署指南。
部署前先分清兩層
AI Coding Agent 是能自主讀上下文、改程式碼、跑命令的程式(如 OpenHands、Claude Code、Cursor Background Agent);它跑在 AI coding agent server——即24/7 上線的執行與排程節點——之上。沒有常駐節點,Agent 只是你筆電合蓋就停的腳本;沒有 Agent,節點只是空轉的 Mac mini。
1. 24 小時 AI Coding Agent 到底是什麼?
和 IDE 裡裝的 Copilot、Cursor Tab 不同,24 小時 AI Coding Agent 解決的是另一件事:當你不在場時,誰有權在真實環境裡改程式庫、跑命令、拿驗證訊號?
一套能跑通的部署通常包含四塊能力,缺任何一塊都稱不上「24 小時 autonomous coding agent」:
- 常駐執行環境(L0)——不斷電、不斷網的 macOS 或 Linux 節點,能跑
git、npm、xcodebuild。 - 編碼 Agent 程序(L3/L5)——結對層(Claude Code)或自主層(OpenHands),負責讀上下文、寫 Diff。
- 任務入口與佇列——GitHub issue label、Webhook、定時 cron、Slack 指令等,把「要做的事」餵給 Agent。
- 客觀驗證(L1)——GitHub Runner 或本機測試腳本,產出組織能信的 Fact,而不只是 Agent 自稱「搞定了」。
一句話:執行節點是地基和水電;Agent 是幹活的工人;Runner 是品管員。 許多團隊翻車,是因為只買了模型 API、在 MacBook 上跑了個腳本,就指望它能當 24/7 AI Coding Agent——合蓋、休眠、記憶體搶占、出口 IP 變化,都會在凌晨三點把任務掐斷。
2. 一張圖:從任務入口到可合併 PR
下面用因果鏈概括一條典型的 autonomous coding agent 流水線。左側是主鏈,右側是「能跑通」與「會翻車」的對照。
24/7 AI Coding Agent 主鏈
跑通所需
- 節點 24/7 不斷電
- Agent token 與 git 權限分離
- MCP 預設唯讀
- 分支保護 + 必過 CI
- 任務逾時與並行上限
典型翻車
- 筆電合蓋任務中斷
- 無 Runner,PR 無人敢合
- Agent 寫生產庫
- 大型程式庫無 CodeGraph 盲改
- 多任務搶記憶體觸發 Swap
3. 五層元件拆解
與 AI Agent 基礎設施分層 一致,24/7 Agent 部署不必一次買齊,但要知道每層缺了會怎樣:
| 層 | 在部署裡的角色 | 典型選型 | 24/7 必需? |
|---|---|---|---|
| L0 執行環境 | Agent 的 24/7 運行底座 | Cloud Mac / Mac mini | ✅ 必需 |
| L1 驗證 | PR 能否合併的客觀訊號 | GitHub self-hosted Runner | 團隊場景必需 |
| L3 結對編碼 | 白天人工在場、複雜改動 | Claude Code / Cursor Agent | 可選(與 L5 疊用) |
| L4 上下文 | 大型程式庫導航、issue、API | MCP(GitHub / CodeGraph) | 大型程式庫強烈建議 |
| L5 自主工作流 | autonomous coding agent 核心 | OpenHands、Cursor Background Agent | 無人值守必需 |
Claude Code 生產 Diff,Runner 生產 Fact,OpenHands 生產 Workflow——這三句是部署 AI Coding Agent 時的分工口訣。若你只想夜間自動清 lint issue,L0 + L5 + L1 往往就夠;若還要白天結對啃架構,再加 L3,同機疊跑時注意記憶體排程(見 並行記憶體排班)。
4. 部署拓撲:本機 Mac mini vs Cloud Mac
24 小時 AI Coding Agent 的執行節點可以是實體機、虛擬機或雲租用執行個體,選型看上線 SLA而不是看牌子:
| 維度 | 辦公室 Mac mini | Cloud Mac(資料中心) |
|---|---|---|
| 24/7 可靠性 | 依賴辦公室不斷電、不斷網 | 機房級供電與骨幹出口 |
| 出口 IP | 家用寬頻可能變化 | 常配獨享 IPv4,Webhook 白名單穩定 |
| 與 Runner 同機 | 可以,注意 16GB 是否夠 | 常見做法,一 job 一 workspace |
| 適合人群 | 已有閒置 Mac、能管硬體 | 不想買機、要快速上線 autonomous agent |
| iOS / Xcode 建置 | 真 macOS,可行 | 真 macOS,可行(非模擬器替代) |
純後端程式庫(Go / Node / Python)理論上 Linux VPS 也能跑 AI Coding Agent,但一旦 workflow 裡出現 xcodebuild、swift test 或 Apple 簽章,執行面必須回到 macOS。這也是 2026 年多數部署指南預設寫 Mac 的原因——不是情懷,是 ABI 邊界。
5. 最小可行棧(MVP):先跑通一條夜間任務
別第一天就搭 Kubernetes + 向量庫。下面是一套我們見過最快跑通「issue → PR → CI 綠」的組合:
- 節點:M4 Mac mini 16GB 或同等 Cloud Mac;疊 OpenHands + Runner 建議 24GB。
- Agent:OpenHands(自主)或 Claude Code + 簡單 shell 包裝(半自動)。
- 模型:Claude / GPT API;本機 Ollama 可選,非 24/7 必需。
- 入口:給 issue 打
agentlabel 觸發 GitHub Webhook。 - 驗證:同機 self-hosted Runner,
runs-on: [self-hosted, macOS]。 - 上下文:GitHub MCP 唯讀 + 程式庫
AGENTS.md寫清紅線。
第一條任務怎麼選
從 lint cleanup、依賴小版本升級、補單元測試 開始——輸入清晰、行為可驗證、改壞了容易回滾。別讓第一條 autonomous coding agent 任務是無測試的大重構。
6. 7 步部署清單
以下按順序執行,每步都可單獨驗收——這是本指南的核心實操部分,避免「裝完全套才發現 Runner 沒註冊」。
Step 1 — 準備 L0 節點。 確保 SSH、時鐘同步、磁碟 ≥ 256GB(Xcode + 多 workspace 很吃空間)。Cloud Mac 使用者先完成執行個體初始化與靜態 IP 確認。
Step 2 — 建立受限 git 身份。 為 Agent 單獨建 GitHub App 或 deploy key:只寫 feature 分支,預設無 main 寫權限。生產金鑰、npm token 不進 Agent 環境變數。
Step 3 — 安裝編碼 Agent。 OpenHands 範例(Docker 或原生安裝依官方文件):
# 在 L0 節點上,克隆 OpenHands 並按官方文件設定 LLM API Key git clone https://github.com/OpenHands/OpenHands.git cd OpenHands # 設定 .env:MODEL、GITHUB_TOKEN(唯讀 issue)、WORKSPACE_BASE make run
Step 4 — 接入 MCP(可選但推薦)。 大型程式庫接 CodeGraph MCP,讓 autonomous agent 先「看得見」依賴關係再動手。
Step 5 — 註冊 GitHub Runner。 與 Agent 同機註冊,label 如 macos-agent。workflow 片段:
# .github/workflows/agent-verify.yml name: Agent PR Verify on: pull_request: types: [opened, synchronize] jobs: verify: runs-on: [self-hosted, macOS, agent] steps: - uses: actions/checkout@v4 - run: swift test # 或 npm test / go test
Step 6 — 設定任務入口。 GitHub Webhook 指向 server 上的輕量 HTTP 服務,或使用 OpenHands 內建整合;用 label agent-ready 過濾,避免每個 comment 都觸發。
Step 7 — 監控與熔斷。 記錄每次任務的 token 用量、耗時、改動檔案數;單任務逾時(如 90 分鐘)自動 kill;並行設為 1,直到穩定後再開 2。
7. 生產加固:別讓 Agent 半夜改壞主線
Autonomous coding agent 最大的風險不是「模型笨」,而是權限過大 + 無人覆核。上線前至少落實:
| 紅線 | 做法 |
|---|---|
| 分支保護 | main 禁止直接 push;Agent 只能開 PR |
| 必過 CI | required checks 包含 Runner job,無綠燈不可合併 |
| 金鑰隔離 | 生產 DB、App Store Connect API 不進 Agent 環境 |
| MCP 最小暴露 | 預設唯讀;寫操作需人工開閘(見 MCP 權限) |
| 稽核日誌 | 保留 Agent 每步 shell、diff、模型請求 ID |
| 資源上限 | cgroup / ulimit 限制子程序;防 fork 炸彈 |
「全自動合併」是下一階段
24/7 AI Coding Agent 的第一目標應是穩定產出可審查的 PR,而不是自動 merge。人類或另一套策略 Agent 審過再合,比「半夜自動合了帶後門的 PR」便宜得多。
8. 成本與規格怎麼估
一套 24 小時 AI Coding Agent 的帳單通常分三塊:
- 算力節點:Mac mini 一次性 + 電費;Cloud Mac 按日/週訂閱(對比見 租 vs 買)。
- 模型 API:autonomous agent 多輪迴圈,單次任務常是結對編碼的 5–20 倍 token;建議任務級預算上限。
- 人力維運:初期每週幾小時看日誌、調 prompt、清 stuck 任務;別假設「裝上就零維護」。
規格經驗:僅 OpenHands + 中等程式庫,16GB 可跑但易 Swap;Agent、Runner、可選 Ollama 同機時,24GB 是更省心的起點(見 16GB vs 24GB)。
9. 常見翻車點
- 把結對工具當 autonomous agent——Claude Code 工作階段結束就停,除非你再用一層排程包起來。
- 無 Fact 層——Agent 自稱測試通過,Runner 從未跑過(為何值得自建 Runner)。
- 並行過大——兩台 autonomous task 同時跑,16GB 機器直接 Swap 到懷疑人生。
- 上下文裸奔——百萬行 monorepo 不讓 Agent 用 CodeGraph,等於盲人 refactor。
- 忽略時區與通知——任務失敗無告警,早上才發現程式庫裡躺著半成品 PR。
10. 常見問題
Q:Cursor Background Agent 算不算 24 小時 AI Coding Agent?
A:Cursor 提供託管執行面,你本機不必 24/7 開機——但程式庫權限、CI 驗證、合規邊界仍要你自己配。自託管部署的意義是資料與執行完全在你控制的節點上。
Q:能不能用 GitHub Copilot Workspace / OpenAI Codex?
A:可以作 L3/L5 的模型與介面層;部署層仍是執行環境 + 排程 + 驗證。Codex 與 ChatGPT 合併後更偏結對,無人值守仍需 workflow 包裝(見 Codex 合併解讀)。
Q:Linux 上跑 Docker 版 OpenHands 夠嗎?
A:純 Web / 後端夠;任何 Apple 工具鏈步驟都必須切到 macOS 節點。混合團隊常見架構:Linux 跑排程,macOS Cloud Mac 跑建置與 Agent。
Q:一個人維護有必要上 24/7 嗎?
A:若你只想白天結對編碼,不必。24/7 AI Coding Agent 適合:issue 積壓、跨時區團隊、或想把「清技術債」從白天挪到夜間機器時間。
Q:和 Devin / Factory 等商業 autonomous agent 比?
A:商業產品賣的是打包好的 Agent + 執行面 + 介面;自部署的意義是可稽核、可客製權限、可與現有 Runner/MCP 棧對齊。許多團隊最終是「商業 Agent 做探索,自託管節點跑量產任務」。
ZavCloud Cloud Mac
把 AI Coding Agent 部署在不斷電的 macOS 上
資料中心級 Mac mini M4 獨享執行個體:適合疊 OpenHands、Claude Code 與 GitHub Runner,作為 24 小時 AI Coding Agent 的執行底座。
查看 Cloud Mac 方案