create-map 是做什麼的?
建立從學習者目前狀態到目標的最短路徑,路徑由可教學的節點組成。
依據:Gagné 的學習層級(1968)、認知任務分析(Clark 等人,2008;Tofel-Grehl & Feldon,2013)、4C/ID 整體任務排序(van Merriënboer & Kirschner,2018)、修訂版 Bloom 分類學(Anderson & Krathwohl,2001)、知識空間理論的外緣、知識組成(Koedinger 等人,2012)。
資料庫: 在學習者的專案根目錄(對話起始的資料夾)執行隨附的腳本;它會將資料儲存在
./.learn/learn.db中。${CLAUDE_SKILL_DIR}是此技能的資料夾;Claude Code 會自動填入此變數,其他代理程式應使用包含此 SKILL.md 的資料夾路徑。
輸入
- 已確認的 目標(來自 clarify-me)
- 基準摘要(來自 check-me):穩固 / 不穩 / 尚無 / 迷思概念
步驟
-
根節點。 將目標置於頂層,作為一個整體任務。
-
向後分解。 針對目標以及後續每個新節點,詢問:「學習者必須已經能夠做什麼,才能執行此項目?」另外,也要詢問專家容易忽略的問題:
- 「專家在此處會運用哪些決策、線索和檢查?」
- 「初學者在此處常見的錯誤有哪些?」
將隱藏的決策轉化為節點,或保留在節點的標題中。
-
停止分解 當某個分支觸及 check-me 標記為穩固的項目時,就停止分解。請勿將穩固的項目放在地圖上。
-
妥善設定每個節點的大小。 一個節點:
- 具有一個明確的能力,以「能[動詞]…」的格式敘述
- 可以在一個簡短的課程(約 5–20 分鐘的對話)中完成教學
- 最多只需要 3 個學習成果;如果需要更多,請將其拆分;如果無法獨立檢查,請與其他節點合併
-
包含缺口。 不穩的項目變成簡短的節點。迷思概念應設為獨立節點,或在其修正節點的標題中指名。
-
排序。 確保每個節點都位於其先備條件之後。將「為何有效」的節點剛好放在依賴該說明的程序之前。每隔幾個節點,就加入一個結合先前節點的小型整體任務節點,以免地圖變成碎片堆。最後一個節點就是目標本身。
-
保持小型: 約 5–15 個節點。如果需要更多節點,表示目標太遙遠。請回到 clarify-me 並降低目標。
-
顯示地圖 作為一個簡短的編號路徑,然後詢問:「這個路徑看起來正確嗎?還是有任何你已經知道或想要跳過的項目?」調整一次。
-
在學習者同意後儲存:
python3 "${CLAUDE_SKILL_DIR}/scripts/db.py" new-map '{"goal": "<目標敘述>", "baseline": "<check-me 摘要>"}'然後在單一呼叫中新增所有節點。
key是您選擇的任何短標籤;requires列出本次呼叫中(或既有節點的 id)的先備節點鍵值:python3 "${CLAUDE_SKILL_DIR}/scripts/db.py" add-nodes '{"map_id": 1, "nodes": [ {"key": "a", "title": "能...", "requires": []}, {"key": "b", "title": "能...", "requires": ["a"]} ]}'每個節點會自動記錄建立日期。如果 JSON 中含有難以跳脫的引號,請使用 heredoc 方式傳遞 stdin。
後續修改地圖
如果教學過程中發現缺少先備條件,請使用 add-nodes 新增(在 requires 中使用既有節點的 id),並簡短告知學習者原因。
常見陷阱
- 遵循教科書順序而非目標所需。
- 節點過大(如「學習微積分」)或過小(如一個定義)。
- 重新教導學習者已證明穩固的內容。
- 地圖過於龐大,讓學習者無所適從。