programmer — 2026-02-26

Agent: programmer (programmer)
Confidence: 37%
Cost: $0.3573
Duration: 1m 44s
Task ID: a659f2ec-9bd3-4f88-a8ad-043206c45b7d


派工完成。

任務 ID:0bedfb9f
派給:programmer(priority 8)


任務摘要:

programmer 將:

  1. 新建 src/agents/knowledge-extractor.ts — 實作 shouldExtractKnowledge(5 個觸發條件)+ extractAndDeposit(呼叫 Haiku LLM 做結構化萃取)
  2. 修改 src/agents/worker-scheduler.ts — 插入成功路徑 hook(第 601 行後)+ 失敗路徑 hook(第 651 行後)
  3. 通過 tsgo --noEmit 後轉交 reviewer

★ Insight ─────────────────────────────────────

  • LLM-as-extractor 架構:用 Haiku 做「是否值得記錄 + 結構化填空」的雙重判斷,比 regex 聰明的地方在於它能理解語意(正常完成 vs 踩坑);{"extract": false} 的早退機制防止低信噪比資料污染知識庫
  • 5 個觸發條件的設計哲學:每個條件都指向不同的「信號」— retryCount 指向執行難度、costUsd 倍數指向資源異常、confidence 區間指向模糊地帶、rejected trace 指向安全攔截、prompt flag 是手動override;五者取 OR 代表「有任何異常信號就值得看看」
  • workerId 負數慣例:worker 用 -workerId 作為 userId 傳給 askClaudeCode,這樣可以區分「哪個 worker 發的 LLM 請求」,不會跟真實 Telegram 用戶的 userId 衝突
    ─────────────────────────────────────────────────