本篇文章更新時間:2026/03/03
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持 。
內容目錄
將 AI Coding Session 寫進 Git 歷史:我對 git‑memento 的深入理解
編輯前言:這篇讀後筆記來自 GitHub - mandel-macaque/memento,它提出了一個我認為非常實用的想法:既然我們越來越依賴 AI 來寫程式,那麼這些 AI 對話是不是也應該成為程式碼的「歷史紀錄」?git‑memento 的答案是肯定的。
核心觀點 (Key Takeaways)
- git‑memento 允許開發者在執行 commit 時,自動把 AI session(像 Codex、Claude)對話紀錄,以 git notes 的方式附加到該 commit。
- 它支援 summary / full transcript 雙軌保存,以降低噪音並保持完整可稽核性。
- 透過 notes‑sync、notes‑carry 等指令,AI 對話紀錄可以隨 rebase、merge、PR 流程正確傳遞,不會在版本控制中遺失。
深入解析
git‑memento 的核心精神很簡單:AI 參與了編碼過程,那它就應該像人類 Pair Programming 一樣被寫入版本歷史。
原文有一句我覺得最能抓住工具的本質:
"git-memento is a Git extension that records the AI coding session used to produce a commit."
換句話說,git‑memento 想讓每一個 commit 都能回答一個問題:「這段程式碼,是在什麼 AI 對話下寫出來的?」 這帶來了至少三個深層意義:可追蹤、可審核、可教學。
以下我依照功能主軸整理:
-
AI Session 與 Commit 綁定:
使用方式像:
git memento commit <session-id> -m "message"。它會自動抓取 AI 的對話內容,整理成乾淨的 Markdown,並寫入 git notes。 -
Summary 與 Full Transcript 分離:
這可能是我印象最深刻的細節之一。git‑memento 會: -
在
refs/notes/commits放摘要 -
在
refs/notes/memento-full-audit保存完整對話
用 summary 減少雜訊、又保留完整稽核紀錄,兩全其美。 -
與 Git Workflow 緊密整合:
rebase、amend、squash 常常會破壞 notes,但 git‑memento 做了一整套自動化的 notes carry-over: -
notes-rewrite-setup -
notes-carry -
notes-sync
它等於建立起「AI 對話歷史」的 Git plumbing 層級保障。 -
CI / GitHub Action 支援:
非常有意思。它甚至做到: -
在 PR 裡自動顯示 commit 的 AI 對話摘要(mode: comment)
-
將 note 視為提交品質的一部分(mode: gate)
-
在 merge 時把 PR 的 AI 記錄一併帶入 merge commit(mode: merge-carry)
這種把「AI 對話視為程式碼生產過程」的想法,已經超越單純工具,而是一種 workflow 思維的改寫。
筆者心得與啟發
我讀完後最大的感觸是:AI 將會成為版本控制的第一公民。
傳統 Git 是為「人類寫程式」設計的;AI 時代則需要解決一個新的問題:當一段程式碼並非完全由人編寫,那我們該怎麼管理它的脈絡?
git‑memento 的做法很直接也很優雅:不改 Git 的 workflow,只是把 AI 對話附加在 commit 旁邊。這種「不侵入式」的設計讓我覺得它有可能真正被開發團隊採用。
我特別欣賞它的 summary/full 雙備份設計。AI 對話通常又長又雜,如果通通塞在 notes 會讓人不堪其擾;但把 summary 放在主 notes,完整內容放在另一個 ref,就同時兼顧可讀性與透明度。
如果要談未來應用,我會這樣看:
- 教育用途:學生可以回頭看自己與 AI 的互動歷史,理解自己到底學了什麼。
- 團隊合作:同事不只看到「你寫了什麼」,還看到「你怎麼問 AI,AI 怎麼回答」。
- AI Governance / 稽核:若某段程式碼因為 AI 生成而有瑕疵,可以追到對話起源。
對我來說,git‑memento 是一個象徵:AI 不是黑盒子,AI coding process 應該和 commit message 一樣,成為工程透明度的一部分。
我會推薦任何正在與 AI 協作的工程團隊試一下這個工具,它可能會重新定義你對版本控制的想像。
