24/7 自主代理環境實作指南:OpenClaw、Hermes Agent、Claude Code 與 Codex CLI

24/7 自主代理環境實作指南:OpenClaw、Hermes Agent、Claude Code 與 Codex CLI

核心結論

生產級 24/7 自主代理環境可分為三層:

層級 建議工具 負責範圍
入口與持久運行層 OpenClaw / Clawdbot、Hermes Gateway / Daemon 進程存活、訊息入口、排程、Webhook、systemd daemon
協調與記憶層 Hermes Agent 任務分派、記憶管理、技能學習、排程觸發、多平台整合
專業執行層 Claude Code、Codex CLI、Codex App 架構設計、重構、Issue 修復、PR 審查、批次任務執行

OpenClaw / Clawdbot 適合快速建立低代碼、可持續運行的代理入口。Hermes Agent 適合作為長期運行的協調層。Claude Code 適合處理高難度架構與重構任務。Codex CLI 適合並行處理功能開發、Issue 修復與批次任務。

核心設計原則不是讓單一 agent 處理所有工作,而是拆分為專用代理,並透過 Hermes 或其他 orchestrator 統一調度。

一、平台與框架定位

類別 推薦方案 適合對象 關鍵能力 部署難度
零代碼 / 低代碼生產部署 OpenClaw / Clawdbot 需要快速部署、多平台訊息入口的使用者 daemon、systemd、Discord / Telegram / WeChat / Slack、技能生態系
開源自主框架 Hermes Agent 需要長期記憶、自我學習、任務協調的開發者 三層記憶、技能優化、Gateway、Cron、雲端部署模板
開發者框架 LangChain / AutoGen / CrewAI 需要客製化多代理系統的工程團隊 模組化、多代理協作、可擴充
實驗型持續運行能力 Claude Code KAIROS / Daemon 早期採用者 官方持續運行架構、GitHub 整合、阻塞預算 實驗階段
無代碼平台 Lindy 非技術用戶、流程自動化使用者 視覺化流程、預建整合、快速原型

二、整體架構:Hermes 作為總管,Claude Code / Codex 作為工人

Hermes Agent 的定位是長期運行的協調層,而不是單一編碼工具。它負責保持進程存活、管理記憶、接收任務、觸發排程,並將任務分派給 Claude Code 或 Codex CLI。

組件 角色 負責範圍
Hermes Gateway / Daemon 總管 / 協調者 24/7 進程存活、記憶管理、技能學習、排程觸發、多平台訊息入口
Claude Code Skill 高階架構 / 重構專家 複雜推理、架構決策、大型重構、測試策略
Codex CLI Skill 並行執行 / 批次處理專家 功能開發、Issue 修復、PR 審查、批次任務
SOUL.md / IDENTITY.md / MEMORY.md 專案記憶 專案使命、代理角色、歷程教訓、最佳實踐

推薦任務分工:

Hermes Agent
  ├── Claude Code:架構設計、重構策略、測試策略、複雜推理
  ├── Codex CLI:Issue 修復、功能開發、批次修改、PR 建立
  ├── Memory Layer:SOUL.md / IDENTITY.md / MEMORY.md / 向量庫 / Redis
  └── Gateway Layer:Telegram / Discord / Slack / GitHub Webhook / Cron

三、24/7 持久運行的四個基礎

1. 持久記憶架構

自主代理需要三層記憶:

長期語義記憶:Chroma / Weaviate / Mem0
  - 代碼片段、API 文件、架構決策、錯誤模式、最佳實踐

情節記憶:SQLite / PostgreSQL / Markdown
  - 每次任務的決策、結果、失敗教訓、Token 成本、耗時

工作記憶:Redis / 內建上下文壓縮
  - 當前任務、Sprint 狀態、即時上下文

所有記憶層都需要持久化儲存。Redis 可啟用 AOF 持久化。向量資料庫應獨立部署。情節記憶應定期備份。

2. 自我學習循環

任務接收
  → 使用現有技能執行
  → 評估結果品質
  → 分析失敗模式
  → 生成技能改進變體
  → 驗證通過
  → 提升至技能庫
  → 記錄結果與元資料
  → 定期鞏固至長期記憶

種子任務很重要。第一天就應提供 3–5 個高品質任務範例與預期輸出,作為後續自我學習循環的品質基準。

3. 非同步任務入口

自主代理需要被動觸發能力,包含:

  • Telegram
  • Discord
  • Slack
  • WeChat Work
  • GitHub Webhook
  • API endpoint
  • Cron 排程

雲端 VPS 或 Lighthouse 部署可提供公網 IP,使 Webhook 可直接註冊與觸發。

4. 受監督的獨立性

護欄 實作方式
任務範圍限制 區分可自主執行與需人工審核的操作
信心門檻 低於門檻的任務進入人工審核佇列
審計日誌 每個決策、派單與結果都要記錄
熔斷機制 錯誤率、Token 成本或失敗次數異常時自動暫停
技能版本控制 skills/ 目錄納入 Git 管理,可回滾
Worktree 隔離 每個任務使用獨立 Git worktree,避免衝突

四、基礎設施部署:VPS + systemd + Gateway

推薦硬體配置

規格 用途 成本參考
2 核 CPU、4GB RAM、60GB SSD 最低可行部署 ~$4–6/月,Hetzner CX23
4 核 CPU、8GB RAM、100GB SSD 推薦生產部署 ~$15–20/月
Tencent Cloud Lighthouse 模板 Hermes / OpenClaw 快速部署 預裝 Redis、一鍵部署

OpenClaw systemd 範例

# ~/.config/systemd/user/openclaw.service
[Unit]
Description=OpenClaw Gateway Service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/openclaw gateway start
ExecStop=/usr/bin/openclaw gateway stop
Restart=on-failure
RestartSec=10
StartLimitIntervalSec=300
StartLimitBurst=5
Environment=NODE_ENV=production
WorkingDirectory=%h
StandardOutput=journal
StandardError=journal
SyslogIdentifier=openclaw

[Install]
WantedBy=default.target

關鍵指令:

sudo loginctl enable-linger $USER
systemctl --user daemon-reload
systemctl --user enable --now openclaw.service

Hermes systemd 範例

sudo su - hermes
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
uv venv && source .venv/bin/activate
uv pip install -e .

cat > .env << 'EOF'
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
NOUS_PORTAL_TOKEN=...
MEM0_API_KEY=...
EOF
# /etc/systemd/system/hermes.service
[Unit]
Description=Hermes Agent Orchestration Service
After=network.target

[Service]
User=hermes
Group=hermes
WorkingDirectory=/home/hermes/hermes-agent
EnvironmentFile=/home/hermes/hermes-agent/.env
ExecStart=/home/hermes/hermes-agent/.venv/bin/python -m hermes_agent.main
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now hermes
sudo systemctl status hermes

Restart=alwaysRestartSec=5 用於異常退出後自動重啟。EnvironmentFile 用於隔離密鑰。專用使用者可限制執行權限。

五、Hermes Cron:持續優化的排程層

Hermes Cron 可用於週期性觸發任務:

hermes cron start
hermes cron status

/cron add "0 * * * *" "對專案執行每小時優化檢查:讀取 MEMORY.md、掃描 GitHub Issues、啟動 Codex/Claude Code 並行處理"

/cron add "0 3 * * *" "深度優化:全代碼庫掃描、架構債務識別、生成重構提案、由 Claude Code 驗證後建 PR"

/cron list

Cron 作業輸出可存入:

~/.hermes/cron/output/<job-id>/<timestamp>.md

並可推送回 Telegram 或 Discord。

六、Claude Code 與 Codex CLI 調用模式

Codex CLI

Codex CLI 適合並行處理明確任務,例如 Issue 修復、功能新增、批次改動與 PR 建立。

terminal(command="codex exec '新增暗色模式切換到設定頁'", workdir="~/project", pty=true)

terminal(command="codex exec --full-auto '重構 auth 模組'", workdir="~/project", background=true, pty=true)

process(action="poll", session_id="<id>")
process(action="log", session_id="<id>")
process(action="submit", session_id="<id>", data="yes")
process(action="kill", session_id="<id>")

並行任務應使用 Git worktree 隔離:

git worktree add -b fix/issue-78 /tmp/issue-78 main
git worktree add -b fix/issue-99 /tmp/issue-99 main

codex --yolo exec '修復 Issue #78: <描述>. 完成後 commit'
codex --yolo exec '修復 Issue #99: <描述>. 完成後 commit'

硬性規則:

  1. 必須使用 pty=true
  2. 必須在 Git repository 內執行。
  3. 長任務必須使用 background=true 並透過 process 監控。
  4. --full-auto 可自動批准沙箱內操作。
  5. --yolo 最快,但風險最高。

Claude Code

Claude Code 適合處理高難度推理、架構設計、大型重構與測試策略。

terminal(command="claude-code '設計新的微服務架構並生成骨架代碼'", workdir="~/project", pty=true)

terminal(command="claude-code --dangerously-skip-permissions '大規模重構:將所有 callback 改為 async/await'", workdir="~/project", background=true, pty=true)

推薦模式是 Hermes 作為總管,Claude Code 處理高難度架構與推理,Codex CLI 處理並行批量執行。

七、持續優化循環設計

每小時輕量檢查

def hourly_optimization_cycle():
    memory = read_memory(["SOUL.md", "MEMORY.md", "IDENTITY.md"])
    open_issues = github.list_issues(state="open", labels=["bug", "enhancement", "tech-debt"])
    ci_status = github.check_workflow_runs()

    plan = hermes.plan(f"""
    專案使命:{memory['SOUL']}
    當前開放 Issues:{len(open_issues)} 個
    CI 狀態:{ci_status}
    近期記憶:{memory['MEMORY'][-500:]}

    請決定本小時優先處理的 1-3 個任務,輸出 JSON:
    {{"tasks": [{"id": "...", "type": "codex|claude", "prompt": "...", "priority": 1-3}]}}
    """)

    for task in plan["tasks"][:3]:
        if task["type"] == "codex":
            launch_codex_background(task["prompt"], worktree=f"optim/{task['id']}")
        else:
            launch_claude_background(task["prompt"])

    append_memory(f"## {datetime.now()} Hourly Cycle\n決策:{plan}\n---\n")

每日深度優化

/cron add "0 3 * * *" "
執行每日深度優化:
1. 掃描全代碼庫識別架構債務、重複代碼、效能熱點
2. 讀取 MEMORY.md 近 30 天決策歷程,找出重複錯誤模式
3. 由 Claude Code 生成重構提案,包含風險評估與測試計畫
4. 用 Codex 並行在 worktree 驗證各提案,跑測試與效能基準
5. 通過驗證者自動建 PR 並指派審查
6. 失敗者記錄教訓回 MEMORY.md
7. 生成每日優化報告推送至 Telegram
"

事件驅動觸發

on_github_event("workflow_run.conclusion=failure"):
    logs = github.get_failed_logs()
    hermes.dispatch_codex(f"CI 失敗分析並修復:\n{logs}\n專案上下文:{read_memory()}", worktree="ci-fix/{{run_id}}")

on_github_event("pull_request_review.submitted"):
    comments = github.get_review_comments()
    hermes.dispatch_claude(f"處理 PR 審查意見並更新代碼:\n{comments}")

on_github_event("issues.opened"):
    issue = github.get_issue()
    hermes.dispatch_codex(f"分析 Issue 並生成初步實作方案:{issue.body}")

八、專案記憶:SOUL.md / IDENTITY.md / MEMORY.md

專案根目錄應保留三個核心檔案。

SOUL.md

# SOUL.md

## 使命
打造一個即時協同編輯平台,支援 100+ 同時在線用戶,延遲 < 50ms。

## 不可妥協原則
- Zero-downtime 部署
- 所有 API 必須有 OpenAPI Spec
- 無測試不合併

IDENTITY.md

# IDENTITY.md

## coordinator (Hermes)
角色:總管、決策者、記憶守門人
風格:保守、有條理、優先穩定性

## codex-worker (Codex CLI)
角色:並行執行者、批次處理專家
風格:務實、快速、偏好 --full-auto

## claude-architect (Claude Code)
角色:架構師、重構專家、測試策略師
風格:深思熟慮、偏好 --dangerously-skip-permissions

MEMORY.md

# MEMORY.md

## 2026-06-06 03:00 Daily Deep Optimization
決策:重構 WebSocket 連接池管理
執行:Claude Code 設計新架構 → Codex 並行驗證 3 種實作
結果:方案 B 通過負載測試(10k 連接、P99 12ms)
Token 成本:$2.34 | 耗時:47 分鐘
教訓:連接池預熱邏輯必須在啟動階段完成
---

九、多代理編排

基礎 agent swarm 可採用以下分工:

Coordinator
  ├── Research Agent:文獻調研、競品分析、技術調查
  ├── Developer Agent:代碼生成、重構、測試撰寫
  ├── Data Analyst Agent:指標監控、A/B 測試分析、使用者行為洞察
  └── Copy / Marketing Agent:文檔更新、部落格、社群內容

若單一 Hermes 實例不足,可引入專門編排層。

平台 特色 部署複雜度
Boardroom 視覺化 DAG、評估迴路、條件路由、訊息總線、即時終端流、技能市集、cron 排程
Orchestratia 多伺服器艦隊管理、WebSocket 即時終端、結構化任務規格、人工介入控制
自建 Orchestrator 30+ 並行 session、Git worktree、tmux / Docker runtime、CI 修復、審查處理、衝突解決、重試與升級規則

多 session 模式下,每個任務應使用獨立 Git branch、worktree 與 tmux session。協調者只負責派單、監控、收集結果與觸發修復循環。

十、成本控制與評估指標

核心指標不是單純節省 Token,而是衡量每美元產生多少有效決策。

多供應商回退

model:
  provider: openrouter
  fallback_chain:
    - provider: anthropic
      model: claude-3-5-sonnet-20260417
    - provider: openai
      model: gpt-4o-2026-05-15
    - provider: ollama
      model: qwen2.5-coder-32b
    - provider: together
      model: meta-llama/Meta-Llama-3.1-405B

監控指標

指標 目標 警戒線
Cycles-to-Insight < 5 > 15
Token/$ per Merged PR < $0.50 > $2.00
Autonomous Success Rate > 80% < 50%
Skill Reuse Rate > 60% < 20%
Memory Recall Precision > 90% < 70%

月度成本估算

項目 低成本方案 生產級方案
VPS / 雲主機 €4–6 $20–40
LLM API $10–30 $100–500
向量資料庫 免費,本地 Chroma $20–50
Redis 免費,本地 $15–30
監控 / 日誌 免費額度 $10–30
總計 ~$20–50/月 ~$165–650/月

十一、常見失敗模式

症狀 根因 解法
Codex 掛起不回應 pty=true 或不在 Git repo 強制 PTY,並確認工作目錄是 Git repository
Hermes 重啟後失憶 .envWorkingDirectory 設定錯誤 使用絕對路徑設定 EnvironmentFileWorkingDirectory
記憶漂移 Redis 記憶壓力導致驅逐 增加 Redis 記憶體、啟用 AOF
技能退化 未驗證的技能更新覆蓋有效技能 skills/ 納入 Git,建立審核與回滾流程
技能庫汙染 自學習循環無監督寫入 將自學習視為建議引擎,不直接信任
Token 帳單暴增 無熔斷、無優先級、無本地模型分流 設定信心門檻、成本上限、多模型回退
並行任務衝突 多任務共用同一工作目錄或分支 每任務使用獨立 Git worktree
靜默失敗 任務標記完成,但輸出不正確 為技能模板加入品質標準與驗證條件
訊息斷連 Webhook 超時或 IP 變更 刷新平台 Webhook URL
自我評價虛高 Agent 缺少外部驗證 引入外部評估器、人工審查或基準測試集

十二、啟動清單

Day 1:基礎設施

  • 租用 VPS:Hetzner CX23 或 Tencent Lighthouse
  • 安裝 OpenClaw 或 Hermes
  • 配置模型、記憶與訊息平台
  • 啟用 systemd daemon
  • 啟用 Hermes Cron
  • 建立 SOUL.mdIDENTITY.mdMEMORY.md

Week 1:技能與種子任務

  • 驗證 Codex CLI 技能
  • 驗證 Claude Code 技能
  • 建立 3–5 個高品質種子任務範例
  • skills/ 納入 Git 版控
  • 建立 PR 審核流程

Week 2:持續優化循環

  • 部署每小時輕量檢查
  • 部署每日深度優化
  • 配置 GitHub Webhook
  • 建立 Grafana / Prometheus 儀表板

持續:生產級強化

  • 建立多供應商模型回退鏈
  • 設定熔斷機制
  • 建立不可篡改審計日誌
  • 執行記憶開關對比、技能版本 A/B 測試與基準任務回歸測試

十三、最小閉環指令

ssh root@your-vps

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

hermes setup
hermes gateway setup

sudo systemctl enable --now hermes

hermes cron start

Telegram 指令範例:

/cron add "0 * * * *" "讀取 ~/project/SOUL.md 和 MEMORY.md,掃描 GitHub Issues,用 Codex 並行處理 1-2 個高優先級 Issue,結果建 PR 並推送給我"

十四、結論

24/7 自主代理環境的核心不是單一模型能力,而是持久運行、任務拆分、記憶治理、排程觸發、執行隔離、成本監控與人工護欄的組合。

OpenClaw / Clawdbot 可作為低代碼入口。Hermes Agent 可作為長期協調層。Claude Code 與 Codex CLI 可分別承擔架構推理與批次執行。SOUL.md、IDENTITY.md、MEMORY.md 與向量記憶庫則提供專案知識與任務歷程,使系統在多輪執行後累積可用經驗。

最後更新:2026-06-06

來源