知識分享 · Claude Code
讓 Claude Code 長出新本事:逆向工程、把整本書變技能、用說的畫 3D 零件
Windows 計算機的 200+10% 為什麼等於 220?接上 REA,Claude Code 能從成品反推規則;book-to-skill 把技術書拆成按需載入的技能,官方稱省 24~51 倍 Token;text-to-cad 用說的做出 3D 零件。
同一個 Claude Code,三種新本事
這篇把三支影片介紹的三個 GitHub 開源專案放在一起看:REA 讓 Claude Code 從「已經裝在電腦上的成品」反推軟體怎麼運作;book-to-skill 把一本技術書拆成 AI 隨時查得到的技能;text-to-cad 讓你用白話描述,產出能拿去 3D 列印或加工的模型檔。三個頻道、三個主題,背後是同一件事:Claude Code 本身沒變,變的是你幫它接上了什麼。
接法只有兩種。MCP 是統一的插座,接上之後 Agent 多了一雙能操作外部工具的手腳;Skill 是一份寫好的說明書,Agent 需要時才翻開,多的是知識與做事方法。這兩個詞的完整解釋,本專欄〈AI 名詞太多記不住?從 LLM 到 Agent Skill,八個概念一次講到你懂〉與〈Claude Code 從 0 到 1:模式、回滾、MCP、Skill 與 SubAgent 一次講透〉已經講過,這裡只看三個專案各自怎麼組合:
| 專案 | 接法 | 給 Agent 什麼 | 出自哪支影片 |
|---|---|---|---|
| REA | MCP+Skill | 手腳為主:透過 MCP 叫動逆向分析工具,從成品取回指令、反編譯碼與呼叫關係;Skill 是附帶的調查說明書 | YAHA學堂(Step 01~04) |
| book-to-skill | Skill | 知識:把一本書拆成按需載入的 Skill;它自己也是一個 Skill | GitCovery(Step 05) |
| text-to-cad | Plugin | 兩樣都有:建模的 Skill,加上本機的 CAD 檢視器服務(MCP);用 build123d 函式庫建模,幾何核心是 OpenCascade | qingqing wang 的短影片(Step 06) |
「接法」一欄依各專案 README 的安裝方式整理。Plugin 是把 Skill、MCP 等打包成一包的安裝格式。
REA:拿材料的是它,解釋的是 Agent
YAHA學堂這支影片從一個問題開始:Windows 計算機按 200+10% 得 220,換成 200×10% 卻得 20。同一個百分號,前面換個運算子,算法就變了。這種規則介面上不會告訴你;拿不到原始碼又想照著做,就只能從裝在電腦上的成品往回推——這就是逆向工程:直接看程式本身,把一個功能弄懂到講得清楚、改得動,或能自己重做一個。
手工做至少要過三關:先查出程式比較的兩個編號各是哪個按鈕(一個乘號、一個除號);再從一串位址裡追出哪個函式在做除法、哪個值傳了進去;最後拼出規則——前面是加號,10% 就是取第一個數的 10%(200×10÷100=20,200+20=220);前面是乘號或除號,10% 直接變成 0.1(200×0.1=20)。三關讀的都是組合語言(assembly,把機器指令寫成人勉強能讀的樣子),沒碰過的人每一關都不輕鬆。
用了 REA(Reverse Engineer Anything)之後,分工就變了:
REA 拿材料、Agent 做解釋、你只管提問。中間那條線就是 MCP。
講者把 MCP 比喻成統一的插座,所以 Claude Code、Codex、Cursor 這些支援本機 MCP 的 Agent 都能接;不用 Agent,在終端機直接跑也行。那跟直接問 AI 有什麼不同?答案是證據:直接問模型,它手上沒有這個程式的任何材料,只能憑印象答,你也沒辦法核對;REA 回來的結論都帶著依據,答案錯了,你能順著證據一路找回去。
什麼時候該找 REA?一句口訣分清楚
判斷標準只有一個:你要下的結論,靠的是已經發出來的成品,還是手上完整的原始碼?有完整原始碼就用一般的程式工具,REA 自帶的說明也寫明這種情況不用它;要靠成品(安裝包、編譯好的程式、打包好的應用、正在跑的網頁)才輪到 REA。講者濃縮成一句:原碼完整用程式工具,結論要靠成品才找 REA。
問法也有講究:官方建議從一個具體的按鈕、檔案或行為問起;照著網站重做一個、從老遊戲還原玩法這類大任務也做得到,但最好拆成具體問題。成品分三類,REA 各用不同的工具:
先問「有沒有原始碼」,再問「是哪一類成品」。兩題答完,就知道要不要找 REA、要準備什麼。
圖裡最容易被忽略的是最下面那條:只讀檔案和真的執行是兩回事,來路不明的程式,這一步要特別小心。
三個案例:讀到真正在跑的程式,再跑一遍核對
小恐龍為什麼越跑越快?
Chrome 斷網時的小恐龍遊戲會越跑越快。REA 查的是一個從 Chromium 移植出來的網頁版,把頁面裡實際在跑的腳本拿回來,規則一下就清楚:起始速度 6,每次沒撞到障礙的更新加千分之一,低於 13 就一直加。
接著在受控的瀏覽器環境裡直接呼叫原遊戲的更新函式核對:1,000 次後速度 7、4,000 次後 10、1 萬次後 13.001。為什麼多一點點?因為它先判斷再加,最後一次判斷時還沒到 13,這一加就超了。講者說,這種細節光靠猜猜不出來,得讀到真正在跑的程式碼,再實際跑一遍才看得出來。
if (this.currentSpeed < this.config.MAX_SPEED) {
this.currentSpeed += this.config.ACCELERATION;
}
// 設定值:SPEED 6、ACCELERATION 0.001、MAX_SPEED 13
本站用同一條規則重算:加到第 7,000 次時,浮點數的累加誤差讓速度停在 12.99999999999…,差一點點才到 13,判斷仍成立;第 7,001 次再加 0.001 就成了 13.001,之後不再加速。
DX-Ball:虛擬碼說沒算,原始指令說算了
原生程式那邊藏得更深。有個開源專案正把 1996 年的 Windows 老遊戲 DX-Ball 用 C 語言重寫,其中一步要弄清楚:磚塊被打中時,聲音怎麼按位置分到左右聲道。
反編譯器給的虛擬碼(pseudocode,它推出來、接近 C 語言的寫法)顯示這個函式沒有輸入、只呼叫了一個型別轉換,看起來什麼都沒算。但 REA 在同一份結果裡附了原始指令:明明讀進了一個整數,還做了幾次帶小數的運算。這個對不上的地方讓 Agent 知道要接著查——它順著呼叫者找出輸入,又按位址讀出幾個常數,最後寫出一個很短的 C 函式。
這個函式過了兩道檢查:跟原程式比對 3,205 組輸入,回傳值全部對上;用當年的編譯器編出來,63 個位元組與原程式完全一致。要帶走的是:虛擬碼是反編譯器推出來的、可能漏東西,有原始指令兜底,才查得出漏在哪。
Notion「複製」:Electron 的訊息鏈怎麼追
Electron 應用的難點在於一個功能常拆在頁面、preload 腳本與主行程好幾處,靠行程間的訊息(IPC)串起來。像 Notion 複製文字,頁面呼叫的寫入剪貼簿方法只是個包裝,真正的寫入在主行程那一頭。REA 先在壓縮過的程式碼裡標出入口的檔案、行與欄,Agent 再一層層解開。
新手最容易踩的五個坑
- 以為工具在本機跑,就什麼都不會出去。REA 確實在你的電腦上分析,但結果會交給 Agent,背後的模型服務商有自己的資料政策,要按你用的那一家判斷。公司內部的程式拿去分析前,先把這一層想清楚。
- 以為裝了 Skill 就能用。REA 的 Skill 只是給 Agent 的調查說明書,真正運作的是 MCP 服務,要靠官方的安裝設定接上;設定會先列出要改的地方、備份舊設定,你同意才動手,裝完要重啟 Agent。還看不到工具,就用官方的診斷指令查註冊狀態;註冊正常仍然沒有,就看 Agent 那邊的連線錯誤,別一遍遍重裝。
- 以為一上來就得先裝好 IDA 或 Ghidra。只有原生程式的深入分析才需要分析引擎,JavaScript 和 .NET 的靜態檢查用不著。
- 拿到答案就收工。恐龍和 DX-Ball 都跟原程式比對過,計算機碰巧有微軟公開的原始碼可以對答案。你自己用也一樣:要 Agent 給出檔案和行號,再出一個小預測去驗證。
- 版本。REA 更新快、修正頻繁,碰到問題先更新。但 Agent 那邊登記的是固定版本,光更新命令列工具不夠,要重跑一次安裝設定、再重啟 Agent,新版本才會生效。
第 2 點和第 5 點對應到實際指令,是 README 裡的這幾行:
# 安裝:先列出要改的設定,你核准後才動手;完成後重啟 Agent
npx rea-agents setup
# 更新:Agent 登記的是固定版本,要重跑設定再重啟
npx rea-agents@latest setup
# 診斷:唯讀檢查 Claude Code 的註冊與 Skill(本站依官方安裝文件補充)
npx rea-agents doctor --client claude_code --skill --json
怎麼驗證它的答案:官方的入門練習
講者說,官方的入門練習就是這樣設計的:一個只有六個檔案的筆記小應用,上面有個匯出按鈕。先問它檔案寫到哪、有哪幾欄(答案是「下載」資料夾裡的 CSV,兩欄:編號和標題),再讓它預測標題本身帶逗號和引號時會變成什麼樣,然後真的跑一次格式化函式對答案。做完這一步,你對它的答案就有了自己的判斷。
Hello, "REA" 匯出後變成 1,"Hello, ""REA"""——整個標題用引號包住、裡面的引號重複一次,這是 CSV 的跳脫規則。
book-to-skill:把整本書變成按需載入的技能
GitCovery 這集只講一個專案:virgiliojr94 用 Python 寫的 book-to-skill,把技術書轉成 Agent 隨時能呼叫的技能(官方稱為 Agent Skill)。開場問得實際:一本五百頁的技術書,讀完三個月後,你還記得第七章在講什麼嗎?
問題在於把整本書丟給 AI 很不划算:每次提問都把數十萬字塞進上下文,Token 消耗驚人,資訊量太大還容易讓 AI 一本正經地編出書裡沒寫的內容。搜尋 PDF 只換來一堆頁碼,手寫筆記往往寫完就束之高閣。book-to-skill 的做法是把整理書本結構的苦差事只做一次,之後每次提問都站在這個結構上取用。
兩階段:第一階段是固定規則的程式,第二階段才交給 AI。按需載入是省 Token 的關鍵。
架構分兩個階段。第一階段是確定性的萃取器,把原始檔轉成乾淨的純文字與章節資訊:文字為主的書用速度快的 poppler,表格和程式碼多的改用能保留版面結構的 docling。第二階段才是核心:交給 Agent 本身,照專案內建的 SKILL.md 規格書,提煉成核心心智模型、每章獨立的檔案、術語表和速查表。影片的比喻是請一位編輯把厚書拆成索引卡片——AI 平常只翻總目錄卡,被問到某個主題才抽出那張細節卡。這種按需載入就是省 Token 的關鍵。萃取在本機執行,原始檔不會被這個工具上傳。
# 安裝(README 的寫法;也可以 git clone 到 ~/.claude/skills/book-to-skill)
npx skills add virgiliojr94/book-to-skill
# 在 Claude Code 裡指向檔案,產生一份以書名命名的 Skill
/book-to-skill ./my-book.pdf
# 之後就這樣問書裡的某個主題(README 的例子)
/my-book replication
影片也提到用途不只書:團隊可以把架構決策紀錄、上線手冊整個資料夾,轉成新人隨時能查的知識庫;設計團隊把品牌指南轉成技能,讓大家講同一套規範;研究人員把一疊論文合成一個技能,做跨文件比對。
限制也要知道:掃描版、沒有文字層的 PDF,要先自己跑 OCR(光學文字辨識);排版複雜的檔案,抽出的結構可能不準。影片的提醒也中肯:產出品質高度仰賴背後的模型,模型改版或表現波動,技能品質就跟著起伏;它又依賴第三方解析工具,那些工具一變,維護成本就上升。
- 星數:影片(2026-08-24 上傳)說約 2.46 萬;本站 2026-10-17 查詢已超過 3.5 萬。README 列的格式與平台也比影片多(另有 Markdown、HTML、MOBI,及 Codex、OpenCode 等)。
- 24~51 倍怎麼來的:官方 performance 文件用三本實書量測:答一個問題時載入 SKILL.md 加一章約 5,000 Token,整本塞進上下文是 11.9 萬到 25.6 萬。若比較對象換成「會自己翻目錄找章節的 Agent」,差距縮為 2.4 到 15.6 倍。產生技能是一次性成本,官方估每本約 1 美元。
- 「自動挑選工具」:README 的寫法是萃取前 Skill 會先問你這本書是技術型還是文字型,再依答案選工具。
- 「不再幻覺」與著作權:前者是專案自己的說法,按需載入能降低編造的機會,但重要答案仍要對照原書。README 也明講要用你自己合法擁有的檔案,拿別人的書產生的技能不要公開散佈。
text-to-cad:用說的畫出 3D 零件
第三支是 qingqing wang 的 38 秒短影片,介紹 text-to-cad:裝進 Codex 或 Claude Code 後,用白話描述需求,AI 就生成 3D 模型,建模程式碼也一起產出;不滿意就直接說要怎麼改,它繼續調整;能開 3D 預覽,旋轉放大檢查細節;匯出 STEP、STL、3MF 後,拿去做 CAD 編輯、3D 列印或加工準備。影片自己也提醒:正式生產前,要再核對尺寸、公差和製程要求。
照 README 的說法,它不是獨立的 CAD 軟體,而是一組給 Agent 用的工作流程,關鍵在於模型就是一支 Python 程式:形狀用 build123d 描述(背後是 OpenCascade 幾何核心),跑一次輸出 STEP,STL、3MF、GLB 再從 STEP 轉出——這就是影片說的「建模程式碼也一起搞定」。在 Claude Code 裡它以 Plugin 安裝,同時帶進建模的 Skill 和本機的 CAD 檢視器服務,影片裡的 3D 預覽就是它。Skill 清單裡另有工程圖、DXF、可製造性檢查、G-code 切片等。
# 在 Claude Code 安裝(README 寫法:先加 marketplace,再裝 Plugin,然後重啟)
claude plugin marketplace add earthtojake/text-to-cad#latest
claude plugin install text-to-cad@earthtojake
# 預設會送出使用統計;不想送就關掉
uvx cadgen telemetry off
一句話總結
Claude Code 原本做不到的三件事——看懂沒有原始碼的軟體、記住一整本書、輸出能加工的 3D 模型——靠的都不是換一個更強的模型,而是接上對的東西:REA 用 MCP 給它一雙能操作逆向工具的手,book-to-skill 用 Skill 給它一本隨時翻得到的書,text-to-cad 兩樣都給。三支影片也留下同一個提醒:AI 交回來的答案要附證據、由你驗證——計算機有原始碼可對、恐龍跑一萬次核對、DX-Ball 比對 3,205 組輸入、零件上線前要核對公差。
互動實驗室:這個需求該接哪一個?
五個常見情境,點選看建議的工具、做法與該注意的坑:
參考與引用來源 (References & Sources)
- 1. 原影片:GitHub Trending爆火:Claude Code接入REA,小白也能做逆向 | AI逆向入門教程 https://www.youtube.com/watch?v=o8Ca8Y9LG_0
- 2. 原影片:Token省下51倍!book-to-skill三步驟把技術書變AI技能 https://www.youtube.com/watch?v=yRQSHUfVi24
- 3. 原影片:Ai也能幫你完成CAD創作的開源項目來了(Shorts) https://www.youtube.com/watch?v=reU6hFu0gI8
- 4. REA:Reverse Engineer Anything(GitHub) https://github.com/morluto/rea
- 5. REA 官方網站、入門練習與案例頁 https://rea.tools/ https://rea.tools/first-investigation/ https://rea.tools/showcase/dx-ball/ https://rea.tools/showcase/notion/ https://github.com/N0zoM1z0/dx-ball
- 6. REA 免責聲明(DISCLAIMER.md) https://github.com/morluto/rea/blob/main/DISCLAIMER.md
- 7. Microsoft Calculator 原始碼(GitHub) https://github.com/microsoft/calculator
- 8. wayou/t-rex-runner(Chromium 小恐龍的網頁移植版) https://github.com/wayou/t-rex-runner
- 9. book-to-skill(GitHub)與官方效能文件 https://github.com/virgiliojr94/book-to-skill https://github.com/virgiliojr94/book-to-skill/blob/master/docs/performance.md
- 10. text-to-cad(GitHub)與官方文件站 https://github.com/earthtojake/text-to-cad https://www.texttocad.dev
- 11. Model Context Protocol(MCP 官方網站) https://modelcontextprotocol.io/
- 12. 本專欄的基礎篇 knowledge/llm-to-agent-skill.php knowledge/claude-code-guide.php