成本感知自動化
這是什麼
一種工作流程設計模式,透過閾值、無模型檢查和精簡提示詞來避免不必要的模型呼叫。
運作模式
- 難度:
進階 - 節奏:
持續 - 類別:
營運
核心概念
- 成本控制
- 喚醒條件
- 無模型任務
- 監控任務
- 提供者切換
原始碼證據
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.sh與Mode: 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 工作保持啟用。
安全、隱私與成本
測試資料不含敏感內容,指令稿也不使用網路。不得把權杖、客戶資料或完整環境變數寫入標準輸出,因為交付內容會被保留。無代理模式會直接交付確定性的指令稿標準輸出,完全不碰模型,所以每個執行週期的模型成本為零;主機運算與外部訊息供應商費用仍可能存在。證明警示正確前,保持本機交付。

