算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
manage-token-budget【设计与创意】Monitor, cap, and recover from context accumulation in agentic systems. Covers per-cycle cost tracking, context window auditing, budget caps with enforcement policies, emergency pruning when approaching limits, and progressive disclosure integration to minimize token spend on routing. Use when running long-lived agent loops (heartbeats, polling, auto…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
控制代理系統之成本與上下文佔用:逐周期追蹤 token 用量,稽核何物耗上下文空間,執行預算上限,於壓力下修剪低值上下文,並於載入完整程序前先經元資料路由。核心原則:上下文窗口中每個 token 皆當有其位。能影響決策之 token 留之;佔位而不影響輸出之 token 修剪之。
社群實證:一段三十七小時之自主會話因三十分心跳間隔配以冗長系統指令與不受控之上下文累積,耗去十三點七四美元。修法乃將心跳改為四小時間隔、改為僅通知模式、自迴圈中除去訊息流瀏覽。本技能將防此等事故之模式編成法則。
於代理迴圈中布建儀器,於每個執行邊界記錄 token 用量。
每週期(心跳、輪詢、任務執行)擷取:
存於結構化日誌(JSON lines、CSV 或資料庫)——勿置於上下文窗口本身:
{"cycle": 47, "ts": "2026-03-12T14:30:00Z", "trigger": "heartbeat",
"input_tokens": 18420, "output_tokens": 2105, "cost_usd": 0.0891,
"cumulative_cost_usd": 3.42}
若系統無儀器,自 API 計費估之:
預期: 顯示每週期 token 數與成本之日誌,粒度足以辨何週期昂貴及其因。日誌本身存於上下文窗口之外。
失敗時: 若精確 token 計數不可得(某些 API 不返回用量元資料),用計費儀表板推導平均值。即使粗略追蹤(每日成本 / 每日週期數)亦可顯趨勢。若全無追蹤可行,進入步驟二自上下文稽核入手——可由上下文大小估成本。
度量何物佔上下文窗口,依大小排消耗者。
將上下文分解為其組件並逐一度量:
產生上下文預算表:
Context Budget Audit:
+------------------------+--------+------+-----------------------------------+
| Component | Tokens | % | Notes |
+------------------------+--------+------+-----------------------------------+
| System prompt | 4,200 | 21% | Includes CLAUDE.md chain |
| Memory (auto-loaded) | 3,800 | 19% | MEMORY.md + 4 topic files |
| Tool schemas | 2,600 | 13% | 3 MCP servers, 47 tools |
| Active skill procedure | 1,900 | 9% | Full SKILL.md loaded |
| Conversation history | 5,100 | 25% | 12 prior turns |
| Current cycle content | 2,400 | 12% | Tool outputs from this cycle |
+------------------------+--------+------+-----------------------------------+
| TOTAL | 20,000 | 100% | Model limit: 200,000 |
| Remaining headroom |180,000 | | |
+------------------------+--------+------+-----------------------------------+
標出相對其決策價值不成比例之大組件。當前任務從不引用之四千 token 記憶檔純為負擔。
預期: 排序表顯示各上下文消耗者、其大小及佔窗口之百分比。至少一組件將顯為削減候選——最常見者乃對話歷史或冗長之工具輸出。
失敗時: 若難得各組件之精確 token 計數,英文文本以字元數除以四為粗略近似。結構化資料(JSON、YAML)以字元數除以三。目標為相對排序,非精確度量。
定軟硬上限,明示達各上限時所為何事。
軟上限(警告閾值):通常為硬上限之百分之六十至七十五。達時:
硬上限(停止閾值):絕對最大花費或上下文大小。達時:
每週期上限:任一週期之最大 token 或成本。防單一失控週期耗盡整體預算:
於工作流配置中載明上限:
token_budget:
soft_limit_usd: 5.00 # warn and begin pruning
hard_limit_usd: 10.00 # halt and alert
per_cycle_cap_usd: 0.50 # max per individual cycle
soft_limit_pct: 70 # % of context window triggering pruning
hard_limit_pct: 90 # % of context window triggering halt
enforcement: strict # strict = halt on hard limit; advisory = log only
alert_channel: notification # how to notify the operator
預期: 記錄三層級之預算上限(軟、硬、每週期),各有明確之執行動作。政策在達上限前即答「達上限時將如何」。
失敗時: 若設精確美元上限尚早(成本概況未知之新工作流),先僅以上下文百分比上限始(軟七成、硬九成),俟二十四至四十八小時成本追蹤資料後再加美元上限。校準期間建議模式(記日誌但不停)可接受。
接近上限時,系統化棄低值上下文以守預算。
修剪優先序(先棄最低值):
對每修剪項,留一行墓誌:
[PRUNED: 2,400 tokens of npm audit output from cycle 12 — 3 vulnerabilities found, all patched]
墓誌耗約二十 token 而保決策相關之結論。
預期: 修剪後上下文用量降至軟上限以下。各修剪項皆有保結論之墓誌。無決策關鍵資訊遺失——僅棄已成決策之背後證據。
失敗時: 若修剪至優先級四仍留用量於軟上限之上,則此工作流根本上對當前週期頻率而言過於上下文沉重。上呈人類操作員:「修剪後上下文用量為百分之 N。選項:(甲)增大週期間隔;(乙)縮減每週期範圍;(丙)拆為子工作流;(丁)接受更高成本。」
於載入完整技能程序前先經登記元資料路由——將 token 花於路由,非花於閱讀。
模式:
_registry.yml 讀技能之登記項(id、description、domain、complexity、tags)——約三至五行,五十 token於其他大型上下文負載亦行此模式:
Without progressive disclosure:
Load 5 candidate skills → 5 × 1,500 tokens = 7,500 tokens → use 1 skill
With progressive disclosure:
Route through 5 registry entries → 5 × 50 tokens = 250 tokens
Load 1 matched skill → 1 × 1,500 tokens = 1,500 tokens
Total: 1,750 tokens (77% reduction)
預期: 技能載入循兩階段模式:經元資料輕量路由,再僅於確認匹配時完整載入。同一模式適用於記憶、工具結構與檔內容。
失敗時: 若登記元資料不足以路由(描述過於模糊、標籤缺失),改善登記項,勿棄漸進揭露。修法在更佳之元資料,非更多之上下文載入。
依成本資料而非任意排程設執行間隔。
計算當前週期間隔之每小時成本:
cost_per_hour = avg_cost_per_cycle × cycles_per_hour對照預算:
hours_until_hard_limit = (hard_limit - cumulative_cost) / cost_per_hour定最低有效間隔:
行此間隔:
Before: 30-minute heartbeat, verbose processing
→ 48 cycles/day × $0.09/cycle = $4.32/day
After: 4-hour heartbeat, notification-only
→ 6 cycles/day × $0.04/cycle = $0.24/day
→ 94% cost reduction
預期: 週期間隔由成本資料證成,並合監測系統之更新率。間隔成本之取捨已記錄,使未來調整有基準。
失敗時: 若系統需低延遲回應而不能容更長間隔,改減每週期成本(更小之系統提示、少載工具結構、摘要歷史)。預算方程有兩個槓桿:頻率與每週期成本。
確認所有控制皆運作,系統於預算內運行。
Budget Validation Report:
+-----------------------+----------+--------+
| Check | Expected | Actual |
+-----------------------+----------+--------+
| Per-cycle logging | Present | |
| Soft limit warning | Fires | |
| Hard limit halt | Halts | |
| Per-cycle cap | Truncates| |
| Progressive disclosure| Routes | |
| Daily cost projection | < $X.XX | |
+-----------------------+----------+--------+
預期: 五項控制(追蹤、軟上限、硬上限、每週期上限、漸進揭露)皆已驗運作。成本投影於預定預算內。
失敗時: 若控制不觸發,查執行機制是否實接於執行迴圈中,非僅文件記載。無執行之配置乃計畫,非控制。若成本投影超預算,回步驟六調整週期間隔或每週期成本。
assess-context — 評估推理上下文之結構健康;補步驟二之上下文窗口稽核metal — 自代碼庫提取概念精髓;漸進揭露模式適用於 metal 之勘探階段chrysopoeia — 價值提取與棄重;於代碼層級行同樣之每 token 價值思維manage-memory — 組織並修剪持久記憶檔;直接縮減上下文預算之記憶組件