營運

成本感知自動化

一種工作流程設計模式,透過閾值、無模型檢查和精簡提示詞來避免不必要的模型呼叫。

工作流程圖版成本感知自動化hx-workflow-cost-aware-automation正在載入視覺預覽…
以原始尺寸檢視
操作流程圖

零模型門檻監控

排程腳本以確定性方式處理所有分支:正常時無輸出、警示為固定文字、無效輸入回報錯誤,而且所有分支都不呼叫模型。

零模型門檻監控排程腳本以確定性方式處理所有分支:正常時無輸出、警示為固定文字、無效輸入回報錯誤,而且所有分支都不呼叫模型。零模型門檻監控排程腳本以確定性方式處理所有分支:正常時無輸出、警示為固定文字、無效輸入回報錯誤,而且所有分支都不呼叫模型。
  1. 輸入: Cron 觸發. 無代理工作
  2. 處理: 本地腳本. 讀取一個數值指標
  3. 檢查點: 驗證並比較. 整數與門檻 85
  4. 結果: 保持安靜. 低於 85:無 stdout
  5. 結果: 固定警示. 85 以上:傳送腳本文字
  6. 停止: 記錄錯誤. 無效值:非零結束
  7. 檢查點: 略過模型. 零次模型呼叫

成本感知自動化

這是什麼

一種工作流程設計模式,透過閾值、無模型檢查和精簡提示詞來避免不必要的模型呼叫。

運作模式

  • 難度:進階
  • 節奏:持續
  • 類別:營運

核心概念

  • 成本控制
  • 喚醒條件
  • 無模型任務
  • 監控任務
  • 提供者切換

原始碼證據

  • run_agent.py#AIAgent — CLI、閘道、排程與傳輸層使用的頂層代理物件與執行期橋接器。

相關文章

  • 七個節省成本的 Hermes 工作流程,超越單純對話
  • 如何比大多數人更善用 Hermes:架構、專案隔離與可擴展工作流程

實作模式

完成成果

使用 Cron 的無代理(no-agent)模式執行確定性的門檻監控:正常執行週期完全靜默,超過門檻才交付指令稿產生的原文訊息,而且每次都不啟動代理或模型。

開始之前

  • 先使用一次性的 ~/.hermes/scripts 測試指令稿與本機交付。
  • 選擇命令殼層指令稿可直接判定、不需要解釋的數值指標;測試資料使用 metric.txt,門檻為 85
  • 不加入提示或技能;此流程刻意採用僅指令稿、無代理(--no-agent)、無模型模式。
  • 下列範例固定使用 $HOME/hermes-labs/cost-aware-automation,因此不需要自行猜測絕對路徑;若改用其他位置,必須同步修改指令稿中的輸入路徑。
  • 內建排程器在通訊閘道內執行。建立工作前,hermes cron status 必須顯示通訊閘道正在執行,且排程心跳近期且健康;若顯示停止、停滯或執行週期持續失敗,就先停止此實作。

輸入與輸出契約

輸入是 metric.txt 內的一個整數。低於 85 時,指令稿以狀態碼 0 結束,且標準輸出為空,交付保持靜默。85 以上時,標準輸出必須精確為 ALERT metric=<value> threshold=85。無效輸入使用非零結束狀態,讓 Cron 記錄錯誤。指令稿不呼叫網路,也不啟動模型。

metric.txt = 42  -> 標準輸出為空、無交付、零模型呼叫
metric.txt = 91  -> ALERT metric=91 threshold=85、零模型呼叫
metric.txt = bad -> 非零錯誤、零模型呼叫

動手完成

先驗證安裝與排程器,再貼上以下區塊建立測試資料、寫入完整指令稿、設定執行權限並建立 Cron 工作。固定路徑可讓排程不受啟動閘道時所在目錄影響:

hermes doctor
hermes gateway status
hermes cron status

mkdir -p "$HOME/hermes-labs/cost-aware-automation" "$HOME/.hermes/scripts"
printf '42\n' > "$HOME/hermes-labs/cost-aware-automation/metric.txt"

cat > "$HOME/.hermes/scripts/metric-watchdog.sh" <<'EOF'
#!/usr/bin/env bash
set -eu
VALUE=$(tr -d '[:space:]' < "$HOME/hermes-labs/cost-aware-automation/metric.txt")
case "$VALUE" in (*[!0-9]*|'') echo "無效指標" >&2; exit 2;; esac
if [ "$VALUE" -ge 85 ]; then
  printf 'ALERT metric=%s threshold=85\n' "$VALUE"
fi
EOF

chmod +x "$HOME/.hermes/scripts/metric-watchdog.sh"
hermes cron create "every 15m" \
  --no-agent \
  --script metric-watchdog.sh \
  --deliver local \
  --name "metric-watchdog"
hermes cron list

驗證成功

  • 執行 printf '42\n' > "$HOME/hermes-labs/cost-aware-automation/metric.txt",再執行 hermes cron run metric-watchdog;該週期應保持靜默。
  • 執行 printf '91\n' > "$HOME/hermes-labs/cost-aware-automation/metric.txt" 後再跑;Cron 本機輸出必須精確符合預期警示。
  • 執行 printf 'bad\n' > "$HOME/hermes-labs/cost-aware-automation/metric.txt" 後再跑;執行記錄應顯示錯誤,不可回報假警示或靜默成功。
  • 執行 hermes cron list;該工作必須顯示 Script: metric-watchdog.shMode: no-agent (script stdout delivered directly),且不可列出技能。這些可觀察欄位才是 Hermes 已選用僅指令稿路徑的驗收證據。
  • 供應商儀表板只能當輔助證據:延遲或彙總的計數器無法證明單次執行週期沒有模型呼叫。必要證據是工作顯示無代理模式,以及精確符合的指令稿輸出/錯誤產物。
  • 最後執行 hermes cron pause metric-watchdog,再用 hermes cron list --all 確認;離開 lab 時保持工作暫停。

發生問題時

  • 出現模型呼叫時暫停並移除工作,再用 --no-agent --script 重建;不要在提示驅動的工作上繞過問題。
  • 低數值仍發訊息時,確保正常路徑完全不寫入標準輸出。
  • 錯誤被靜默吞掉時保留非零結束狀態,檢查 Cron 輸出與記錄,不要改成狀態碼 0。
  • 修復期間用 hermes cron pause metric-watchdog 暫停。三種測試資料全部重測後再次暫停;不要讓這個 lab 工作保持啟用。

安全、隱私與成本

測試資料不含敏感內容,指令稿也不使用網路。不得把權杖、客戶資料或完整環境變數寫入標準輸出,因為交付內容會被保留。無代理模式會直接交付確定性的指令稿標準輸出,完全不碰模型,所以每個執行週期的模型成本為零;主機運算與外部訊息供應商費用仍可能存在。證明警示正確前,保持本機交付。

官方參考