du-dum
Über
Diese Fähigkeit implementiert eine Zwei-Takt-Architektur, um kontinuierliche, kostengünstige Beobachtung von gelegentlicher, aufwändiger Entscheidungsfindung in autonomen Agenten zu trennen. Sie nutzt einen schnellen Takt, um Daten in einem Digest zu sammeln, und einen langsamen Takt, der nur dann kostspielige Aktionen (wie LLM-Aufrufe) auslöst, wenn ausstehende Arbeit gefunden wird. Dieses Muster ist ideal, um Kosten und Leistung in Agentenschleifen zu optimieren, in denen die meisten Beobachtungszyklen keine Aktion erfordern.
Schnellinstallation
Claude Code
Empfohlennpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/du-dumKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren
Dokumentation
Du-Dum:集而後行
雙鐘異頻。速鐘(察)廉而集,書精要。慢鐘(行)讀要而判行否。要云無事→立退:閒週零費。
名源心跳:du-dum, du-dum。首拍(du)察,次拍(dum)行。多時,唯首拍動。
用
- 造有預之自主者,察頻於行
- 舊心跳每拍呼 LLM,縱無變
- 察廉(API 讀、文解、日掃)而行貴(LLM 呼、寫、告)
- 須解耦:察敗則末良要仍可供行鐘
- 造 cron 架,析行異職
入
- 必:速鐘所察之源(API、文、日、饋)
- 必:慢鐘所行(要示待辦時)
- 可:速鐘週(默:每 4 時)
- 可:慢鐘週(默:日一)
- 可:日費頂(驗鐘設)
- 可:要之式(markdown、JSON、YAML)
行
一:識兩鐘
分工為察(廉、頻)與行(貴、稀)。
- 列舊循或新流中每作
- 分類:察(讀、摘)抑行(呼 LLM、寫、告)
- 驗分:察邊際費近零;行為貴作
- 定頻:速鐘足以捕事;慢鐘足以合應時之求
| 鐘 | 費 | 頻 | 例 |
|---|---|---|---|
| 速(析) | 廉:API 讀、文解、無 LLM | 日 4-6 | 掃 GitHub 通知、解 RSS、讀日 |
| 慢(行) | 貴:LLM 推、寫 | 日 1 | 擬答、更儀表、發警 |
得:清二列分,每作屬一鐘。速鐘無 LLM 呼;慢鐘無採數。
敗:一作須讀且 LLM 推(如「摘新議」)→分之:速鐘入原議於要;慢鐘摘之。要乃界。
二:設要之式
要乃連兩鐘之低帶信。宜精、人可讀、機可解。
- 定要文之徑與式(markdown 益人調)
- 含首:時戳、源元
- 設「待」節列須行之項
- 設「態」節載現況(供儀表、記)
- 含明之空態標(如
pending: none或空節)
要例:
# Digest — 2026-03-22T06:30:00Z
## Pending
- PR #42 needs review response (opened 2h ago, author requested feedback)
- Issue #99 has new comment from maintainer (action: reply)
## Status
- Last analyzed: 2026-03-22T06:30:00Z
- Sources checked: github-notifications, rss-feed, error-log
- Items scanned: 14
- Items pending: 2
無待時:
# Digest — 2026-03-22T06:30:00Z
## Pending
(none)
## Status
- Last analyzed: 2026-03-22T06:30:00Z
- Sources checked: github-notifications, rss-feed, error-log
- Items scanned: 8
- Items pending: 0
得:要之模,待/空態明。行鐘可察一欄一節定行否。
敗:要過長(>50 行)→速鐘含原數過多。移細於別檔,要只存摘與指。
三:建速鐘(析)
造循速表之察本。
- 每源一本(使敗獨立)
- 各本讀其源、取關事、附或重書要
- 用文鎖或原子寫,防殘要
- 記析運(時戳、項數、誤)於別日
- 永勿呼 LLM 或為寫之外作,僅更要
# Pseudocode: analyze-notifications.sh
fetch_notifications()
filter_actionable(notifications)
format_as_digest_entries(filtered)
atomic_write(digest_path, entries)
log("analyzed {count} notifications, {pending} actionable")
表例(cron):
# Fast clock: analyze every 4 hours
30 */4 * * * /path/to/analyze-notifications.sh >> /var/log/analysis.log 2>&1
0 6 * * * /path/to/analyze-pr-status.sh >> /var/log/analysis.log 2>&1
得:一或多析本,各產或更要文。本獨運——一敗他仍更其節。
敗:源暫無→本記誤而留舊要項。勿源敗即清要——舊數於行鐘勝無數。
四:建慢鐘(行)
造行本:讀要、判行否。
- 讀要(每行週第零步)
- 察待節:若空或「none」→立退並記
- 若有待→呼貴作(LLM 呼、擬信等)
- 行後清或存已處之要項
- 記行運(已處項、費、時)
# Pseudocode: heartbeat.sh (the slow clock)
digest = read_file(digest_path)
if digest.pending is empty:
log("heartbeat: nothing pending, exiting")
exit(0)
# Only reaches here if work exists
response = call_llm(digest.pending, system_prompt)
execute_actions(response)
archive_digest(digest_path)
log("heartbeat: processed {count} items, cost: {tokens} tokens")
表例(cron):
# Slow clock: act once per day at 7am
0 7 * * * /path/to/heartbeat.sh >> /var/log/heartbeat.log 2>&1
得:閒週時本於 1 秒內退(僅讀文察空)。活週時處待項並清要。
敗:LLM 呼敗→勿清要。待項留於下行週。或於要中設重試計,免永敗項之無盡重試。
五:設閒檢
省費源於閒檢——行鐘須以最少成本可靠別「無事」與「有事」。
- 定閒檢為單、速作(讀文+串匹)
- 驗閒路無外呼(無 API、無 LLM、無網)
- 量閒路時——宜於 1 秒內
- 閒週與活週異記以便監
# Minimal idle check
if grep -q "^(none)$" "$DIGEST_PATH" || grep -q "pending: 0" "$DIGEST_PATH"; then
echo "$(date -u +%FT%TZ) heartbeat: idle" >> "$LOG_PATH"
exit 0
fi
得:閒路為一讀後一匹。無網、無生進程(本身除外)。
敗:閒檢不可靠(偽正致漏工,偽負致冗 LLM 呼)→簡要之式。檔首一布值欄(has_pending: true/false)最可靠。
六:驗費模
算預期費,驗雙鐘架確省。
- 計日速鐘運數:
fast_runs = 24 / fast_interval_hours - 計日慢鐘運數:通常 1
- 算察費:
fast_runs * cost_per_analysis_run(無 LLM 宜~$0) - 算行費:
active_days_fraction * cost_per_action_run - 算閒費:
(1 - active_days_fraction) * cost_per_idle_check(宜~$0) - 較原單循費
費較例:
| 架 | 日費(活) | 日費(閒) | 月費(80% 閒) |
|---|---|---|---|
| Single loop (LLM every 30min) | $13.74/37h | $13.74/37h | ~$400 |
| Du-dum (6 analyses + 1 action) | $0.30 | $0.00 | ~$6 |
得:費模顯 du-dum 於閒日至少廉於原 10 倍。
敗:費模未顯顯省,其一大抵真:(a) 速鐘過頻,(b) 速鐘含隱 LLM 呼,(c) 系少閒。Du-dum 宜高閒率系。若系恒活,簡輪詢或更宜。
驗
- 速慢鐘清分,速路無 LLM 呼
- 要之式有明空態標
- 閒檢於 1 秒內退而無外呼
- 速鐘敗不損要(舊數存)
- 慢鐘敗不清待項(下週重試)
- 費模顯閒日較單循至少省 10 倍
- 兩鐘記運以便監與調
- 要不無限長(舊項於處後存或清)
忌
- 要無限增:速鐘附而慢鐘不清→要成長日。行週畢後必清或存已處項
- 速鐘過速:事日至而每 5 分析→費 API 限與碟 I/O。頻宜合源之實事率
- 慢鐘過慢:行窗日一而事須同時應→慢鐘過慢。增頻或加急事捷徑以觸即行
- 速鐘含 LLM 呼:速鐘一含 LLM 推→費模全破。審每速鐘本確無 LLM 呼。須摘→付慢鐘
- 速鐘本耦:析本依他本出→一敗連崩。速鐘本宜獨——各讀己源、寫己節
- 閒默記:閒週無記→不別「運而閒」與「崩而不運」。閒週必記,縱僅時戳
- 析敗即清要:源斷→勿書空要。慢鐘將見「無待」而略真待之工。敗時存末良要
參
manage-token-budget— 費控框,du-dum 使之可行;du-dum 乃架式,預為帳層circuit-breaker-pattern— 處敗態(工具壞);du-dum 處常態(無事)。並用:du-dum 察閒,斷路復敗observe— 供速鐘之察法;du-dum 結構何時與何以經要成可行forage-resources— 謀探層;du-dum 乃其運行之執節奏coordinate-reasoning— 間接信法;要文乃一種間接協(經環境遺物)
GitHub Repository
Verwandte Skills
content-collections
MetaDiese Skill bietet eine produktionsgetestete Einrichtung für Content Collections – ein TypeScript-first-Tool, das Markdown/MDX-Dateien in typsichere Datensammlungen mit Zod-Validierung umwandelt. Verwenden Sie ihn beim Erstellen von Blogs, Dokumentationsseiten oder inhaltsstarken Vite + React-Anwendungen, um Typsicherheit und automatische Inhaltsvalidierung zu gewährleisten. Er behandelt alles von der Vite-Plugin-Konfiguration und MDX-Kompilierung bis hin zur Deployment-Optimierung und Schema-Validierung.
polymarket
MetaDiese Fähigkeit ermöglicht es Entwicklern, Anwendungen mit der Polymarket-Prognosemärkte-Plattform zu erstellen, einschließlich API-Integration für Handel und Marktdaten. Sie bietet außerdem Echtzeit-Datenstreaming über WebSocket, um Live-Trades und Marktaktivitäten zu überwachen. Nutzen Sie sie zur Implementierung von Handelsstrategien oder zur Erstellung von Tools, die Live-Marktaktualisierungen verarbeiten.
creating-opencode-plugins
MetaDiese Fähigkeit unterstützt Entwickler dabei, OpenCode-Plugins zu erstellen, die in über 25 Ereignistypen wie Befehle, Dateien und LSP-Operationen eingreifen. Sie bietet die Plugin-Struktur, Event-API-Spezifikationen und Implementierungsmuster für JavaScript/TypeScript-Module. Nutzen Sie sie, wenn Sie den Lebenszyklus des OpenCode KI-Assistenten mit benutzerdefinierter ereignisgesteuerter Logik abfangen, überwachen oder erweitern müssen.
sglang
MetaSGLang ist ein hochperformantes LLM-Serving-Framework, das sich auf schnelle, strukturierte Generierung für JSON, Regex und agentenbasierte Workflows unter Verwendung seines RadixAttention-Prefix-Cachings spezialisiert. Es bietet deutlich schnellere Inferenz, insbesondere für Aufgaben mit wiederholten Präfixen, was es ideal für komplexe, strukturierte Ausgaben und Mehrfachdialoge macht. Wählen Sie SGLang gegenüber Alternativen wie vLLM, wenn Sie constrained decoding benötigen oder Anwendungen mit umfangreicher Präfix-Weitergabe entwickeln.
