我把自己搬了五週、搬壞兩次的經驗,寫成一份給 AI 讀的搬家規格。現在把它交給 AI Agent,一天就能把三年的 Heptabase 筆記連同白板、連線、圖片和日記一起搬進 Obsidian。
從五週到一天:搬家前後的差別
同一件事,自己摸索著搬,和把規格交給 AI Agent 照著做,差別在這裡:
| 項目 | Before:自己摸索著搬 | After:把規格交給 AI Agent |
|---|---|---|
| 做法 | 讓 AI 直接讀匯出檔、轉成 Obsidian 格式,它說完成就以為完成了 | 先給 AI 一份 搬家規格:先盤點、再試搬一張白板、我親眼檢查過才全量搬 |
| 花的時間 | 三輪、大約五週的下班時間 | AI 實際處理一個多小時;加上等額度、檢查、修正,一天 |
| 搬出來的樣子 | 卡片名字變亂碼、白板上出現程式碼、圖片只剩「media missing」、日記整片空白、同一張白板被搬出五份 | 白板位置、分區、圖片都在原位,白板裡的白板也回到原本的位置 |
| 怎麼知道搬好了 | AI 回報「0 個錯誤」,我就信了 | 規格裡寫好驗收項目,加上五個不需要技術的人工檢查 |
| 最痛的點 | 漏掉的東西根本不會出現在錯誤清單裡,我不會寫程式,只能一個一個比對 | 讓另一個 AI 在不知道前情的狀況下從頭驗一次,把漏掉的抓出來 |
我的資料量:3,312 張卡片、94 張白板、700 篇 Journal,匯出後大約 5 GB、九千多個檔案。
第一輪搬壞的樣子:
這件作品用到的課程內容
| 課程內容 | 這次怎麼用 |
|---|---|
| 文件寫給人也寫給 AI | 照雷蒙用 GitHub 當文件上課的做法,把搬家規格拆成兩邊:AI 做盤點、轉換、驗證,人做決定、親眼檢查 |
| SOP 化 | 要變成 SOP 就不能只跑一次:做了 9/25 盲測和 9/27 實測,確認流程禁得起考驗 |
兩個 AI Agent 怎麼分工
兩個 Agent 個性不同,我依它們擅長的事分工:
| 工具 | 我讓它做什麼 | 它的個性 |
|---|---|---|
| Claude Code | 搭出整體搬家流程、修問題、把漏掉的東西補回我已經在用的 Vault | 很會抓大方向,收尾乾脆 |
| Codex | 定義格式、逐筆比對資料細節、在不看前兩輪結果的情況下從頭重搬一次 | 很嚴謹,但會一直找問題、很難收尾 |
| Obsidian | 搬家的目的地,也是我親眼檢查的地方 | — |
| GitHub | 放公開版的搬家規格 guide.md,任何人把網址貼給 AI 就能用 | — |
我的角色只有兩個:做決定,和親眼檢查。AI 負責盤點、轉換、驗證;我負責回答它的問題、打開 Obsidian 看結果、把截圖丟回去請它修。
從「轉檔」變成「工程」
第一輪我以為搬家就是轉檔:檔案過去了就好。結果檔案確實都到了,但內容、卡片之間的關係、白板上的位置都沒有過去。
後來我停了三個禮拜,把第一輪的教訓寫成第一份搬家規格,第二輪才讓 AI 照著規格搬。從這裡開始,我不再把搬家當成一個指令,而是當成一件需要規格、需要驗收的工程。
「0 個錯誤」不代表搬完了
第二輪看起來什麼都沒少,AI 也回報沒有錯誤。但我後來才發現:有些「空白卡」其實是沒有標題的圖片卡;每張白板都在,但「這張白板放在那張白板裡面」的關係沒了。
沒有被搬過去的東西,本來就不會出現在錯誤清單裡。
第三輪我讓 Codex 在不看前兩輪結果的情況下,照規格從頭再搬一次,再拿它的結果去對照,才把漏掉的東西抓出來:17 張沒有標題的圖片卡、83 個「白板裡的白板」,重複的白板從 102 份整理成 93 份。
已經在用的筆記,絕對不能整包覆蓋
第三輪搬得比前兩輪好很多,但那時候我的 Obsidian 已經用了一段時間,裡面有我後來新增、修改的筆記。如果讓 AI 用新版整包蓋過去,這些都會不見。
所以我請 AI 先分出哪些是舊的搬家結果、哪些是我後來自己寫的,只把新版比較好的部分「補」回去。後來整理資料夾時又踩到一次:白板都正常,但筆記裡將近 1,700 個連結還指向舊的位置。讓 AI 動已經在用的資料之前,要先請它列出「哪些是你自己寫的」;整理完資料夾,要檢查全部筆記的連結,不是只檢查白板。
把規格交給 AI 之後:兩次實測
為了確認這份規格真的能讓別人用,我又做了兩次實測。
| 測試 | 過程與時間 | 結果 |
|---|---|---|
| 我自己三輪(8–9 月) | 全部搬完,約五週,大部分時間在踩坑 | 前兩輪搬壞,第三輪完整 |
| 9/25 盲測 | 一個不知道前情的 AI,只靠 README 和規格,完成盤點和一張白板試搬,約 27 分鐘 | 依結果修訂成 1.0.1-beta |
| 9/27 實測 | Codex 依規格從完整匯出做到全量轉換(2,485 張卡片、94 張白板、612 篇 Journal);AI 實際處理一個多小時,從早上 11 點到晚上 10 點左右,中間額度用完停了兩次 | 原始匯出 9,051 個檔案前後一致、沒有被改動;大約 95% 一次到位,依結果修訂成 1.0.2-beta |
搬家前後的同一張白板:
現在這份規格公開在 GitHub,採 CC BY 4.0 授權。給一般讀者的中文搬家手冊放在我的網站:Heptabase 搬到 Obsidian:3,000 多張卡片,讓 AI 幫你搬完。
真實的使用情境是:還在用 Heptabase、想搬到 Obsidian 的人,或是已經搬過一次、但白板亂掉、圖片不見的人。把規格網址貼給 Claude Code 或 Codex,照著試搬、檢查就可以。
課程學習心得與評價
這門課對我影響最大的,是雷蒙用 GitHub 當文檔來上課。同一份文件,讀的人可能是人,也可能是 AI。所以我在寫搬家規格的時候,就把流程拆成兩邊:哪些是 AI 該做的(盤點、轉換、驗證),哪些是人要做的(做決定、親眼檢查)。
我也從雷蒙的經驗學到 SOP 化的重要性。既然要變成 SOP,就不能只跑一次就算了,所以我逼自己多次審查這個流程,做了盲測和實測,確認它真的禁得起考驗。
9/27 實測那天,Codex 從早上 11 點一路跑到晚上,中間額度用完兩次,每次都要等四、五個小時。但我看了一下結果,速度比我當初自己搬快很多,大概 95% 都很完整,比我那時候好太多了。最後 1.0.2 測完全部通過,推上 GitHub,灑花。
我想,如果沒有自己經歷過那麼糟的搬家,大概很難體會擁有這份 guide 有多大的價值。
留言與交流
使用 GitHub 帳號回覆作者,分享你的想法。


