成長記錄技能
問題: 大多數人會寫「修正了 X 的錯誤」作為學習記錄。這是日記條目,不是學習產出。真正的成長記錄要萃取模式,讓你下次能辨識出來。
本技能教導: 如何撰寫能在不同工作階段中累積的學習條目。適用於任何筆記系統——Markdown 檔案、Notion、Obsidian、純文字。範本皆為通用格式,請自行調整到你的環境。
何時啟用
- 完成複雜任務後(多檔案、新功能、架構變更)
- 遭遇失敗、錯誤或「比預期困難」的時刻後
- 想要回顧一段時間內學到的東西時
何時不啟用: 瑣碎變更(修正拼字、單行程式調整、無除錯的設定值變更)。門檻:這項任務是否涉及除錯、重做、回滾或非顯而易見的決策? 是 → 寫條目。否 → 跳過。
三項規則
規則 1:失敗 > 成就
一次失敗的營養密度比成功更高。花 2 小時找出的錯誤,比三個一次就成功的功能教得更多。
糟糕: 「成功實作登入流程。」
良好(網頁開發): 「登入流程:session token 無法持續,因為 cookie SameSite 在 Chrome 128+ 中預設為 Lax。模式:跨域時務必明確設定 SameSite=None; Secure。可辨識信號:瀏覽器更新或跨越來源邊界時認證失效。」
良好(資料管線): 「CSV 匯入在空行時無聲失敗,因為 pandas.read_csv(dropna=False) 保留了零寬度行,而 len() 將其計為有效。模式:在進行行數驗證前,先執行 df.dropna(how='all', inplace=True)。」
規則 2:伯樂原則
在撰寫新條目前先問:「這跟我已記錄的東西在本質上是否相同?」
相同根因、不同症狀 → 合併,不要重複。新的根因 → 新條目。
如何檢查: 在寫作前先用根因關鍵字搜尋既有條目。若找到匹配項,將新症狀作為額外範例加入既有條目,而非建立重複條目。
範例: 「建立檔案後忘記更新輸出索引」和「任務後忘記更新技能評分」——相同根因(沒有自動觸發捕捉)。合併成一條關於「任務後捕捉缺口」的條目。
規則 3:必須可轉移
每條記錄必須回答:「下次遇到類似情況時,我會做什麼不一樣的事?」
如果你寫不出這句話,就還沒萃取到模式。
如何從具體事件萃取模式:
- 用一句話陳述發生什麼事
- 反覆問「為什麼?」直到抵達根因(通常 3-5 次)
- 歸納:「這是哪一類問題?」(不是「Chrome 128 的錯誤」而是「瀏覽器預設變更破壞既有行為」)
- 表述為:「下次我看到[信號],我會[行動]。」
- 為信號命名:哪個具體可觀察的現象告訴你這個模式正在發生?
條目範本
範圍: 每個不同根因一個條目。典型長度:4-8 句話。若寫超過 2 分鐘,表示你在敘述事件;若少於 30 秒,表示你挖得不夠深。
## [標題:模式,而非事件]
### 情境
- 我想做什麼?
- 出了什麼問題 / 什麼事出乎意料地順利?
### 根因 / 核心洞察
- 底層機制,而非症狀
### 模式(可轉移)
- 下次[類似情況],我會[具體行動]。
- 可辨識信號:[什麼可觀察的現象告訴我這個模式正在發生?]
### 相關
- [條目名稱](../path/to/related-entry.md)
條目類型
所有四種類型都使用上述範本。類型決定了哪些章節分量最重:
| 類型 | 使用時機 | 重點 | 範例標題 |
|---|---|---|---|
| 失敗 | 有東西壞掉、需要除錯或重新處理 | 根因 | 「設定繼承 ≠ 跨工作階段的行為繼承」 |
| 方法論 | 工作中產生了可重複的流程 | 情境 / 模式 | 「PPT → 開書考學習指南:三層結構」 |
| 模式發現 | 關於工具、系統或思維的可重複洞察 | 模式章節 | 「PR 說明範本:描述缺口,而非功能」 |
| 能力變化 | 可衡量的技能進步 | 情境(前後對比) | 「Git:從 clone/push 到獨立發出包含 12 個 commit 的 PR」 |
品質檢查清單
在定稿成長記錄條目前:
- 標題命名的是模式,而非事件?
- 有「下次我會...」的句子?
- 「可辨識信號」是否夠具體,能在下次觸發該模式?
- 在寫作前搜尋過既有條目,確認沒有重複?(伯樂原則)
- 根因和症狀有區分開來?
- 相關記憶有互相連結?
- 條目長度在 4-8 句話?更短 = 太淺;更長 = 在敘述事件。
反模式
- 避免:「修正了支付模組的錯誤」(事件,不是模式)
- 避免:逐字複製 git commit 訊息(commit 描述改變了什麼;記錄萃取為什麼重要)
- 避免:每個 commit 都寫條目(只有在模式出現時才寫)
- 避免:省略可轉移的句子(沒有它就只是日記——這是不可妥協的)
- 避免:用不同標題重複相同的模式(違反伯樂原則——寫作前先搜尋)
儲存
將條目存放在你記筆記的地方。常見模式:
- 存放在
growth-log/目錄中的 Markdown 檔案(每天一個檔案:YYYY-MM-DD.md) - Notion、Obsidian 或你的筆記應用程式中的專屬區塊
- 使用一致命名規則的純文字檔案
挑選一種慣例並堅持使用。可搜尋性比格式更重要。
若你使用 Delivery Gate
delivery-gate 停止鉤子會透過檔案系統時間戳檢查學習檔案是否在今天被修改。本技能教導該寫什麼——這樣 delivery-gate 檢查的檔案才會包含有用的模式,而非空的時間戳。
任務完成 → delivery-gate 檢查:今天學習檔案有被觸碰嗎?
→ 過時(無檔案修改):阻擋——「你學到了什麼?」
→ 新修改(檔案被觸碰):通過——本技能確保內容有用
只有強制而沒有方法論 → 空條目。只有方法論而沒有強制 → 忘了記錄。兩者各自獨立有用;結合起來則形成完整循環。