# 2026-09-26 最佳化報告:NLP W2/W3 週末自動跑 > **一句話結論**:NLP W2、W3 兩堂都做完了(15 章已發佈,概念也入庫了),成品大致符合主理人要的。但每章花約 200 萬,比上次 AI W3 的約 156 萬貴。 > 錢主要花在三件事:審稿時等於把整章重寫、為了壓字數一改再改,以及發佈和寫資料庫這些機械工作也交給 AI 做。 > 下面五個做法全部做完,推估全新的一週可以從約 3,400 萬降到約 1,600–1,800 萬。 這份同時給 AI 和主理人看,所以用 Markdown。 **單位說明**:本報告的數字都是「加權 token」,單位是「萬」。 加權 token 的意思是:把 AI 讀進去和寫出來的字數,照 API 的價格比例加總成一個數字(新輸入×1、快取寫入×1.25、快取讀取×0.1、輸出×5)。 這個數字只拿來互相比較,不等於帳號的實際額度。 模型也不同:Opus 最貴,Sonnet、Haiku 比較便宜,但實際便宜多少我**不確定**。 --- ## 1. 這次每一步花多少 量法:用 `token_report.py` 的 `agent_usage` 逐一計算 `wf_3b1bdbe8-4fc` 這個 run 裡的 56 個 agent,再按「堂」和「步驟」加總。 主對話的花費不在裡面。 ### 1.1 兩堂課分步驟 | 步驟 | 模型 | NLP W2(8 章) | NLP W3(7 章) | 說明 | |---|---|---|---|---| | 補概念檔 | Sonnet | 93(6 章,每章 16) | — | 舊草稿缺概念檔的章才做 | | 審稿+改版 | Opus | **770(每章 96,平均 28 輪)** | **587(每章 84,平均 25 輪)** | 同一道裡做完正確性、完整性、概念優先改寫、加圖、補中文 | | 發佈到 Notion | Sonnet | 271(每章 34) | 262(每章 38) | 上傳圖、整頁寫入、讀回確認 | | 漏看檢查 | Opus | 124(補 3 條) | 101(補 5 條) | 拿舊筆記比對,只有 W1–W3 有舊筆記 | | 概念去重 | Sonnet | 158 | 157 | 讀整個資料庫比對 | | 概念寫入 | Haiku | 103(3 個 agent) | 135(4 個 agent) | 新增 75 列/新增 69 列+更新 11 列 | | 前置知識關聯 | Sonnet | 43(41 列) | 161(62 列,9 個名稱找不到) | W3 為了找名稱多搜尋了 20 次 | | 週頁章節置頂 | Sonnet | 12 | 12 | | | **合計** | | **1,573(每章 197)** | **1,416(每章 202)** | | ### 1.2 其他 | 項目 | 花費 | 說明 | |---|---|---| | 實驗:第 06 章讀章節包重寫 | 93 | Opus 27 輪,其中 12 輪在壓字數 | | 實驗:盲評 | 31 | Opus | | 收尾:AI W3 前置知識關聯 | 83 | Sonnet。設了 51 列,略過 3 個資料庫裡沒有的名稱。**停車場 P8 已完成** | | 收尾:NLP 課程頁 | 17 | W2、W3 改成連結+完成,補上考試與作業 | | **整個週末 run** | **約 3,210** | 不含本報告 | ### 1.3 花在哪(整個 run 的比例) | 步驟 | 占比 | |---|---| | 審稿+改版(Opus) | 42% | | 概念(去重+寫入+關聯) | 24% | | 發佈(Sonnet) | 17% | | 漏看檢查(Opus) | 7% | | 實驗+評審 | 4% | | 其他(補概念檔、週頁、課程頁、AI W3 關聯) | 7% | --- ## 2. 跟上次比 **結論:這次每章約 200 萬,比 AI W3「v2.2+事後補中文」的約 156 萬貴約三成。** 多出來的部分是改版(改成概念優先、多加圖)、漏看檢查和比較大的概念階段。 比較範圍一律不含「最早寫草稿」的錢,因為那是以前就花掉的(沉沒成本)。 | 做法 | 審稿類(每章) | 發佈(每章) | 整堂的漏看、概念、週頁攤到每章 | 每章合計 | 做到的程度 | |---|---|---|---|---|---| | v2.1 舊流程(AI W2) | 兩道查核 101 | 23 | 36 | 約 159 | 沒有中文、沒有下一章連結 | | v2.1+事後補中文(AI W2) | +補中文 49 | | | **約 211** | v2.3 的中文與導覽,沒有改版 | | v2.2(AI W3) | 一道審稿 34 | 33 | 35 | 約 102 | 沒有中文、沒有下一章連結 | | v2.2+事後補中文(AI W3) | +補中文 41 | | +關聯補做 12 | **約 156** | v2.3 的中文與導覽,沒有改版 | | **v2.3 改版(這次 NLP W2)** | 審稿+改版 96+補概念檔 12 | 34 | 55 | **約 197** | 中文、導覽、概念優先、加圖全部一次做完 | | **v2.3 改版(這次 NLP W3)** | 84 | 38 | 81 | **約 202** | 同上 | **所以對你的影響是**:把審稿、補中文、改版合成一道,比分開做還省一點。AI W3 的「審稿 34+補中文 41=75」只比這次的 84–96 少一點,這次卻多做了改版。 真正變貴的是整堂的部分:這次有舊筆記要比對(漏看檢查每堂 101–124),而且概念階段每堂要 300–450。 --- ## 3. 哪裡最貴、為什麼 ### 3.1 審稿+改版(42%):等於把整章重寫,還一直在刪字 - **輸出量是上次的 3.6 倍**:每章平均輸出 6.8 萬 token,AI W3 的單純審稿只有 1.9 萬。改版本來就是重寫,這一塊省不太掉。 - **為了壓字數一改再改(這是最大的浪費)**: - 重寫實驗的寫手先寫出 14,366 字元,為了壓到 14,000 以下,跑了 12 輪「檢查→改幾個字」,占全部 27 輪將近一半。 - W2 第 08 章的審稿人整份重寫兩次(19,764 → 17,394 字元),又跑了約 8 次 Python 逐句縮短。最後漏看檢查補了內容,又變回 17,180 字元。 - 字數上限有四個版本,互相打架:手冊 3.1 節寫 6,000–12,000、`writer_rules.md` 寫 8,000–14,000、審稿提示寫 16,000、`check_note.py` 超過 16,000 就報錯。 - **驗算主理人不會看的數學**:審稿人用 Python 重算手算例子,W3 第 06 章還抓出投影片 p.12 表格有 11 格差了 10 倍。這很認真,但這些都收在「進階,可跳過」裡,主理人不會看。 - **一直讀圖、重讀草稿**:每章審稿讀了 1–10 張投影片圖、重讀草稿 1–6 次,有幾章還去讀 `check_note.py` 的原始碼。 ### 3.2 概念階段(24%):機械工作交給 AI 一筆一筆做 - 去重(每堂約 158):Sonnet 要讀整個資料庫(W3 查了 8 次),再逐條比對名稱。 - 寫入(每堂 103–135):Haiku 一筆一筆新增。4 個寫手寫出來的網址檔格式還不一樣(第 1 個是巢狀,其他是平的)。 - 關聯(43–161):W2 做了 45 次讀取、43 次更新。W3 為了找 9 個對不到的名稱,又搜尋了 20 次,結果還是沒找到,這一步就花了 161。 ### 3.3 發佈(17%):每章 16–18 輪的機械工作 上傳 1–3 張圖、整頁寫入、讀回確認、寫標記檔。內容不用判斷,但每一輪都要重讀約 9 萬 token 的對話內容(快取讀取)。 ### 3.4 漏看檢查(7%):每堂約 110,只補了 3–5 條 補的內容有用,例如「抽取式和生成式摘要的優缺點」「contrastive learning」「recall 和 precision」。但平均一條要 20–40 萬。 只剩 NLP W1 有舊筆記,之後的新週次不會再有這筆花費。 --- ## 4. 成品符不符合主理人要的 抽讀兩章全文:**NLP W2 第 03 章**(LLM 之前的應用與分析層次)、**NLP W3 第 06 章**(N-gram 語言模型)。 另外用程式掃過 15 章的結構,對 3 章跑了 `check_note.py`,也參考了評審對 W2 第 06 章的逐項評分。 | 主理人的優先順序 | 符合程度 | 例子 | 還差的地方 | |---|---|---|---| | 1. 白話概念+生活比喻 | **符合** | 每段都有比喻和「考試可能怎麼問」。W3 ch06:平滑(smoothing,給沒看過的組合一點點機率)=「四次作業分數相乘,沒交就歸零;平滑像沒交也先給 1 分」;n 選多大=「n 小資料夠但近視,n 大看得遠但次數太稀」。W2 ch03:舊的生產線做法像接力賽,LLM 像一個人跑完全程,旁邊配一張流程圖 | 「跟別的方法差在哪、優缺點」要看運氣。W2 ch03 的 Luong 詞素向量 vs 字首字尾統計表,只有在 Self-check 才比。評審也指出重寫版少了「稀疏 vs 稠密」比較表 | | 2. 圖文並茂 | **符合** | 15 章每章有 2–4 張流程圖(mermaid),加上 0–3 張投影片圖,全部放在不用點開就看得到的地方,圖前後都有白話。例:W3 ch06 放了 p.11 的次數表,後面接一句「0 代表語料裡 to 後面從沒接過 want」 | 沒有 | | 3. 英文旁邊有中文 | **符合** | 15 章 Exam-ready 的英文行數和「中文:」行數完全一樣(每章 7–10 行);60 題 Self-check 的題目和答案都有中文 | 有些行一次塞 3–4 句原句,很難背。例:W2 ch03 的「NLP Levels」一行放了四層各自的原句;W3 ch06 的 p.9 一行放了 4 句 | | 4. 考試準備 | **大致符合** | Exam-ready 用投影片原句(抽 3 章,英文比對 0 個問題)。Self-check 大多是 explain/compare 題,例:W2 ch03「列出 NLP 四個層次,詞性標註屬於哪層」 | 60 題裡約 6 題要代數字計算,跟「不考算式」不合:W2 ch06 Q2 算 IDF、W3 ch02 Q2 數共現次數、W3 ch03 Q4 算 cross-entropy、W3 ch06 Q1 和 Q2 算機率、W3 ch07 Q2 算困惑度(perplexity)。「考試可能怎麼問」中英文混用:111 句裡 73 句英文、38 句中文,W2 ch03 全中文,W3 ch06 全英文 | | 5. 簡潔 | **部分符合** | 不用點開就看得到的文字,每章約 7,000–10,500 字元,讀起來不長。沒有 emoji、沒有 callout | 全長 15,000–17,200 字元,一半在摺疊裡。評審也指出 W2 ch06 在正文放了 SMART 字母代號和計算量 O(...),這些應該收進摺疊 | | 數學與程式(不重要,不出錯就好) | **符合** | 全部收在「(進階,可跳過)」摺疊,而且都驗算過 | 驗算花了不少錢(見 3.1) | **老師原話的查證**:程式在 3 章裡報了 14 句「逐字稿找不到」。我回原始逐字稿逐句看,全部是語音辨識錯字被改正了,不是編的。 例如:小平→小冰、如獲自保→如獲至寶、C code→SQL、bigrand→bigram、RuCode→recall。 **資料庫的缺口(小事)**:資料庫裡沒有「word2vec」和「TF-IDF」這兩個核心詞的獨立列,只有 Skip-gram、CBOW、TF、IDF,以及「TF-IDF as a strong RAG baseline」。 所以 NLP W3 有 9 個前置知識名稱掛不上。建議之後補這兩列,再把關聯接上。 --- ## 5. 下一步要試的五個做法 照「省多少 ÷ 風險」排序。預估都是推估,而且大多只有一個樣本。 ### 做法 1:字數只算「看得到的部分」,四個上限統一成一個(不用主理人決定) - **做什麼**:`check_note.py` 改成只算不在摺疊裡的文字(例如上限 9,000),超過 10% 以內只提醒、不用修。手冊 3.1、`writer_rules.md`、`4_lean.js` 審稿提示都改成同一個數字。 寫手和審稿人的提示加三句:不要讀 `check_note.py` 原始碼;只有要核對公式時才看投影片圖;小改用 Edit,不要整份重寫。 - **預估省**:寫手每章約 35(27 輪裡有 12 輪在刪字),審稿每章約 10。全新的一週(約 14 章)**約省 600 萬**。 - **風險**:低。摺疊裡的內容可能變長一點,但畫面上看不到。 ### 做法 2:把評審的規則和本報告的發現寫進寫作規則(不用主理人決定,符合主理人已經講過的優先順序) - **做什麼**:寫進 `writer_rules.md` 和審稿提示: 1. Exam-ready 一行只放一句投影片原句;中文最後用「英文(中文)」列 1–3 個難字。 2. Self-check 只出 explain、why、compare 題,不出要代數字的題。 3. 「考試可能怎麼問」統一寫英文題目+(中文:…)。 4. 每章至少一處「跟別的方法比」(一個表或一句優缺點)。 5. 拿掉「它到底怎麼運作要用小數字真的跑 1–3 步」這條。進階摺疊只放一個小例子;審稿人不驗算投影片表格,只確認筆記自己寫的數字對。 6. 正文不放計算量 O(...)、代號對照、課本出處考據。 - **預估省**:每章約 5–10(少驗算、少寫算例),一週約 100 萬。主要是品質變好:優先順序 3、4、5 會各往上一格。 - **風險**:AI 課到底考不考「一步一步跑演算法」,老師沒講(手冊 3.5 節)。所以 AI 課每個演算法仍保留一個短的手算例子。 ### 做法 3:發佈和寫資料庫改用程式直接呼叫 Notion(停車場 P7,要主理人決定) - **做什麼**:主理人在 Notion 建一個「內部整合」(integration,讓程式用一把鑰匙直接改 Notion 的設定)拿到 token,再把學習主頁分享給它。 之後用 Python 上傳圖片、寫整頁、新增或更新概念列、設前置知識關聯,全部不花 AI。 - **預估省**:發佈每章 34–38、概念寫入每堂 103–135、關聯每堂 43–161,加起來每堂約 400–550,**一週約 800–1,100 萬**。這是五個裡面省最多的。 - **風險**: - 主理人要花約 10 分鐘做設定。 - 要寫一支程式,把筆記的寫法(摺疊、表格、流程圖、圖片)轉成 Notion 的格式。這是一次性開發,約一個 session。轉錯會跑版,所以要用程式比對「## 標題數、摺疊數」來驗收。 - **不確定**:Notion 公開 API 能不能直接吃這種 Markdown。如果不能,轉換程式會比較大。 ### 做法 4:概念去重先用程式比,AI 只判斷模糊的(不用主理人決定) - **做什麼**:維護一份本機的概念索引 `concept_index.json`(英文名、中文、網址、週、課程),每次寫入後由程式更新。 去重時,程式先把名稱統一格式(小寫、去括號縮寫、單複數)。完全對上的直接更新;相似度 0.85 以上的列給 Sonnet 判斷(通常 10–20 組)。 前置知識名稱也由程式先轉成網址。對不到的列出來,不再讓 AI 一個一個搜尋。 還沒做做法 3 以前,關聯步驟直接給 Sonnet「網址對網址」的清單;這次才新建的列不用先讀(本來就是空的),呼叫次數可以減半。 - **預估省**:去重每堂 158 → 約 30;W3 那種找不到名稱的關聯 161 → 約 40。一週約 300–500 萬。 - **風險**:主理人如果在 Notion 手動改名,本機索引會跟著不準。處理方式:每月用 view 模式重建一次(約 20 萬);做了做法 3 之後用程式重建,就不花錢。 ### 做法 5:老師原話的比對放寬,語音辨識錯字表自動累積(不用主理人決定) - **做什麼**:`check_note.py` 比對引號時,忽略空白和大小寫、允許跨到下一行、只在標記時間 ±30 秒內找,相似度 0.8 以上就算找到。 審稿人接受的錯字改正(這次的小平→小冰、如獲自保→如獲至寶、C code→SQL、bigrand→bigram、RuCode→recall、REG→RAG)加進 `fix_transcript.py` 的錯字表,下一週的逐字稿就先改好。 - **預估省**:每章審稿少 3–6 輪(這次 W2 ch08 報了 9 條,全部是誤報),每章約 10–15,一週約 150–200 萬。 - **風險**:低。門檻放太鬆可能漏掉真的編錯的原話;用時間窗和 0.8 的門檻壓住。 ### 不建議現在做的 - **每週都做寫法實驗、評審**:這次實驗+評審花了 124。規則有大改時再做就好。 - **NLP W1 的漏看檢查照舊用 Opus**:只剩這一堂有舊筆記。可以改用 Sonnet 或乾脆跳過,這筆錢只花一次,不是重點。 --- ## 6. 推薦的「每週標準流程」 新的一週沒有舊草稿,所以**不改版,一律用章節包一次寫完**。`make_args.py` 預設就是這樣,不會帶 restyle。 | 步驟 | 做什麼 | 誰做 | 現在推估(每堂) | 五個做法做完後推估(每堂) | |---|---|---|---|---| | 0 | 上課後開**新對話**,一次只跑一堂,睡前開跑 | 主 session | — | — | | 1 | N1–N5:下載、逐字稿、錯字、合併、投影片文字 | 腳本 | 0 | 0 | | 2 | `lectures.json` 加一筆 → `1_segment.js` 切章節 → 主 session 花 5 分鐘看切法 | Opus | 107 | 107 | | 3 | `0_shell.js` 建週頁(已是章節置頂版)與空章節頁 | Sonnet | 約 28 | 約 28(做法 3 後可改程式) | | 4 | `make_brief.py` → `make_args.py` → `4_lean.js`:寫(章節包一次寫完)→ 程式檢查 → 一道審稿 | Opus | 每章約 93+40 | 每章約 55+28 | | 5 | 同一個 run:發佈 | Sonnet → 程式 | 每章約 35 | 約 0 | | 6 | 同一個 run:概念(程式先比 → Sonnet 判模糊 → 寫入 → 關聯) | Sonnet/Haiku → 程式 | 300–450 | 約 40 | | 7 | 收尾:課程頁該週改「完成」、`token_report.py` 量花費記一列到手冊 7.5、更新進度表與停車場 | 主 session | 約 20 | 約 20 | | | **每堂合計(7 章)** | | **約 1,700** | **約 800–900** | | | **每週合計(兩堂)** | | **約 3,400** | **約 1,600–1,800** | **要注意**:「寫」的 93 只有一個樣本,而且那次有 12 輪在刪字。「審稿」的 40 是用 AI W3 單純審稿的 34,加上 v2.3 多出的中文與導覽檢查推估出來的。第一次跑全新的一週後,要用實測數字更新這張表。 建議的實施順序:先做 1、2、5(只改腳本和規則,不用主理人動手),下一週就能量到效果。主理人同意做法 3 後,再做 3 和 4。 --- ## 7. 給主 session 的待辦 - 手冊「目前進度」的 AI-W3 列還寫「前置知識關聯沒做完(停車場 P8)」。這次已補好 51 列,略過 3 個資料庫裡沒有的名稱:Partially observable environment、Nondeterministic action、Expected value。停車場 P8 可以改成完成。(這份任務只准改 NLP 兩列,所以我沒動。) - 概念資料庫補「word2vec」「TF-IDF」兩列,再把 NLP W3 那 9 個名稱的關聯接上。 - 去重 agent 說「NLP-W2 的概念已經入庫,跟進度表不一致」,其實不是問題:W2 的概念是同一個 run 裡早一小時寫進去的。 - NLP W2 去重有兩個刻意不合併的判斷,NLP W3 有兩個,都寫在這次的結果摘要裡。Word Analogy 的「老師說會考」訊號可能太強。這些等主理人有空再看,不急。 --- 資料來源:`wf_3b1bdbe8-4fc`(本次)、`wf_b07b0499-54e`(AI W3 v2.2)、`wf_bb053468-c35`(補中文)、`wf_364e7728-224`(AI W2 舊流程)的 agent 紀錄;`_work\notes-v2\nlp-w2\`、`nlp-w3\` 的草稿與完成標記;三章的 `check_note.py` 結果;原始逐字稿。 第 1–4 節的數字與例子都是實際量測或讀檔得到的。第 5、6 節的「預估省多少」是推估,已標明。