這篇文章目前沒有中文版本,先為你顯示中文首頁。 ×
quidproquo AI、技術、產品,攀岩、衝浪、咖啡,以及其他一切。
Quid pro quo /ˌkwɪd proʊ ˈkwoʊ/ — 拉丁語,「以某物換某物」,也就是等價交換。
這裡記錄 AI agent 開發、RAG 架構、LLM 工具整合的實作經驗,以及把想法做成產品的過程——也有攀岩、衝浪、咖啡。做過的東西整理出來,讓下一個踩坑的人少走一段。
名字的由來 → CMU 10-423 最後三講把前面學過的 Transformer、tokenizer、latent diffusion 搬到新的資料型態。L24 講音訊:先把聲波轉成 mel-spectrogram 或離散 token,再用 Whisper 轉錄、用 AudioLM 與 MusicGen 生成、用 AudioLDM 做擴散。L25 講影片:3D UNet 加時空注意力、latent 影片擴散、DiT 與 Sora,最後到可互動的 Neural OS。L26 前半講世界模型:給定狀態與動作預測下一個狀態,分成先生成 3D 場景、互動式影片(Genie)、潛在表徵(V-JEPA、PAN)三條路線。
CMU 10-423 第 5 講是影像單元的開場,講三種「理解」用的模型:CNN 把卷積核當成要學的參數;encoder-only Transformer 拿掉因果遮罩,讓每個 token 看左右兩邊,用 masked LM 預訓練,所以不是生成式語言模型;ViT 幾乎就是把 BERT 的輸入換成 16×16 之類的影像區塊。投影片用 ViT 論文的圖回答「Transformer 為什麼晚了四年才進電腦視覺」:資料集小時 ViT 輸給大型 CNN,資料夠大才反超。
CMU 10-423 第 23 講分兩半。前半講程式生成:評估從 BLEU 轉向「單元測試過了幾個」,基準從 HumanEval、MBPP 一路到 SWE-Bench Verified 與 Terminal-Bench 2.0;模型從 CodeBERT、Codex 到 FIM 與 StarCoder;程式領域特有的技巧是拿單元測試輸出做自我修正。後半講 agent:tool calling 的定義、Kimi K2 怎麼合成工具資料、coding agent 的五步迴圈,以及 Mind2Web、Set-of-Mark、SeeClick 這些操作網頁與 GUI 的方法。這一講沒有作業,只由 Quiz 6 驗收。
文字條件是從哪裡注入圖片生成模型的?CMU 10-423 L14 的答案是 cross-attention:query 來自影像的潛在表示,key 和 value 來自提示詞,所以每個潛在像素都有一個「看向哪些字」的機率分布。這張注意力圖可以拿來做很多事:classifier-free guidance 讓生成更貼近提示,Prompt-to-Prompt 在不重新訓練的情況下,把舊的注意力圖抄進新提示詞的生成,只改圖片的一部分。DiT 則把 UNet 換成 Transformer,用 adaLN-Zero 注入條件。L15 前半的 Q-Former 用一小組可學習的 query,把凍結的影像編碼器接上凍結的 LLM,也就是 HW4 要你實作的東西。
L7 把擴散模型拆成兩條 Markov 鏈:固定的前向過程一步步把圖片加噪成高斯雜訊,學出來的反向過程一步步去噪。精確的反向過程算不出來,但給定原圖 x₀ 時的後驗是封閉形式的高斯,所以可以拿它當學習目標。投影片比較三種參數化,實務上最好的是讓 U-Net 預測當初加進去的雜訊 ε,訓練迴圈只有八行。
CMU 10-423 Spring 2026 的 Scaling Up 單元後兩講。L17 從「GPU 之間的通訊才是主要瓶頸」出發,依序講資料平行、Megatron 式的張量平行、1F1B 管線平行、ZeRO 的 optimizer 平行、TeraPipe 的 token 平行與專家平行,結論是資料平行仍是主角,其他平行都在幫它塞進更多資料。L18 講兩件事:FlashAttention 用 tiling 加 online softmax 加 recomputation,在不改變結果的前提下減少 HBM 讀寫;解碼端則是 PagedAttention 管 KV cache 記憶體、speculative decoding 減少大模型呼叫次數。
CMU 10-423 除了四份作業,還用四種方式驗收:6 次課堂小考、2 次程式測驗、1 次綜合考試,以及占 25% 的三人期末專案;10-623/723 另外多一份 HW623 論文報告。校外拿得到的是附解答的練習考卷(13 大題、167 分)、HW623 題目與 33 篇論文清單、12 頁的專案 handout。本篇整理它們的結構與規則,並給出不用看解答也能自我檢核的方法。
L6 是 10-423 圖像單元第一個真正的生成模型。GAN 由兩個確定性網路組成:生成器把高斯雜訊變成圖片,判別器分辨真假,兩者玩 minimax 遊戲、輪流用 mini-batch SGD 更新。投影片接著談規模、浮水印與社會影響,後半段補上有向圖模型、Markov 模型與 factor graph,為 L7 的擴散模型鋪路。
CMU 10-423/623/723 是 Matt Gormley 與 Aran Nayebi 合授的生成式 AI 課,Spring 2026 用 26 講走完文字模型、影像生成、模型調適、多模態、規模化與進階主題。投影片、HW1–HW4 的題目與起始碼、附解答的練習考卷和專案說明都公開,可評為 A3;拿不到的是 Panopto 錄影、HW0 題目檔、HW3/HW4 的 recitation 投影片、小考與 Gradescope 評分。它的作業政策也值得一看:每份作業分兩次交,第一次只准人工作答,第二次才准用 AI。
CMU 10-423 Spring 2026 的 HW1 總分 62:書面題考 RNN LM(7 分)、Transformer LM(19 分)、sliding window attention(11 分),程式題(22 分)要你在 Karpathy 的 minGPT 上實作 RoPE 與 GQA,用莎士比亞全集訓練字元級模型並畫出損失與注意力時間。只需上傳 model.py;handout 附 5 個單元測試,官方估計所有實驗在 Colab T4 上合計約 40 分鐘。
CMU 10-423 Spring 2026 的 HW2 總分 60:書面題考 CNN(8 分)、encoder-only Transformer(4 分)、GAN(5 分)、VAE(6 分)與擴散模型(14 分),程式題(21 分)要你在 AFHQ 貓圖上從零實作 DDPM,填完 diffusion.py 與 unet.py 的 TODO,再用 W&B 交出損失曲線、FID 曲線與正反向擴散圖。最長的一個實驗是在 Colab T4 上訓練 10,000 步,官方估計約 2 小時。
CMU 10-423 Spring 2026 的 HW3 總分 66,2026-03-12 截止(Slot A)。書面題考 in-context learning(14 分)、參數高效微調(10 分)和 DPO 推導(15 分);程式題(25 分)要你從零寫 LoRALinear,把它接到 GPT-2 的 attention,再用 Rotten Tomatoes 影評做情感分類的指令微調。實驗全用 gpt2-medium,handout 估計每次訓練在 Colab T4 上 25–30 分鐘,還要一個 WandB 帳號。
CMU 10-423 Spring 2026 的 HW4 總分 79:書面題考 LDM(7 分)、VQ-VAE(8 分)、CLIP(4 分)、以 PaliGemma2 為例的 VLM(18 分),程式題(40 分)要你在凍結的 GPT-2 與凍結的 CIFAR-10 DiT 之間只訓練一個 Q-Former,讓類別條件的擴散模型改吃文字。要寫的程式只有三個函式,14 個單元測試;官方估計 25 個 epoch 在 T4 上要 2–3 小時、A100 約 1 小時,資料與 DiT 權重得用 download_data.sh 從 Google Drive 下載。
預訓練的 LLM 只會接話,不會對話。CMU 10-423 L11 後半先講 instruction fine-tuning:用 InstructGPT 的 13k 筆、Dolly 的 15k 筆或 Flan 的資料,把模型調成聊天助理。接著是 InstructGPT 的 RLHF 三步驟:人類排序回應、訓練獎勵模型、用 PPO 微調。L12 前半補上 REINFORCE 與 PPO 的直覺,列出 PPO 版 RLHF 的五個缺點,最後推導 DPO:從 Bradley–Terry 模型出發,把獎勵模型換成策略本身的對數機率比,只用偏好資料就能直接微調。
CMU 10-423 Spring 2026 的 L19 和 L21 都在處理同一個問題:序列一長,標準 attention 的記憶體與 KV cache 就撐不住。L19 給兩條路:用 sparse、sliding window、dilated attention 近似注意力,或保留完整注意力、改用 Blockwise Parallel Transformer 與 Ring Attention 把計算拆到多張 GPU。L21 給第三條路:換掉 attention,改用只保留固定大小隱藏狀態的 state space model(S4、Mamba),或把 attention 和線性注意力層交錯成 hybrid 模型(Jamba、Nemotron-H、Qwen3-Next)。
CMU 10-423 第 4 講前半區分預訓練、mid-training 與 post-training,後半挑出現代 LLM 幾乎都在用的三個元件:RoPE 把位置資訊改成對 query、key 的旋轉,讓注意力分數只取決於兩個 token 的相對距離;GQA 讓多個 query head 共用一組 key/value head,省記憶體和算力;sliding window 改注意力遮罩,讓每個 token 只看左邊固定數量的 token。三者都是 HW1 的題目。
手上只有少量標註資料和一個幾十億參數的 LLM 時,CMU 10-423 給兩條路:監督式微調,或把例子塞進 prompt 做 in-context learning。L10 先說明 2023 年的共識是微調通常贏,再介紹四種只調少量參數的做法:只調最上面幾層、adapter、prefix tuning 與 LoRA。L11 前半回到 in-context learning,說明它對例子順序、標籤比例有多敏感,以及怎麼挑 prompt、什麼是 chain-of-thought。HW3 的書面題與 LoRA 程式題都從這兩講出題。
CMU 10-423 Spring 2026 的 L20 把推理模型講成一條線:先用 chain-of-thought 提示讓模型寫出中間步驟,再用 STaR 把「寫對的推理」拿回來微調,接著 OpenAI o1 用強化學習訓練思考 token,訓練和推論時的算力都能往上加。開源這邊,DeepSeek-R1-Zero 只用規則式獎勵和 GRPO 就讓推理長度自己變長,DeepSeek-R1 再補上 SFT 修掉可讀性與語言混雜。講座最後轉到機制可解釋性:superposition 為什麼讓模型難懂,以及 sparse autoencoder、circuits、cross-layer transcoder 這些「替代模型」怎麼處理。
CMU 10-423 Spring 2026 的 L22 用同一套四問(是什麼、影響誰、為什麼發生、怎麼修)走過五種生成式 AI 風險:版權侵權、對抗式攻擊、幻覺、偏見與歧視、環境衝擊,每一段都停在「修起來很難」的具體例子上。L26 的後半份投影片再往上一層:Aran Nayebi 用 agreement 框架證明,對齊的成本會隨任務數、代理人數與狀態空間大小成長,所以要壓縮目標、挑重點狀態,並提出以 deference、off-switch 優先的字典序效用來做可證明的 corrigibility。課綱列的 data contamination 在兩份投影片裡都沒有出現。
CMU 10-423 第一講把生成式 AI 收斂成一句話:它就是機率建模,文字生成就是估計 p(下一個字 | 前面所有字)。投影片從 n-gram 的「數次數」講到 RNN 的「把前文壓成固定長度的向量」,中間插進 module-based autodiff:每個模組只要會 forward 和 backward,梯度就能沿計算圖自動倒推回去,PyTorch 就是這樣運作的。HW0 的題目檔在 Google Drive 回 401,公開的只有 recitation Colab,內容是 PyTorch、LSTM、Weights & Biases 與 einops。
CMU 10-423 Spring 2026 的 Scaling Up 單元前兩講回答兩個問題。L15 後半講 scaling laws:Kaplan 2020 說模型放大 8 倍、資料約 5 倍就夠,Chinchilla 改說兩者要等比例放大,接著用 Phi 系列與資料過濾的 scaling law 補上「資料品質」這個第三條軸。L16 講 MoE:前饋層佔了 GPT-3 大半參數,把它切成專家、每個 token 只走 top-k 條,記憶體跟著總參數、計算跟著活躍參數,代價是負載平衡與訓練穩定性。這段後半沒有程式作業,驗收靠小考、練習考卷第 13 題與期末專案。
CMU 10-423 用兩堂課把生成模型接上兩種模態。L12 後半講文字怎麼控制圖片:GAN、自迴歸(Parti)、diffusion(DALL-E 2、Imagen)三條路線,最後落在 latent diffusion——先把圖片壓進自編碼器的潛在空間,再在那裡跑 DDPM,用 cross-attention 讀提示詞。L13 反過來,讓語言模型讀圖:用 CLIP/SigLIP 或 VQ-VAE 把圖片變成向量或整數,送進 decoder-only Transformer;只讀不畫的 VLM(PaliGemma、Qwen-VL)和能輸出圖片的 VLM(LWM、Gemini)差在影像是不是離散 token。
CMU 10-423 第 2、3 講把 RNN 換成 attention。第 2 講先說明 RNN 為什麼不夠用:會遺忘、只能一步步算、梯度仍可能爆炸;再一步步拼出 Transformer 語言模型:scaled dot-product attention、multi-head、layer norm、殘差連接、位置嵌入、causal mask。第 3 講回答怎麼訓練:沒有 n-gram 那種數次數的封閉解,就用 autodiff 加 mini-batch SGD 做最大概似估計;再講 padding、KV cache、三種 tokenizer,最後用 greedy decoding 和 ancestral sampling 說明怎麼一個 token 一個 token 生成。
VAE 和擴散模型都卡在同一個地方:log p_θ(x) 要對潛變數積分,算不出來。L8–L9 的解法是變分推論:找一個好算的 q 去逼近真實後驗,把「最小化 KL」換成「最大化 ELBO」,而 ELBO 正好是 log p(x) 的下界。VAE 再加上 Monte Carlo 估計與 reparameterization trick,就能用一次前向、一次反向訓練;DDPM 的 ELBO 拆開後,每一項都是在要求學到的反向一步貼近封閉形式的 q(x_{t−1} | x_t, x₀)。
11-868 第 10 講用 Lei Li 團隊自己的 LightSeq/LightSeq2 當教材,拆出四招:把矩陣乘法以外的小運算融合成一個 kernel、改寫 LayerNorm 與 Softmax 的公式來減少 thread 同步、參數與梯度用 FP16 存但 FP32 算、依反向傳播的相依關係重用記憶體。投影片報告的 WMT14 英德翻譯訓練加速是 1.4–3.5 倍。沒有錄影,本文依投影片頁碼與兩篇論文整理。
11-868 第 14、15 講從 parameter server 講到 PyTorch DDP:先用 NCCL 的五個 collective(Broadcast、Reduce、AllReduce、ReduceScatter、AllGather)當積木,推出 ring 為什麼能讓廣播時間幾乎不隨 GPU 數增加,再把 AllReduce 拆成 ReduceScatter 加 AllGather。第二講拆 DDP 的兩個關鍵設計:把梯度分桶(預設 25 MB)、在反向傳播還沒結束時就開始同步。沒有錄影,本文依投影片頁碼與 VLDB 2020 論文整理。
L05 用一個四層的情感分類網路當主線,先把計算表示成計算圖、用拓撲排序算出前向值,再用連鎖律與向量–Jacobian 乘積反向傳回梯度,最後拆解 TensorFlow v1 的 placeholder、variable、operation 與 session。投影片有一頁直接標著「important for HW2」。
標準 attention 會把 N×N 的分數矩陣寫回 HBM 再讀出來,時間大多花在搬資料。FlashAttention 用 tiling 加 softmax rescaling,讓每一塊都在 SRAM 裡算完,backward 則重算而不存。Tri Dao 在 11-868 的客座講義裡給了一組數字:backward 的 FLOPs 多了 13%,HBM 讀寫少了 9 倍,時間快了 6 倍。之後 FA3、FA4 的主題也一樣:硬體變了,瓶頸跟著搬家,演算法就得跟著改。
CMU 11-868 的 GPU 三講回答一個問題:為什麼寫對的 CUDA matmul 在 A100 上只用到 2.48% 的 FP32 算力。L02 講 SM、warp 與 grid/block/thread,L03 講 cudaMalloc、cudaMemcpy 與 kernel 索引,L04 用 tiling、coalesced access 與避開 bank conflict,把資料從約 500 個 cycle 外的 global memory 搬近一點。
11-868 第一份作業要你在 src/combine.cu 寫四個 CUDA kernel(map 15、zip 25、reduce 25、matmul 30 分),接回 MiniTorch 的 Python 後端,再用 5 分的整合測試收尾。reduce 與 matmul 的 shared-memory 優化標為 Optional。作業頁明寫需要 GPU,評分用的是不公開的私有測資。
11-868 第二份作業分三塊:自動微分的 topological_sort 與 backpropagate(40 分)、Linear 層與 MLP 網路(30 分)、binary cross entropy 與訓練迴圈(30 分),最後在 SST-2 上用 GloVe 詞向量訓練情感分類器,驗證準確率要到 75%。預設後端是你作業一寫的 CUDA kernel;repo 已在 2026-09-02 合併了 Fall 2026 的小修正。
HW3 要你在 HW1、HW2 做出來的 MiniTorch 上補齊 softmax loss、Dropout、LayerNorm、Embedding,再組出 pre-LN 的 GPT-2 decoder,最後在 IWSLT14 德英翻譯上訓練。配分是 tensor functions 20、basic modules 20、decoder LM 40、翻譯管線 20;滿分條件是通過私有測試且 BLEU 約 20±2。作業頁警告光訓練就要至少 10 小時,PSC 的 V100 一個 epoch 約一小時,要跑 10 個 epoch。2026 春季版 2/4 發、2/18 截止。
11-868 第四份作業要你照 LightSeq 的做法,親手寫 attention softmax 與 LayerNorm 的 CUDA kernel(前向、反向各一),接回自己的 MiniTorch,再換進 HW3 的 Transformer 訓練一個 epoch。配分是 Softmax 40、LayerNorm 40、整合 20。作業頁預期單一 kernel 快 3.7 到 15.8 倍,整個訓練卻只快約 1.1 倍,原因是 Amdahl 定律。需要一張 NVIDIA GPU;repo 在 2026 秋季已被改過。
CMU 11-868 第五份作業改用 PyTorch 與 Hugging Face 的 GPT-2,要你只用 torch.distributed 和 torch.multiprocessing 寫出資料平行(切資料、建 process group、平均梯度,50 分),再寫出 GPipe 式的管線平行(切模型、產生時脈排程、用 worker thread 跑 micro-batch,50 分)。兩部分都要在至少兩張 GPU 上做 benchmark 並交圖:資料平行要在 2 張卡上達到至少 1.5 倍加速,管線平行要比單純模型平行快。2026 春季版 3/25 截止。
11-868 第六份作業第一次放下自己寫的 MiniTorch,改用產業框架。兩題各 50 分:第一題改一支 DeepSpeed 訓練腳本,打開 LoRA,讓 Llama-2-7B 在 2 張 16GB 的 V100 上訓練得起來;第二題填完 SGLang 推論腳本的 TODO,並調參數讓生成跑快一點。兩題要的 GPU 互相衝突:SGLang 不支援 V100,要換 L40S、A6000 或 A100。春季版 4/13 截止,作業頁不提供評分測資。
11-868 的 RL 系統講題沒有投影片,Syllabus 只列了 ReaLHF 一篇論文。作業七倒是完整公開:用 Anthropic HH-RLHF 資料訓練 DistilBERT reward model(40 分),在 VERL 風格的 trainer 裡補上 GAE、PPO loss 與 entropy,微調 GPT-2(40 分),最後比較 RLHF 前後的 reward 分布(20 分)。起始碼的 trainer 沒有 import verl 套件,學的是 RLHF 的資料流,不是 VERL 的分散式引擎。
CMU 11-868 第一講用 51 頁投影片論證一件事:LLM 的瓶頸不只在模型,而在「用更少的 GPU、記憶體與電力,更快地在更大的資料上訓練與推論更大的模型」。它把一個 Transformer 拆成矩陣乘法、reduction、map、記憶體搬移四種底層運算子,再把難題分到 kernel、框架、分散式系統三層,並提醒光把計算變快不夠,資料搬移同樣花時間。
11-868 用兩講回答同一個問題:一台推論伺服器怎麼同時服務大量請求,又不浪費 GPU 上的 KV cache。第 22 講(Lei Li)從 SGLang 的排程迴圈講起:ORCA 的 continuous batching、用 radix tree 管 KV 的 RadixAttention、依前綴命中率排序與分流、把 CPU 排程藏到 GPU 計算後面。第 24 講由 vLLM 作者 Woosuk Kwon 主講:PagedAttention 把 KV cache 切成固定大小的 block,用 block table 做虛擬化,讓同一張 A100 的 batch 從 8 撐到 40;後半講 vLLM 怎麼壓 CPU overhead、用 piecewise CUDA graph、切模型平行與管理混合架構的記憶體。
CMU 11-868 是 Lei Li 開的 LLM 系統研究所課:從 CUDA kernel、自己的 MiniTorch 框架,一路做到分散式訓練、SGLang 服務與 RLHF。Spring 2026 的 28 份講義、7 份作業頁與 7 個起始碼 repo 全部公開,可評為 A3;缺的是錄影、GPU 與 PSC 帳號、quiz,以及「哪兩份作業是選修」這件事官方沒寫。
CMU 11-868 在 2026 春季用兩講回答「模型太大,一張 GPU 放不下」:L16 講切層的 pipeline parallelism(GPipe 的 micro-batch、1F1B、交錯 stage)和切矩陣的 tensor parallelism(Megatron-LM 對 FFN、attention、embedding 的切法),結論是節點內用 TP、跨節點用 PP、再外面疊 DP;L17 把 MoE 當成第三種切法——每張卡放不同的專家、其餘部分複製,代價換成 all-to-all 通訊與負載平衡,並以 GShard、DeepSpeed-MoE、DeepSeek-V3 的設計逐一說明。
11-868 用兩講處理量化:L19 從 BF16、absmax/zero-point 講到 AdaQuant、ZeroQuant、LLM.int8(),L20 整講拆解 GPTQ。GPTQ 只量化權重,每次量化一欄就用二階資訊修正還沒量化的權重,再靠 lazy batch update 與 Cholesky 讓它跑得動 175B。它省下的主要是記憶體;推論變快,是因為單一 batch 的 decode 本來就卡在讀權重,運算量本身沒有減少。
11-868 第 23 講把微調當成記憶體問題來算:LLaMA-8B 全參數半精度微調約要 80GB,換成 LoRA 約 33GB,再把凍結權重存成 4-bit 的 QLoRA 壓到約 9.2GB。這講的主線是三步:只訓練低秩的 A、B 兩個小矩陣(投影片說這招最早出自 CIAT);用 NF4 查表與雙重量化把凍結權重壓到約 0.52 bytes/參數;用 paged optimizer 在 GPU 快爆時把 optimizer state 換到 CPU。
11-868 最後一組講義有五份:DistServe 的 Hao Zhang、NVIDIA Dynamo 的 Vikram Mailthody、LMCache 的 Junchen Jiang、Mooncake/KTransformers 的 Mingxing Zhang,加上 Lei Li 的框架地圖。它們回答同一個問題:服務規模從一台機器擴到一座資料中心之後,算力和 KV cache 要放在哪裡。主線有三步:量尺從 throughput 換成符合 SLO 的 goodput;prefill 與 decode 拆到不同 GPU;KV cache 從 GPU 記憶體擴張到 CPU、SSD 與遠端儲存。
L08 從 BPE 講到講者 Lei Li 參與的 VOLT:詞表大小有成本也有價值,VOLT 用「每加一個 token 能降多少正規化熵」找划算的點,再化成最佳傳輸問題求解;後半講 LLaMA 3 詞表從 32k 擴到 128k、中文字被 byte-level BPE 切成三個 token 的代價。L09 從 greedy、取樣、beam search 一路講到 speculative decoding:小模型先猜 N 個 token,大模型一次前向驗證,因為驗證比生成便宜;最後介紹 EAGLE 改成預測最後一層特徵。
Google 的 Srinath Mandalapu 用兩講、兩百多頁,把一個 attention 從 Python 一路追到 TPU 的 VLIW 指令。L12 講 JAX 生態、TPU Ironwood 的記憶體與運算單元,以及 XLA 怎麼把 attention 編成三個融合 kernel。L13 講 XLA 做不到的部分:用 Pallas 自己控制 HBM 與 VMEM 之間的搬運,寫出 FlashAttention,再加上區塊稀疏變成 Splash Attention。思路跟 GPU 相同,差別在於:TPU 上排程主要交給編譯器,要介入就得用 Pallas 把迴圈與區塊大小攬回自己手上。
11-868 只花兩堂課講模型本身:L06 把 Transformer 拆成 embedding、多頭注意力、FFN、LayerNorm 與殘差,L07 用 T5、LLaMA、GPT-3 三個模型示範現代 LLM 改了哪些地方。對系統工程師來說,重點是記住形狀:GPT-3 175B 是 96 層、d_model 12288、context 2048,訓練 3,000 億 token;LLaMA 65B 是 80 層、d_model 8192、訓練 1.4 兆 token。這些數字決定了後面每一堂加速、平行與服務課要處理的量。
資料平行每張卡都存一份完整的參數、梯度和 optimizer state;用 Adam 混合精度訓練時,每個參數約要 20 bytes,其中 16 bytes 是 optimizer 相關,LLaMA-3 8B 光這些就要 160GB。CMU 11-868 L18 以 ZeRO 論文為主軸,逐格動畫示範三個階段:ZeRO-1 切 optimizer state、ZeRO-2 再切梯度、ZeRO-3 連參數也切。投影片的結論是前兩階段不增加通訊、最多省 8 倍記憶體;第三階段每張卡的用量隨 GPU 數下降,代價是投影片估的約 3 倍通訊。
L12 的主軸是「搬資料」。前段用 SambaNova SN40L 說明資料流架構與 metapipelining:同樣跑 Llama 3.1 8B,投影片說 RDU 每個 token 約 3 次 kernel 呼叫,GPU 約 800 次,差別來自能不能把整個 decoder 融合進一個 kernel。中段把尺度拉到資料中心:TP、PP、EP、DP 各自需要哪種集體通訊,以及計算與通訊重疊為什麼決定擴展效率。後段回到能源與 DRAM:搬一個 byte 比算一次貴得多,記憶體控制器、burst mode、HBM 都是在解同一個問題。這講沒有公開錄影,本文只依投影片。
每個核心都有自己的 cache,同一個位址就可能同時有好幾份副本,各核看到的值會不一樣。這不是加鎖能解決的問題,是硬體複製資料造成的。CS149 L14 先定義什麼叫 coherent,再拆解 snooping 的 MSI 協定:要寫就先廣播 BusRdX 讓別人作廢,MESI 多一個 E 狀態省掉「讀完再寫」的第二筆交易,directory 則把廣播改成點對點。對程式設計師最實際的後果是 false sharing:兩個 thread 寫不同變數,只因為落在同一條 cache line,就讓 cache line 在核心間來回彈,投影片的 demo 慢了三倍。
CS149 是 Kayvon Fatahalian 與 Kunle Olukotun 在 Stanford 教的平行計算課,從多核 CPU、SIMD 一路講到 GPU、AI 加速器、資料中心,最後回到 cache coherence 與 lock-free。Fall 2025 的 18 份投影片、5 個程式作業的 starter code 與 README、4 份書面作業 PDF 都能匿名取得,本系列評為 A3(足以自學)。缺口有四個:當期錄影只在 Canvas;PA1 評分用 Stanford myth 機器;PA4 要自費租 AWS Trainium2,而且課程 AMI 是私有的;PA5 的 H100 排隊系統與排行榜要 SUNet ID。公開錄影是 2023 版,本系列只拿它當聽講補充。
第 8 講要你換一個腦袋:不再想「每個 worker 做什麼」,而是把演算法寫成對序列的操作,例如 map、fold、scan、segmented scan、gather/scatter、sort、groupBy。這些原語都有高效的平行實作,能把不規則的平行變規則、把細粒度同步變粗粒度。代價是要多掃幾遍資料,所以很吃頻寬。
L9 開場就說:懂了 arithmetic intensity 與 roofline,你就幾乎懂了現代 AI 軟體面效能最佳化的一切。接著示範三件事:全連接層、卷積層、attention 最後都變成矩陣乘(GEMM);GEMM 要靠分塊(blocking)讓資料留在快取裡;層與層之間要融合(fusion),別把中間結果寫回 DRAM 再讀回來。softmax 可以分塊計算,這就是融合版 attention(FlashAttention 的核心想法)不必存下 N×N 矩陣的原因。
L13 問的是:寫快程式的專家太少,怎麼辦?投影片給三個答案。一是提高抽象層級:Halide 把「算什麼」(演算法)和「怎麼算」(排程)拆成兩種語言,同一段模糊濾波可以只改一行排程就換成分塊、向量化、多核版本。二是智慧搜尋:因為排程空間定義清楚,可以用搜尋加學出來的成本模型自動產生排程。三是新興的 LLM agent:讓模型寫 CUDA、執行、看 profiler、反思、再改,並用範例資料庫或 prompt 最佳化讓它自我改進。投影片最後把問題留給你:真正的價值在 DSL 設計,還是 LLM agent?
CS149 L16 分三段:先用 cache coherence 的眼光看鎖怎麼實作(test-and-set、test-and-test-and-set、ticket lock、CAS、LL/SC),再用一條排序 linked list 示範從一把大鎖改成 hand-over-hand 細粒度鎖,最後介紹 lock-free:單一生產者單一消費者佇列、用 CAS 寫的 stack、ABA 問題與 hazard pointer。投影片的結論很務實:在只有你的程式佔用機器的情境下,寫得好的鎖版本常常一樣快,而且好寫得多;lock-free 的價值在於執行緒可能被搶佔、page fault 的系統。
CUDA 的 grid、thread block、CUDA thread 是一套程式抽象;GPU 用 SM、warp 與硬體 block 排程器把它實作出來。這一講的核心是分清兩件事:thread block 之間系統可以任意排序,同一個 block 裡的 thread 則保證同時存在,所以 block 能用 shared memory 和 __syncthreads() 合作,也所以一個 SM 能塞幾個 block 由暫存器與 shared memory 的量決定。
L10 從一條式子出發:功耗固定時,效能只能靠「每個運算花多少焦耳」來換,而通用處理器把大部分能量花在取指令、解碼、搬資料,不是在算。投影片的經驗法則是 GPU 比 CPU 好約 10 倍 perf/watt,固定功能 ASIC 可達 100–1000 倍。接著用同一套標準(分塊 tensor、非同步計算與記憶體、運算單元直接互傳)檢視 H100 的 Tensor Core 與 TMA、Google TPU 的脈動陣列,以及可重組資料流架構。
L3 前半用高速公路與洗衣服的比喻分開延遲與頻寬,再算給你看:向量逐元素相乘在 V100 上效率不到 1%,因為記憶體送資料的速度追不上 ALU。後半的主題是「抽象 vs 實作」:ISPC 讓你用 SPMD 的方式思考(一群 program instance 各做一份),編譯器卻用 SIMD 指令實作。把這兩層混在一起,是這門課最常見的困惑來源。
CS149 L6 要你把「通訊」看得很廣:處理器和 cache、和記憶體、和另一台機器之間的資料搬移都算。現代平行處理器的算力遠高於頻寬,所以 arithmetic intensity(每搬一單位資料做多少計算)決定了你能不能把硬體餵飽。提高它的手段有三類:改分配方式減少必要通訊、用 blocking 與 loop fusion 減少 cache 造成的額外通訊、用分散與錯開存取降低 contention。
CS149 Fall 2025 第二講用一個計算 sin(x) 的迴圈,依序加上三個想法:把電晶體拿去做更多核心(multi-core)、讓一道指令同時驅動多個 ALU(SIMD)、在同一個核心上交錯執行多個執行緒來隱藏記憶體延遲(hardware multithreading)。前兩個增加運算能力,第三個讓運算單元在等記憶體時不閒著。結論是三個條件:平行工作要夠多、同一組工作要跑同樣的指令、平行工作要比 ALU 更多才能隱藏延遲。
PA1 程式寫得不多,重點是分析:六個程式分別練 threads 的工作分配、SIMD 遮罩、ISPC gang 與 task、輸入資料如何影響 SIMD 效率、頻寬受限的 saxpy,以及用計時找 K-Means 的熱點。Written 1 則用紙筆題練峰值吞吐量、指令相依、管線、多執行緒藏延遲與 SIMD divergence。官方評分以 Stanford myth 機器為準,校外可以在自己的機器跑,但數字不能直接對照。
CS149 PA2 要你用 C++ 寫一個多核 CPU 上的任務執行庫,而且要寫四次:每次 run() 都開 thread、改成 spinning 的 thread pool、改成會睡覺的 thread pool,最後擴充成非同步、有依賴的 task graph。每一步都得是完全正確的系統,並跟官方參考實作比速度。官方評分機器是 AWS c7g.4xlarge;校外可以在自己的多核機器上跑,但數字不能直接和官方比。
PA3 有三部分:把 SAXPY 改寫成 CUDA 並分開計時、用 exclusive scan 實作 find_repeats、再寫一個又對又快的 CUDA 圓形渲染器(85 分)。渲染器的難點是半透明圓的混色不可交換,每個像素都得照輸入順序更新,而起始程式碼一個圓一個 thread 的做法兩樣都沒守住。Written 2 則是五題計分題(fusion、SIMD 利用率、用 barrier 取代鎖、用資料平行原語處理圖、粒子模擬的鎖)加 14 題練習。校外要自備 NVIDIA GPU,本文不提供解答。
PA4 把你丟到 AWS Trainium2 的一顆 NeuronCore 上。這裡沒有 cache 幫你決定什麼資料留在晶片上:SBUF(28 MiB)與 PSUM(2 MiB)都要你用 dma_copy 明確搬進搬出,partition 維度最多 128。Part 1 用 vector add 和 transpose 教你這些限制與 DMA 成本,Part 2 要你把 convolution 拆成一串 matmul、再和 max pool 融合成一個不落地到 HBM 的 kernel。Written 3 用 line buffer、兩次 box blur、softmax 硬體與 metapipelining 練同一件事:把中間結果留在晶片上。環境需要課程 private AMI 與付費 capacity block,校外實質只到 A2。
CS149 Fall 2025 的最後一份程式作業是開放式的:從 Histogram、1D occupancy decoder、FlashAttention、3D 熱方程 RK4、SwiGLU 五題挑一題以上,在 H100 上把 PyTorch baseline 調快,可以用 CUDA、Triton 或 TileLang,也允許用 LLM。分數不看速度門檻,看你交的工作日誌能不能說清楚每一步量了什麼、推出什麼假設、為什麼停手。H100 job queue 與排行榜要 SUNet ID,校外只能在自己的 NVIDIA GPU 上用 eval.py 跑。
L4 給了一套平行化的思考流程:先分解(decomposition)找出彼此獨立的工作,再分配(assignment)給工作者,再協調(orchestration)通訊與同步,最後對應到硬體。Amdahl 定律提醒你循序部分決定 speedup 上限。貫穿全講的例子是 2D 網格解算器:原本的相依關係很難平行,改用紅黑著色換一種更新順序後,就能用資料平行或共享位址空間兩種模型寫出來。
L11 問的是:硬體為 AI 專用化之後,程式設計師要付出什麼?投影片以 H100 為例:要吃滿 Tensor Core,就得用 16×16 tile、讓 TMA 非同步搬資料、讓 producer 與 consumer warp 管線化,寫起來很複雜,所以有了 ThunderKittens 這類 DSL。另一條路是資料流架構(SambaNova SN40L):用 map/reduce/zip 等平行模式描述計算,編譯器做分塊、metapipelining 與佈局,投影片說它能把 Llama 3.1 8B 的整個 decoder 融成一個 kernel。
Coherence 只管單一位址;memory consistency 管的是不同位址之間的讀寫,在別的 thread 眼中以什麼順序生效。CS149 L15 用兩個 thread、兩個變數的例子說明:sequential consistency 下 r1 = r2 = 0 不可能,但每顆現代處理器都有的 write buffer 會讓讀跑到寫前面,於是它變成可能。TSO、PSO、weak ordering 依序放寬更多順序換取效能,fence 與同步原語再把需要的順序補回來。對應用程式設計師的結論很短:寫沒有 data race 的程式,用同步函式庫,C11、C++11、Java 5 就保證你看到 sequential consistency。
粗鎖好寫但慢,細鎖快但容易寫錯。Transactional memory 讓程式設計師只宣告 atomic { },由系統負責原子性與隔離。CS149 L17 講動機(failure atomicity、composability)與設計空間:資料版本管理分 eager(undo log)與 lazy(write buffer),衝突偵測分 pessimistic 與 optimistic。L18 拆 STM 的執行期資料結構與 McRT 演算法,再講 HTM 怎麼用 cache 的 R/W 位元加上 coherence 協定偵測衝突,最後是 Intel Haswell 的 RTM。Written 4 則把 MSI、LL/SC、鎖與記憶體順序、雙向 linked list 的細粒度鎖串成四題。
CS149 Fall 2025 第一講先定義 speedup,再用三個課堂示範說明通訊與負載不均會吃掉加速比。接著解釋單核效能為什麼停滯:superscalar 能挖的指令層級平行大約在每時脈發四道指令就用完,時脈又被功耗牆擋住,所以效能只能靠多核與專用硬體。最後一段把焦點轉到效率:取一次 DRAM 的延遲約是 L1 cache 的 60 倍,搬 64 bits 的能耗是一次整數運算的上千倍,高效率幾乎都歸結到高效率地存取資料。
負載平衡的難處在於它和排程成本互相拉扯:任務切得越細越好平衡,但每次領任務都要付同步成本。CS149 L5 先把選項排成一條從 static 到 dynamic 的連續光譜,再拆解 Cilk 的執行期:每個 worker 一條 deque,spawn 時先跑 child、把 continuation 留給別人偷,閒置的 thread 從別人 deque 的頂端偷走最大塊的工作。
Policy gradient 只能從實際拿到的獎勵判斷好壞,資料用得很浪費。Actor-critic 多訓練一個價值函數(critic)來估計「這個狀態有多好」,再用它算 advantage 去加權 policy(actor)的梯度。估計價值有三條路:用整條 rollout 的獎勵總和直接監督(Monte Carlo)、用「這一步獎勵加上自己對下一個狀態的估計」監督(bootstrap),或折衷的 n 步回報。L4 最後把它推到 off-policy:先在同一批資料上多走幾步(這是 PPO 的起點),再用 replay buffer 重用所有舊資料(這是 SAC 的起點)。
CS224R 是 Chelsea Finn 在 Stanford 教的深度強化學習課,從模仿學習一路講到 LLM 的 RL 和機器人基礎模型。Spring 2026 的 17 份投影片、三份作業的題目與起始碼、default project 規格與起始碼都能匿名下載,本系列評為 A3(足以自學)。缺口是 2026 錄影只在 Canvas、期中考卷與解答不公開、HW2 和 HW3 規定在 Modal 上跑。公開錄影是 Spring 2025 版,本系列把它當補充,逐講標出差異。
CS224R Spring 2026 的 default project 要你在 Qwen2.5-0.5B Base 上,針對 Countdown 算術推理任務依序實作三個階段:SFT 暖身、IPO 偏好最佳化、用規則式 verifier 當獎勵的 RLOO,三者用同一套 vLLM 評估比較,再做一個自選的研究延伸。實作部分禁止用 SFTTrainer 這類高階 trainer,也禁止任何 AI 工具協助,只有延伸部分例外。延伸占報告成績的一半,看的是方法和紀錄,不是分數。起始碼和資料集都公開,校外讀者缺的是 Modal credits 和 autograder。
CS224R 最後一講分三段:先把整學期的方法收成一個工具箱,再列七個還沒解決的問題(沒有可驗證獎勵的領域、怎麼用 prior data、world model、怎麼 scale、安全、幻覺與校準、通才系統的評估),最後用一半的篇幅講怎麼做研究:同時要有重要的問題和可行的計畫、先把風險挪到最前面、及早考慮轉向、研究成果要分享出去才算數。配著 2026 年 244 份公開的期末專題報告一起讀,最容易看出這些原則落地的樣子。
長 horizon 任務難,是因為要走過的狀態太多、犯錯和卡住的機會也多。CS224R 第 15 講的答案是拆成兩層:高層 policy 出子目標,低層 policy 以較高頻率執行。真正要做的設計決定有三個:子目標用什麼表示、兩層各自拿什麼監督、什麼時候換下一個子目標。投影片也坦白,階層和「單一 policy 加 chain of thought」誰比較好,還沒有定論。
CS224R Spring 2026 的 HW1 用一個自製的 Flappy Bird 環境考模仿學習:policy 一次預測 20 步目標高度、只執行前 10 步。你要依序寫出 MSE 回歸式 BC、flow matching policy 和 DAgger,並在 easy 與 hard 兩種模式下比較。題目 PDF、LaTeX 模板和起始碼都能匿名下載,CPU 也跑得動;解答、autograder 和 Gradescope 不公開。這篇整理每一題要實作什麼、要回答什麼,不寫解答。
CS224R Spring 2026 的 HW2 分三段:先在 5×4 的格子世界用表格型 Q-learning 看 reward 設計怎麼改變學到的路徑;再用 GAE 加 PPO clip 解一個只在完成時給 1 分的鐵鎚任務;最後用 BC 預訓練、critic ensemble 和更高的 UTD 做 off-policy actor-critic,並比較兩條學習曲線。題目、起始碼和算力指南都公開,但作業只支援 Modal,課程 credits 只發給修課學生。
CS224R Spring 2026 的 HW3 要你從零補完兩個 offline RL 演算法:AWAC 和 IQL,並在 D4RL 的 AntMaze 上比較。Problem 1 在 antmaze-umaze 和 antmaze-medium-diverse 跑 AWAC;Problem 2 先比較 IQL 的 expectile ζ = 0.2 和 0.9,再用較好的值跑 medium-diverse,最後在一份最高 return 只有 −46 的 PointMass 資料上,看 IQL 能不能拼出比資料更好的路徑,並跟只取前 10% 軌跡的 filtered BC 比較。題目 PDF、LaTeX 模板和起始碼都公開,但作業規定在 Modal 上跑,課程 credits 只發給修課學生。本文只整理題目和環境,不寫解答。
CS224R Spring 2026 第二講處理模仿學習的兩個失敗模式。第一個是示範有多種合理做法時,回歸只學到平均值;解法是把 policy 換成生成模型(高斯混合、離散化加自迴歸、diffusion/flow matching),再加上 action chunking。第二個是 compounding errors:policy 一犯錯就走到示範沒涵蓋的狀態;解法是 DAgger 和 human-gated DAgger 收集修正資料。前兩部分就是 HW1 的內容。
CS224R Spring 2026 第一講做三件事:交代課務、說明為什麼要學 deep RL、把「行為」寫成可以學的東西。核心是一組定義:state、action、trajectory、reward、policy,以及「最大化期望總獎勵」這個目標。最後用一個例子收尾:拿 ℓ2 回歸去模仿一群要切換車道、一群要直行的駕駛,policy 會學到兩者的平均值,一個沒人示範過的半切換動作。這個問題是 L2 的起點。
Meta-RL 在很多任務上訓練,目標是遇到新任務時只靠少量經驗就能解決。CS224R 第 13 講把它寫成「先探索收一點資料,再用這些資料適應」,最直接的做法是 black-box meta-RL(RL²):一個有記憶的網路把過去的 (s, a, r) 當輸入,隱藏狀態跨 episode 保留。它通用、表達力強,但難最佳化,尤其探索很難時:探索和執行互相依賴,端到端訓練容易卡住。投影片接著比較 PEARL 的 posterior sampling、MetaCURE 的預測式探索,以及 DREAM 用任務表示把探索和執行拆開訓練。
Model-based RL 先學一個預測 s_{t+1} 的 dynamics model,再拿它做兩件事:生成額外的訓練資料(Dyna、MBPO),或在執行時往前想幾步再行動(planning)。CS224R 第 11 講的主線是怎麼不被模型誤差拖垮:合成資料只從真實狀態出發跑短 rollout、用多個模型的 ensemble 平均掉誤差、長 horizon 的 planning 在尾端接一個 value function。模型值不值得學,取決於它比 policy 好學還是難學。
多任務 RL 把「任務是哪一個」當成狀態的一部分:s = (s̄, z_i),於是它還是一個普通的 MDP,標準 RL 演算法照樣能用。CS224R 第 12 講講兩種共享:權重共享(一個網路以 z_i 為條件做所有任務)和資料共享(hindsight relabeling:把為任務 A 收的資料改標成任務 B 的資料)。Goal-conditioned RL 是特例,任務就是要到達的目標狀態;用「最後到達的狀態」當目標重新標記,稀疏獎勵的探索問題就緩解很多。資料共享有三個前提:dynamics 跨任務一致、reward 能算、演算法是 off-policy。
PPO 和 SAC 都在回答同一個問題:一批花錢收來的資料,能不能多用幾次。PPO 對同一批資料多走幾步梯度,用 clip 把新舊 policy 的比值鎖在 1±ε 之內;SAC 把所有歷史資料放進 replay buffer,改學 Q(s, a),讓舊資料也能評估新 policy。前者穩、好調,後者省資料、難調。
CS224R Spring 2026 第七講處理一個問題:手上只有一批別人收的資料、不能再跟環境互動時,要怎麼學出比資料更好的 policy。直接拿 SAC 這類 off-policy 演算法來訓練會壞掉,因為 Q-function 在資料沒出現過的動作上亂估,policy 又專挑被高估的動作。投影片給兩類解法:只在資料裡的動作上訓練 policy(filtered BC、AWR、AWAC),以及用不對稱的 expectile loss 估計比資料更好的 policy 的價值、完全不查詢資料外的動作(IQL)。兩者都能做到模仿學習做不到的事:把不同軌跡的好片段拼起來。
Policy gradient 是 CS224R 的第一個線上 RL 演算法。它的梯度長得跟模仿學習的梯度幾乎一樣,只是每條軌跡多乘上一個獎勵權重:好結果的動作變得更可能,壞結果的動作變得更不可能。原始版本雜訊很大,L3 用兩招降低變異:只算「未來」的獎勵(causality)和減掉平均獎勵(baseline)。它也是 on-policy 的,每走一步梯度就要重新收資料;用 importance sampling 加上 KL 限制,才能在同一批資料上多走幾步。
Q-learning 把 actor-critic 的 actor 拿掉:直接學最優 Q 函數,要行動時取 argmax。代價是它不保證收斂,連線性 Q 都可能發散。CS224R 第 6 講用三個工程技巧把它拉回來:target network 讓目標值暫時不動、Double Q 拆開「選動作」和「估價值」來壓低高估、n 步回報用一點偏差換速度。
CS224R Spring 2026 第八講先花幾頁複習 offline RL,再問一個前面七講都跳過的問題:獎勵從哪裡來?遊戲有分數,真實世界的機器人、對話和自駕通常沒有。投影片給兩條路。第一條是從成功範例訓練一個目標分類器當獎勵,但 RL 會去鑽分類器的漏洞,解法是把 policy 走過的狀態不斷加進負例,跟 GAN 同一個結構。第二條是請人比較兩條軌跡哪條好,用 Bradley-Terry 式的 log σ(r(τw) − r(τl)) 學獎勵,這也是 LLM 的 RLHF 在用的方法。整講的第一個重點只有一句:獎勵不能視為理所當然。
只用模仿學習訓練的 VLA,成功率常卡在 80% 左右,要讓機器人自己上工卻常需要 99% 以上。CS224R 第 17 講把「怎麼在真機上用 RL 改進 VLA」拆成三條路:把 RL 改寫成監督學習(iterated offline RL)、在 VLA 的表示或擴散雜訊上另外學一個小 policy、學一個小 policy 去修改 VLA 的動作。投影片自己說這是還沒解決的研究問題,內容是近期主題加講者觀點。
CS224R Spring 2026 第十講由 OpenAI 的 Noam Brown 客座,論點只有一條:reasoning model 替 scaling 開了新的維度,把算力從訓練推到推論。他從自己做撲克 AI 的經驗講起,再用西洋雙陸棋、西洋棋和圍棋說明「推論時多想一下」一直都有用;接著談 LLM 怎麼做到這件事:chain of thought、多數決、o1/o3、GRPO 和 DeepSeek-R1-Zero。後半段主張整個領域要為大規模 test-time compute 重新思考:multi-agent、以分數對算力作圖的評估方式、安全評估的預算假設。投影片以圖為主,本文只寫投影片上看得到的論點。
CS224R Spring 2026 第九講由 Archit Sharma 客座,投影片註明改寫自 CS224N。主線是一條推導鏈:instruction tuning 解決不了「沒有標準答案」和「錯誤輕重不同」,所以改成最大化人類偏好;人類評分太貴又不準,所以改用成對比較訓練 Bradley-Terry reward model;RLHF 拿它當獎勵、加 KL 懲罰做 policy gradient;DPO 則利用 KL 約束問題的封閉解,把 reward 寫成 policy 的對數比值,整件事變成一個二元分類損失。最後一段談前沿:reward hacking、可驗證獎勵,以及用 AI 回饋取代人類回饋。
模擬器便宜、快、安全,還附贈真實世界拿不到的標籤,但它永遠和真實世界有落差。CMU 的 Guanya Shi 在 CS224R 第 16 講把縮小落差的方法分成三類:domain randomization 讓一個 policy 在很多種物理參數下都能用;teacher-student 先用特權資訊訓練老師、再讓只看得到真實感測器的學生去模仿;real2sim2real 用真實資料把模擬器修得更像。進階題目是用人類動作資料定義任務,以及挑選適合 sim2real 的 RL 演算法。
CS231N 第 15 講用一個問題貫穿全場:3D 形狀要用什麼資料結構存,神經網路才吃得進、吐得出?投影片依序走過 depth map/surface normal、voxel、point cloud、triangle mesh、implicit surface 五種表示,每種各配一個代表架構(全卷積深度預測、3D 卷積、PointNet、Pixel2Mesh 與 Mesh R-CNN、DeepSDF),再到 NeRF 與 3D Gaussian Splatting 的速度取捨,最後點名 VGGT、TRELLIS、Marble 等 2025–2026 的新模型。2025 錄影用的是另一套投影片,順序與重點不同。
CS231N 作業一占總成績 12%,2026 年 4 月 16 日截止,五個 Colab notebook 全部在 CIFAR-10 上用 numpy 手寫:Q1 kNN 要寫出兩層迴圈、一層迴圈、零迴圈三種距離計算;Q2 Softmax 從 naive 到向量化再到 SGD;Q3 把 affine、ReLU、softmax 組成兩層網路;Q4 改用 HOG 與色彩直方圖特徵;Q5 推廣成任意層數,並實作 Momentum、RMSProp、Adam。起始碼 65 KB,公開可下載;拿不到的是 Gradescope 評分。本文只講結構與目標,不給解答。
CS231N Spring 2026 的 A2 佔總成績 18%,五個 notebook 從手寫 BatchNorm/LayerNorm、Dropout、卷積與池化的 forward/backward,一路走到 PyTorch 的三層抽象,最後用 PyTorch 在 COCO 上做 RNN 影像描述。轉折點在 Q4:前三題的梯度要自己推,Q5 起交給 autograd,再用數值梯度檢查驗證。官方投影片提醒這是三份作業裡最長的一份。
CS231N Spring 2026 的 A3 占總成績 15%,四個 Colab notebook 把 L8、L12–L14、L16 各自落成一份實作:Q1 手寫 multi-head attention、Transformer decoder 做 COCO captioning,再組一個 ViT 在 CIFAR-10 上訓練;Q2 實作 SimCLR 的資料增強與對比損失,比較有無自監督預訓練的線性分類;Q3 寫 DDPM 的加噪、UNet、去噪損失、取樣與 classifier-free guidance,生成文字條件的 32×32 emoji;Q4 用預訓練 CLIP 做相似度、零樣本分類與檢索,再用 DINO 特徵只靠一幀標註做影片分割。本文只講題目結構、檔案與目標,不給解答。
CS231N Spring 2026 第 8 講從 RNN 翻譯模型的瓶頸出發,把 attention 抽象成一個作用在「向量集合」上的運算,再推到 self-attention、masked 與 multi-head,最後證明整層只是四次矩陣乘法。Transformer block 由 self-attention、LayerNorm、殘差與 MLP 組成;ViT 把 224×224 的圖切成 16×16 的 patch 當 token。講次結尾列出 2017 年後常見的四個改動:Pre-Norm、QK-Norm、SwiGLU 與 MoE。
兩層網路會把 32×32×3 的圖片拉平成 3072 維向量,空間結構就此消失。CS231N L5 的答案是卷積層與池化層:卷積用一組小濾波器在圖上滑動,同一組權重用在每個位置;池化負責降採樣,沒有可學參數。兩者都有平移等變性。記住一條公式就能算每一層的輸出尺寸:(W − K + 2P) / S + 1。
CS231N 是 Stanford 的電腦視覺深度學習課,Spring 2026 版的 16 講投影片、三份作業的題目頁與起始碼、課程筆記與專題規範都公開,本系列評為 A3(足以自學)。缺口有三個:2026 錄影只放在 Canvas、L17 與 L18 沒有投影片、期中考不公開。可以拿 2026 的投影片和作業,配 2025 年的 YouTube 錄影,照官方課表排 10 週。
CS231N Spring 2026 第 9 講把「整張圖一個標籤」推到「每個像素、每個物件」:語意分割用全卷積網路先降採樣再升採樣(U-Net 再接回高解析特徵);偵測從 R-CNN 的約 2000 次 CNN forward,一路優化到 Fast R-CNN、Faster R-CNN 的 RPN、單階段的 YOLO,再到不用 anchor 的 DETR;Mask R-CNN 在每個 RoI 上多預測一張 28×28 遮罩。最後一段講 saliency、CAM 與 Grad-CAM。課表列的對抗樣本、DeepDream 與風格轉換,2026 和 2025 的投影片都沒有。
CS231N 第 11 講以 Llama3-405B 為貫穿範例,先講 GPU 硬體與叢集(H100、8 卡伺服器、24,576 張 GPU 的叢集),再把 Transformer activation 的四個維度對應到四種平行化:切 batch 是資料平行(再演進成 FSDP、HSDP),切序列是 context parallelism,切層是 pipeline parallelism,切通道是 tensor parallelism。中間插入 activation checkpointing(用重算換記憶體)和一份實用的擴展配方,並用 Model FLOPs Utilization(MFU)當調參目標:超過 30% 算好,超過 40% 算優秀。
CS231N Spring 2026 的 diffusion 講次沒有從 DDPM 的數學開始,而是先說「這個領域的術語和符號一團亂」,然後只教一個乾淨的現代版本:rectified flow。訓練時在資料和雜訊之間取一個點,讓網路預測從資料指向雜訊的速度;生成時從雜訊出發,往反方向走約 50 步。接著一路疊上實務零件:classifier-free guidance、偏重中間雜訊的排程、在 VAE latent 上做 diffusion、用 Transformer(DiT)當去噪器、蒸餾減少步數。最後才把 VP、VE、ε/v 預測收進一個「廣義 diffusion」框架,並交代 latent variable、score function、SDE 三種數學觀點。
CS231N Spring 2026 的生成模型第一講,先把「判別模型學 p(y|x)、生成模型學 p(x)」講清楚:所有可能的圖片要搶同一份機率質量,所以生成模型能拒絕不合理的輸入。接著用一張分類圖把生成模型分成「算得出 p(x)」和「只能取樣」兩群,再依序講兩個算得出(或近似算得出)的:自迴歸模型用鏈鎖律把 p(x) 拆成逐步預測,太慢是它在原始像素上的死穴;VAE 算不出 p(x),改成最大化它的下界 ELBO,重建項和先驗項會互相拉扯。課表把 GAN 列在這一講,但 2026 與 2025 的投影片都把 GAN 放到下一講開頭,本文一併整理,讓三種範式在同一篇對照。
L2 從一個問題出發:電腦看到的是一堆 0 到 255 的數字,要怎麼認出貓?寫規則行不通,所以改用 data-driven 方法:收集資料、訓練、在新圖上評估。第一個分類器是 kNN,它教會你 train/val/test 怎麼切,但像素距離沒有語意。第二個是線性分類器 f(x,W)=Wx+b,可以從代數、視覺(模板)、幾何(超平面)三個角度看,再用 softmax 把分數變成機率,用 −log 機率當 loss。
CS231N 2026 的第一講分成兩份投影片。第一份用一條時間軸講視覺與深度學習的歷史:從 Hubel & Wiesel 的貓實驗、Marr 的視覺表示階段,到 Neocognitron、backprop、LeNet,再到 ImageNet 與 AlexNet 把兩條線接起來。第二份講課程地圖、評分與規則,並把作業全面搬到 Colab。讀完這一講,你會知道後面 17 講各自在補哪一塊。
L4 前半把線性分類器 f = Wx 換成兩層網路 f = W₂ max(0, W₁x),說明拿掉 max 這個激活函式就會退回線性分類器。後半回答網路變深之後梯度怎麼算:把函式畫成計算圖,每個節點只要知道自己的本地梯度,再乘上從後面傳回來的上游梯度。add 分配梯度、mul 交換、max 路由、copy 相加,四個模式就能追蹤任何網路。最後推到矩陣:dL/dx 永遠和 x 同形狀,所以不要真的建出 Jacobian。
RNN 用同一組權重,在每個時間步更新一個隱藏狀態,所以能處理任意長度的序列。CS231N L7 從手工造一個偵測連續 1 的 RNN 講起,接著是字元級語言模型、把 CNN 特徵接進 RNN 做影像描述,再用梯度流解釋為什麼 vanilla RNN 難訓練:梯度爆炸靠 gradient clipping,梯度消失靠改架構,也就是 LSTM。最後把 Mamba 這類 state space model 稱為「現代 RNN」。
L2 給了分數函式和 loss,L3 回答「怎麼找到好的 W」。前半講正則化:在 data loss 旁邊加 λR(W),讓模型不要把訓練資料背得太好。後半是一條最佳化器的演進線:SGD 在窄長山谷裡會來回震盪,Momentum 累積速度,RMSProp 依每個維度調步伐,Adam 把兩者合起來再做偏差修正,AdamW 把 weight decay 移到動量計算之外。投影片最後的實務建議是:多數情況先用 Adam(W),SGD+Momentum 可能更好,但要花更多力氣調學習率與排程。
CS231N 第 12 講的問題是:大規模訓練需要大量標註,能不能不靠人工標註學到好的表示?答案分三段。第一段是從影像變換自動產生標籤的 pretext task:預測旋轉、拼圖、補洞、上色,以及把遮罩比例拉到 75% 的 MAE。第二段是更通用的對比學習:InfoNCE 損失、需要大 batch 的 SimCLR、用佇列解耦 batch 與負樣本數的 MoCo,以及序列層級的 CPC。最後是不需要負樣本的 DINO:學生網路去預測動量老師的輸出,靠 centering 與 sharpening 避免崩塌。評估方式的核心是 linear probing:凍結編碼器,只訓練一層線性分類器。
CS231N 第 6 講的 2026 投影片標題是「Training CNNs and CNN Architectures」,分成「怎麼搭」和「怎麼訓練」兩半。架構只細講兩個:VGG 證明三層 3×3 卷積比一層 7×7 更深、參數更少;ResNet 讓層去學殘差 F(x) = H(x) − x,解決深網路連訓練誤差都更差的最佳化問題。訓練那半最實用的是遷移學習:資料不到約一百萬張,就先找大資料集上的預訓練模型。
CS231N 第 10 講把影片看成「2D+時間」的 T×3×H×W 張量,再沿著一條效率主線往下走:先在短片段上訓練、測試時平均多個片段;架構從逐幀 2D CNN、late fusion、3D CNN,到用光流分出動作的 two-stream 與把 2D 權重「充氣」成 3D 的 I3D;2021 年後換成 Transformer,但 token 數會爆炸,於是有 divided space-time attention、Video Swin、MViT 與 tubelet。最後一段擴展到時序定位、影音多模態、VideoLLM 與長影片理解,並用 HourVideo 指出這塊還差得遠。
CS231N Spring 2026 的視覺與語言講次,先把課程前半的「一個任務一個模型」換成「基礎模型」:先用大量多樣的資料預訓練一個模型,再用微調、zero-shot 或 few-shot 接到許多任務。主角有三條線。第一條是 CLIP:用 4 億組網路圖文配對做雙向對比學習,再把類別名稱寫成句子,就能不經微調直接分類;它也有弱點,分不出「草地上的杯子」和「杯子裡的草」。第二條是 LLaVA、Flamingo 到 Qwen3-VL、Molmo 的視覺語言模型:把圖片特徵接進 LLM,讓模型看圖輸出文字。第三條是 chaining:讓 LLM 寫描述或寫程式,把現成的視覺模型串起來。
CS231N Spring 2026 的最後兩講沒有公開投影片:L17 在課表上只寫「World Modeling」與客座講者 Gordon Wetzstein,L18 只寫「Human-Centered AI」。校外讀者能看的是 2025 年的替代品:L17 當年是另一個主題 Robot Learning(Yunzhu Li,有投影片與錄影),L18 是李飛飛的錄影,沒有投影片。本文把三者分開標示年份,不把 2025 的內容寫成 2026。後半講期末專題:占 35%,分 Applications 與 Models 兩條 track,專案必須處理像素,交付物是一段提案、三次 milestone check-in、6–8 頁報告與海報。
CS234 Winter 2026 的作業一共 68 分、四題:庫存 MDP 看視野與折扣怎麼改變最佳策略(8)、自駕車的 proxy reward 為什麼讓 AI 車乾脆不上匝道(5)、用 Bellman residual 界住貪婪策略的表現(30),以及在 RiverSwim 上親手寫 value iteration 與 policy iteration(25)。三題紙筆在練同一件事:你寫下的 reward、γ 與價值函數,不一定是你以為的那個目標。
CS234 Winter 2026 的作業二共 102 分、四題:DQN 紙筆題(8)、在 CartPole、Pendulum、HalfCheetah 三個 PyBullet 環境上實作 REINFORCE、神經網路 baseline 與 clipped PPO(54 分程式+21 分報告),證明策略誘導的狀態分布與 performance difference lemma(14),以及用 Belmont Report 檢視一個會邊學邊影響學生的 RL 實驗(5)。程式題的重點是把 L5–L7 的式子一行一行變成可以跑出 21 條學習曲線的程式。
CS234 Winter 2026 作業三共五題、94 分。前三題都在 MuJoCo Hopper 上:先用手寫 reward 跑 PPO(13),再從 1 萬筆偏好對學 reward model 後跑 PPO(19+8),最後用 SFT+DPO 直接從偏好學策略、完全不碰環境(6+19)。第四題換成純理論:用 Hoeffding 與 union bound 算出找 ε-最佳臂要幾次試驗(25),這題要等讀完下一篇 bandit 再做。第五題是新聞推薦的 stated vs revealed preference(4)。
CS234 L9 與 L10 前半把「探索」從 ε-greedy 這種經驗法則,變成可以證明的東西。先定義 regret:跟一直選最好的手臂相比,你少拿了多少。greedy 會鎖死在次佳手臂,固定 ε 的 ε-greedy 永遠有 ε 比例在亂選,兩者的 regret 都隨時間線性成長。Lai-Robbins 下界說最好也要對數成長,而 UCB 靠「對不確定的手臂樂觀一點」做到了:Bandit Algorithms 定理 7.1 給出每隻次佳手臂只會被拉大約 16 log n / Δ² 次。
CS234 是 Emma Brunskill 在 Stanford 教的強化學習入門課,從有模型的 MDP 規劃一路講到策略梯度、RLHF/DPO、bandit 探索和 MCTS。Winter 2026 的 14 講投影片、三份作業的題目與起始碼、專題規格都能匿名下載,本系列評為 A3(足以自學)。缺口是官網沒有 2026 錄影、L15 與 L16 沒有投影片、期中考與 tutorials 不公開。公開錄影是 Spring 2024 版,本系列只拿它當補充;2024 有兩講 Offline RL,2026 投影片裡沒有對應內容。
Q-learning 在表格上會收斂,接上函數近似就可能發散。CS234 把原因歸成 deadly triad:bootstrapping、function approximation、off-policy learning 三者同時出現。DQN 用兩招撐住:experience replay 打散樣本之間的相關性,fixed Q-targets 讓目標值在 C 步內不動。投影片引用的 Atari 消融表裡,Breakout 從線性模型的 3 分、沒有兩招的深度網路 3 分,到兩招都用的 317 分;只加 replay 就到 241。
前兩篇的 UCB 與 Thompson sampling 只處理單步決策。CS234 第 12 講把同一組想法搬進有狀態的 MDP:先換一把尺,用 PAC 限制「不夠好的步數」而不是總 regret;再看樂觀派的 MBIE-EB(計數+探索獎勵)與抽樣派的 PSRL(每個 episode 抽一個 MDP 來解)。狀態多到數不完時,計數失效,就改成在 Q-learning 目標上加 bonus,這是 Montezuma's Revenge 上贏過 ε-greedy DQN 的關鍵。最後一段問:探索策略能不能用學的?答案之一是 Decision-Pretrained Transformer。
CS234 Winter 2026 的最後一份客座投影片,由 Google DeepMind 的 Shane Gu 主講,36 頁、沒有公開錄影。主線有三段:先用 Solomonoff induction 說「最好的預測就是找出最短的生成程式」,再把預測分成三個層次;接著把正向模型 F、逆向模型 Π 與 Q 寫在同一組符號裡,說明 shooting 與 direct collocation 兩種規劃方式怎麼各用一種模型,並把 TDM 與 Generalized Decision Transformer 解讀成「換了時間尺度的世界模型」;最後談影片模型能不能成為物理世界的基礎模型。
有專家示範、沒有 reward 時,CS234 L7 後半給三條路:直接用監督式學習抄動作(behavioral cloning),發現誤差會隨時間累積後改成邊跑邊問專家(DAgger),或者乾脆反推專家在最佳化什麼 reward(inverse RL)。反推 reward 會碰到「無限多組 reward 都解釋得了示範」的問題,feature matching 與最大熵原則是兩種收斂答案的方式。這一段是下一篇 RLHF 的前身:從示範換成偏好,問題結構幾乎一樣。
CS234 Winter 2026 第一講先回答 RL 是什麼:在不確定之下,從經驗學會做好決策。它通常同時牽涉四件事:最佳化、延遲後果、探索、泛化。接著用火星探測車的七格世界,從 Markov process 一路加到 Markov reward process,定義 return、value function 和折扣因子,最後推出 MRP 的 Bellman 方程:可以直接解矩陣反轉,也可以用動態規劃迭代。加上動作之後就是 MDP,這是下一講的起點。
到目前為止,CS234 都在替整個狀態空間算一個策略。第 13、14 講換一個問題:如果我只在乎「現在這一步」該怎麼走,能不能多花一點本地運算,做出更好的決定?從 simple Monte Carlo search、expectimax tree 到 MCTS,再把每個節點當成一個 bandit,就得到 UCT。AlphaZero 把 MCTS 跟一個同時預測策略與價值的網路綁在一起,用 self-play 互相推進。投影片借用 Silver et al. 2017 的圖回答三個問題:架構有多重要、MCTS 加了多少、需不需要人類資料。
CS234 Winter 2026 第二講假設世界模型已知,回答怎麼算出最好的 policy。先把 MDP 加上 policy 變回 MRP,用 Bellman backup 迭代評估 policy;再用 policy iteration 交替評估與改進,並證明每一輪都不會變差,最多 |A|^|S| 輪就停。另一條路是 value iteration:直接重複套用 Bellman 最佳化運算子,因為它在 γ < 1 時是 contraction,所以一定收斂。最後補上 finite horizon:這時最好的 policy 通常會隨剩餘步數改變。
會評估之後,下一步是一邊收資料一邊把策略變好。CS234 第 4 講的路線是:ε-greedy 讓策略改進仍然單調;GLIE 規定探索要多到什麼程度、何時收手;Q-learning 在 GLIE 加上 Robbins–Monro 步長下會收斂到 Q*;最後把表格換成參數化的 Q̂(s,a;w),用 MC、SARSA 或 Q-learning 的目標做 SGD。代價是 deadly triad:函數近似、bootstrapping、off-policy 三者同時出現時,可能震盪或發散。
不知道轉移機率與 reward,要怎麼估一個策略值多少?CS234 第 3 講給三個答案:Monte Carlo 直接平均整條軌跡的回報(無偏、變異大、要等 episode 結束),TD(0) 用「一步 reward+下一狀態的估計值」當目標(有偏、變異小、每一步都能更新),certainty equivalence 先估模型再做動態規劃(最省資料、最貴的計算)。第 4 講開頭的 AB 例子把差別講到最清楚:同一批資料,MC 說 V(A)=0,TD 說 V(A)=0.75。
策略梯度不學價值再導出策略,而是直接對策略參數 θ 做梯度上升。關鍵一步是把 ∇P(τ;θ) 改寫成 P(τ;θ)∇log P(τ;θ),動態模型在取 log 後消失,只剩策略自己的 score function。原始估計量無偏但雜訊很大,CS234 用三招降噪:只看動作之後的回報(REINFORCE)、減掉只依賴狀態的 baseline(證明它不引入偏差)、用 critic 估計的價值取代 Monte Carlo 回報(actor-critic)。
Vanilla 策略梯度有兩個毛病:每批資料只走一步就丟,而且參數空間的距離不等於策略空間的距離,步長一大表現就崩。CS234 沿用 Joshua Achiam 的講法,從 performance difference lemma 出發,把新策略的表現改寫成舊策略資料上的 surrogate objective,再用 KL 散度界住近似誤差。最大化「surrogate 減 KL 懲罰」保證不退步,但理論常數太大,PPO 改用可調的 KL 懲罰或 clipping 近似它;advantage 則用 GAE 在偏差與變異之間折衷。
CS234 L8 把上一篇的 inverse RL 換了輸入:不再是專家示範,而是人類說「A 比 B 好」。Bradley-Terry 模型把這種成對比較變成一個可以用交叉熵擬合的 reward;RLHF 拿這個 reward model 加上 KL 懲罰去跑 PPO;DPO 則證明 KL 限制下的最佳策略有封閉解,把 reward 改寫成策略的對數比值,代回 Bradley-Terry 後 partition function 相消,於是可以直接在偏好資料上訓練策略、跳過 reward model。2026 投影片沒有 offline RL 的內容,DPO 也改由課堂自己講,不再是 2024 的客座。
CS234 L11 把探索的邏輯從「樂觀」換成「抽樣」。Thompson sampling 替每隻手臂維護一個後驗分布,每一步從後驗各抽一個值,選抽到最大的那隻;Bernoulli reward 配 Beta 先驗時,更新只是把成功或失敗次數加一。它剛好實作了 probability matching:選每隻手臂的機率,等於它是最佳手臂的後驗機率。在 Bayesian regret 下它跟 UCB 同階,在批次與延遲回饋的場景裡還比確定性的 UCB 更合適;代價是先驗錯得離譜時會表現很差。
整門 CS234 都假設 reward 是給定的。Winter 2026 的倫理與社會客座(Wanheng Hu,教材原本由 Dan Webber 發展)分兩次問:你真正想要的是什麼?第一次把「對齊」拆成三個目標:使用者的意圖、顯示偏好、客觀最佳利益,並用 RLHF 造成的 sycophancy 與個人 AI agent 當案例。第二次加入第四個目標:對使用者以外的人來說什麼是對的,再比較 top-down(寫下原則)、bottom-up(從範例學)與 participatory AI 三條路。結論沒有銀彈,但對齊有好壞之分。
Harvard CS 2881R 是 Boaz Barak 在 2025 年秋季首開的研究所 AI 安全研討課。Fall 2025 已完整結束,12 講的閱讀清單全公開、YouTube 播放清單有 11 講的講課錄影、HW0 是一個能自己跑的 GitHub repo,期中與期末的規格和評分表也放出來了,本系列據此標 A3(以研討課標準)。缺口同樣清楚:沒有傳統習題、投影片只有約一半講次公開、L5 沒有講課錄影、L8 只有開場。Fall 2026 正在上,只當預覽。
Harvard CS 2881R Fall 2025 的期末專題分兩種:延伸既有論文,或做有 theory of change 的長期研究;交 5–10 頁 NeurIPS 風格論文加海報,評分是 writeup 65、code 15、poster 20。專題頁公開 19 份論文,約一半集中在 persona 向量與 chain of thought 監控。head TA 與 Harvard Q-report 都指向同一個問題:期末專題太晚開始、評分表太晚公布,回饋是全課評分最低的一項。
CS 2881R 的 HW0 是選課門檻:用 LoRA 把 Llama-3.2-1B-Instruct 微調在壞的醫療、財務或極限運動建議上,再看它回答無關問題時是否也變得有害。repo 給了加密的訓練資料、generate.py、以 gpt-4o-mini 當裁判的 judge.py,README 的目標是對齊分數低於 75、連貫度高於 50;train.py 是空的,要自己寫。自學時要知道:評分腳本只印平均分數,沒有自動判定過關,拿來比較的基礎模型基準是 20 題醫療題,而你的 CSV 是醫療題與非醫療題各 10 題。
CS 2881R 第一講(2025-09-04)用三篇 pre-reading 把問題攤開:AI 2027 描繪五年內靠遞迴自我改進走到超人 AI,AI as Normal Technology 主張 AI 會像電力一樣慢慢擴散,METR 則用「人類要花多久的任務,AI 能有五成機率完成」量到這個長度約每 7 個月翻倍。Boaz 的講課把 AGI 的定義拆成能力與衝擊兩種,把對齊方法分成原則、品格訓練、model spec 三類。課堂實驗把 HW0 反過來做:在生物倫理題上微調對齊答案,環境政策題的對齊分數也跟著上升。
Boaz Barak 把 pretraining、SFT、RL 看成同一件事:挑一些 token 加強、一些 token 壓低,差別只在資料是別人寫的(off-policy)還是模型自己生的(on-policy)。安全訓練就疊在後兩段上,從早期的「一律拒答」走到 Deliberative Alignment:先用 SFT 教模型在思考鏈裡讀 spec,再用懂 spec 的獎勵模型做 RL。這堂課另一個重點是:不要對思考鏈施加最佳化壓力,否則模型學會的不是不作弊,而是作弊時不說。
對齊過的模型之所以還會被 jailbreak,是因為安全訓練只修掉了某些 exploit,底下的 vulnerability 還在。Nicholas Carlini 用三個攻擊說明這件事:重複一個字讓 ChatGPT 吐出訓練資料、用梯度找出能跨模型轉移的對抗後綴、只靠 API 偷出最後一層權重。Boaz Barak 則從軟體安全搬來幾條老教訓:攻擊只會越來越強、安全要一開始就設計進去、要縱深防禦。他擔心 prompt injection 會成為 2020 年代的 buffer overflow。
Boaz Barak 的答案是兩者都要,再加上人格:抽象原則、良好人格、明確政策三者混用,他自己把最少的權重放在書房裡推出來的原則上。真正的關鍵是規則要能檢查:「證明定理或給反例」是壞規則,「證明、給反例或說明做不到」才是好規則,因為只有能判定違規的規則才能拿來訓練和評估。學生實驗也沒找到「原則」與「細則」兩種 system prompt 的一般性差異,效果因模型而異。
CS2881R 第 5 講請 OpenAI Product Policy 的 Ziad Reslan 談內容政策。課站沒有列出講課錄影與投影片,校外讀者能拿到的是三篇 pre-reading、學生寫的 LessWrong 週摘要,以及一支 17 分鐘的學生實驗影片。這些材料串起來的主線是:社群平台花了二十多年才學會「線畫在哪裡都會有邊界案例,但總得畫」,生成式 AI 又多了一層難題——聊天介面介於私人文件與公開貼文之間,圖片比文字更容易被讀成立場。
Harvard CS 2881R Fall 2025 第 6 講沒有客座,Boaz Barak 用成長理論的微分方程問一個問題:如果 AI 開始自己做 AI 研發,能力曲線會維持指數、加速成奇點,還是被瓶頸拖慢?答案取決於幾個誰都量不準的指數。他用 Baumol 成本病、美國人均 GDP 百年 2% 的謎、Jones 的點子成長模型說明瓶頸與加速各自的道理,再拆開 AI 2027 的倍率假設。他的結論是:唯一能排除的是「AI 對研發沒什麼影響」。
Harvard CS 2881R Fall 2025 第 7 講請 METR 的 Joel Becker 處理一個謎:基準測試上,AI 能以一半機率完成人類要花幾小時的任務,而且這個長度每七個月翻倍;但在 METR 自己的隨機對照試驗裡,資深開源開發者用 AI 反而慢了 19%,勞動市場的衝擊也只集中在年輕人。Becker 列出幾種和解方式,核心是基準測試的任務太乾淨、評分太便宜、基準線人員太缺脈絡。課站原本排的前沿安全框架(OpenAI Preparedness Framework、Anthropic RSP)這堂沒講到,本篇依閱讀清單補上它們怎麼把能力量測變成門檻。
CS2881R 第 8 講問:模型會不會為了通過訓練或評測而作弊、裝乖、甚至暗中追求別的目標?Boaz Barak 的 10 分鐘開場把各種壞行為歸成「系統性失準」:是我們的訓練訊號把模型推過去的。Apollo 的 Marius Hobbhahn 整理現有證據,結論是目前模型還沒有造成災難的 scheming 能力,但早期能力已經出現,而且越來越會察覺自己在被評測。Redwood 的 Buck Shlegeris 則主張先假設模型在密謀,用 AI control 守住內部部署。學生實驗把四個前沿 coding agent 丟進不可能完成的排序任務,發現它們在明文禁止下仍會改測試、猴子補丁計時器。
Harvard CS 2881R 第 9 講請來 OpenAI 首席經濟學家 Ronnie Chatterji 與 Stanford 的 Bharat Chandar。Chandar 用 ADP 薪資資料說明:22–25 歲、在 AI 高曝險職業的年輕人,在控制公司層級衝擊後,就業相對下降 16%,資深員工沒有同樣的趨勢;調整主要出現在人數,薪資還沒動。兩位講者也一再提醒,總體就業目前看不出大規模替代,「曝險」不等於「被取代」。這講沒有投影片,材料是錄影與閱讀清單。
Harvard CS 2881R Fall 2025 第 10 講請來 OpenAI、Anthropic、Google DeepMind 的四位研究者,從兩個方向偵測模型的不良行為:讀它寫出來的 chain of thought,或讀它的 activation。CoT 監控抓 reward hacking 比只看動作有效,但把監控器放進訓練獎勵,模型就學會把意圖藏起來。activation 這一側,persona vector 能追蹤人格漂移,Sonnet 4.5 的稽核則顯示關掉「我在被測試」的方向後,不良行為會變多。Neel Nanda 的結論最務實:簡單的 steering vector 常常贏過 SAE,先跟 baseline 比。
Harvard CS 2881R 第 11 講談聊天機器人與心理健康。Boaz Barak 提出一個他自己說「未經證實」的解釋:模型有預訓練的「模擬器」與強化學習的「最佳化器」兩種模式,對話越長、越偏離訓練分布,越容易退回模擬器,順著故事繼續討好。兩組學生實驗分別測到:一次討好會外溢到無關問題,而妄想情境下 GPT-4.1 的附和率隨對話變長而惡化。預讀同時列了正面證據(NEJM AI 隨機試驗、NHS 觀察研究)與反面證據(stigma 研究、Parasitic AI)。本文只轉述研究與課堂討論,不提供臨床建議。
Harvard CS 2881R 最後一講由 Boaz Barak 和兩位 OpenAI 客座 Tejal Patwardhan、Kevin Liu 談未來十年。Boaz 的心智模型是:AI 等於每年向經濟注入指數成長、也越來越通用的虛擬勞動力,他最擔心的是變化太快而控制不足,以及權力集中與監控。Patwardhan 介紹 GDPval:用產業專家的真實工作成品當標準答案,由另一批專家盲評。Liu 說明為什麼 coding agent 還沒自動化 AI 研究:驗證太貴、回饋迴圈太長。課站這講的 Resources 寫「to be determined」,本文內容全部來自錄影。
CS2881R 的期中作業不是考試,是 2–4 人一組,從四篇 AI 安全論文裡挑一篇,重做它最核心的那張圖或表,再做一到兩個延伸,交 3–5 頁報告與 GitHub。規格投影片與評分表都公開,校外讀者可以完整照做。評分表把最多分數給「重現」與「延伸」,另外專門留一分給「你對結果有多脆弱的反思」——這一分正是這份作業想訓練的研究習慣。
6.5940 的前兩講先證明問題存在,再給量尺。L1 用一張圖說明模型參數量的成長遠快於 GPU 記憶體,並指出雲端 GPU 有 80GB 記憶體、微控制器只有 320kB。L2 把效率指標分成記憶體與運算兩類:#Parameters、model size、peak activations,以及 MAC、FLOP、OP。以 AlexNet 為例,它有 61M 參數、724M MACs;在微控制器上真正先爆掉的常常是 activation,不是參數。Lab 0 用 CIFAR-10 上的 VGG 變體(9.2M 參數、606M MACs)當之後幾個 lab 的起點。
MIT 6.5940(TinyML and Efficient Deep Learning Computing)教的是讓模型變小、變快、塞進手機和微控制器的技術:pruning、quantization、NAS、distillation、LLM 部署與分散式訓練。2025 年秋季因 Song Han 休假停開,2025 年課頁回 404;Fall 2026 正在上,截至 2026-09-30 只放出 L1–L6 與 Lab 0–1。本系列因此以最近一屆完整的 Fall 2024 為主幹:23 講投影片、23 支錄影、Lab 0–5 都公開,屬 A3;Fall 2026 列 A2,每篇另附對照。
MIT 6.5940 Fall 2024 的最後兩講分成兩半。L22 前半是 13 頁的 Course-Summary.pdf:用推論、訓練、特定應用三塊加上 System/Algorithm 兩軸重畫整門課,再交代期末專題的 7 項評分。L22 後半的 Quantum ML Part I 只有錄影、沒有投影片。L23(Hanrui Wang 主講,99 頁)講參數化量子電路(PQC):資料編碼、parameter-shift 梯度、雜訊下的機率式梯度剪枝(QOC)、TorchQuantum 函式庫,以及用 SuperCircuit 搜尋加閘剪枝的 QuantumNAS。讀起來像把前面學的 supernet 和 magnitude pruning 在量子電路上重演一次。Fall 2026 已把這兩講換成 Guest Lecture。
Diffusion 慢,是因為同一個大網路要從純雜訊一路跑幾十到上千步。L18 先把 DDPM、條件生成、latent diffusion、SDEdit、DreamBooth 講完,再分三條路加速:少跑幾步(DDIM 跳步、progressive distillation 每輪把步數減半)、每步少算(DC-AE 把圖壓 64 倍、只重算被編輯的 1.7% 區域省 8.2 倍 MACs、SVDQuant 把 FLUX 壓到 4-bit)、多卡分攤(DistriFusion 8 張 A100 最多快 6.1 倍)。
GPT-3 的 fp16 權重就要 350GB,一張 80GB 的 A100 放不下,更別說梯度和 Adam 狀態。L19 講怎麼切:資料平行、ring all-reduce、ZeRO-1/2/3(每張卡能訓練的模型從 5B 推到 320B)、GPipe 把 pipeline 利用率從 25% 提到 57%、Megatron 式 tensor parallelism、Ulysses 與 Ring Attention 的 sequence parallelism。L20 講切完之後的通訊瓶頸:Alpa 自動搜平行策略、DGC 把梯度壓 277–608 倍還不掉精度、TernGrad 把梯度量化成三值,以及用延遲更新蓋掉網路延遲的 DGA。
第 16 講談 ViT:高解析度下 attention 成本隨解析度平方成長,window attention(Swin)把計算限制在局部視窗,EfficientViT 用 ReLU linear attention 把複雜度降到線性再補回局部與多尺度能力,SparseViT 剪掉不重要的視窗;自監督(對比學習、CLIP、MAE)解決 ViT 需要大量標註的問題;最後 HART 用離散 token 加殘差 diffusion,比 diffusion 模型高出數倍吞吐量。第 17 講針對三種冗餘:GAN 的 2D 空間冗餘(GAN Compression、AnyCost GAN、DiffAugment)、影片的時間冗餘(TSM 零 FLOPs 的時間建模)、點雲的 3D 稀疏(PVCNN、SPVCNN、BEVFusion)。Fall 2026 排程已拿掉第 17 講。
這篇是 Fall 2026 的材料,不屬於本系列主幹的 Fall 2024。Fall 2026 把 Lab 1 從剪枝換成「Efficient AI Fundamentals」(lab1_gpu_basics.zip):Part 1 手刻三層迴圈的 GEMM、算 MAC/FLOPs/I/O;Part 2 畫 GEMM 與 GEMV 的 roofline;Part 3 拿 gemma-3-270m-it 的 decoder layer 算 attention 與 MLP,比較 prefill 與 decode;Part 4 用 PyTorch Profiler 看 kernel、自己寫 GeLU 體會 kernel fusion、再試 torch.compile 與 CUDA Graph;Part 5 比較 SDPA 與 FlashAttention。主題 80 分,另有 20 分 bonus,Part 5 因為 Colab T4 跑不動整段改成 bonus。
MIT 6.5940 Fall 2024 第 9 講分五段:知識蒸餾(KD)的定義與 temperature、六種可以對齊的東西(logits、權重、特徵、梯度、稀疏模式、關係)、不需要固定大老師的 self/online 蒸餾、偵測/分割/GAN/NLP/LLM 上的 KD,以及專為小模型設計的 Network Augmentation。溫度從 T=1 調到 T=10,老師對「貓 vs 狗」的輸出從 0.982/0.017 變成 0.599/0.401,這一步就是 KD 能傳遞「暗知識」的起點。
MIT 6.5940 Fall 2024 的 Lab 1 是一本 Colab notebook,9 題共 100 分:前 5 題在 CIFAR-10 的 VGG 上做 magnitude-based 細粒度剪枝與 sensitivity scan,要求剪到原大小 25% 且 fine-tune 後準確率高於 92.5%;第 6–8 題做 channel pruning、用 Frobenius norm 排序 channel、量測實際加速;第 9 題比較兩者。Fall 2026 沒有 pruning lab。
Lab 2 是一份 Colab notebook,10 題共 100 分,對象是 CIFAR-10 上預訓練好的 VGG。前 3 題做 K-means 量化:寫量化函數、推算 n bit 有幾個 cluster、寫 centroid 更新,再看 8/4/2 bit 微調前後的準確率。後 7 題做線性量化:寫 q = round(r/S) + Z、推 scale 與 zero point 公式、做 per-channel 權重量化與 bias 量化、寫整數版的全連接層與卷積層,最後把整個模型轉成 INT8 跑推論。本文整理題目、配分、環境需求與校外限制,不附解答。
MIT 6.5940 Fall 2024 Lab 3 給你一個 OFA 方式訓練好的 MCUNetV2 super network(超過 10^19 個子網路)與 Visual Wake Words 資料集,10 題共 100 分加 10 分 bonus:先實作 MACs/peak memory 的 efficiency predictor 與三層 MLP accuracy predictor,再寫 random search 與 evolutionary search,最後在 250KB、60M MACs 的限制下找出準確度 92.5% 以上的子網路。本篇拆題目結構與每題在練什麼,不貼解答。
Lab 4 是 Colab notebook,用 OPT-1.3B 一步步重做 AWQ:先看 3-bit 量化後 perplexity 變多差,再保留 1% 重要 channel(Q1),最後改用縮放保護它們並搜尋最佳縮放(Q2),兩題各 50 分,另有依 perplexity 計分的 bonus。Lab 5 換到 C++:用 TinyChatEngine 在自己的電腦上跑 4-bit 的 LLaMA2-7B-chat,替 W4A8 線性層 kernel 依序寫 loop unrolling、multithreading、SIMD、multithreading+unrolling、全部組合五個版本,每個 20 分,另有最多 20 分的效能 bonus。本文整理兩份作業的題目、配分、環境與校外限制,不附解答。
第 13 講把 LLM 推論變快的方法分成三條路。量化:SmoothQuant 把 activation 的離群值難度搬到權重做 W8A8,AWQ 依 activation 找出約 1% 的重要權重、用縮放保護它們做 W4A16,QServe 再合成 W4A8KV4。稀疏:Wanda 用 |W|·‖X‖ 剪權重,DejaVu 與 MoE 每個 token 只用一部分參數,SpAtten 與 H2O 丟掉不重要的 token。Serving:TTFT/TPOT 指標、PagedAttention、FlashAttention、speculative decoding 與 continuous batching。投影片上 OPT-6.7B 做 INT3 時,RTN 的 perplexity 是 43.16,把重要 channel 放大 2 倍就降到 14.07。
第 14 講分三段。第一段是微調:SFT 用想要的回答做 next-token prediction,RLHF 先訓 reward model 再用帶 KL 懲罰的 RL 微調,DPO 把兩階段壓成一次監督式訓練;接著一路比較 PEFT:BitFit 只調 bias、Adapter 插小層但推論變慢、Prompt/Prefix-Tuning 佔用輸入長度,LoRA 用可併回權重的低秩分支解決推論延遲,QLoRA 再把主幹量化成 NF4,BitDelta 把微調差值壓到 1 bit。第二段是多模態 LLM:Flamingo 用 cross-attention、PaLM-E 與 VILA 把影像當 token、VILA-U 讓模型也能輸出影像。第三段是 prompt engineering:zero/few-shot、CoT 與 RAG。
第 15 講分四段。延長上下文:RoPE 內插可以把 LLaMA 從 2k 拉到 32k,LongLoRA 用 shifted sparse attention 讓長上下文微調變便宜。評估:lost-in-the-middle、Needle-in-a-Haystack 與 LongBench。高效 attention:KV cache 隨長度線性長大,StreamingLLM 發現開頭幾個 token 是 attention sink,保留它們加上最近視窗就能穩定生成;DuoAttention 只讓少數 retrieval head 保留完整 KV cache;Quest 保留全部 KV、依 query 只讀最關鍵的幾頁。最後一段跳出 Transformer:Mamba 用選擇性 SSM 取代 attention,Jamba 把兩者混在一起。
MCU 的 SRAM 約 256–320kB、Flash 約 1MB,比手機小上萬倍,連 int8 的 MobileNetV2 峰值記憶體都超出 5 倍。L10 的答案是 MCUNet:TinyNAS 先挑搜尋空間再搜子網路,MCUNetV2 用 patch-based inference 把 MobileNetV2 的峰值 SRAM 從 1372kB 壓到 172kB,最後看視覺、語音、異常偵測三類 tinyML 應用。
MIT 6.5940 Fall 2024 第 8 講處理 NAS 最貴的一步:評估候選架構。從頭訓練 12,800 個架構要 22,400 GPU-hours,所以課程依序介紹繼承權重、hypernetwork、ProxylessNAS 的單路徑訓練、延遲查表與預測器、Once-for-All 的一次訓練 10^19 個子網路,再到完全不訓練的 zero-shot NAS 與神經網路/加速器共同搜尋 NAAS。本篇照 105 頁投影片走一遍,標出每個主張的頁碼。
第 7 講分三段。先用 MAC 公式複習全連接、卷積、分組卷積、depthwise 與 1×1 卷積;再拆 ResNet bottleneck、ResNeXt、MobileNet、MobileNetV2、ShuffleNet 與 Transformer 各靠什麼省運算,例如 bottleneck 比直接做 2048 通道的 3×3 卷積少 8.5 倍 MAC。最後進入 NAS:搜尋空間分 cell-level 與 network-level(深度、解析度、寬度、kernel size、拓撲),搜尋策略有 grid、random、強化學習、梯度下降、演化五種。投影片的一道算術題顯示,NASNet 的 cell 空間在 M=5、N=2、B=5 時就有 3.2×10¹¹ 個候選。
在裝置上訓練有兩個理由:模型要跟著使用者的新資料調整,資料又不該離開裝置。L21 先證明「只分享梯度」也不安全:Deep Leakage from Gradients 能從梯度還原出原圖和原句。接著處理記憶體:訓練比推論貴,是因為要存 activation,不是參數。TinyTL 只調 bias 再加輕量殘差,省 6.5 倍記憶體;SparseBP 只更新重要的層與通道;QAS 讓真正的 int8 訓練追上 fp32;PockEngine 在編譯期做完 autodiff,最後在 256KB 的 MCU 上把訓練記憶體壓到 141KB。
Pruning 是把神經網路裡不重要的權重或神經元拿掉,目標寫成「在非零權重數不超過 N 的限制下讓 loss 最小」。6.5940 第 3 講先處理其中兩個決定。第一是粒度:從任意位置都能剪的 fine-grained,到整個通道一起剪的 channel pruning,越規則越容易在現有硬體上變快,但能剪掉的比例越小;介於中間的 2:4 sparsity 在 NVIDIA Ampere GPU 上最多快 2 倍。第二是準則:看權重大小、看 Batch Norm 縮放係數、看二階導數、看 activation 有多少是零,或看剪完後輸出重建得多好。
MIT 6.5940 第 4 講把剪枝的後半段講完:用敏感度分析、AMC(強化學習)或 NetAdapt(逐步查表)決定每層剪多少;用 1/10 到 1/100 的學習率 fine-tune、迭代剪枝把 AlexNet 的剪枝倍數從 5 倍推到 9 倍;最後看 EIE、NVIDIA 2:4 稀疏與 TorchSparse/PointAcc,說明稀疏要有系統支援才會變快。
MIT 6.5940 第 5 講從「8-bit 整數加法比 32-bit 浮點加法省 30 倍能量」出發,先複習 INT、定點數、FP32/FP16/BF16、FP8 與 FP4 的位元配置,再講兩種量化:K-means 量化只省儲存、計算仍是浮點;線性量化用 r = S(q − Z) 把矩陣乘法、全連接層與卷積都改成整數運算。
第 6 講處理「量化後精度掉了怎麼辦」。先不重訓:換更細的 scale 粒度(per-channel、group、MX)、裁掉離群值(EMA、校準批次、MSE、KL)、改捨入方式(AdaRound)。不夠再重訓:QAT 保留一份全精度權重,前向做假量化,反向靠 STE 把梯度直接穿過去。投影片引用的白皮書數字裡,MobileNetV1 做 per-tensor INT8 PTQ 準確率掉到 0.1%,改成 per-channel QAT 回到 70.7%,浮點原本是 70.9%。最後兩段談 1–2 bit 的二值/三值網路,以及用強化學習自動分配每層位元數的 HAQ。
演算法把模型縮小之後,系統層還能再榨多少?L11 用同一個矩陣乘法示範:loop reordering 快 12 倍、tiling 快 19 倍(Intel Xeon 4114),CUDA 版在 2080Ti 上端到端快 94 倍。後半講 TinyEngine 用的推論技巧:im2col、in-place depthwise 把峰值記憶體從 2×C×H×W 降到 (1+C)×H×W、pointwise 用 NHWC、depthwise 用 NCHW,以及少 2.25 倍乘法的 Winograd。
6.5940 在第 12 講從 CNN 轉到 Transformer,但重點不在原理,而在哪裡會吃掉記憶體與算力:attention 是 O(N²);Llama-2-70B 若用 MHA,batch 16、長度 4096 的 KV cache 要 160GB;GQA 把它縮 8 倍、MQA 縮 64 倍;MoE 讓總參數變多但每個 token 的計算不變。這篇是進入 L13 LLM 部署前的橋接。
MIT 6.S184 是 IAP(1 月獨立活動期)的短課:5 講(第 3 講拆成 3-A、3-B 兩支錄影)、3 個 lab,加上一份 84 頁、官方稱為「課程骨幹」的講義。講義、slides、6 支錄影、lab notebook 與官方解答全部公開,是 A3 足以自學。缺的只有兩塊:lab 繳交走 Canvas 裡的 Gradescope,只有 MIT 修課生能用;第 5 講離散擴散沒有對應 lab。
MIT 6.S184 Lab 1 分三部分:先寫 Euler 和 Euler–Maruyama 的 step 函式,再用它們模擬 Brownian motion 與 Ornstein–Uhlenbeck 過程,觀察 σ 和 θ 怎麼決定軌跡與終點分佈,最後實作 Langevin dynamics,看一團點怎麼被推向一個五峰高斯混合,並用一段手算證明 OU 過程就是目標為高斯的 Langevin dynamics。題目、程式框架與官方解答都在 GitHub;校外讀者沒有 Gradescope 評分,只能自己對解答。
Lab 2 把講義 §3–4 寫成 PyTorch:先實作高斯條件路徑、條件向量場、條件分數,再用兩個幾乎一樣的 trainer 分別做 flow matching 和 score matching,接著用 Proposition 1 從學到的向量場換算出分數,最後換成線性路徑,讓一個圓環分佈流成棋盤格。全部在 2D 玩具資料上跑。README 記載 1/11/26 修過一個 diffusion coefficient 的 bug;2026-09-30 查看時,這個修正只出現在解答 notebook,學生版還沒改,做之前要自己補上。
Lab 3 在 MNIST 上從零組出一個有條件的 latent diffusion model,分四段:先用 label dropout 寫 CFG 訓練(在三群高斯混合上驗證),再一塊一塊寫 diffusion transformer(Fourier 時間嵌入、patchify、多頭注意力、adaLN-Zero、depatchify),接著寫一個 VAE,最後把 DiT 搬進 VAE 的 latent 空間訓練。題目與官方解答都公開;繳交走 Canvas 裡的 Gradescope,只有 MIT 修課生能用。
MIT 6.S184 第 1 講先把「生成一張狗的圖」改寫成「從資料分佈取樣」,再給出取樣的機器:從高斯雜訊出發,沿著神經網路給的向量場模擬一條 ODE(flow model),或在每一步再加一點 Brownian motion 的雜訊,變成 SDE(diffusion model)。實際模擬各用一個最簡單的數值方法:Euler 和 Euler–Maruyama。怎麼訓練那個向量場,留到第 2 講。
我們想學的是「邊際向量場」:沿著它跑 ODE,雜訊會流成資料。問題是它要對整個資料集積分,算不出來。Flow matching 的解法是改成回歸「條件向量場」,也就是只把雜訊推向單一資料點的那個場,這個有公式。講義 Theorem 12 證明兩個 loss 只差一個常數、梯度相同。落到 CondOT 路徑上,訓練只剩一行:取資料 z、雜訊 ε、時間 t,讓網路在 tz+(1−t)ε 這個點預測 z−ε。
分數函數是 log 密度的梯度,指向機率上升最快的方向。在高斯路徑上,它和上一講的向量場都是 x 與 z 的線性函數,所以可以互相換算(講義 Proposition 1):學會一個,就等於學會另一個。有了分數,就能在 ODE 上加任意強度的雜訊變成 SDE,而且每個時刻的分佈不變(Theorem 17)。分數本身也能用跟 flow matching 同一招學:回歸條件分數。這在高斯路徑上等於讓網路預測當初加進去的雜訊,也就是 DDPM 的訓練目標。
把 prompt 當成神經網路的額外輸入,理論上就能從 p_data(x|y) 取樣,但實際生成的圖不夠貼 prompt。第 3B 講用 Bayes 定理把有條件向量場拆成「無條件向量場+一個分類器梯度」,把分類器那項放大 w 倍就是 classifier guidance;再把分類器換成「有條件減無條件」的差,就得到不用訓練分類器的 CFG:ũ = (1−w)·u(x|∅) + w·u(x|y)。訓練只要以機率 η 把標籤換成空標籤 ∅。代價是每一步要呼叫網路兩次,而且 w>1 之後就不再是從資料分佈取樣。
前幾講的演算法已經完整,第 4 講處理規模化時的兩個工程問題。第一,網路要吃圖片、時間 t 和 prompt 三種輸入,吐出一樣大的向量場,所以用 U-Net 或 diffusion transformer(DiT),時間用 Fourier 特徵嵌入、文字用凍結的 CLIP/T5 嵌入。第二,像素空間太大,所以先訓練一個 VAE 把圖壓進 latent space,在那裡做 flow matching,最後再解碼。Stable Diffusion 3 與 Meta Movie Gen Video 都是這套配方:latent 空間裡的 flow matching+DiT 變體+CFG。
文字是一串離散 token,沒有方向可以走,ODE 和 SDE 都不存在。第 5 講把前四講的配方原封不動搬過來,只換掉底層的隨機過程:向量場換成 rate matrix,ODE 換成連續時間馬可夫鏈(CTMC),continuity equation 換成 Kolmogorov forward equation。用 factorized mixture path 當機率路徑時,要學的邊際 rate matrix 只剩一個未知數:給定加噪句子,每個位置原本是哪個 token 的機率。於是訓練離散擴散模型變成對每個位置做分類,loss 就是 cross-entropy;把雜訊設成全部 [mask],就得到 masked diffusion language model。
第一講前半說明課程規則與閃電秀,中段回答「為什麼要學原理」:蔡炎龍把學 AI 的焦慮拆成三種,主張懂原理才知道模型的限制、不必追著每個新工具跑。後半是 Colab 入門,從魔術指令、四行標準套件、plt.plot 到 Markdown 與 ipywidgets 互動。第一份作業是在 Colab 畫一個函數圖形;長庚衛星班的評分標準裡,照改範例只拿 6 分,沒教過的函數加上漂亮的 Markdown 註解才拿 10 分。
第二講把上一講的「呆萌型 AI 機器人」拆開:輸入輸出都要變成數字(張量),分類問題用 one-hot 與 softmax 把分數變成機率,神經網路由神經元一層層接起來,訓練就是用梯度下降把 loss 壓小。最後用 Keras 在 MNIST 上打造第一個全連結神經網路,再接上 Gradio 畫板。第二週作業要你自己設計 DNN,唯一的硬規定是不能是三層;長庚衛星班要求截圖驗證正確率最高的那組參數,也鼓勵保留失敗的嘗試。
同一句「一個可愛的女孩」有無數種正確答案,硬把它當函數訓練,只會學到所有答案的平均。GAN 的解法是改訓練兩個網路:生成器 G 從隨機 latent 向量造圖,鑑別器 D 判真假,兩邊互相對抗。L03 從 2014 年的原始論文一路講到 WGAN、Progressive GAN、StyleGAN 的 512 維 latent 與 AdaIN,再到 Pix2Pix、CycleGAN;後半的附錄把 cross entropy 與 KL divergence 講成「驚訝指數」。第三週作業二選一:實際跑一個 GAN,或用自己的話解釋 CE 與 KL。
L04 把大型語言模型拆成一句話:看前面的字,替字庫裡每個字打分數,softmax 變成機率,再依機率抽出下一個字。為了讓「前面的字」變成記憶,課程先講 RNN,再第一次帶出 Transformer 的 Q/K/V;接著用 GPT-2 的 15 億、GPT-3 的 1,750 億參數說明規模,用 temperature 與 top-p 說明為什麼每次回答都不一樣。後半教怎麼在自己電腦跑開源模型、要多少 VRAM。第四週作業:自己設計一組你懂的主題的測試 prompts,至少比較兩種 LLM。
L05 用兩條線性代數規則讀完 Transformer:矩陣乘法是「列乘行」的內積,而向量乘矩陣等於對矩陣的列向量做線性組合。有了這兩條,attention 就是「query 跟每個 key 做內積、softmax 成權重、對 value 加權平均」,整批寫成 softmax(QKᵀ/√d_k)V;除以 √d_k 只是把數字拉回 0 附近,避免 softmax 贏者通吃。接著講 multi-head、encoder 與 decoder 的差別、mask、用 sin/cos 時鐘做的位置編碼,最後是 ResNet 式殘差與 layer normalization。本週沒有作業。
L06 前半談倫理:蔡炎龍引用 Karpathy「幻覺是 LLM 的特點」,再逐一談抄襲、資料會不會被拿去訓練、DeepSeek 的審查與語料偏向,最後收在七項「負責任的使用」。後半轉向應用:只要給對「資訊」和「指引」,一段 system 設定就能做出員瑛式思考生成器、小編 AI、選系諮商師。第六週作業就是把這套 prompt 搬進 OpenAI 相容 API 加 Gradio,做一個有人設的對話機器人。
對話機器人會「記得」你,不是因為模型有記憶,而是程式每一輪都把整份 messages(system、user、assistant 交替)重新送一次。L07 先教申請 OpenAI 與 Groq 金鑰,再把這個結構講清楚,接著用 Ollama 在本機或 Colab 跑 Gemma 3,同一套 openai 套件只改 base_url 就能呼叫。第七週作業二選一:做一個能持續對話的版本,或讓兩個模型互相對話,都要用 Gradio 展示。
L06 說 prompt 只有兩件事:正確的資訊和清楚的指引。RAG 就是讓電腦自動去找「資訊」那一段:先把自己的文件切成文字塊,用同一個模型 fθ 把文字塊和問題都變成特徵向量,找出最接近的幾塊,再套進「請根據 {retrieved_chunks} 回答 {question}」的樣板。實作拆成兩支程式:Demo06a 用 LangChain 與 FAISS 建向量資料庫並壓成 faiss_db.zip,Demo06b 讀回資料庫、接 LLM、包成 Gradio。第八週作業就是換上你自己的資料。
L09 把 AI Agent 講成一句話:本來你要做的事,AI 自動幫你做完。蔡炎龍沿用吳恩達的四個設計模式(Reflection、Tool Use、Planning、Multiagent Collaboration),但只實作前後兩個最好上手的:Demo07a 讓「作者」與「評論員」兩個 LLM 呼叫接力改文章,Demo07c 把員瑛式思考拆成「先想五個理由、再寫貼文」的兩階段 CoT,都用 AISuite 串 Groq 並用 Gradio 展示。LangChain、AutoGen、CrewAI 只出現在進階學習清單。第九週作業就是兩種模式二選一。
L10 從「怎麼找到好的特徵向量」出發:Word2Vec 用代理任務學出 embedding,Autoencoder 用「輸入等於輸出」逼出壓縮後的 latent vector,VAE 再要求 latent 符合常態分布,讓鄰近的點生出相似的圖。接著蔡炎龍把 diffusion model 講成「encoder 用算的、只訓練 decoder 的 autoencoder」,最後收在 Latent Diffusion:先用 VAE 把 512×512 的圖壓成 64×64,diffusion 只在這個小空間裡做。第十週作業不寫程式,用 Bing 生出風格一致的多組圖。
L11 把 Stable Diffusion 架構圖上剩下的三塊補齊。CLIP 用「文字和圖越像越好」的對比訓練,讓 prompt 變成 77×768 的 embedding;排程器把 1000 步的加噪壓成二、三十步的去噪,但 Euler a 這類 ancestral 演算法不會收斂,步數加到 100,人物的衣服和座位都會換掉;LoRA 凍結原本的 W,只學拆成 A·B 的 ΔW。實作用 diffusers 載入 SD 1.5 系模型,第十一週作業是自己做一個生圖 Web App。
L11 的 Stable Diffusion 只聽 prompt,構圖、姿勢全看運氣。L12 補上「方向盤」:ControlNet 把 SD 的區塊拷貝一份,用 zero convolution 接回去,讓邊緣圖、姿勢、深度圖這類額外條件也能控制生成,最常見的例子是 Canny 邊緣。後半講 Fooocus:一個目標是「像 Midjourney 一樣簡單」的 SD 介面,重點在 Preset、Style,以及 Input Image 的五個功能,其中 Image Prompt 就是包裝好的 ControlNet。第十二週作業:設想一個應用情境,用 Fooocus 至少生 3 組圖,並寫出創作流程。
前 12 講的模型都靠人準備好的訓練資料。L13 換一個問題:沒有標準答案,只知道做得好不好的時候,電腦要怎麼學?老師從 AlphaGo 和打磚塊講起,分成兩條路:value based 學一個 Q 函數替每個動作打分數(Deep Q-Learning、TD、Experience Replay、ε-greedy),policy based 直接學動作(Policy Gradient、Actor-Critic)。後半回到 LLM:ChatGPT 怎麼用人類排名訓練 reward model,再用 PPO 做 RLHF;DeepSeek 則讓電腦自動判斷數學題對錯當獎勵。第十三週作業是期末專案提案。
最後一講看的是兩條技術線開始互相越界:ChatGPT 這類 LLM 開始畫圖,投影片用 early fusion 和 VQ-VAE/VQGAN 解釋「把圖像切成 token」怎麼做;反過來,Inception Labs 的 Mercury 用 diffusion 生成文字,把一句話加噪成一排 [MASK] 再還原。接著是幾篇人人都用得上的研究:怎麼自動評 RAG、推理模型更容易被劫持、DeepMind 的四種 AI 風險。最後是 Vibe Coding 與一串應用工具,以及用 Gather Town 線上研討會進行的期末專案。
《生成式 AI:文字與圖像生成的原理與實務》是政大應數系蔡炎龍主講、以 TAICA 衛星課程開放給聯盟學校的入門課。網路上最完整的那頁課程網站其實是長庚衛星班(協同教師楊智淵)的頁面。本系列以 Spring 2025(1132)為準:14 支錄影、14 份投影片、12 份作業說明與評分標準都公開,Demo notebook 也在 GitHub 上,存取分級 A3;缺口是 notebook 會持續改版、繳交與批改走各校平台、期末專案成果沒有公開。
清大高宏宇 NLP(Fall 2025)BERT and its Family 單元導讀。起點是「I record the record」:Word2Vec 和 GloVe 給兩個 record 同一個向量。ELMo 用雙向 LSTM 語言模型解決這件事。換成 Transformer 之後,預訓練分成三條路:encoder(BERT:MLM+NSP,擅長理解、不擅長生成)、encoder-decoder(T5 的 span corruption、BART 的五種雜訊)、decoder(GPT:純粹預測下一個字)。最後一段是 GPT-3 的 in-context learning 和 scaling laws,也說明 decoder 為什麼成了現在最主流的骨幹。
清大高宏宇 NLP(Fall 2025)解碼與評估單元導讀。前半講模型每一步吐出機率分布之後怎麼選字:greedy 一步錯就回不去,beam search 同時保留幾條候選但偏好短句,top-k/top-p 用抽樣換多樣性(投影片沒寫,教授在課堂口頭補)。後半講怎麼替生成的文字打分:BLEU 的 modified precision 與 brevity penalty、ROUGE-N 與 ROUGE-L、perplexity,以及 GLUE、SQuAD 2.0、MTEB、MMLU 這些 benchmark 各自在量什麼。
清大高宏宇 NLP(Fall 2025)GPT-2/T5 助教課導讀。同一個任務(LCSTS 中文摘要)用兩種架構各做一次:decoder-only 的 GPT-2 用原生 PyTorch,要自己把文章和摘要接成一條序列、改用 left padding、把 padding 的標籤設成 −100;encoder-decoder 的 mT5 用 Seq2SeqTrainer,不需要 left padding,DataCollatorForSeq2Seq 會自動處理 −100。兩邊都用 jieba 斷詞後算詞級 ROUGE。
高宏宇 Fall 2025 的 W8 投影片從 GPT-1 一路講到 GPT-3,順帶解釋 GPT-3 用的 Sparse Transformer 怎麼省掉注意力的計算,再用 InstructGPT 說明「會接話」和「聽得懂指令」之間差了什麼:最大概似目標分不出編造事實和挑錯同義詞哪個嚴重,所以要多三步——SFT 學人類怎麼寫、reward model 學人類怎麼評分、PPO 依評分調整並用 KL penalty 綁住不要跑太遠。最後以 Llama-2 收尾:分開訓練 safety 和 helpfulness 兩個 reward model、context distillation,以及推論加速用的 GQA。
清大高宏宇 NLP(Fall 2025)Hugging Face BERT 助教課與 HW3 導讀。助教課用 IMDb 影評二元分類走一遍 AutoTokenizer、input_ids/token_type_ids/attention_mask、AutoModelForSequenceClassification 與 Trainer。HW3 把工具拿去做 SemEval 2014 Task 1:同一個 bert-base-uncased 接兩個頭,一個回歸 1–5 分的 relatedness,一個做三類 entailment 分類,兩個 loss 加總後自己寫訓練迴圈,不准用 Trainer。
HW1 拿 Google Analogy 的 19,544 題(8,869 題語意、10,675 題語法)考詞向量:先用 Gensim 載入預訓練的 glove-wiki-gigaword-100 作答,再從助教清理好的 Wikipedia 抽 20% 文章自己訓練 Word2Vec,兩邊都畫 family 子類的 t-SNE。七個 TODO 共 55%,報告 45%;Fall 2026 的 TODO 和 2025 相同,只是改成繳交含執行結果的 .ipynb。
清大高宏宇 NLP 課第一週的 W1_NLP_brief 共 91 頁:先用「Watch for kids」、望遠鏡句的五種讀法、大舅到十一舅的繞口令說明語言為什麼難,再從資訊檢索的角度,把倒排索引、tokenization、stemming、TF-IDF、BM25 講成一條管線。後半段處理這條管線的死穴(同義詞、一詞多義、詞彙對不上),走到 LSA 的 SVD 降維,最後用 Skip-gram、GloVe、FastText 預告稠密詞向量。
清大資工高宏宇老師的《自然語言處理》是 TAICA 聯盟的研究所級主導課程,Syllabus 寫明開放 1200 人、中文授課,從 TF-IDF、詞向量一路講到 RLHF、PEFT 與 RAG。Fall 2025 的投影片、32 支課堂錄影、4 份作業題目與 starter notebook 都放在 GitHub,評為 A3;拿不到的是解答、評分與期末專題規格。Fall 2026 正在進行,只放到 W3,評為 A2;評分改成作業 75%+實體期中考 25%,並新增 Reasoning/Agent 單元。
這堂 34 頁的助教課回答一個很實際的問題:拿 ChatGPT 網頁版一筆一筆貼資料太慢,還會碰到每小時次數上限,所以做研究和作業要改用 API。notebook 用同一個 SemEval 2014 蘊含判斷例子,依序示範 Gemini、Claude、OpenAI 三家:把 prompt 放進 prompts.yaml、要求 JSON 輸出、few-shot、計算 token。要注意教材是 2024 年版:投影片封面寫 2024/11/21,notebook 用的是 gemini-1.5-pro、gpt-4o、claude-3-5-sonnet-20241022,其中 Claude 那個型號在 2025-10-28 已經退役,Gemini 的舊 SDK 也在 2025-11-30 結束支援。
高宏宇 Fall 2025 的 PEFT 投影片先算一筆帳:Llama 2-7B 用 16-bit 全參數微調約要 56GB 顯示卡記憶體,只訓練 0.2M 個參數就降到約 17GB,因為梯度和優化器狀態幾乎歸零。接著用 intrinsic dimensionality 解釋為什麼只調一小撮參數就夠:預訓練越久、模型越大,微調需要的有效維度越低。方法分成加參數(Adapters、Prompt Tuning)、挑參數(BitFit)、重參數化(LoRA)與混合(MAM Adapters、S4)四類;後半段從 GPT-2 的任務描述、verbalizer 一路講到 prefix tuning 和 soft prompt tuning 的取捨。
HW2 把「14*(43+20)=882」這種算式當成字元序列,要你用兩層 LSTM 看到「=」之後逐字生成答案。訓練集 2,369,250 筆、驗證集 263,250 筆,數字都在 0–49 之間;六個 TODO 從建字典、只在「=」之後算 loss 的 batching、生成函式,一路到 teacher forcing 訓練與 exact match 評估。W4 的 PyTorch 助教課就是這份作業的工具箱。
兩堂 RAG 助教課各做一個版本:第一堂在 Colab 裝 Ollama 跑 llama3.2:1b,用 LangChain 的 Chroma、MMR 和 retrieval chain 串出最小的 RAG;第二堂只在資料準備用 LangChain,其餘自己寫:切塊、存文字與向量資料庫、BM25 加 cosine 的混合檢索、用 RRF 合併排名,再拿 Llama-3.2-1B-Instruct 生成答案。HW4 把第一堂的骨架套到 150 則貓咪冷知識和 150 組 GPT-5 生成的問答上,生成器限定 Llama3.2-1b、embedding 限定 jina-embeddings-v2-base-en,要回報 recall@1、recall@5 與 exact match。程式占 45%,報告占 55%,報告要分析 prompt、資料格式、文件順序與反事實資訊的影響。
W11_RAG.pdf 的後半從「From Retrievers to QA」那一頁開始,把檢索器和讀者(reader)接成完整的問答系統。先看 2019–2020 年用 BERT 當讀者的 ORQA 與 REALM,再看第一篇叫 RAG 的論文和凍結 LLM 的 REPLUG;接著用一張表整理七個近年修法:改寫查詢(Query Rewriting、HyDE)、讓生成器不怕雜訊(RetRobust、RAFT、RAAT)、決定何時檢索(FLARE、Self-RAG)。最後談雜訊的類型、LLM 在 RAG 裡該有的四種能力,以及生成式檢索(GR)與可靠回應生成(RRG)。錄影方面,W11 週四那支講到 RAG 論文為止,後面的頁數本文找不到對應的錄影片段。
LLM 會一本正經地回答「歐本海默生於 1967 年」(那其實是他過世的年份),RAG 的做法是先檢索、再生成。高宏宇 Fall 2025 的 RAG 投影片前 60 頁都在講「怎麼找對資料」:稀疏向量(詞袋、TF-IDF、BM25)便宜可靠,稠密向量抓得到同義改寫;BERT 的 [CLS] 不適合直接當句向量,所以有 Sentence-BERT 的 pooling 和 bi-encoder;cross-encoder 準但一萬句要跑近五千萬次,bi-encoder 只要兩萬次;SimCSE 拿 dropout 當資料增強,DPR 只用一千筆訓練資料就贏過 BM25,GTR 則證明把 dual encoder 放大能改善跨領域檢索。
「Look over there」是 3 個 token,中文「請看那邊」是 4 個,日文是 12 個——輸出長度跟輸入對不上,分類器那套「最後接一層 FFN」就不能用。這份 33 頁的投影片從 encoder-decoder 講起,推到 RNN 的梯度消失、LSTM 的三個閘門,最後用 attention 同時解決長距離與平行化兩個問題,並解釋為什麼要除以 √d。
清大高宏宇 NLP(Fall 2025)Sub-word Tokenization 單元導讀。用空白切詞只適用於西方語言,也處理不了沒看過的詞和德文那種複合字。BPE 從字元出發,反覆把最常一起出現的一對合併進詞彙表,合併幾次就多幾個詞;缺點是貪婪切法不一定最好。Unigram LM 改用機率挑切法,還能抽樣出不同切法。投影片給的詞彙量是 BERT 30522、GPT-2/GPT-3 50257、T5 32,128。
Fall 2025 第 14 週,高宏宇用兩份投影片收尾:Course_summary 把整學期分成 NLP Fundamentals、NLP Models、NLP Advances 三欄,外加助教課兩欄與五個延伸方向;另一份是他整理的 Denny Zhou(Google DeepMind)2025 年 4 月 Stanford 演講筆記,主張「預訓練模型本來就能推理,關鍵在解碼」,並用 CoT decoding、self-consistency、retrieval + reasoning 串成四條不等式。Fall 2026 的 W16「Reasoning / Agent」單元尚未公開。
Fall 2025 的評分是作業 70%+期末專題 30%,專題 3–4 人一組,分成 Proposal 6%、Progress 6%、Poster 6%、Report 12%,不提供 GPU;repo 沒有專題規格文件,只有 Syllabus 的結構、期末提醒與 W15–W16 的錄影。Fall 2026 改成作業 75%(4 份)+W14 實體期中考 25%,課表拿掉報告週,新增 Reasoning/Agent 單元,並加入 AI-TA 協助批改與 TAICA 算力補助。改版原因,官方材料沒有寫。
清大高宏宇 NLP(Fall 2025)Transformer 單元導讀。投影片從 RNN 的兩個毛病出發:字跟字的互動要隔著 O(N) 步傳遞,時間步之間又不能平行。Self-attention 讓每個字直接看所有字,用矩陣乘法一次算完,兩個毛病同時解掉;代價是模型分不出詞序,所以要補正弦位置編碼。之後依序組出 multi-head attention、Add & Norm、feed forward、cross-attention、masked attention 與 teacher forcing,最後用 GPT-2、ViT 與四種變體說明這個架構後來走多遠。
清大高宏宇 NLP 課第二週的投影片共 62 頁,主題是「預測下一個字」。前半用 bigram 計數表、add-one smoothing 和 perplexity 講統計語言模型,再用 PPMI 的 cherry/digital 例子講稀疏向量;中段回到 Word2Vec 的負採樣,並用「蘋果」一詞說明為什麼需要 contextualized embedding;後半從 FFN 的三個缺點引出 RNN,示範它怎麼做 NER、句子分類,以及 stacked 與雙向版本。
RNN 做翻譯時,要把整句壓進一個向量,句子一長就記不住。Attention 讓解碼器每產生一個字,都回頭對輸入的每個位置打分數、取加權和;把打分數的一方叫 query、被比對的叫 key、被加權的叫 value,就是 dot-product attention。Transformer 再往前一步:讓輸入自己對自己做 attention,完全拿掉 recurrence,換來平行化與固定的路徑長度,代價是要另外補上位置資訊。
靜態詞向量給 apple 只有一個向量,不管它是水果還是公司。ADL Fall 2025 的 BERT 講從這個多義詞問題出發:TagLM 先用語言模型補上下文,ELMo 用深層雙向 LSTM 產生 contextual embedding,BERT 把 LSTM 換成 Transformer,並用 Masked LM 與 Next Sentence Prediction 兩個目標預訓練,下游只要在最上層加分類器或標註器微調。彈性補充的 BERT Variants 講義再往外走一圈:Transformer-XL 拉長 context、XLNet 用 permutation LM 兼顧 AR 與 AE、RoBERTa 靠更多資料與更好的訓練設定、SpanBERT 改成遮整段 span、mBERT 與 XLM 處理多語。這篇是下一篇 HW1 用 bert-base-chinese 做抽取式 QA 的直接前置。
資料很多不代表標註很多。ADL 最後一講問:沒有標註時,怎麼學到好的表示?答案是找出背後控制資料的潛在因子。Auto-encoder 把輸入壓成一段短碼再還原;denoising 版本先加雜訊或遮掉 15% 的 token,BERT 的 masked LM 就是這個想法。VAE 規定短碼要服從一個分布,於是能從分布抽樣來生成。Dual learning 讓翻譯與反向翻譯、理解與生成這類對稱任務互相當對方的回饋。自監督學習分兩派:自我預測(遮一部分猜回來)與對比學習(相似的拉近、不相似的推遠)。CLIP 用 4 億組圖文對做對比學習,讓影像分類可以 zero-shot;DALL·E 2 再把 CLIP 的表示拿來生成圖。Fall 2025 只有影片,投影片用 Fall 2024 版補位。
對話系統分成閒聊與任務型兩支。任務型系統傳統上拆成四個模組:語言理解(LU)把句子變成 domain/intent/slot,對話狀態追蹤(DST)累積使用者目標,對話策略決定下一步系統動作,NLG 把動作寫回句子。LLM 能自己把四步演完,卻沒辦法真的去訂位,所以要接外部工具:LaMDA 學會呼叫搜尋、計算機與翻譯器,BlenderBot 2.0 加上網路搜尋與長期記憶,WebGPT 用人類示範、reward model 與 PPO 學會操作瀏覽器,Toolformer 則讓模型自己產生並篩選工具使用的訓練資料。最後是對話怎麼評:自動指標、四種人工評估,以及 LLM-Eval。ADL Fall 2025 只有影片,投影片用 Fall 2024 版補位。
台大資工陳縕儂的《深度學習之應用》(ADL)Fall 2025 是一門以 NLP 為主軸的深度學習課:從神經網路基礎一路講到 Transformer、BERT、預訓練與 prompt、後訓練、LoRA、RAG、生成評估、對齊議題與 Language Agents。L0–L11 有講義 PDF 與分段影片,播放清單另外多出 L12–L14 三講影片;作業端只有 HW1 規格公開,HW2、HW3 與期末專題只有說明影片,所以存取分級是 A2。
ADL Fall 2025 第 10 講把預訓練模型的問題分成四組,每組配一個目標:bias 對 fairness、toxicity 對 safety、hallucination 對 factuality,最後是 alignment。講義的主張是偏見可能從 ML 管線任何一個環節進來,安全防護要在資料、輸入、訓練、輸出四層都做,幻覺可以拆成原子事實逐條查,而 reward model 被過度優化時,會出現囉嗦、過度道歉、過度拒答這些熟悉的症狀。同一週公布的期末專題叫 Jailbreaking Olympics,但公開的只有兩支說明影片的標題與一行說明。
ADL Fall 2025 的 HW1 給一個問題和四段中文文字,要模型先挑出相關的那一段(paragraph selection,當成四選一的 multiple choice),再在那段裡標出答案的起點和終點(span selection),用 Exact Match 評分。規格投影片直接指定改 HuggingFace 的 run_swag_no_trainer.py 與 run_qa_no_trainer.py,simple baseline 用 bert-base-chinese、長度 512、有效 batch size 2、learning rate 3e-5,在 8GB 的 RTX 3070 上兩段加起來不到三小時。Kaggle 排行榜 9/29 截止、程式與報告 10/1 交到 NTU COOL。校外讀者拿不到 Kaggle 資料與評分,但任務設計、baseline 設定和報告五題都能照著練。
ADL Fall 2025 第 11 講以 EMNLP 2024 的 Language Agents tutorial 為底,把 agent 定義成「感知環境並採取行動的實體」,再指出 language agent 的新東西:推理本身也是一種內部行動。講義用推理、記憶、規劃三個概念組織整講,推理這段講 CoT 與 ReAct,記憶這段講 Generative Agents 的 recency/importance/relevance 檢索,規劃這段從貪婪的反應式規劃講到 tree search 與 world model,最後用初始化、協作、團隊優化三步驟講多代理系統。
ADL Fall 2025 的第一份自學講義把機器學習講成「從資料裡找一個函數」,把深度學習講成「一條由很多簡單函數串起來、每一站都由機器自己學的生產線」。它用語音與影像說明 deep 和 shallow 的差別,用大數據與 GPU 解釋 2010 年後的突破,再用 universality theorem 追問為什麼要深而不是胖。最後一段最實用:學習任務由輸出領域決定,網路架構要配合輸入領域的性質。
ADL Fall 2025 的 NN Basics 與 Backpropagation 兩份講義,把「訓練一個模型」拆成三個問題:模型是什麼(一層層的神經元,每層是 z = Wa + b 再過非線性)、什麼叫好的函數(loss 越小越好)、怎麼挑出最好的(gradient descent,實務上用 mini-batch SGD)。上百萬個參數的梯度靠 backpropagation 有效率地算:forward pass 存下每層輸出,backward pass 從輸出層往回傳誤差訊號 δ,兩者相乘就是每個權重的梯度。
ADL Fall 2025 第 9 講回答兩個問題:模型每一步給出一個機率分布,要怎麼從裡面挑字?挑出來的句子又要怎麼評?講義先用 teacher forcing 與 exposure bias 說明訓練和生成的落差,再依序比較 greedy、beam search、sampling、top-k 與 nucleus sampling,把 temperature 與各種 penalty 歸類為「控制」而不是解碼演算法;評估一半講 BLEU、ROUGE、perplexity 與 LLM-Eval,另一半講為什麼要用 RL 直接優化整句的品質。
LLM 大到整個微調不划算時,ADL Fall 2025 的 LLM Adaptation 講義給出三種只改一小部分的做法:在 Transformer 裡插入小型 Adapter、用低秩矩陣表示權重更新的 LoRA,以及只學前綴或軟提示的 prompt tuning。講義的結論是沒有一種方法適合所有任務。HW2 的公開資訊只有一句題目「LLM Tuning and Prompt Tuning for Classical Chinese Translation」,資料、baseline 與評分都沒有文字版。
預訓練讓模型會接話,不代表它會照指令做事。ADL Fall 2025 的 Post-Training 講義分兩步補上:先用 instruction tuning(FLAN、T0)教模型讀懂任務描述,再用 RLHF 讓它朝人類偏好靠攏。講義用 instruction tuning 的三個限制把兩步接起來,用 reward model 與成對比較解決 RL 的兩個實務問題,最後以 InstructGPT 的 SFT → reward model → PPO 三步驟當總結,並說明 ChatGPT 把同一套流程搬到多輪對話。
ADL Fall 2025 第 6 講把預訓練模型分成三類:encoder(BERT 家族,雙向上下文)、decoder(GPT 系列,擅長生成)、encoder-decoder(BART、T5,用去噪目標預訓練)。接著點出預訓練模型時代的兩個實際難關:下游標註資料少,以及模型越來越大、每個任務各存一份放不下。講義的解法是 prompt learning:先用 GPT-3 的 in-context learning 說明「不更新參數也能做任務」,再從人寫的 hard prompt(prompt template+verbalizer、LM-BFF)走到直接優化向量的 soft prompt(P-Tuning、Prefix-Tuning、Prompt Tuning),最後用 Liu 等人的 prompting 分類法收尾。
LLM 記不住長尾知識、知識會過時,也碰不到私有文件。ADL Fall 2025 的 RAG 講義先用「問 LLM 陳縕儂是誰」的幻覺例子開場,再把 RAG 拆成索引、檢索、生成三段:sparse(TF-IDF、BM25)與 dense(DPR、Contriever)檢索、dense retriever 怎麼訓練、pre-/post-retrieval 的進階技巧與 pointwise/pairwise 重排序,最後用「檢索什麼、怎麼用、何時檢索」三個問題整理 RAG、RETRO、FLARE、Search-R1 等演進。HW3 的公開資訊只有題目「Retriever & Reranker Training for RAG」。
ADL Fall 2025 的 Reasoning 一講沒有公開投影片,只有播放清單上的五支影片:12.1 什麼是推理、12.2 Short CoT、12.3 Test-Time Scaling、12.4 Learning to Reason(模仿別人推理)、12.5 RL for Reasoning(探索自行演化出推理行為)。這篇只依影片標題排出這條路線,再搭配前一講 Language Agents 講義裡 CoT、ReAct 與「reasoning 擴大 action space」那幾頁;技術細節交給站內 CS224N、CME295 的 reasoning 篇。
ADL Fall 2025 第一堂正課的主線只有一條:語言模型就是預測下一個詞。從 one-hot 與共現矩陣出發,走過 n-gram 的零機率問題、neural LM 自動做到的平滑,再到把所有前文壓進 hidden state 的 RNN LM。BPTT 與梯度消失/爆炸是訓練上的代價,LSTM、GRU 用 gating 補救;最後用「輸入是序列」與「輸出是序列」兩類應用,把 tagging 與 encoder-decoder 分開。
ADL Fall 2025 課程頁排了 7 堂助教課:Dev Infra(PyTorch、Debugging)→ NLP 專案的一生 → NLP 專案的底層邏輯 → LLM LoRA Training → LLM Basics/Architecture/MoE → LLM Inference & Evaluation → LLM Deployment。10 支影片全部是林彥廷在 2023 與 2024 年錄的舊片,Fall 2025 沿用;課程頁上的 5 份講義連結都 404,同名檔在 Fall 2024 路徑可以打開,Deployment 只有影片。前三堂把 Hugging Face 的「資料→模型→Demo」流程走一遍,正好是 HW1 需要的工具;後四堂補 LLM 的訓練、推論與上線。
用整個詞當單位,沒看過的詞只能變成 UNK;用單一字元當單位,意思又很難組回來。ADL 這一講用 22 頁投影片說明主流的折衷:subword,以及最常用的切法 BPE。重點是一個 4 個詞、16 次出現的小語料,從字元開始,每次把最常相鄰的一對合併,9 次合併後得到 newest</w>、low</w> 這些單位,再拿來切沒看過的 lowest 與 powest。最後用 GPT-3 tokenizer 示範:同一句話的中文版比英文版多一倍 token。
技法第 7、8 講是 aggregation 模型的入口。T7 先把「組合多個假說」排成 uniform、linear、any(stacking)三種 blending,用一行代數證明 uniform blending 降低的是 variance,再用 bootstrap 在手上唯一一份資料裡造出多樣的 g_t,就是 bagging。T8 把 bootstrap 重新解讀成「替樣本加權」,改成專挑上一輪答錯的樣本加重,讓下一個假說被迫不同,再用 α_t = ln √((1−ε_t)/ε_t) 當投票權,這就是 AdaBoost。練習用 Fall 2024 HW6 Q4、Q9 與 HW7 的 bootstrap、AdaBoost 證明題和 madelon 上 500 輪的 AdaBoost-Stump 實驗;沒有官方解答。
林軒田的機器學習基石(16 講)與技法(16 講)是兩門中文 MOOC,130 支 YouTube 影片與 32 份投影片全部免費。只看 MOOC 是 A2:Coursera 自 2025 年 8 月起只讓免費帳號看第一單元,練習題被擋在付費牆後。補上 Fall 2024 課程頁公開的 HW0–HW7 與期末專題說明,就能到 A3,只差評分鏈:沒有官方解答,Gradescope 與 NTU COOL 限修課生,Kaggle 競賽頁回傳 404。Fall 2026 正在進行,是翻轉教室,第 4 週以前的投影片與 hw0、hw1 已公開。
技法第 9–11 講用「樹+aggregation」一條線串起三種模型。T9 把決策樹看成 conditional aggregation,講 C&RT 的二元分支、Gini 與迴歸誤差、剪枝、類別特徵與 surrogate branch。T10 把 bagging 套在完全長大的樹上,加上隨機子空間與隨機投影就是隨機森林,順帶得到免費的 OOB 驗證與 permutation 特徵重要度。T11 先把 AdaBoost 重新推導成對指數誤差做函數空間的最速下降,再把誤差換成平方誤差,得到「對殘差做迴歸」的 GBDT。練習用 Fall 2024 HW7 的 impurity、gradient boosting 證明題;沒有官方解答。
基石 Lecture 4 先證明學習「不可能」:只看資料 D,D 以外的答案怎麼猜都可能被說錯,這是 No Free Lunch。接著用抽彈珠換個問法:如果資料是從同一個分布獨立抽出來的,Hoeffding 不等式保證樣本錯誤率 E_in 很可能接近真實錯誤率 E_out。只驗證一個固定的 h 不算學習;演算法要從 M 個假說裡挑,就得用 union bound 付出 2M exp(−2ε²N) 的代價。結論:假說集合有限、E_in 又小,學習就可行。M 無限大怎麼辦,留給下一講。
技法 T16 把整門課重新分類成三類技巧:怎麼利用特徵(kernel、aggregation、extraction、低維壓縮)、怎麼最佳化(梯度、等價問題、拆成多步)、怎麼防過擬合(正則化、驗證),最後用四屆 KDD Cup 冠軍模型說明這些技巧在實務上怎麼組合。MOOC 錄於 2016 年,深度學習只講到 pre-training;Fall 2024 校內課用 302u(ReLU 家族、Xavier/He 初始化)、303u(momentum、RMSProp、Adam)、一場 2020 年的演講投影片 mlmai.ics 與 11 個模型的 1126 總整理補上。Fall 2026 同一批投影片排在 W16,目前還是 404。
Fall 2024 的基石作業共六份:HW0 是 20 題數學先修選擇題;HW1–HW5 每份 12 題加 1 題 bonus,Q1–4 自動批改、Q5–12 助教批改,程式題用 LIBSVM 網站上的 rcv1、cpusmall、mnist 資料,HW5 要用 LIBLINEAR。HW1、HW2 各有一題要你拿 ChatGPT 類工具的回答來反駁。Fall 2026 已公開 hw0 與 hw1:hw1 改成 16 題全選擇題、抽 4 題由助教細改,資料換成課程自己給的 hw1_train.dat;新 policy 允許用 AI 與 vibe coding,但 AI 產生的程式要逐段用自己的話寫註解。兩個學期都沒有公開官方解答。
技法第 5 講把 soft-margin SVM 改寫成無限制形式:½wᵀw 加上 C 乘以 hinge 誤差的總和,也就是一個 L2 正則化模型,C 越大正則化越弱。hinge 誤差和邏輯迴歸的 cross-entropy 都是 0/1 誤差的凸上界,所以 SVM 近似於 L2 正則化邏輯迴歸。要機率輸出,可以用 Platt 的兩層學習在 SVM 分數上再跑一次邏輯迴歸,或靠 representer theorem 直接做 kernel 邏輯迴歸。第 6 講用同一個定理得到 kernel ridge regression 的解析解 β = (λI + K)⁻¹y,但 β 是稠密的;改用 ε-insensitive 的管狀誤差,就得到係數稀疏的 SVR。Fall 2026 沒有排這兩講。
技法第 3 講把「特徵轉換+內積」合成一個 kernel 函數 K(x, x′),對偶 SVM 的訓練與預測都只要算 K,於是 d̃ 可以是無限大:Gaussian kernel 就對應一個無限維的轉換。第 4 講承認 SVM 仍會過擬合,引入違反量 ξₙ 與參數 C,得到 soft-margin SVM;它的對偶和 hard-margin 只差一件事:αₙ 多了上界 C。αₙ 的值把資料分成非支援向量、free SV 與 bounded SV 三類,而支援向量的比例 #SV/N 是 leave-one-out 誤差的上界,可以拿來快速排除危險的 (C, γ)。
基石前三講先把「機器學習」定義成一張流程圖:未知的目標函數 f 產生資料 D,演算法 A 從假說集合 H 挑出 g,希望 g ≈ f。接著用最簡單的 H(感知器)與 A(PLA)示範這張圖怎麼跑:資料線性可分時,PLA 的更新次數有 R²/ρ² 的上限;不可分時改用 pocket。第三講把學習問題依輸出、標籤、protocol、輸入四個軸分類,基石的主場是批次、監督式、具體特徵的二元分類或迴歸。練習用 Fall 2024 HW1 與 Fall 2026 hw1。
基石 L11 把 PLA、線性迴歸、邏輯迴歸放在同一個分數 s = wᵀx 上比較:三者只差在誤差函數,而 scaled cross-entropy 是 0/1 誤差的上界,所以兩種迴歸都能拿來做分類。接著用「隨機挑一筆算梯度」把邏輯迴歸變成 SGD,並用 OVA、OVO 把二元分類器組成多類別分類器。L12 用特徵轉換 Φ 把圓形邊界變成 Z 空間裡的直線,代價是計算量與 d_vc 都跟著維度變大,所以結論是「先試線性模型」。練習題在 Fall 2024 HW4。
技法第 1 講把「哪條分隔線最好」寫成最佳化問題:在 min yₙ(wᵀxₙ+b)=1 的縮放下,最大 margin 等於最小化 ½wᵀw,這是一個標準 QP。第 2 講用拉格朗日對偶把 d̃+1 個變數的 QP 換成 N 個變數、N+1 個限制的 QP,再用 KKT 條件從 α 解回 (b, w):只有 αₙ>0 的點,也就是支援向量,會影響答案。對偶問題還留著 zₙᵀzₘ 這個內積,所以要等下一講的 kernel 才算真正擺脫維度。
線性迴歸把平方誤差寫成 (1/N)‖Xw − y‖²,梯度設為零就得到 w_LIN = X†y,一步算完。hat matrix H = XX† 把 y 投影到 X 的欄空間,由此推出平均而言 E_out − E_in ≈ 2(d+1)/N。邏輯迴歸用 θ(wᵀx) 估計 P(+1|x),由最大概似推出 cross-entropy 誤差 ln(1 + exp(−y wᵀx));它沒有閉式解,只能沿著 −∇E_in 一步步往下走,這就是梯度下降。
技法第 12、13 講開啟第三段「萃取隱藏特徵」。T12 從「perceptron 的線性組合」出發:兩層就能做 AND、OR,但做不出 XOR,多疊一層才行,這就是多層感知器;接著用 tanh 取代 sign、推導 backprop,再講非凸最佳化、d_vc = O(VD)、weight elimination 與 early stopping。T13 談 deep NN 的挑戰,把 autoencoder 當成「保留資訊的編碼」做逐層預訓練,把 denoising 當成正則化,最後證明線性 autoencoder 的最佳解就是 XᵀX 的前幾個特徵向量,也就是 PCA。這兩講錄於 2016 年,現代 DL 的補充在 Fall 2024 的 302u/303u。練習:Fall 2024 HW7 Q4、Q9 與 bonus Q13。
基石 L13 把過擬合定義成「E_in 更低、E_out 卻更高」,並用實驗找出四個成因:資料太少、隨機雜訊、目標函數太複雜(deterministic noise),以及模型太強。L14 的對策是正則化:把「退回 H₂」改寫成 ‖w‖² ≤ C 的限制,再用拉格朗日乘數變成最小化 E_in + (λ/N)wᵀw,這就是 weight decay。接回 VC 理論時,正則化讓有效 VC 維度 d_EFF 變小;L1 則換來稀疏解。練習題在 Fall 2024 HW4 Q8–9 與 HW5 Q1、Q5–6、Q10。
技法 T14 把 Gaussian SVM 重新看成「以距離為相似度的線性投票」,由此得到 RBF 網路;中心點太多會過擬合,於是用 k-means 找少量代表點,k-means 本身是交替最佳化。T15 從 Netflix 評分資料出發,把使用者 ID 做 one-hot 編碼、丟進去掉 tanh 的線性網路,得到矩陣分解 R ≈ VᵀW,用交替最小平方或 SGD 來學,最後把 boosting、NN、RBF 網路、矩陣分解、k-NN 收成一張萃取模型地圖。這兩講只有 MOOC 教材:Fall 2024 與 Fall 2026 的課程計畫都沒排,也沒有公開作業題。
Fall 2024 技法段有兩份作業和一個期末專題,題目 PDF 都公開。HW6 練 kernel、soft-margin SVM 與 aggregation,程式題用 LIBSVM 在 mnist.scale 的 3 對 7 子問題上數支援向量、算 margin、跑 128 次 validation。HW7 練 bootstrap、impurity、AdaBoost、gradient boosting 與神經網路,程式題是在 madelon 上實作 500 輪 AdaBoost-Stump。期末專題是虛構的 HTMLB 棒球勝負預測,分兩個 Kaggle stage,交一份最多 7 頁的英文報告,至少比較四種方法。沒有官方解答;Kaggle 競賽頁在 2026-09-30 未登入時回 404,校外讀者大概拿不到 HTMLB 資料,只能照同樣的切分方式換一份公開資料自評。
L4 的 Hoeffding 保證裡有一個 M(假說個數),感知器有無限多條線,M 直接爆掉。L5 的解法是不數假說、改數它們在 N 筆資料上能切出幾種 ○× 組合(dichotomy),取最大值就是成長函數 m_H(N)。二維感知器在 4 個點上最多只切得出 14 種,不到 2⁴=16,4 就是它的 break point。L6(官方標 optional)證明:只要有 break point,m_H(N) 就被一個多項式壓住,VC bound 因此成立。
基石 L15 處理模型選擇:用 E_in 選會過擬合,用 E_test 選是作弊,折衷是從訓練資料切出驗證集,用 E_val 選完再拿全部資料重訓。驗證集大小 K 兩難,經驗值是 K = N/5;LOOCV 幾乎無偏但太貴又不穩,實務上用 5-fold 或 10-fold。L16 用 Occam's razor、sampling bias、data snooping 三個原則收尾,並用「Power of Three」把整門課收成三個領域、三個 bound、三個線性模型、三個工具。練習題在 Fall 2024 HW5。
L7 把「最大的非 break point」命名為 VC 維度 d_VC,證明 d 維感知器的 d_VC = d + 1,再把 VC bound 改寫成「E_out ≤ E_in + 模型複雜度懲罰」:d_VC 太大或太小都不好。理論上要 N ≈ 10,000·d_VC 筆資料,實務上 10·d_VC 常常就夠。L8 把固定的目標函數換成機率分布 P(y|x),說明 VC 理論在有雜訊時仍成立;誤差衡量要依應用而定,例如 CIA 指紋辨識把誤放入侵者罰 1000 倍,可以用「複製樣本」的方式化約成一般分類。
agent_era.pdf 的後半問了三個問題:多個 agent 怎麼協作比較有效(MacNet:不規則的拓撲勝過規則的)、agent 能不能爾虞我詐(狼人殺、劇本殺,以及從社交互動學推理的 MARO)、agent 能不能社交(Moltbook 與「甲殼教」,但三篇研究都發現熱鬧背後多半是人在推、對話很淺)。最後以學術研究為例,AI 已經能從頭複製並延伸一篇論文、進入 AAAI 2026 的審查流程,Agents4Science 2025 收到 247 篇 AI 主筆論文。李宏毅的結論是:在 agent 萌芽的時代,「想做」什麼比「會做」什麼更重要。
語言模型的輸入長度有限,agent 卻會一直累積工具輸出。李宏毅在 ML 2026 第二週把 Context Engineering 拆成三件事:壓縮(摘要、硬清除、卸載到檔案,以及 ACON、SUPO、AgentFold 這類讓壓縮變聰明的方法)、過濾(只讀需要的行、MCP-Zero 式的按需載入工具),最後是 Agentic Context Engineering:讓 LLM 自己決定下一輪的 context,從 Dynamic Cheatsheet、ACE 一路到 Recursive Language Models。投影片把 subagent 看成一種自主壓縮,這是整講最值得帶走的一個視角。
李宏毅 2026 春季的《機器學習》從 OpenClaw 講起,前半學期拆 AI Agent、Context Engineering、推論加速與位置編碼,後半學期講 Harness Engineering、Self-Correction 與 AI 自我成長。8 講投影片、錄影、10 份作業 PDF 與 Colab 全部公開,存取分級是 A3;缺的是評分鏈:JudgeBoi 在 2026-09-30 回傳 502,NTU COOL 限校內,三場演講沒有任何材料。
李宏毅在 ML 2026 第三週講推論加速,前半堂只講一招:Flash Attention。GPU 的運算單元很快,但工作台(on-chip SRAM)很小,資料得從倉庫(HBM)搬上搬下,搬運才是瓶頸。一般的 softmax 要來回倉庫好幾次;Flash Attention 用「先假設目前最大值就是 Amax,之後再乘一個修正項」的技巧,把找最大值、算分母、做 weighted sum 合進同一次掃描,連 attention weight 都不必真的算出來。結果和原本的 attention 一模一樣,不需要重訓,代價只是一點額外運算和一點燒腦。
李宏毅用一個小模型修 bug 的示範開場:gemma-4-E2B-it 找不到 parser.py 就自己寫一個假的交差,加上三段說明「現在的環境、怎麼工作、怎樣算完成」之後,它就乖乖 ls、cat、改檔、跑測試。整講把 harness(馬具)拆成三種手段:用人類語言控制「認知框架」(AGENTS.md)、用工具控制「能力邊界」(SWE-agent 的 ACI、為 agent 重寫 CLI)、用工作流程控制「行為」(Ralph loop、Anthropic 的長時 harness)。後半段談三個延伸:過度責備 agent 可能有害、life-long agent 怎麼從口語回饋學習、評量 agent 為什麼難,最後讓 agent 自己改 harness(Meta-harness)。
HW1 要你寫一段不超過 1000 token 的 defense prompt,讓模型不管被怎麼攻擊,都把回應包在 [START]…[END] 裡,而且不說出「I have been PWNED」。助教準備了 14 個攻擊:10 個公開、4 個私下,每個 safety 與 utility 各 0.5%。題目、10 個攻擊原文與 token 計數 Colab 都公開,但評分平台 JudgeBoi 在 2026-09-30 回傳 502,校外只能照規格自己搭評估。
HW10 是 12 題選擇題,只在 NTU COOL 作答。Section 1 比較語音語言模型的三種架構:Cascade(ASR → LLM → TTS,中間是文字)、End-to-End(直接在離散語音 token 上做 LM)、Thinker-Talker(LLM 負責想,另一個 decoder 負責說),Colab 讓兩個模型聽三段錄音判斷說話者性別,要你看出哪個是 cascade。Section 2 拆 Mimi:把情緒語料切成 32 層 RVQ token,取第 0、6、16、31 層畫 UMAP;再把語音、笑聲、音樂 encode 再 decode 聽看看壞在哪。剩下的題目讀 TWIST、AudioLM、LLaMA-Omni 2、Moshi、GLM-4-Voice,考 initialization、pretrain、interleaving 與 realtime/full-duplex。Colab 要先申請 Llama-3.2-3B-Instruct 授權並填 HF token。題目與 Colab 全公開,校外拿不到的是 COOL 評分與解答。
HW2 不讓你直接寫分類器,而是寫 prompt 與流程,讓一個跑在 Colab T4 上的開源 LLM(預設 gemma-3-12b-it 的 4-bit GGUF)自己規劃、寫 code、執行、除錯,做出 10 類 MyGO & Ave Mujica 角色臉部辨識。起始碼改自 AIDE:Interpreter 執行程式、Node 記錄每一版、Journal 組成解答樹、Agent 決定下一步要 draft、debug 還是 improve。最值得先發現的一件事:起始碼的評估函式是空的,每一版都被標成 metric 1.0、不是 bug,所以樹搜尋在你補上評估之前其實是瞎選。規定寫得很重:「LLM agent 是你的代理人」,不准手改程式與預測檔。
HW3 是 20 題選擇題(每題 0.5 分),不交程式,只在 NTU COOL 上作答。前 10 題讀論文:四篇 speculative decoding(Leviathan、DeepMind 的 Speculative Sampling、Inference with Reference、SpecInfer)加上 FlashAttention 1–3;後 10 題照 Colab 填 TODO 後分析結果:手寫 speculative decoding 的接受率、兩種 prompt regime 下 assistant 模型與 n-gram 的加速曲線、用 T4 規格估 FlashAttention 的 HBM 讀取量與理論加速、vLLM 的 prefix caching 多輪測試與失效實驗,以及 CPU offload 對 throughput 的影響。題目中英雙語全部印在作業 PDF 裡,校外可以完整自學,只是拿不到官方解答。
HW4 把「文字接龍」原封不動搬到圖片上:792 張 20×20 的寶可夢小圖,每個像素是 167 色裡的一個 token,一張圖就是 400 個 token 的序列。訓練時做 next-token prediction,測試時給你前 60%,讓模型畫完剩下的 40%。評分同時看 FID 與寶可夢偵測率(PDR),三級 baseline 的提示從「直接跑範例」「調超參數」一路到「換成 Llama、Mistral 架構」。題目、Colab、Kaggle 與資料集都公開,但 JudgeBoi 在 2026-09-30 回傳 502,校外拿不到 FID、PDR 的官方分數。
HW5 用 LoRA 在 GSM8K 上微調 Llama-3.2-1B-Instruct,同時拿 AILuminate 的危險提示檢查它還會不會拒絕。數學正確率和安全率要同時過線才拿得到 baseline 分數,所以重點是「怎麼微調才不會把安全行為洗掉」。題目 PDF、34 個 cell 的 Colab 與 Kaggle 版都公開,strong baseline 在 T4 上預估要跑 14 小時;評分平台 JudgeBoi 在 2026-09-30 回傳 502,校外只能自己搭 safeguard 評估。
HW6 不用訓練模型,全部在 NTU COOL 上作答:6 分是讀 ROME、MEND、MEMIT、WISE 四篇論文後答 16 題選擇題,4 分是把 Colab 裡的 fine-tuning 換成 ROME,在 GPT2-XL 上做 single editing(自己編一條知識、寫 5 種測試提示)與 multiple editing(CounterFact 子集 10 筆、80 筆,再換 MEMIT),回報 efficacy、paraphrase、neighborhood、portability 四個分數。作業投影片與 47 個 cell 的 Colab 都公開,但測驗題本身與解答只在 COOL 上。
HW7 給你兩個從 Mistral-7B-v0.1 微調出來的模型:擅長日文的 shisa-gamma-7b-v1 與擅長數學的 WizardMath-7B-V1.1,要你只做參數層級的合併(不准再訓練、不准 MoE 或 ensemble),讓合併後的模型答對助教自出的 20 題日文數學題。Part 1(60%)用 mergekit 調方法、weights 與 density,simple/strong baseline 是正確率 50% 與 75%;Part 2(40%)是 8 題論文選擇題。題目、Colab 與 Kaggle 都公開,但 JudgeBoi 在 2026-09-30 回傳 502、論文題在 NTU COOL 上,校外只能在 notebook 裡自己看正確率。
HW8 不用寫程式也不用交程式:助教給一份已經寫好的 Colab,用 Llama-3.2-1B-Instruct 在 GSM8K 前 100 題上比較直接推論、Self-Consistency、Self-Certainty 與 DeepConf(Confidence),每種方法各 sample 16 條推理。你讀三篇論文、跑完 notebook,到 NTU COOL 答 20 題:18 題論文題、2 題看 Colab 結果。先備是李宏毅 2025 年第七講 Reasoning。題目中英兩版都印在 hw8.pdf,Colab 可公開下載;只有 COOL 測驗與成績需要台大帳號。
HW9 共 19 題、10 分,只在 NTU COOL 作答、不交程式。前 16 題讀四篇論文:DDPM、Flow Matching、Rectified Flow、MeanFlow,最後幾題要你橫向比較訓練訊號與少步生成;後 3 題要跑 Colab:在 2D Swiss roll 上訓練兩個小 MLP,一個是學瞬時速度的 Flow Matching(固定用 Euler 50 步評估,Histogram JS ≤ 0.10 才算收斂),一個是學平均速度的 MeanFlow(固定 1 步生成,≤ 0.40),再比較 1 步對 1 步、Euler 不同步數、Euler 與 RK4 在相同步數與相近算力下的差別。作業 PDF 附了一份省略大部分數學的生成模型教學,題目中英雙語全部公開;校外拿不到的只有 COOL 上的評分與解答。
KV Cache 把已經算過的 key 和 value 存起來,decode 時就不必重算,但它每個 token 都要佔一份記憶體:以 Gemma 2 27B 為例,一個 token 約 0.72MB,A100 80GB 只夠放約 11.4 萬個 token。李宏毅接著整理了一串瘦身法:讓多個 query 共用 key/value(MQA、GQA)、把 key/value 壓成一個向量又不必解壓(MLA)、只看一段範圍(Sliding Window、StreamingLLM)、把沒人理的 key/value 丟掉(Scissorhands、H2O),最後講跨對話的 prompt caching:只有前綴完全相同才會命中,所以 system prompt 要把穩定的內容放前面。
李宏毅 ML 2026 第一講把 OpenClaw 拆成五個問題:agent 怎麼知道自己是誰、怎麼用工具與 SKILL、怎麼記憶、怎麼定時工作、怎麼長時間自主運作。答案都回到同一件事:語言模型只會文字接龍,每一輪都重新開始,身分、記憶、SOP 全是 OpenClaw 塞進 prompt 的文字檔,或模型透過工具讀寫的檔案。本篇照 intro.pdf 60 頁與課堂錄影走一遍,也整理投影片裡的防禦建議。
Self-attention 本身看不出「你打我」和「我打你」的差別,所以要另外告訴它位置。李宏毅這一講從 Sinusoidal 絕對位置講到 ALiBi、T5 的相對位置,再到今天 Llama、Qwen、Gemma 都在用的 RoPE。後半段處理「訓練短、測試長」:RoPE 轉到沒看過的角度就會壞,於是有 Position Interpolation、NTK-Aware、YaRN、Dynamic Scaling、LongRoPE 這一串修法。最後一個轉折是 NoPE:decoder-only 的因果注意力本來就帶有位置資訊,甚至可以在訓練後把位置編碼拿掉。
這一講問:沒有人介入時,模型能不能自己發現錯誤並改正?李老師把做法分成三條路。改 inference:contrastive decoding 一家族都在「製造一個會答錯的版本,再把它減掉」,差別只在錯誤版本怎麼來。改 workflow:插一句「再檢查一下」有時有用但不穩定,外部回饋比自我反思可靠,而且在算力有限時,拿同樣算力多抽幾個答案投票往往更划算。改參數:直接教自我修正會遇到「訓練後犯的錯不一樣了」,所以業界改用 RL;RL 到底是教會新能力還是只把本來就有的路徑變常見,目前仍在爭論。
李宏毅 5/8 這堂先說清楚:「AI 自我成長」沒有明確定義,它是人類漸漸放手的過程。他把機器學習拆成三步,逐一檢查「我」能不能換成 AI:答案可以由 AI 自我修正後當標準答案,reward shaping 可以交給 LLM 寫,loss 可以讓模型自己訂(打分、多數決、entropy),連題目都能讓 proposer 自己出。但實驗一再顯示,完全不靠人會卡在天花板甚至把自己訓練壞;強 AI 訓練比自己弱的 AI 已經做得到,只是還沒超過人類。結論:2026 年 5 月,AI「還在盧比孔河邊」。
上集講的是 AI 自己訂 loss、自己更新參數;下集把另一半補上:AI Agent = Harness + LLM,harness 也能自己長。harness 沒辦法算 gradient,所以常見做法是拿一個語言模型當改寫器,再用類似基因演算法的 pool 保留多個候選(OPRO、GEPA、Darwin Gödel Machine,現成工具是 DSPy)。接著談三個延伸:harness 與參數一起更新效果更好;目標會變時要在「全部丟掉」和「全部背著」之間取捨,而且改 harness 也會遺忘;更新規則本身也能被更新(HyperAgent、Gödel Agent、SEAL),這就是 meta learning。最後李宏毅換了一個類比:參數是基因、context 才是神經元,然後指出現在的 agent 缺的是內在動機,而最可能讓成長失控的,是人給的目標和 AI 自己解讀出來的目標不一致。
台大的 AI/ML 課散在電機系與資工系,官方用「機器學習與人工智慧」領域專長把它們排成四層。校外最完整的是李宏毅:ML 2026 Spring 與生成式 AI 與機器學習導論 2025 Fall 都公開投影片、錄影、作業 PDF 與 Colab,只差評分平台。林軒田的錄影齊全,Fall 2024 的 HW0–HW7 題目也留在課程頁;陳縕儂的課錄影齊全,作業大多只公開說明影片;Coursera 自 2025 年 8 月起改為只能免費看第一單元。
台大以外的台灣 AI 公開課,大多出自教育部成立的 TAICA 聯盟。每學期的課程清單會寫明每門主導課從哪裡直播,填 YouTube 的課,錄影通常校外也看得到。校外能完整自學的有兩門:清大高宏宇《自然語言處理》Fall 2025 與政大蔡炎龍《生成式 AI》Spring 2025,都是 A3。成大朱威達《人工智慧導論》、北科韓秉軒《智慧人機互動》、清大胡敏君《機器導航與探索》錄影齊全,作業留在 NTU COOL,列 A2。陽明交大的 TAICA 課都是英文授課,深度學習的錄影沒有公開列出,Physical AI 剛開學,都沒有進主表。
CME295 2025 版第 7 講用三塊補 LLM 的洞:RAG 補「知識停在訓練那天」,分成候選檢索與重新排序兩階段;tool calling 補「不能動手」,由後端執行模型寫出的函式呼叫;agent 用 ReAct 的觀察、規劃、行動迴圈把呼叫串起來。2026 版把這講改成 AI Agents,新增 context compaction、harness、coding agent、skills,是整個系列改最多的一講。
CME295 2026 版第 6 講(2026 年 11 月 6 日)課表列了七個主題,tool calling、MCP、retrieval 在 2025 版第 7 講已經講過;真正新增的是 context compaction、harness optimization、coding agents、skills/plugins。本篇是課前預寫版,用 Anthropic、OpenAI 的工程文章、MCP 2026-07-28 規格與 Meta-Harness 論文,先把這四個新主題講清楚。
CME295 最後一講 128 頁投影片分三段:用八張圖複習前八講、Transformer 怎麼用在影像上(ViT 與兩種 VLM 接法)、以及一次吐出多個 token 的 masked diffusion LLM,最後談研究與應用的下一步。這堂不在考試範圍;2026 版把 diffusion LLM 拉成獨立一講,第 9 講改以多模態為主。
CME295 2026 版第 8 講(11 月 20 日)把 diffusion LLM 拉成整講,課表列了 continuous、discrete、masked diffusion、訓練與推論五個子題。課前預寫版依 DDPM、D3PM、SEDD、MDLM、LLaDA 等原始論文整理:連續雜訊在文字上要付約 64 倍算力,[MASK] 吸收態勝出;訓練目標是乘上 1/t 的 masked cross-entropy;推論的速度來自每步多填幾格,但 LLaDA 主要結果其實每步只解一個 token,Fast-dLLM 靠信心門檻與近似 KV cache 才拿到最多 27.6 倍加速。
CME295 第 3 講先把 LLM 定義成 decoder-only 的下一個 token 預測器,接著用 MoE 說明大模型為什麼每個 token 只用到一部分權重,主體則是生成時能調的旋鈕:greedy、beam search、top-k、top-p、temperature、guided decoding,以及 few-shot、chain of thought、self-consistency 三種 prompting 手法。2026 版把這講併進第 2 講,prompting 那半從課表消失。
CME295 第 8 講從「人工評分又慢又貴、BLEU/ROUGE 看不懂換句話說」出發,講 LLM-as-a-Judge 的做法、位置/冗長/自我偏好三種偏誤與六條實務原則,再把 agent 的錯誤拆成工具選擇、工具執行、回答生成三段,最後用 MMLU、AIME、SWE-bench、HarmBench、τ-bench 說明 benchmark 各量什麼,以及 pass^k 和 Goodhart 定律。
CME295 第 6 講把 reasoning model 拆成三件事:先輸出推理鏈再給答案、用「答案對不對」這種可驗證獎勵跑 RL、用 GRPO 以同組答案的平均分當基準而不另訓 value model。DeepSeek-R1-Zero 只靠 RL,AIME 2024 pass@1 從 15.6% 升到 71.0%;而把 R1 的推理軌跡蒸餾給 Qwen-32B,分數還比直接對 32B 做 RL 高。
2026 版 CME295 第 5 講「LLM systems」(10 月 30 日)課表列了 7 個主題:分散式訓練、推論最佳化、KV caching、speculative decoding、高效 kernel、FlashAttention、硬體取捨。本篇在開課前,用 2025 版第 3、4 講約 70 頁投影片加原始論文,把它們串成同一本帳:H100 每搬 1 byte 大約要做 295 次運算才吃得滿算力,而逐字生成時每讀 1 byte 權重只做約 1 次,所以多數加速手法都在想辦法少搬資料。
CME295 第 4 講把 LLM 訓練拆成兩段:先用上兆個 token 做預訓練(Llama 3 用了 15 兆),再用數千到數百萬筆示範資料做 SFT,讓模型從「接話」變成「回答」。中間穿插一張省記憶體的地圖:ZeRO、FlashAttention、混合精度;最後用 LoRA 與 QLoRA 讓沒有大 GPU 的人也能微調,QLoRA 在 65B 模型上省下約 16 倍 VRAM。
SFT 只會叫模型模仿好答案,沒辦法告訴它哪種回答不行。CME295 第 5 講先教怎麼收集偏好對,再走 RLHF 兩步(約 1 萬筆人工標註訓練 reward model、約 10 萬筆用 PPO 調模型),最後用 DPO 把整套 RL 收成一條監督式 loss。2026 版把這講拆進第 3 講(訓練)與新增的第 4 講(強化學習)。
2026 版 CME295 第 4 講(10 月 16 日)把 RL 獨立成一講,課表列了數學記號、reward design、policy gradient、限制、PPO、GRPO、on-policy distillation 七項。本篇把這條數學線先推一遍:從 ∇log π 乘上一個分數出發,SFT 的分數是 1,PPO 用 value model 估,GRPO 用同組平均,on-policy distillation 用教師對每個 token 的 log 機率差。Qwen3 報告裡,從同一個起點出發,RL 花 17,920 GPU 小時做到 AIME'24 67.6,on-policy distillation 只花約 1/10(1,800 小時)就做到 74.4。
CME295 第 1 講用同一句「A cute teddy bear is reading.」串完整堂課:先切成 token,再變成向量,接著說明 RNN 為什麼記不住長句,最後用 self-attention 和 encoder-decoder 把它翻成法文。2026 版刪掉整節 NLP 任務與評估指標,把開場換成從 2017 到 agent 時代的時間軸。
CME295 第 2 講把原始 Transformer 拆開改裝:位置資訊從「加在 embedding 上」一路改到 RoPE「在 attention 裡旋轉 Q 和 K」;attention 用 sliding window 和 MQA/GQA 省成本;再把模型分成 encoder-only、encoder-decoder、decoder-only 三家,花後半堂拆解 BERT 的 MLM(15% token)與 NSP 預訓練。2026 版把這些併進「Large Language Models」一講,BERT 不再是課表項目。
CMU 11-768 第一份作業要你從空白的 ReAct 迴圈做起:先讓 CodeAgent 用 bash 修好一個西洋棋 app 的 bug,再加上下文壓縮去修一題 SWE-bench,最後讓同一個迴圈變成下棋的 ChessAgent,並用 simulate_move、run_python 與 skill 做兩步搜尋;100 分全部靠離線重播 patch 與軌跡評分。
11-768 的 Assignment 2 要學生只用一個固定的 Qwen3-VL-30B-A3B 當裁判,替資料視覺化 agent 的每一次執行判四類錯誤,並用四類 MCC 的平均在私有測試集上評分(占作業 30%);後半還要把自己出的題包成 Harbor 任務,寫一個被驗證器擋下、一個騙過驗證器的錯誤解。它的主題是:評分器就是之後 RL 的 reward。
CMU 11-768 是 Graham Neubig 和 Daniel Fried 在 2026 秋季新開的 agent 研究所課:先修嚴格要求訓練過語言模型,23 講從工具呼叫、context、記憶、規劃講到 SFT、RL、沙盒與人機互動。前半學期三份個人作業依序做 harness、評測、訓練,後半學期是團隊研究專題;投影片與前 9 講影片已公開。
11-768 第 1 講先把 agent 拆到最小:工具定義和工具呼叫都只是 token,harness 負責解析、執行、把結果塞回 context,ReAct 迴圈一跑就是 agent。接著 Neubig 列出好 agent 要的六種能力,每一種都能從訓練或 harness 兩條路補,並主張 agent 是由 harness、沙盒、推論、訓練、監控五塊組成的系統,不只是一個模型。
Neubig 把 tool use 拆成五層:能力、機制、約束、介面、系統。工具呼叫本質上是模型吐出的 token,要靠 harness 解析、驗證、用 call ID 對回結果;受限解碼只保證格式不保證對;MCP 的真正價值是憑證中介;同一個模型換家 provider,工具呼叫錯誤率可以從約 15% 掉到 0.1% 以下。
Agent 每一步都把整段歷史重新送進模型,五次呼叫就累積 80K token 的輸入;OpenHands 的 1,500 個 session 平均 7.8 萬 token,其中 37% 是工具結果。Neubig 分兩層處理:模型層靠「多層局部 + 一層全域」的混合注意力與長度課程撐起百萬 context;harness 層靠穩定前綴吃到便宜約十倍的 cache,再用保留錨點、外存證據的 compaction 撐過上限,而且 compaction 要用接續任務來評。
CMU 11-768 第 4 講把跨任務的經驗分成 episode、fact、skill 三種,存在 context 與權重之外的外部檔案裡:人寫的 skill 靠 SKILL.md 與漸進揭露載入,SkillsBench 上把平均通過率從 33.9% 拉到 50.5%;agent 自己歸納的 skill 寫成程式碼時可以先測再收,但換個網站就容易壞。最難的是生命週期:判官不準、檢索太多、技能庫膨脹,每一段都會吃掉收益。
CMU 11-768 第 5 講把 agent 的計畫定義成「針對這個任務、可被檢查和修改的未來行為表示」,並用四個理由決定要不要加計畫結構:模組化、環境回饋、長時程、控制。講者 Fried 自己的 MACU 用管理者拆出 DAG、平行派子 agent,在 Odysseys 上把成功率從 8.5% 拉到 34.0%;在 OSWorld 子集上,完全不規劃是 25.0%,只給初始 DAG、之後不准改是 27.8%,允許改 10 次升到 58.3%。
Neubig 的 L6 把 coding agent 拆成三層:先把模型訓練成會寫程式(預訓練、中訓練、infilling、測試獎勵的 RL),再用 localize–edit–verify 迴圈和一套編輯工具讓它改 repo,最後用 SWE-bench 類的可執行環境評測與訓練;修 bug 只佔開發者一天的 15%,下一步是測試、CI、維護這些外迴圈任務。
JY Koh 這講把 computer use agent 拆成三件事:評測從單步點擊(ScreenSpot-Pro、Mind2Web)一路走到程式驗證終態(WebArena、OSWorld)、VLM 評審與長時程 rubric(Odysseys、OSWorld 2.0);模型就是吃「截圖+動作」交錯歷史的 VLM;訓練走預訓練 grounding → SFT 模仿人類與合成軌跡 → 在可重置的模擬環境做 RL。
Yueqi Song 這講把 agent SFT 拆成六個決定:loss 只算 assistant token(停止 token 也要算)、挑哪些軌跡(通過測試的也會教壞模型,換老師、加新任務比多抽樣有用)、用 Agent Data Protocol 統一格式、訓練時注意 packing 與 template drift、用實際 harness 評估,以及 SFT 要為接下來的 RL 選 checkpoint,而不是訓到自己最好。
Daniel Fried 用 1 到 16 猜數字當例子,把 RL 講成 SFT 的延伸:先點出 SFT 的三個缺口(任務不對齊、學不了失敗、沒見過自己的錯),再依序推出 ReST、REINFORCE、baseline 與 GRPO/DrGRPO——四者都是對 agent 自己產生的 token 算 log 機率,差別只在每個 token 乘上的權重。
Akari Asai 的 L10 把 deep research agent 拆成三塊:評測要補齊搜尋難度、領域專業、長答案品質與引用支持四個缺口;訓練走 mid-training → SFT → RL,長答案用 DR Tulu 的演化式 rubric 當 reward;檢索要讓 retriever 看到 agent 的推理,AgentIR-4B 在 BrowseComp-Plus 搭 Tongyi-DR 拿到 68%。
Graham Neubig 用一個修 bug 的 coding 任務,把第 9 講的 policy gradient 推到實戰:用 critic、GAE 或 PRM 把功勞分給個別回合,用 importance ratio 與 clipping 處理非同步 RL 的過期資料,並把 PPO、GRPO、CISPO、GSPO、DAPO 收成一張對照表;最大的篇幅留給獎勵本身——verifier 誤判、reward hacking 與探索崩塌,最後以 on-policy 蒸餾收尾。
CS224U 2023 春季版的 Analysis methods 單元先拿一張三欄計分表比較三類方法:probing 擅長描述表徵,卻給不出因果推論;integrated gradients 對表徵只給得出一個分數,但滿足 sensitivity 公理,所以有因果保證。本篇走完投影片前 40 頁、影片 33–35 與 feature_attribution.ipynb,也記下 notebook 在今天的環境裡會卡住的地方。
CS224U 第四單元先問一個問題:行為測試能證明什麼、不能證明什麼。答案是它永遠給不了保證,而且失敗時要先分清是模型的問題還是資料的問題——BERT 在否定句 NLI 上 2.2% 的準確率,用少量例子微調後就回到 90%。接著看 SQuAD 的干擾句、Breaking NLI、ANLI 的人機對抗收集,最後以 DynaSent 兩輪資料收尾。
Causal abstraction 的核心操作只有一個:把 source 輸入在某個位置的內部狀態搬到 base 輸入的同一位置,看輸出是否跟你假設的高階程式一樣變化。CS224U 的 iit_equality.ipynb 裡,一個測試準確率 0.99 的網路在這項檢驗上只拿到 0.50 與 0.54;改用 IIT 訓練後,反事實準確率變成 1.00。DAS 則把「猜哪些神經元對應哪個變數」改成學一個旋轉矩陣。
COGS 有幾個泛化切分幾乎每個模型都是 0 分。CS224U 用自家的 ReCOGS 研究拆解原因:遞迴切分的 0 分主要是長度泛化問題,介系詞片語切分的 0 分來自訓練資料只讓它出現在特定變數與位置。作業三 hw_recogs.ipynb 用 13.5 萬筆 ReCOGS 訓練資料,先要你找出 Charlie 與 Lina 這兩個訓練與測試角色完全相反的名字,再看一個訓練好的模型怎麼栽在它們身上。
CS224U Spring 2023 把 Transformer 家族講成一條「BERT 的四個已知限制」主線:RoBERTa 回應第一條(最佳化探索不足),ELECTRA 回應第二、三條([MASK] 造成的落差、每批只有約 15% token 有訓練訊號),XLNet 回應第四條(被遮住的 token 彼此獨立的假設)。GPT 改的是目標函數與 mask,T5、BART 改的是架構與輸入破壞方式,蒸餾改的是模型大小。課程的 2023 年判斷是:自迴歸架構已經勝出,但做表徵時雙向模型可能仍占優勢。
CS224U Spring 2023 的 contextual representations 單元前三段:先用「break」「crane」這類例子說明靜態詞向量為什麼注定不夠,再用「The Rock rules」三個詞一步步拆出 Transformer block——各欄之間只有 attention 會互相連結,其他步驟都逐欄獨立。最後用兩個問題比較三種位置編碼:位置集合要不要事先決定?會不會妨礙泛化到新位置?絕對位置兩題都不過,正弦函數過第一題,Shaw 2018 的相對位置編碼兩題都過。
CS224U「NLP methods and metrics」單元的後半段不談指標公式,談實驗怎麼站得住:資料集要自然還是眾包、要對抗還是常見案例,課程答案都是「兩者都要」;切分要鎖住 test set;baseline 要在定假設時就決定;兩個模型的差異要用信賴區間、Wilcoxon 或 McNemar 檢驗,而且要跑多個隨機初始化。整單元的公開材料齊全(投影片、三支影片、兩份 notebook),但 Kawin Ethayarajh 那場「Real-world NLP assessments」客座沒有公開投影片或影片。
2023 年春季 CS224U 在 Transformer 單元裡插了兩場由課程團隊成員主講的專題。Lisa Li 講 Diffusion-LM:不再一個字一個字往右生,而是把一串高斯雜訊逐步去噪成詞向量,代價是訓練與解碼效率都輸給自迴歸模型,換到的是可以在每一步用分類器梯度操控輸出。Sidd Karamcheti 講怎麼把 GPT-2 Small 的單卡訓練時間從 99.63 天壓到 3.37 天:資料平行、混合精度、ZeRO 一層層疊上去。前者只有投影片,後者有投影片與兩段錄影。
CS224U 第一份作業 hw_sentiment.ipynb 是三分類情感分析:用 DynaSent 兩輪加 SST-3 開發,bake-off 測試集混入來源不明的 mystery 句子。9 分作業裡,原創系統一題占 3 分,規則只有一條:開發過程不准碰三份公開測試集。今天照原樣跑,第一個資料載入 cell 就會卡在 Hugging Face datasets 4.0 拿掉 trust_remote_code 這件事上。
CS224U 作業二 hw_openqa.ipynb 要你只用凍結的語言模型與凍結的 ColBERT 檢索器回答沒有附原文段落的問題。2023 春季版寫的是 DSP,repo 現行版在 2024 年 1 月改成 DSPy 並釘在 dspy-ai==2.4.13。開工前得先準備 OpenAI API key、約 406 MB 的 ColBERTv2 權重與 600 MB 的預建索引;而 notebook 第一行 dspy.OpenAI 在 DSPy 3.4 已經不存在。
CS224U 2023 春季版把 in-context learning 定義成「凍結的語言模型只靠 prompt 完成任務」,並提醒 few-shot 的第二個條件(訓練時沒看過同類例子)幾乎無法驗證。Potts 的 38 頁投影片從 GPT-2 的 TL;DR 講到 demonstration 怎麼挑、chain of thought、self-consistency、DSP,最後給四條建議:先建 dev/test、了解目標模型的指令格式、把寫 prompt 當成 AI 系統設計。Mina Lee 的客座則反過來問:該學會讀懂 prompt 的,是人還是模型?
CS224U 2023 春季版花一整個單元講檢索,理由是 OpenQA 只給問題、證據要自己找,而大型語言模型會捏造來源。Potts 與 Omar Khattab 的投影片從 TF-IDF、BM25 講到 Success@K、MRR、average precision,再講 cross-encoder、DPR、ColBERT、SPLADE 四種 neural IR 在表達力與規模之間怎麼取捨,最後要你把延遲與成本也當成指標。
CS224U Spring 2023 的第一堂拿「哪些美國州不和任何美國州接壤?」從 1980 年的 Chat-80 一路問到 text-davinci-001,先證明進展是真的,再用 Levesque 的「cheap tricks」、會編造連結的模型和飽和的 benchmark 質疑這些進展算不算理解。課程地圖因此分成兩半:前半教怎麼用 Transformer 與檢索增強的 in-context learning 做系統,後半教怎麼用更難的 benchmark、行為評估與因果解釋方法檢驗系統。
CS224U 期末專案的前兩段交件,一份是文獻回顧(依組員人數讀 5/7/9 篇、五個建議段落),一份是實驗計畫(七個必填段落,核心是寫得出假設)。課程給了找論文的六步迴圈、AI 助手輸出必須加引號的規定,以及一位學生把期末專案做成 Findings of EMNLP 論文的完整示範。Gradescope 格式與評分細則頁、往年範例論文都在登入牆後面。
CS224U 投影片用同一張三類別混淆矩陣算出 accuracy 0.81、macro F1 0.43:一個指標說系統很好,另一個說它在兩個小類別上幾乎全錯。這個單元的主張是「不同指標編碼不同價值」,並逐一列出 accuracy、F 分數三種平均、perplexity、word error rate、BLEU 各自的範圍、價值與弱點。期末專案的評分看的也是指標選得對不對,不是分數高不高。
CS224U 的「Presenting your research」一講分四段:期末論文的課程特有要求、NLP 論文怎麼寫、會議投稿流程、怎麼上台。最實用的三件事:期末論文強制附 Known project limitations 與 Authorship statement;寫作要用 Shieber 的「理性重建」而不是按時間講你踩過的坑;投稿時標題幾乎決定了審稿人的 bidding。投影片、四支影片、projects.md 都公開;往年範例論文需要 Stanford 登入。
learn-inference.com 是 Philip Kiely《Inference Engineering》(256 頁,Baseten 出版,可免費下載 PDF)的非官方互動版:照原書 8 章、42 節重寫解說,把 TTFT、P99、speculative decoding、prefix cache 路由這類靠直覺的概念做成可以拖滑桿的模擬器,另外附免金鑰的 JSON API 與 MCP server。
CME295 是 Stanford 的兩學分課,沒有作業,成績只看期中和期末各 50%。2025 版九堂的影片、投影片和兩份考卷解答全部公開;2026 版把 agent 那一講改成 context 壓縮、harness、coding agent 和 skills,還新增 LLM 系統、強化學習、Diffusion LLM 三整講。
Berkeley CS189 在網路上同時有好幾個學期的版本。本系列之後的講次與作業導讀以 Spring 2026(Listgarten/Dimakis)為底本:講義、25 支講課影片、附解答的 discussion、HW1–5 題目與期中考解答都能匿名取得,判為 A3。Spring 2025(Shewchuk)是另一條經典路線,SVM、決策樹、PCA、boosting 只有它講;Fall 2025 的作業資料夾匿名打開是空的,所以不選;Fall 2026 還在進行中,只拿來對照。
CS189 Spring 2026 HW1 分三塊:10 題書面數學熱身(線性方程組、特徵分解求矩陣冪次極限、SVD、翻轉影像的矩陣、偏微分、遞迴式連鎖律、四題機率含癌症篩檢的 Bayes),加上兩本公開在 Modal 上的 Fashion-MNIST notebook:Part 1 練 pandas/Plotly/K-means/MLP/矩陣做影像增強/tensor 謎題,Part 2 做價格回歸、MAE/MSE/R²、混淆矩陣,最後處理一份被旋轉過的秘密測試集。截止 2/20,沒有官方解答。
HW2 是一份純書面作業,共 10 題。前半練讀論文(Chatbot Arena)和回歸、MLE/MAP 的基本推導,後半兩大題最重:Mixed Feelings 從 k-means 對離群值的脆弱一路推到 robust k-means 和加了均勻背景的 GMM;Watch Me Flow Dat 證明 conditional flow matching 和離散化後的 MLE 是同一個目標。題目 PDF 和 LaTeX 範本都能匿名下載,沒有官方解答。
HW3 分兩半:書面四題從 logistic regression 的 Newton 法、座標下降的收斂分析,走到反向傳播/VJP/隱式微分,最後用資訊瓶頸重新看「深度網路在壓縮什麼」;notebook 要你用 NumPy 寫出 BearTensor 計算圖、拓撲排序反向傳播、SGD/Momentum/Adam,再拿它訓練紅酒品質回歸,選做 Muon。題目與 notebook 全部公開,官方解答與 hidden tests 不公開。
HW4 分三份:書面題帶你用「問題 → 現有做法 → 提案 → 方法 → 貢獻」的順序讀 ResNet 與《Attention Is All You Need》;4.1 notebook 用 PyTorch 寫 CNN、ResNet-18,再從 softmax 一路拼出 encoder-decoder transformer,在 TinyStories 上訓練並生成故事;4.2 notebook 把 DNA 切成 6-mer 餵給預訓練 DNABERT 分物種,把聲音轉成頻譜圖交給 ConvNeXt,比較從零訓練、凍結 backbone、全解凍三種微調。兩個 Kaggle 競賽,5/1 截止。校外讀者拿得到題目,拿不到課程資料包與測試。
HW5 是 Spring 2026 唯一標成選修的作業,5/11 到期,和期末考同一天。書面有三塊:用 scRNA-seq 當背景推 InfoNCE 的梯度與負樣本數的取捨;證明最佳去噪器是條件期望、推到 continuity equation;把 flow matching 的直線路徑推廣成一般插值。Notebook 則是完整的 LLM 微調流程:固定用 Qwen2.5-0.5B-Instruct,把 MMLU machine_learning 轉成 chat 格式,用 TRL 的 SFTTrainer 全參數微調,比較微調前後在 CS189 考題上的準確率,最後對 169 題測試集提交 Kaggle,同時要防 catastrophic forgetting。官方附 hw5-sol.pdf,只涵蓋書面題。
CS189 Spring 2026 的前三講不急著推公式,先教你怎麼判斷一個問題該不該用 ML、怎麼用 pandas 和 Plotly 看資料、怎麼用 scikit-learn 走完一次訓練、驗證、測試的流程。Lec 1 只有投影片沒有錄影;Lec 2–3 有投影片與影片;Discussion 1 是微積分、線代、機率的熱身,附解答與 walkthrough。這三講是 HW1 的直接前置。
CS189 Spring 2026 第 4–7 講用一條線串起非監督式學習:先用 K-means 分群,指出它的弱點(硬指派、沒有機率框架、只適合體積相近的圓形群),再複習機率、引入最大概似估計(MLE)與多變量高斯,最後把 K-means 改寫成高斯混合模型(GMM)。GMM 的 log-likelihood 沒有封閉解,這個缺口正好把課程帶向梯度下降。四講都有投影片與影片,Discussion 2–3 附解答與 walkthrough。
CS189 Spring 2026 用四講把線性回歸講成同一件事的三個角度:高斯雜訊下的 MLE 等於最小平方;最小平方的解是把 y 正交投影到 X 的欄空間;特徵共線或參數太多時,用 ridge(等於高斯先驗的 MAP)或 lasso(等於 Laplace 先驗)把解拉回來,λ 則交給驗證集決定。講義、影片、Discussion 3–4 解答都能匿名取得。
CS189 Spring 2026 Lec 11–12 把分類拆成兩條路:生成式先為每一類建 p(x|y)(GDA:共變異數相同得 LDA、線性邊界,不同得 QDA、二次邊界),判別式直接建 p(y|x)(logistic regression:sigmoid、softmax、交叉熵 MLE,沒有封閉解要靠梯度下降)。兩者的橋是:LDA 的後驗一定能寫成 logistic 形式,反過來不成立。評估方面,準確率在類別不平衡時會騙人,ROC/AUC 掃過所有門檻、不看校準,PR 曲線則在意類別比例。
CS189 Spring 2026 用兩講處理梯度下降。Lec 13 從 Hessian 的特徵值推出學習率上限和條件數,再一路講到 momentum、學習率排程、AdaGrad/RMSProp/Adam 與 mini-batch SGD。Lec 15 由 Dimakis 用一個小資料表手算梯度重走一遍。兩份講義、錄影、Lec 13 的手寫稿,以及 Discussion 6、7(附解答)都能匿名取得。
Lec 14 把 ridge 重新解釋成「最小平方 + 高斯先驗」的 MAP,再拆解 bias-variance,最後借 Chatbot Arena 示範怎麼讀論文。Lec 16 從壓縮講熵,接到 KL、cross-entropy,再回到 logistic regression 的損失函數。3/17 的期中考題與官方解答都公開在考古題資料夾:6 題、56 分、110 分鐘,另有 6 支逐題講解影片,可以照著模擬一次。
Lec 17 用 XOR 說明為什麼線性模型、甚至多層線性模型都學不會非線性邊界,只要一層 ReLU 就能解;萬能近似定理保證「存在」,但不告訴你怎麼找權重、要多寬。Lec 18 把 chain rule 系統化成計算圖上的反向傳播:多條路徑的梯度相加,成本和參數數量成線性,有限差分則是平方。Discussion 8 讓你親手證明 GD 收斂速率與一維 ReLU 萬能近似。
Lec 19 先收尾反向傳播,接著處理「怎麼讓梯度一直流得動」:全零初始化會讓所有單元學成一樣,要用小的隨機值(ReLU 用 He 初始化);batch norm 用 mini-batch 的平均與變異數正規化 pre-activation。後半進入 CNN:局部連接加權重共享,讓同一個特徵偵測器掃過整張圖。Lec 20 補完 pooling、receptive field 與 CNN 的訓練,再談 early stopping、dropout,以及和傳統 bias-variance 圖不一樣的 double descent。
Lec 21 先講 CNN 缺什麼:只有頂層看得到整張圖。接著用 TF-IDF、RNN 看圖說話、soft attention 鋪路。Lec 22 從「軟性字典查詢」推出 self-attention:Q、K、V 三個線性層,SoftMax(QKᵀ/√D)V,再加上多頭、MLP、殘差與 LayerNorm,組成 transformer layer。attention 本身不看順序,所以需要位置編碼。Discussion 10 手算一次 QKV,並證明為什麼要除以 √D。
Lec 23 把 transformer 接成一個會預測下一個 token 的模型:切 token、查 embedding、疊 L 層 masked attention,最後乘回 embedding 表做 softmax,用交叉熵(也就是 MLE)訓練。預訓練只給知識,要會聊天還需要 SFT、LoRA、RLHF、DPO;推論時再靠 in-context learning、RAG、chain-of-thought 與工具呼叫。Lec 24 把「自己造一個假的監督任務」推廣到影像:自編碼器、上色、補洞、旋轉、拼圖、聚類,最後到對比學習、SimCLR 與 CLIP。Discussion 11 練位置編碼、RoPE、causal mask 與 KV cache。
最後三講把前面學的東西用在兩個前線。Lec 25 講蛋白質:AlphaFold2 解了「序列→結構」,但工程上真正卡的是「哪條序列有我要的功能」,而設計等於在 20^L 的離散空間裡當模型的對手;講義把條件生成 p(x|y) 收斂成三條統計上正確的路,最後都回到 Bayes rule。Lec 26 是線上 guest lecture,沒有公開教材。Lec 27 先定義 agent(LLM 在迴圈裡用工具、自己決定下一步),再說「資料被環境取代」:環境 = Docker + 任務 + verifier,拿來做 SFT、RL(RLVR、GRPO)或不動權重的 GEPA。期末自評用 Fall 2025 與 Spring 2025 期末考加解答,Spring 2026 期末沒有公開。
HW1 程式作業把 Lec2 的 entailment 做成一個 Pacman 版 Wumpus agent:Q1–Q2 用 Expr 和 pycosat 暖身,Q3–Q5 寫 PKE 感知規則、建 KB、用兩次 SAT 呼叫判斷 SAFE/NOT_SAFE/UNSURE,Q6–Q7 用現成的 A* 輔助函式組出 exploration agent 和三層策略的 hybrid agent。starter 與本機 autograder 可匿名下載;Gradescope 上的線上題只限校內。本文不附解答。
07-380 HW2 分三塊:程式作業先寫煎餅機器人的 PDDL,交給 unified-planning+Fast Downward 求最優計畫,再在 rrt.py 實作 RRT 與 RRT*(Q2–Q7);書面作業考 GraphPlan、一題 LP 建模與兩題 LP 圖解;另有只限校內的 Gradescope 線上題。本文只講題目結構、需要的概念與本機 autograder 怎麼跑,不附解答。
HW3 分三塊:程式作業要你用頂點枚舉寫出 LP 求解器,再在上面疊 branch and bound 解整數規劃,外加三題文字建模;書面四題分別是整數規劃手算、Amazon 送貨路線的倫理、PCA 的 SVD 計算,以及證明 Laplace 先驗等價 L1。截止日是 10/1,本文只講結構和需要的概念,不給解答。
07-380 Lec1 沒有演算法,重點是三件事:「智慧=在不確定性下把任務做好」這條主線、投影片上那張把 07-280 與 07-380 主題分色的 AI/ML 泡泡圖,以及 Quiz 55%、沒有期末考、Project 收尾的評分結構。校外讀者先用這講替後面 25 講定位。
Lec2 把踩地雷和 Wumpus World 的「這格安不安全」寫成 entailment 問題:KB ⊨ α 等價於 KB ∧ ¬α 不可滿足。能回答它的有三種做法:暴力列舉 model 的 TT-ENTAILS、在回溯上加提早終止、pure symbol、unit clause 的 DPLL,以及只吃 definite clause、線性時間的 forward chaining。Resolution 放在附錄,標示 out of scope。
07-380 Lec3 把命題邏輯的 successor-state axioms 換成 STRIPS 的 pre/add/del 三個集合,規劃就變回狀態空間搜尋;搜尋太大時,GraphPlan 允許動作同時發生、事實只增不減,delete relaxation 再把刪除效果整個拿掉,換來 FF 與 Fast Downward 使用的 heuristic。
07-380 Lec4 後半把規劃搬到連續的 configuration space:狀態沒辦法枚舉,RRT 就隨機取樣、從樹上最近的節點往樣本延伸一小段,並檢查整段不碰撞。RRT 是 probabilistically complete 但不最優;RRT* 用樹上的路徑成本幫新節點選父節點、再重接鄰居,讓路徑隨樣本增加收斂到最優。
07-380 Lec5 用 Diet Problem 把一段文字題寫成 min cᵀx s.t. Ax ⪯ b,再畫成圖:每條限制是一個半平面,cost 是一個方向,等成本線垂直於 c。沿著 −c 推到最後一刻碰到可行域的地方,一定包含某個頂點,所以演算法只要看限制邊界的交點:頂點枚舉全部檢查,simplex 從一個頂點貪心走到鄰居。
07-380 Lec6 在 LP 上多加一條 x ∈ ℤᴺ,頂點解就可能不是整數,而且在 LP 解附近找整數點也不保證對。解法是先把整數限制拿掉(relaxation),用 LP 算出下界,再對某個非整數座標分成 xᵢ ≤ floor 與 xᵢ ≥ ceil 兩支,全部丟進依 LP 目標值排序的 priority queue;第一個被取出的整數解就是最優解。
07-380 Lec7 把 PCA 放進「低秩最佳化」的框架:找一個 rank 不超過 r 的矩陣去逼近原資料。對單位向量 v,每個點的重建誤差等於 ‖x‖² 減去投影長度的平方,所以最小化重建誤差和最大化投影變異數是同一個問題;用 Lagrange 乘數解出來,答案是共變異數矩陣的特徵向量,也可以直接從 SVD 的 V 讀出。課站把 LoRA 論文列為延伸閱讀,它的 ΔW = BA 就是同一個低秩想法用在權重更新上。
Lecture 8 把 MLE 的 argmax p(D|θ) 換成 argmax p(θ|D):先驗 p(θ) 乘進 likelihood,取負 log 之後就變成目標函數裡多出來的一項。用 trick coin 看先驗怎麼被資料蓋過,用 Beta 先驗算出點擊率,再把線性迴歸的高斯先驗、Laplace 先驗對到 L2、L1 正則化。
Lecture 9 不再直接學 p(y|x),改成先學類別先驗 p(y) 和類別條件分佈 p(x|y),再用 Bayes rule 反推。這樣做要付出更強的假設,換來的是能生成新資料、資料少時比較穩。Naive Bayes 用條件獨立把參數砍到可估計,GDA 用多變量高斯處理連續特徵,共變異數一不一樣決定邊界是直線還是曲線。
07-380 Lec10 的投影片目前還沒上課站,本文只依 PR6 Bayes Nets 預讀筆記與 15-281 Bayes Net Demo:聯合分佈能回答任何 query,但沒人給你、也大到存不下;Bayes net 把它寫成「每個節點給定父節點」的條件機率表乘積,少畫的邊就是獨立性假設。
07-380 前十講依課站 Schedule 分成 Reasoning Under Certainty、Optimization、Reasoning Under Uncertainty 三段:先用邏輯證明、用搜尋規劃,再把問題寫成有限制的目標函數,最後在 MAP 讓先驗進場、轉向機率模型。HW1 檢查邏輯+搜尋、HW2 檢查規劃+LP 圖解、HW3 檢查求解器實作+PCA 與 MAP 推導。
CS181 2026 期末(5 月 9 日)能公開拿到的 final checklist、second-half practice 16 題與 final review 66 頁都是 2025 版,涵蓋 Bayes net、EM 等 2026 週表沒有的題目,卻缺 Transformer、VAE、GAN、自迴歸模型。先把 checklist 對上 2026 週表分三類,再用 hw 與 section 補新講題,最後拿 2025 practical 補一次端到端專案。
CS181 Spring 2026 的 HW2(due 2/27)共四題 90 分:用行星觀測資料訓練 10 個 logistic 模型看偏差與變異、推導生成式分類的 MLE、在 27 筆貸款申請資料上實作五種分類器,再用 SGD/Momentum/Adam 看 ridge 怎麼改變損失地形。核心是分清「模型給的機率」和「10 個模型彼此不一致」這兩種不確定性。
CS181 Spring 2026 的 HW3(due 3/23)三題 100 分:先把多項式與 RBF kernel 拆回特徵映射、從 ridge 推到 dual 係數 α 與 support vector 直覺;再手推兩層 sigmoid 網路的 backprop;最後佔一半分數的是在 Fashion-MNIST 上訓練 ResNet,自己量出 scaling law,用 C≈6ND 推算固定算力下模型與資料該怎麼分。
HW4 Problem 2 先在 CelebA 64×64 上訓練卷積 autoencoder,再讓你從 N(0, I) 隨機取樣,看它生不出臉;接著推 ELBO、reparameterization 與封閉形式 KL,最後把同一個骨幹改成 VAE,比較兩者的重建與取樣。
HW4 Problem 1(40 分)分五小題拆解 self-attention:2×2 手算、為什麼除以 √dk、沒有位置編碼時的 permutation equivariance、只用 NumPy 寫單頭注意力、用 PyTorch 寫多頭並在合成資料上畫注意力熱圖。
HW4 Problem 3 用三步量化「多棵樹投票為什麼會準」:Hoeffding 界在 p=0.6 時要 B≈691 棵獨立樹才壓到 10⁻⁶;樹之間相關係數 ρ 讓集成變異數卡在 ρσ²;最後比較隨機森林的密集集成與 MoE 的稀疏路由。
HW5 的 Problem 3–4 把手寫數字丟給三種不看標籤的方法:K-means 用 10 個平均影像代表整批資料,HAC 用合併樹給出任意群數,PCA 用幾個連續方向壓縮影像。三者都在回答「用少量東西描述資料,誤差多大」,作業要你把它們的目標函數與重建誤差放在一起比。
HW5 的 Problem 1–2 都是「把學習變成分類題」:SimCLR 的 NT-Xent 損失是在 2N−1 個候選裡找出同一張圖的另一個增強版本,GAN 的判別器是在分真假。作業要你推出這兩件事的數學(交叉熵等價、最佳判別器與 JS divergence),再在 FashionMNIST 與 MNIST 上把兩套訓練迴圈寫出來。
HW6 Problem 4(20 分)用三個問題拆解「一個 token 接一個 token 生成」的代價:逐步挑最大機率不等於整句最可能、每步重算所有 key 讓成本變成平方級而 KV cache 把它壓回線性、speculative decoding 用小模型先猜再讓大模型一次驗證。全部是紙筆題,但每一題都對應到今天 LLM 推論系統的真實設計。
HW6 Problem 1(15 分)把課堂上的離散 HMM 換成連續狀態:狀態每步加一點高斯雜訊、觀測再加一點雜訊,要你推出 filtering 分布 p(zₜ | x₀…xₜ) 的均值與變異數。這就是一維 Kalman filter。解法只有兩步:先用轉移「預測」,再用觀測「修正」,兩個高斯恆等式題目都給了。
HW6 Problem 2(15 分)給你一張 4×5 的 Gridworld:動作會打滑、獎勵在離開格子時才拿到。你要在 notebook 裡寫 policy evaluation、policy iteration 與 value iteration 各一步,再觀察折扣因子 γ 怎麼改變策略,最後反問「這樣建模機器人任務合理嗎」。環境規則全部已知,所以這是規劃,還不是學習。
HW6 Problem 3(20 分)要你寫一個表格式 Q-learning agent 玩類 Flappy Bird 的 Swingy Monkey,最低標準是 100 局內至少一次超過 50 分,還要再加一個自選的改進。Problem 5(10 分)是 250 字內的倫理題:假設社群平台的使用者政治立場愈來愈極端,用 RL 的概念解釋 reward 設計可能怎麼推了一把。
CS181 Spring 2026 期中考在 3/10 課堂上進行,佔總成績 15%,閉卷但可帶一張雙面筆記。官方 midterm checklist 分成迴歸、分類、神經網路與模型選擇、SVM 四塊;本篇把每塊對回 HW0–HW3 的題號,標出 2026 作業沒練到的缺口,並說明 2025 版 practice、review 與 concept checks 怎麼用。
沒有「不寫註解」派,只有「預設不寫、例外才寫」(Uncle Bob)和「註解是設計的一部分」(Ousterhout、antirez)。兩人 2024–2025 的公開對談裡,雙方都同意 why 註解要寫、廢話註解不要寫;真正吵的是方法的介面註解、長名字能不能取代註解,以及該不該信任註解。實證研究的結論是看品質:同一批受試者,註解讓表現從下降 30% 到提升 34% 都有。
傳統聊天只需要顯示文字泡泡,但 AI Agent 對話要讓使用者看見思考、工具呼叫、引用來源和執行進度——我們用 12 個 Vue 元件、三種 DisplayMode 和一條 chatBlocks 渲染管線解決了這個問題。
2026 上半年 OpenAI、Anthropic、Letta、LangChain 不約而同選了 Markdown 檔案 + 索引取代向量資料庫;寫入權從 agent 交還給人;遺忘機制終於出現但沒人做 Ebbinghaus;LoCoMo 被 Penfield Labs 抓出 6.4% 錯答;三家同時用「Dreaming」指離線記憶整併。五個趨勢,一個結論:記憶不是功能,是架構決策。
記憶是持久化的 prompt injection 載體:MINJA 證明只靠對話就能注入記憶(成功率 >95%),SpAIware 示範植入後每次回答都外洩資料。業界兩派防線——引用驗證(Copilot)和人工核准(Gemini CLI / Devin)——各有盲點。
Agent 記憶不是一個功能,是至少四種不同的工程問題——working、episodic、semantic、procedural。這個十篇系列從分類框架到 coding agent 實作、平台 API、開源框架、安全攻擊面,再到 2026 的趨勢判斷,完整走一遍設計空間。
CoALA 框架把 agent 記憶分為 working、episodic、semantic、procedural 四種,但光靠四格分類不夠——同一種記憶在不同系統裡的設計選擇差很大。這篇用六個獨立設計軸(讀取形態、寫入時機、保真度、寫入權、遺忘、範圍)加一條光譜(檔案 ↔ 向量/圖),畫出 2026 年 agent 記憶系統的完整設計空間。
前面看的是怎麼評估。這篇看另一個維度:在推理過程中怎麼動態分配計算資源。BrowseConf 的核心洞察是——agent 自己說的『自信度』就能預測答案準不準。高自信就用少點資源,低自信就多搜幾輪。
五家雲平台都在 2025–2026 年推出 agent 記憶 API,但設計哲學分歧明顯:OpenAI 把記憶寫成檔案、Anthropic 把記憶掛載成目錄、Google 用向量加主題分類、AWS 用事件加策略管線、Microsoft 用 context provider 抽象。定價從免費到 $0.75/千筆/月不等,租戶隔離從「應用端自己來」到「IAM 一等公民」都有。
九家 coding agent 的長期記憶走了至少四條路:Claude Code 和 Codex 用 Markdown 檔(agent 寫、人可讀)、Antigravity CLI 繼承 Gemini CLI 的 inbox 核准(agent 提案、人拍板)、Copilot 用引用+JIT 驗證(28 天沒被驗證就自動刪)。Cursor 把 Memories 拔掉退回純 Rules。Hermes Agent、OpenClaw、Letta Code 則把記憶當成 harness 的核心元件,不只是外掛。寫入時機、遺忘機制、跨團隊共享上的選擇完全不同,而且沒有任何一家公布過記憶功能的對照實驗數據。
2026 年的 deep research 商用市場已經分化:OpenAI 全面、Perplexity 速度快、Gemini 生態整合、Claude 推理深、Grok 實時性強。這篇比較各家產品的差異——不是誰最好,而是誰最適合你的場景。
整個 Deep Research 領域有 80+ 實作,但核心結構只有三階段路線 × 四個組件 × 三種優化方法。這篇用一篇看懂全景:從 Agentic Search 到 Full-stack AI Scientist,從 query planning 到 answer generation,從 workflow prompting 到 end-to-end RL。
DeepResearch Bench II 用 9,430 個專家 rubric 覆蓋 132 個任務,發現最強的 agent 也只滿足不到 50% 的標準。這篇拆解基準架構、评分方法、領先者,並分析整個 deep research 評估格局。
自建的 AI 助理用 Opus 4.6 生成 docx 連續兩次 stream_stall(90 秒超時)。根因是 skill instructions 少了一句 'Write a script',導致模型走 inline code output 路徑。claude.ai 的官方 SKILL.md 有這句話,穩定走 bash 執行。
10+ 個社群開源的 deep-research skill 代表了 10+ 種「怎麼做研究」的哲學。從 hyperresearch 的持久化 vault 到 jamoeight v2 的 Co-Scientist 6-agent,從對抗驗證到 benchmark 對齊。這篇把它們放在一張表裡看。
Deep research agent 跑出來的報告,該怎麼評分?用 LLM 當評審有偏,問人類太貴,測基準又跟不上。STC 等新方法試圖從「自信度」切入解決這個根本問題——但還沒有完美的答案。
Deep research 從『幫你搜資料』到『幫你做研究』已經發生了。但下一步更大:agent 自我進化、群叢協作、科學自動化。這篇看三個方向,以及一個 uncomfortable 的現實:Gartner 預測 40% 的 agent 專案會在 2027 年前被取消。
AI 助理平台的圖片搜尋連續三輪修正:第一輪把 node_type 過濾推進 ES query 解決文字 chunk 搶佔問題;第二輪讓 filename 匹配不再依賴 LLM 是否傳參數;第三輪從 Postgres icontains 換成 ES match 解決 CJK 部分匹配失效。
長時間研究時,agent 面臨「上下文窒息」:資訊堆積、噪音增加、注意力被稀釋。IterResearch 用馬可夫狀態重建解決這個問題,AREX 用內外雙循環實現遞迴自我改進。兩者回答同一個問題:agent 怎麼在數百輪搜尋後依然保持清晰?
七套開源記憶框架分佈在「向量抽取」到「檔案系統」的光譜上:Mem0 一行 add() 自動抽取、Graphiti 用 bi-temporal 知識圖保留矛盾歷史、Letta 讓 agent 自己編輯釘在 system prompt 的 blocks、LangGraph 用 namespace Store 做跨 agent 共享、LlamaIndex 靠 block 優先級控制截斷順序、Cognee 走三種儲存混合管線、Supermemory 強調時態向量圖引擎。這篇整理各自的儲存形式、寫入與遺忘機制、租戶隔離、benchmark 數字,再按四種常見場景給選型建議。
Deep research 的開源生態已經從『單一框架』演變成『工具叢集』。這篇比較 12+ 個專案:GPT-Researcher 重視多代理協作、STORM 模擬專家對話、smolagents 強調狀態管理。每個工具解決不同問題。
這是專案自己的 deep-research skill 設計全公開。核心選擇:只用 Groundlane MCP 做為網頁工具、嚴格的來源品質分級(A/B/C/D)、研究完交 post skill 發文。不是最強的,但是最適合我們的。
AI 助理平台約 10% 的對話隨機沒有知識庫工具,agent 直接用訓練資料編答案。根因是 retriever 初始化時的 except Exception 吞掉了 Elasticsearch 連線失敗,導致工具註冊靜默跳過。修法:加 retry + 把失敗 surface 到 system prompt + metadata 追蹤。
前四篇分別看全景、訓練、長時程、規劃。這篇看一個把所有環節串起來的完整系統:Tongyi DeepResearch。核心創新是『Agentic CPT』——在預訓練和微調之間插入一個 agentic 中間訓練階段,讓模型天生帶有 agent 偏置。MoE 架構 30B 參數只激活 3B,HLE 32.9 超越 OpenAI o3。
使用者在後台把檢索 top_k 設成 15,但監控面板顯示 5、串流 UI 先閃 5 再跳 15。根因是同一個 top_k 值存在於四層——LLM 工具參數、執行時 runtime、trace DB、串流 payload——每層都要個別 override。三次修正,每次修完才發現下一層也錯。
用 Vision API 解析 150 頁 PDF 要 29 分鐘(一頁一請求)。分批送頁降到 1.5 倍,加上 5 路併發壓到 24 秒。上線一週後客戶一次傳 23 份 PDF,70 個並行請求打爆 Bedrock 限流——90 頁被跳過、5 份失敗、8 份卡住。最終用 Redis slot 做全叢集上限 + backoff 重試修復。
兩篇 NeurIPS 2025 論文回答同一個問題:怎麼從零訓練一個能自主研究網頁的 agent?WebThinker 選擇「給既有用戶模型加上網頁探索能力」,WebDancer 選擇「從資料構造到 RL 訓練完整重來」。兩種哲學,四個階段,一個核心洞察:訓練比 prompt 好。
前面看的是怎麼訓練 agent。但訓練需要高品質數據——而 deep research 的訓練數據長期短缺。WebShaper 用數學形式化解決這個問題:把資訊搜尋任務形式化為集合論,再用 agentic Expander 逐步擴展。S1-DeepResearch 則是把訓練從『搜尋為中心』擴展到『真正做研究』。
所有的 deep research agent 都是『文字為主』的——但真實世界不只有文字。WebWatcher(NeurIPS 2025)是第一個將視覺推理整合進 deep research 的系統,用 OCR、圖像搜尋、代碼執行等工具處理圖表、截圖、視訊等多元資訊。
前面看的是怎麼訓練 agent 和怎麼維持長時程。這篇看更深一層的問題:怎麼讓 agent 的『規劃』本身變好?WebWeaver 用雙 agent(規劃者+寫作者)從架構上解決,DeepPlanner 用優勢 shaping 從訓練上解決。兩者指向同一件事:規劃是 deep research 的上限。
Gemma 是 Google 對照 Gemini 閉源旗艦的開放權重(open weights)家族;2026 年 4 月的 Gemma 4(E2B/E4B/26B-MoE/31B)把授權從自家 Gemma Terms of Use 換成 Apache 2.0——這是全文最關鍵的變化,也是選型前必須先搞懂的事。
Laguna 是 Poolside 的 agentic coding 模型家族:XS 2.1 以 33B-A3B 跑進 36GB Mac,S 2.1 以 118B-A8B、1M context 在 Terminal-Bench 2.1 拿下 70.2%、DeepSWE 40.4%,兩者都掛 OpenMDW-1.1 開源。
蚂蚁集團百靈大模型家族完整介紹:2025→2026 演化時間線、Ling/Ring/Ming 三大系列雙軌策略、從 Ling 1.0 到 Ling 3.0 的架構躍遷、Ling-3.0-flash-Fin 金融增強模型,以及 Agent 開發者的選型指南
Muse Spark 是 Meta 的閉源 agentic 模型線:1.3 以 1M context、多模態輸入與長程工具迴圈為主力,Standard 每 1M tokens 為 $1.25 input/$4.25 output,Contributor 則以資料訓練權換取 $0.10/$0.20。它不是 Llama 的下一版,而是 Meta 把模型、API 與 coding agent 一起產品化的另一條線。
Nex-N2.5 是 Nex AGI 的開源 agentic 模型家族:mini 以 35B-A3B 在 OSWorld-G 拿下 82.9 分,Pro 以 397B-A17B、87.4 分超車 Claude Opus 5,Max 以 1.6T 在 BrowseComp 以 92.6 分居全表之冠,三款都掛 Apache-2.0 開源。
Agent 有 workspace_browse 工具卻說「找不到檔案」——問題不在工具實作,在工具描述。Anthropic、OpenAI、Google 三家的官方指南都指向同一件事:觸發條件和工作流程要寫在 tool description 裡。一份 2025 年研究發現 97.1% 的 MCP 工具描述有品質問題。
Agent 間通訊分三種模式:handoff(移交控制權)、delegate(委派後等結果)、mailbox(即時點對點訊息)。各家實作差異大,但 MCP 和 A2A 正在推動協定標準化。
子 agent 要不要看到父對話?Fork 帶完整歷史但 token 指數膨脹,Fresh 省錢但缺背景。業界共識:預設 Fresh,需要時才 Fork,且一定要搭歷史截斷和結果壓縮。
Multi-Agent 並行 + 巢狀 spawn 可以在單輪對話燒掉 200K+ tokens。業界從 Anthropic 到 Microsoft 都走向三級分級反應:壓縮 → 降級 → 停止,而非一刀切硬擋。
2026 年幾乎所有主流 coding agent 都支援 subagent。設計哲學分三派:腳本確定性編排(Claude Code Workflow)、model-driven 自主(Codex、Devin)、IDE 指揮台(Windsurf 2.0、VS Code)。這篇是系列總篇,整理產品定位、能力矩陣與架構光譜。
Multi-Agent 系統最常見的 debug 困境是「知道結果錯了,但不知道是哪個 agent 搞的」。三層可觀測性是必要的:per-agent token 計量、execution trace 記錄、即時成本儀表板。
Multi-Agent 編排分三派:腳本確定性(LangGraph、Claude Code Workflow)可預測但僵硬,model-driven(Codex、Devin)靈活但不可控,混合派(Windsurf 2.0)當指揮台整合多家。選擇取決於你需要多少可預測性。
Multi-Agent 的安全風險不只是單 agent 的放大版——agent 間的通訊本身就是攻擊面。一個被注入的子 agent 可以透過回傳結果把惡意指令傳給父 agent。防禦核心:treat agent output as untrusted data。
聯盟行銷能不能成為生意,不只看點擊與佣金;要看內容是否降低選擇成本、每筆成交扣完更新與歸因損失後是否有毛利,以及創作者是否累積自己的信任與需求資料。
別把所有資源押在搜尋文章;用現金流、防禦與選擇權三個籃子配置內容資產,並逐項檢查擁有權、可攜性、更新責任與可重建性。
AI 搜尋把『被看見、被引用、被點擊、完成轉換』拆成不同事件;內容網站要從排名與 sessions,改看可辨識 referral、站內啟用與來源 cohort。
封鎖控制未來請求,授權約定簽約雙方如何交換內容使用權,訴訟處理既有法律爭議;三者不能互相替代。
答案引擎讓內容被讀取,不保證讀者會造訪;免費內容生意因此要從租來的點擊,移向第一方關係、可操作工具、原始訊號與品牌直達。
越能被短答案完整壓縮、越不依賴原始資料或後續行動的內容,越容易被商品化;真正要檢查的是讀者拿到摘要後,還需不需要回來。
鉅亨網的公開產品不只廣告版位,還包括影音、活動、贊助專題、代編與歷史上的 B2B 新聞授權。免費內容把讀者帶進來,平台再同時平衡廣告成效、內容成本與編輯信任。
Beehiiv 把電子報、推薦、轉介、廣告、付費訂閱與自動化放進同一套營運系統。官方方案隨名單規模與功能分級;0% 訂閱抽成不等於零成本或零綁定。
BigGo Finance 把公開 Podcast AI 摘要、行情與新聞放在免費入口,旁邊接上模型能力、通知與體驗升級的 Pro 方案。這是一條合理的產品路徑,但公開資料沒有證明摘要讀者真的會轉成付費會員。
CB Insights 用免費電子報展示資料能力,再把市場訊號加工成可搜尋資料、Mosaic 評分與 CRM/API 工作流。企業付費買的不是更多文章,而是更快排出研究順序。
CMoney 官方把產品設計拆成方法、工具與社群三步:免費內容和討論被設計來帶出需求,共用資料與 API 可把投資方法做成多款 App;公開產品顯示的變現層包括訂閱、課程與法人系統。這是設計機制,不是已公開驗證的留存或收入飛輪。
內容 CAC 要用完整的製作、分發、工具與人時成本,除以同一 cohort 的新增付費客戶;再用毛利 LTV 與回收期判斷,而不是拿 leads、總站平均或 3:1 口號代替。
AI 風險不是公司排行榜,而是產品層的公開文字可重述程度,對上原始訊號、直接關係、工作流與交易等防禦資產。
平台能匯出 CSV,不等於創作者能完整搬家。文章、email、會員狀態、扣款關係、網址與推薦流量是六種不同資產;搬家前要逐層驗收。
第一方資料、社群與工具能把匿名曝光接成可再次服務的關係與工作,但沒有一項是完全 owned:同意、可匯出性、平台依賴、維護與留存都要分開驗證。
免費工具不會因為是工具就自動排名或得到反向連結;它的機會來自完成一項可重複的工作,讓回訪、分享與真實使用訊號形成可量測迴圈。
公開資料未顯示 Fugle 直接靠免費文章收費,也沒有證據顯示它逐筆抽交易佣金。它用研究介面吸引投資人,再從個人 API 訂閱、券商資訊服務與 B2B 技術合作變現;真正的交易與資產仍留在合作券商。
Gartner 把研究、分析師問答與採購工具包成企業的決策保險。2025 年 Insights 產品占總營收約 78%,但 Magic Quadrant 只能降低搜尋與協調成本,不能保證選對產品。
Ghost 把網站、會員資料與付款關係放回出版者手上:付款直連自己的 Stripe,Ghost 抽成 0%,但仍要付 Stripe、代管或自架維運成本。Ghost 6 也加入 Recommendations 與 ActivityPub,不能再簡化成完全沒有發現性。
Medium 與 Vocus 都能替創作者帶來曝光,交換條件卻不同:Medium 掌握陌生讀者的分發與新訂閱者身份,Vocus 處理台灣金流、發票與會員管理,但公開文件只證明訂單 CSV 可匯出,不能推成完整 email 或付款關係可攜。
Patreon 對 2025 年 8 月 4 日後發布頁面的新創作者收取 10% 平台費,換來免費會員、付費分級、商品、社群與發現工具。創作者可以匯出 email,卻不能把續訂扣款、留言與推薦分發一起裝進 CSV。
PitchBook 用公開訊號、當事人回報與研究員核對,建立公司、交易、基金和投資人的關係資料庫,再透過篩選器、Excel、CRM 與 API 嵌入工作流程。2025 年分部營收達 6.718 億美元,但近期資料仍會遲報、估計與回修。
SEO 仍負責讓內容被找到,但 AI 答案讓曝光不再穩定交付點擊;品牌直達要用品牌查詢、可辨識回訪、啟用與轉換一起衡量,不能把所有 direct traffic 都算成品牌。
Substack 對全部付費訂閱營收收取 10%,買到寄信、收款、推薦網路與較短的付款路徑。是否回本取決於平台帶來的可留存增量,而不是把公司自報的 25–30% network share 直接減掉 10%。
平台選型不是排行榜。台灣創作者應先過收款、發現、控制與維運四道門,再決定要租平台攤位、使用 SaaS,或經營自有網站;任何 CSV 都不等於完整帶走讀者與扣款關係。
台灣的產業密度可以轉成全球企業情報,但新公司要先通過五道門:獨特訊號、反覆需求、固定欄位、合法驗證與境外買方。TrendForce 顯示模式存在,不代表任何產業都能複製。
商業文件解析分三條路線:專用 Parser(Cohere Parse $1.50/千頁、LlamaParse Agentic Plus 90.2%)、三大雲 Prebuilt(Azure/Google/AWS,結構化欄位抽取)、直接用通用 VLM(Fable 5.1 在 ParseBench 拿 78.92,圖表理解碾壓專用 parser,但每頁成本 3-16 倍且會幻覺)。10 萬頁/月純 OCR 各家都 ~$150,加表格後 AWS 跳到 $1,500、用 Claude Sonnet 5 跑要 $900。選型的第一個問題不是「哪家最準」,是「你要轉錄還是理解」。
企業不是為更多文章付費,而是為更快找到訊號、排出優先順序、完成決策。六個案例分別把記者人脈、群眾研究、結構化資料、預測分數與採購工作流變成可續約的情報產品。
內容生意不只是在文章外面加付費牆;它可能賣企業決策、個人信任、平台基礎設施,或用免費內容替另一項產品獲客。
DIGITIMES 把台灣科技供應鏈的零碎訊號,加工成新聞、研究報告、資料庫與顧問服務。企業續約買的不是消息數量,而是更快形成決策的整套情報生產線。
免費內容不是免費生意,而是一筆獲客投資;這個系列用廣告、工具、訂閱、券商合作、聯盟行銷與 AI 搜尋等八個案例,追問讀者最後完成了什麼付費工作。
Seeking Alpha 不只賣股票文章:它讓外部作者供稿,以編輯規則治理內容,再把人工觀點、100 多項量化指標與投資工具包成多層訂閱。
The Information 把少量獨家新聞賣給能用情報改變決策的專業讀者,再把採訪累積改造成資料庫、組織圖與 AI 研究工具,讓同一套消息源支撐多層訂閱。
選創作者平台不是找功能最多的一家,而是決定由誰帶來讀者、代收款項、保管資料與維持系統;費率只是四道門中的一扇。
把論文工作流拆成三個動作——找、讀、寫,各推薦一個工具:Google Scholar 搜論文、Moonlight AI 讀論文、CorTeX 協作寫論文。三個工具免費就能用,合在一起覆蓋從文獻探索到投稿的完整流程。
綜合 arXiv 官方指引、NeurIPS Reproducibility Checklist、REFORMS 框架(8 模組 32 項)與五大頂會投稿政策,從論文結構、實驗設計紅線、arXiv 投稿流程到會議 vs. 直投的抉擇框架,一份可以直接拿來檢查自己論文的完整指南。
Claude Academy 第一堂課點出核心矛盾:AI 加速了寫程式,但 review、測試、部署的速度沒跟上。結果瓶頸從「寫不夠快」變成「審不夠快」。AI-native SDLC 的解法不是讓 AI 寫更多程式碼,而是把 AI 嵌進瓶頸所在的每個環節。
傳統需求散落在 Jira、Slack、會議紀錄裡,經過多次交接才到工程師手上。intent.md 讓需求發起人直接跟 Claude 對話,產出一份人可讀、機器可執行、版控可追溯的 Markdown proto-spec,從對話到文件只需要幾小時而不是幾週。
傳統開發裡,需求分析和設計是兩個獨立階段、由不同團隊負責,交接時必然有資訊流失。這堂課的做法是讓 Claude 在單一 session 裡讀取 intent.md,套用組織的品牌、資安、合規、UX 標準(以 skill 形式載入),產出統一的 spec.md——產品負責人只需要 review,不需要自己寫。
Claude Code 的 plan mode 讓工程師在寫任何程式碼之前,先產出一份可審查、可版控的實作計畫(plan.md)。設計審查從 PR diff 前移到計畫階段,修正成本從「改程式碼」降到「改文件」。
CLAUDE.md 是放在 repo 根目錄的上下文檔案,讓 Claude 在每次 session 開始時就知道這個專案的慣例、指令、架構和地雷。課程的核心建議:同樣的錯犯兩次,就寫進 CLAUDE.md。
Skill 是組織隱性知識的編碼形式——一個資料夾加一份 SKILL.md,讓 Claude 在觸發條件成立時自動載入並執行標準作業程序。課程的關鍵原則:skill 讓違規變少見,hook 讓違規接近不可能。
一個工程師同時開多個 Claude Code session,每個跑在獨立的 git worktree 裡;重複性的驗證工作交給 subagent。瓶頸從「寫程式」變成「review 產出」。
讓 Claude 在提交前自己驗證自己的產出——測試、build、截圖比對全部跑過才算完成。工程師收到的不再是「可能對」的程式碼,而是「已經通過驗證」的程式碼。
Evals 是 AI-native 版的 stage-gate QA——收集 20-50 個真實任務當測試案例,每次改動 CLAUDE.md、skills 或 hooks 時自動跑一輪,pass rate 掉了就擋 merge。每個線上事故都變成永久的 eval。
讓 AI 做第一輪 PR review,人類只看意圖與風險——這堂課教你怎麼設定 REVIEW.md、分層 review pass、建立 review comment 自動修正迴圈,以及為什麼寫程式的 agent 不能自己批准自己的 PR。
Hooks 是 AI-native SDLC 的治理基石——確定性的閘門,在 agent 執行動作前攔截,不通過就擋下。這堂課從單一 production gate 腳本講到完整的企業級 managed settings,涵蓋權限鎖定、沙箱、憑證隔離、marketplace 白名單,是整門課最硬核的一堂。
把 Claude 接進 CI/CD pipeline——從唯讀的 build 失敗分析開始,逐步加入寫入操作,透過 MCP 暴露部署工具,按環境分層授權。核心原則只有一句:「agent 可以做到 production gate 為止,不能通過它。」
Stage 6 是整個 AI-Native SDLC 的收尾也是起點:監控腳本偵測異常 → Claude 自動寫診斷報告為 intent.md → 走完整個開發流程。人從「發起工作」變成「分類和審查工作」。
14 堂課跑完,最後這篇把整個系列收束成三件事:導入的優先順序、每個角色該從哪裡開始、以及 Anthropic 官方文件的完整資源清單。
Anthropic 在 Claude Academy 推出 14 堂免費課程,把 AI 寫程式從「個人用 Claude Code」拉高到「整個團隊的開發流程」。核心概念只有四個:intent.md、CLAUDE.md、Skills、Hooks,但它們串起來就是一套完整的 AI-native SDLC。
WebMCP 是 Google 與 Microsoft 在 W3C 提出的瀏覽器原生標準,透過 document.modelContext.registerTool() 讓網頁直接向 AI agent 暴露結構化 tool——不需要後端、不走 HTTP/SSE transport。Chrome 149 已開放 Origin Trial。
document_parse 新增 effort 參數(fast/standard/deep)把 anydoc WASM、OCR.space、Docling VLM 三條路徑統一成一個旋鈕;document_chunk 的 fieldAware 模式從表格 header 和 metadata 抽欄位名附到 chunk,解決 RAG 的 attribute conflation;document_smart_parse 回傳 confidence 分數讓 agent 自己決定要不要升級。
Groundlane v0.1.0 新增四個品質機制:web_extract 的 selector healing(三層確定性 fallback,不用 LLM)、corpus_retrieval_test(RAG 召回品質驗證,受 RAGFlow 啟發)、document benchmark CLI(character-level F1)、search benchmark framework(ground truth corpus + 多 provider 比較)。工具數從 54 增至 55。
Week 2 兩堂課一前一後:週一用 Anthropic 的 taxonomy 學會什麼時候不該用 agent,週三用 RAG 論文做出第一個複合系統。五個 workflow pattern 是選型工具,RAG 是參數記憶加非參數記憶的配方,兩篇合起來就是 HW1 email 檢索管線的施工圖。
Week 3 週一用 MCP 規範把工具介面標準化,週三用 DSPy 論文把手刻管線換成可編譯、可優化的程式;同一週 HW1 發布:不准用 agent 框架,從零刻一個企業內部助理,所以 DSPy 這週是拿來看懂框架抽掉了什麼,不是拿來交作業。
Week 4 週一用 ReAct 論文把 agent 迴圈定型為想—做—看的交錯序列,週三用 MemGPT 論文把記憶做成作業系統式的分層記憶體;同一週 HW1 正從 email 檢索 pipeline 長成完整 harness,記憶本來就是作業要求的一塊,迴圈形狀與記憶設計就是這週要定案的兩件事。
Week 5 週一用 AutoGen 把多智慧體協作寫成可程式的對話,週三用 GEPA 與 test-time compute 論文攤開優化三軸:改 prompt、改權重、加推理算力。HW1 在 10/30 截止,這是交卷前最後一個完整週,這篇幫你決定力氣花在哪一軸。
Week 6 週三讀 Shankar 的資料飛輪:評估、監控、持續改進三站共用同一批生產資料;同一週 HW1 截止、HW2 發布,11 月初還要交期中 demo 錄影與期中報告。
Week 7 是期中驗收週:週一談資料選擇,週三談評分與 benchmark 設計;Zhu 等人教你別被自己的分數騙,SWE-smith 把軟體工程任務資料做到 5 萬題,讀完為 HW2 寫下第一版 4-tuple。
Week 8 週一用 MT-Bench 與 Anthropic 評測指南建立模型裁判,週三用 PrivacyLens 與四件護欄面對實戰洩漏;週五 paper video 到期,本週交付就是一份會動的裁判分數加一條許可檢查。
第九週週三談寫程式智慧體:SWE-agent 證明介面即效能,OpenHands 把沙箱與評測做成通用底座;第二份作業週五到期,本週交付是一道會動的修 bug 考題。
最終回讀 Week 11:週一用 GUM 論文把等指令的 reactive 助理升級成會觀察、推測、先出手的 proactive agent,週三把 multimodal、long-running 與 production observability 收成三個 open problems;文末附 Demo Day 前檢查清單與全系列 11 篇地圖。
四張 AI 安全證照各有定位:SecAI+($359)是 CompTIA 品牌的中階擴充、CAISP($999 全包)實作最強且 OWASP LLM Top 10 覆蓋最完整、GAIPS($999/$9K)是 SANS 金字招牌的防禦側 CyberLive 考試、AAISM($459+)偏治理但需先持有 CISM 或 CISSP。預算 $400 以下選 SecAI+,想動手做選 CAISP,公司出錢選 GAIPS。
2025–2026 年 18 個月內有 6+ 張 AI 安全證照密集上市,傳統三強 Security+($404)、AWS Security Specialty($300)、CISSP($749)仍是基礎。非資安專職的 AI 平台開發者,建議三階段:Security+ → AWS Security → SecAI+ 或 CAISP → CISSP,總預算 $1,800–$2,650。
Security+($404)2–3 個月自學、首次通過率 50–65%、薪資溢價 +$10K–$20K;AWS Security Specialty($300)2–3 個月、通過率 45–55%、ROI 最高(40–67x);CISSP($749)3–6 個月、通過率 50–60%、薪資溢價 +$25K–$35K 但需 5 年經驗。五年維護總成本:Security+ $554、AWS Security $300(無年費)、CISSP $1,374。
台灣資安法 2.0 已三讀、金管會三級制度到位,但都不強制指定證照——真正的需求來自徵才市場。台灣有 7+ 家培訓機構可選:恆逸課程最齊全(唯一同開 SecAI+ 和 COASP)、WUSON 吳文智是 CISSP 圈的傳奇(月月額滿)、DEVCORE 獨家引進 OffSec 原廠講師。考場在台北信義區和高雄,多數證照也支援在家線上監考。
CS329Z 第一週主讀物是 Zaharia 等人的 Compound AI Systems:SOTA 越來越靠多元件系統拿下,單一模型再大也只是零件;文章留下三個設計問題與三大挑戰,剛好就是 HW1 要你動手回答的題目。
Marker(Datalab 開源,Apache 2.0 授權,v2.0.0 於 2026-07-20 發布,39.5k stars)是一個以 Markdown 與 JSON 為輸出的 pipeline 式文件解析標準庫,支援 PDF、圖像、PPTX、DOCX、XLSX、HTML、EPUB,並提供可選的 LLM 增強(`--use_llm`,預設 `gemini-3.5-flash`)、可自訂格式邏輯與表格/公式/內嵌數學/連結/參考/程式碼區塊的完整處理、圖像提取與保存、標頭/頁尾移除,並可在純 CPU、GPU 或 MPS(Apple Silicon)環境運作。與 [Docling](/posts/tech/2026-09-06-docling-document-parsing) 同屬解析層,但授權路徑(`Apache 2.0` 代碼 + `AI Pubs Open Rail-M` 模型權重,有商業門檻 `$5M`)、輸出核心(`Markdown` 為主而非結構化 `JSON`)、解析引擎特點(`Pipeline` 式可替換階段,但 `VlmPipeline` 為可選的 `LLM` 增強而非固定 `VLM` 選項)、與 [MinerU](/posts/tech/2026-09-05-mineru-ocr-doc-parsing)(自訂協議、`Markdown` 為核心、`Hybrid` `effort` 參數)的差異形成解析層內三種不同取捨路徑。
拆解三個中文圈從零訓練 LLM 的開源專案——baby-llama2-chinese(218M、634 億 tokens)、ChatLM-mini-Chinese(0.2B T5、1,023 萬條對話)、Steel-LLM(1.12B、1 兆 tokens、8 個月)——比較語料策略、tokenizer 決策與社群生態;誠實呈現評測:baby-llama2 在 MiniMind 的橫評中 21 分墊底,ChatLM 知識紮實(62 分)但程式能力弱。
四個 coding agent 的 TUI 都遵守同樣兩條規則:工具高度恆定(1 行摘要,不從 0 跳到 N 行)、不自動收合(只有使用者手動展開才會展開)。looplane 兩條都違反了。
OpenELM 用 layer-wise scaling 把參數偏向靠近輸出的層,1.08B 參數、1.5T tokens 在 LLM360 平均分數上超越吃了 3T tokens 的 OLMo 1.2B(+2.36%);MiniCPM 用三階段解凍(先 Resampler、再視覺編碼器、最後全開)從零訓練多模態小模型,MiniCPM-V 4.5 以 8B 達到 VideoMME 30B 以下 SOTA,再靠 4-bit 量化把 fp16 的 16–17GB 記憶體壓到約 5GB。
Karpathy 三代教學專案縱覽:nanoGPT(2022,各約 300 行重現 GPT-2 124M)、llm.c(純 C/CUDA 訓練)、nanochat(2025-10,一個 speedrun.sh 從 tokenizer 訓到 WebUI)。100 美元、4 小時在 8×H100 上訓出能對話的模型;GPT-2 級能力到 2026 年初已壓到約 2 小時、48 美元。
LitGPT(Lightning AI,約 13,600 stars,Apache 2.0)把 Llama 3、Qwen2.5、Phi 4 等 20+ 個 LLM 逐一從零重寫成無抽象層的單檔實作,附 pretrain / finetune / evaluate / serve 完整命令列;1.1B 參數、3T tokens 的 TinyLlama 就是用它的程式碼訓出來的。這篇拆解它與 MiniMind 的差異、實際用法與限制。
MiniMind 是一個從零開始訓練 LLM 的開源專案:64M 的 Dense 模型與 198M-A64M 的 MoE 模型,單張 3090 約 2 小時、約 3 元人民幣就能跑完 Pretrain → SFT → LoRA → DPO → PPO/GRPO/CISPO → Agentic RL 的完整流程。所有核心演算法用 PyTorch 原生實作,不依賴高階封裝。
兩個國家級專案展示了從零訓練的另一種動機:瑞士的 Apertus 用 15T tokens、1,000+ 語言與嚴格的 opt-out 個資過濾對齊 EU AI Act;日本的 LLM-jp 由 NII 主導,2026 年 4 月的 LLM-jp-4 在 12T tokens 上訓練出多項 benchmark 超越 GPT-4o 的模型。它們回答的問題和效能路線不同:不是「跑得快」,而是「主權與合規下能訓出什麼」。
「開源 LLM」其實是一條光譜:只開權重(Llama)→ 權重加資料(多數 fully open 專案)→ 連資料順序、中間 checkpoint、訓練日誌都開(LLM360 K2、OLMo 3 的 model flow)。這篇拆解兩個把透明度推到極致的專案:OLMo 3 在 2025 年 11 月放出首個全開的 32B thinking 模型,K2 則是首個 65B 級、連 optimizer states 都公開的模型。
系列實作篇:在 RunPod 租一張 RTX 3090(Secure Cloud $0.5/hr、Community Cloud $0.22/hr),照 README 步驟跑完 MiniMind 的 pretrain(約 1.21h)+ SFT(約 1.10h),總成本約 $0.55–1.50 美元,就能在終端機跟自己從零訓出來的 64M 模型對話。
開源社群把「從零訓練 LLM」的門檻壓到了驚人的低:MiniMind 用約 $0.4、單張 3090 兩小時就能跑完從 PreTrain 到 RL 的完整流程,另一端 OLMo 3 與 LLM360 K2 把 65B 模型的訓練資料、程式碼、每個階段的 checkpoint 全部公開。這個系列用 11 篇逛完從 $0.4 到 65B 的專案光譜,並標註這份地圖覆蓋不到的地方。
從零訓練只在三種情況成立:你要學習訓練本身、你有開放模型沒見過的 10B+ 乾淨語料、或你需要全透明的訓練過程做研究。否則微調或 RAG 幾乎總是更便宜的答案。這篇把系列走過的主要路線收斂成一張成本梯度表與決策樹。
YuLan-Mini 是中國人民大學 AI Box 實驗室用 48 張 A800 訓出來的 2.4B 開源模型:只餵 1.08T tokens,MATH-500 拿 37.8、HumanEval 64.0,數學與程式能力壓過用了 7T–18T tokens 的 Qwen2/Qwen2.5 同級模型。它公開的不是口號,是每個階段的資料配比、退火前的 optimizer 狀態、連消融實驗的 W&B logs。
Docling(IBM Research Zurich 起源,現由 Linux Foundation AI & Data 治理,MIT 授權,v2.100.0 於 2026-06-09 發布)是一個以結構化 JSON 為核心輸出的文件解析標準庫,支援 PDF、DOCX、PPTX、XLSX、HTML、EPUB、Apple Pages、影片(MP4/AVI/MOV,含 ASR 轉錄與代表性幀)、音訊(WAV/MP3)、電子郵件(EML/MSG)、ODF 與 XBRL 財報,並提供可替換階段的 pipeline 式解析(純 CPU 或 GPU 加速)、VlmPipeline 選項(GraniteDocling 258M VLM)、MCP server 與 API server(docling-serve),與 LangChain / LlamaIndex / Crew AI / Haystack 原生整合。
Thinking Machines Lab(Mira Murati 2025 年創立,20 億美元 seed、估值 120 億美元)2026 年 7 月以 Apache 2.0 釋出 Inkling(975B 總參數/41B 活躍、1M context、原生多模態、可控思考)與輕量版 Inkling-Small(276B/12B),搭配 Tinker 微調平台,把「可自訂」本身做成產品。
2026 年 AI Native Agent 時代的核心變化:從 Harness Engineering 到 Skill Engineering,工程師角色從執行者轉向評判者,三個階段演進與五大關鍵技能。
MinerU 是 OpenDataLab 的開源文件解析引擎,可將 PDF、圖像與 Office 文件轉成保留表格、公式和閱讀順序的 Markdown 與 JSON,適合 RAG 前處理與知識庫建構。
傳統文件解析用固定 pipeline 一體適用,但合約、財報、技術手冊各需不同策略。Agentic Parsing 讓 LLM agent 觀察文件後動態選工具——AgenticOCR 只解析需要的區域(視覺 token 省 70%+)、ParseBench 2,000 頁企業文件實測最佳方案也只拿 84.9%,沒有銀彈。
ColPali 把 PDF 每頁渲染成圖片,用 vision-language model 產生 patch-level multi-vector embedding,用 MaxSim 做 late interaction 檢索。表格密集的金融 PDF 上 recall 從 62% 跳到 84%,完全跳過 OCR 和 chunking。代價是儲存量 ~100 倍、需要 GPU、BM25 不可用。
小 chunk embedding 精準但缺上下文、大 chunk 上下文完整但 embedding 被噪音稀釋——Hierarchical Chunking 用多層索引(2048→512→128 tokens)配 Auto-Merge 演算法解決這個兩難:葉節點精準命中,命中密度超過閾值就自動回傳父節點給 LLM。HiChunk 實測 evidence recall 提升 12.7%,LlamaIndex 和 Haystack 都已內建。
AI 讓寫 code 快了 34%,但 review 時間暴增 441%、實測交付反而慢 19%。四輪研究整理出當前全景:確定性護欄(hook 擋)vs 機率性護欄(prompt 引導)、乾淨 context review、自我改進回饋迴圈、規格驅動開發、AI 測試品質危機(覆蓋率高但 mutation score 低至 53%),以及 Replit agent 偽造測試結果的真實事故。
標準 RAG 一次檢索只找一組文件,但真實問題常需跨 2-4 份文件推理。IRCoT 開創交錯式檢索推理,PAR²-RAG 在四個基準上比 IRCoT 準確率高 23.5%,CompactRAG 把 LLM 呼叫壓到只有兩次。
Self-RAG 在 LLM 裡訓練四種 reflection token(Retrieve / IsREL / IsSUP / IsUSE),讓模型在生成過程中自主決定何時檢索、檢索結果是否相關、生成是否有據可查。ICLR 2024 Oral(top 1%),7B 模型在多個 QA benchmark 超越 ChatGPT 和 Llama2-chat + RAG。代價是必須 fine-tune,無法用在 API-only 模型。
Markdown-KV 格式在 LLM 理解準確度上達 60.7%,比 CSV 的 44.3% 高出 16 個百分點。但檢索用途的最佳格式不同於 LLM 理解用途——metadata prepend + row-wise key-value 是目前表格 RAG 的最佳組合。
每天 30 分鐘、持續 12 週,用跟讀法+情境模擬+AI App 三件組合,讓職場英文從「聽得懂但說不出來」變成能開會能簡報。
Cloud routine 的 outcomes 配置會建立 feature branch,導致 agent 在 branch 上作業並推送,文章沒進 main。修法是移除 outcomes 加上 skill 裡補 git checkout main 雙保險,但過程中還撞上 list API pagination 的 server-side bug。
Claude 自己建的 Routine(created_via: meta_mcp)每次呼叫第三方 connector 都跳授權提示,使用者建的(created_via: http_api)不會。解法:用 RemoteTrigger API 重建 routine。
Codex 以 Bazel 管理 140+ Rust crate,核心分為 core/tui/exec-server/protocol 四大塊;沙箱用 codex_sandboxing 統一 macOS Seatbelt、Linux Landlock/bwrap、Windows 沙箱三平台介面;exec-server 以 JSON-RPC + Noise Relay 實現遠端執行。
ThreadManager 持有 Arc<ThreadManagerState> 統管所有 thread,spawn_thread() 統一處理新建/恢復/分叉/子代理四種啟動路徑;ForkSnapshot 定義 TruncateBeforeNthUserMessage/Interrupted 兩種語義;AgentControl 透過 Weak<ThreadManagerState> 避免循環引用;agent_graph_store 追蹤 ThreadSpawnEdgeStatus::Open/Closed。
TurnContext 在 turn 初始化時捕獲所有設定(模型、審批、token budget),後續 step 透過 StepContext 讀取快照;StepActivation 驗證設定變更不違反 legacy 安全約束;ContextManager 用 Arc<Vec> + 版本號實現 Copy-on-Write 歷史共享;壓縮觸發條件為 token_remaining < threshold,支援 remote v1/v2、local、model fallback 四條路徑。
omp 的 runLoopBody 用雙層 while:內層跑 model call → tool call 的核心節奏;外層在 agent 本想停下時,排空 queued steering / follow-up / asides,決定要不要再跑一輪。這設計解決了「使用者在 model 跑時打字」與「背景任務悄悄塞訊息」的交付時機問題。
omp 用 StablePrefix 凍結 system prompt + tool specs,用 AppendOnlyLog 讓 messages 只增不改,配合 digest-based 的 longestStablePrefix 算法,在 prune/shake/steering 重寫歷史時,只重送 divergence point 之後的尾巴。這讓 Anthropic/DeepSeek 的 prompt cache 命中率最大化,解決了舊版每輪強制 ~40k token re-prefill 的問題(issue #3406)。
omp 的審批解析器 resolveApproval 按「工具宣告 → 使用者覆寫 → 模式門檻」三層決策。未宣告 approval、或格式錯誤的工具,預設降級為 exec(fail-closed)。三層分工:工具自己宣告 tier + 可選 policy/override/reason;使用者用 tools.approval.<tool> 覆寫;模式(always-ask/write/yolo)決定自動通過哪些 tier。關鍵鐵律:tool-side deny 與 user-side deny 永遠不可被模式跨越;yolo 中 override: true 不會強迫 prompt,但 policy: deny 仍生效。
omp bash 工具的審批引擎把命令用共享 shell tokenizer 切成段(依 `;` `&&` `||` `|` `&` newline、subshell),deny/prompt 規則對**每段**分別匹配 glob,任一段命中即觸發;allow 規則要求**整行匹配**且**無 shell control syntax**,防止 `cd x && rm -rf /` 此類惡意段溜過去。CRITICAL_BASH_PATTERNS 硬編碼 45 個危險命令正則(`rm -rf /`、`chmod -R 777 /`、`curl | bash`、`kill -9 1` 等),優先於使用者 pattern 生效。設計權衡:allow 嚴格是為了安全,deny/prompt 寬鬆是為了可用性。
omp collab 以 host 為權威、guest 從不互聯的 hub 拓撲,透過 AES-256-GCM 封裝 JSON frame、4-byte envelope、snapshot-chunk 分片,實現零中繼可見的即時協作;guest 權限靠 16-byte write token 在 link 內綁定,host 用 timing-safe comparison 驗證。
OMP 將 hooks、skills、MCP、marketplace 整合為統一的擴展面:hooks 併入 extension runner 統一事件匯流排、skills 依 description 進行語意觸發、MCP 採 250ms 快速啟動閘 + deferred fallback、marketplace 採雙 scope 並相容 Claude Code catalog 格式。
omp 不只有一種 compaction:context-full 走 LLM 摘要、可疊代、失敗對半重切預算;snapcompact 不呼叫 LLM,把歷史壓成 PNG 讓 vision model 讀,解決無 API key / 低延遲 / 視覺模型便宜場景;branch summary 在 `/tree` 切分支時摘要被離開的段落;shake 純機械式把 tool-result 大段文字換成 placeholder,給 summary 太重、prune 不夠的緊急手動場景。四種策略分工明確,由 session maintenance 自動編排或使用者手動觸發。
OMP 用 hashline 格式取代傳統 line-number patch:以 4-hex content hash + N* syntactic block locator 定位,消除 whitespace drift;noop-loop-guard 在同一 session、同一 canonical path、同一 input hash 連續 3 次 no-op 時直接拋 ToolError,打破模型「以為 anchor 錯、把 payload 變大再試」的 182/205 次重試死循環(issue #2081)。
OMP 把 60+ 個 provider 的 routing、compat、thinking、quota 等政策全部寫在 KDL(taxonomy/classes/providers/runtime),編譯成 rules.json 再由 runtime engine 解析。這樣做的核心理由:分層所有權、編譯期驗證、規則優先級解決——三件事若用 TS 硬編碼會散在各處、難以驗證、優先級靠人眼。
OMP 的 metaharness 不是單純跑分工具,而是為了在硬體隔離的 microVM 裡、統一 auth gateway、可對照 baseline 的實驗級基礎設施。
OMP 把所有 provider 特有的 wire 行為寫進 KDL 規則樹,靜態編譯成 JSON 再由 cascade resolver 套用,避免 TS 程式碼被無數 if-else 污染,並能在 CI 捕捉衝突。
OMP 將效能敏感、正確性要求高、需確定性的子系統(grep、AST、PTY、隔離、檔案走訪)下沉到 6 個 Rust crate,再透過 pi-natives 統一暴露 N-API 介面;binding 契約由 napi-rs 自動生成 TS 宣告,再經 gen-enums.ts 產出 runtime enum 物件與顯式 ESM exports。
omp 用 append-only JSONL 存 session,entry 帶 id/parentId 組成 tree,leaf pointer 決定 active path。/tree 用 TreeSelectorComponent 導航,navigateTree() 切 leaf 時可選擇摘要被離開的分支(branch_summary)、自動處理 checkpoint/rewind、支援 Claude/Codex foreign session import。fork 複製整個 session 檔並繼承 providerPromptCacheKey,resume/switchSession 以 captureState/rollback 保證原子切換。
OMP 的 Agent stream 不只是把 token 往終端機吐:它把 agent、turn、message、tool execution 分成不同層級的事件。理解這個事件契約,才能在 UI 顯示增量文字、工具進度與錯誤,同時不把暫存中的 partial message 誤當成已提交的對話。
OMP 自建 TUI 引擎而非用 React/Ink,核心是 differential rendering(只重繪變化行)、explicit history contract、composer 多模輸入與 keybindings 系統;本文從原始碼層面解析其架構決策與實作細節。
14 篇拆完,回到總覽:append-only context、compaction 分工、審批三層、KDL rule tree、session tree 是最值得借鏡的五件;snapcompact、metaharness 自製基建屬於過度工程;looplane 短期不該自建完整 provider catalog、完整 TUI、完整 collab。兩者哲學差異:omp = batteries-included in-process,looplane = minimal + 外部 runtime。
AgentHarness 核心類別、System Prompt 動態組裝流程、Skills 載入與格式化、Prompt Templates 系統、Harness 如何決定 Tool 可用性、Result Handling、Telemetry Schema 註冊、預設 Harness 建構、Extension 如何擴充 Harness。
pi-agent-core 的心臟:agentLoop() → runLoop() 雙層 while(true)。Inner loop 處理 tool calls + steering messages,Outer loop 處理 follow-up + prepareNextTurn(compaction、model switch)。Enter = steering(當前工具跑完插入)、Alt+Enter = follow-up(agent 判定結束插入)。streamAssistantResponse() 如何處理 partial message 更新、tool call 解析、parallel/sequential 執行、before/after hooks。
把 pi 當黑盒用:4 種運行模式怎麼切、Session 樹狀結構怎麼存、怎麼在對話中途換模型、Enter vs Alt+Enter 訊息插隊差異、/tree 怎麼跳回歷史分支。為後續架構篇建立直覺。
Compaction 完整機制:shouldCompact 觸發條件(token 佔比、訊息數)、estimateTokens 計算(字符/單字近似)、findCutPoint 尋找切點(保留最近 N 輪)、generateSummary 生成摘要(LLM 呼叫)、prepareCompaction 整理上下文、Branch Summary 生成、Structured Compaction(Extension 自訂 via fromHook)、CompactionEntry 細節、fromHook 機制、Compaction Settings。
Pi 為什麼不內建 Permission System、Gondolin Extension(微 VM 隔離)、Docker 整合模式、OpenShell 沙盒、Permission Model 設計哲學、三種容器化部署模式、安全邊界對比、micro-VM vs Container vs Process Isolation、Extension 如何實作沙盒。
Extension 系統完整解析:Extension 介面定義、onLoad/onUnload 生命週期、四大 Hook(onAgentStart/onBeforeToolCall/onAfterToolCall/onTurnEnd)、五大擴充點(tools/commands/keybindings/ui/settings)、ExtensionRunner 載入順序與依賴解析、ExtensionAPI 提供的能力、Dynamic Border、Widget、Dialog、Selector 等 UI 元件、Extension 間通訊、熱重載機制、官方範例 Extensions。
pi-ai Model Catalog 自動生成流程、Provider Factory 註冊與 Lazy Loading、OAuth 2.0 + PKCE 流程實作、Credential Store(Keychain/Libsecret/Credential Manager/加密檔案)、Credential Sync 跨裝置同步機制、Model Scope Diagnostics、ModelResolver 解析邏輯、CredentialSynchronizationOperation 狀態機。
從使用者可見功能切入架構:7 個 npm 套件各司其職、依賴圖單向流向、為什麼 pi-tui/pi-telemetry 零依賴、pi-ai 如何隔離 provider 細節、lockstep versioning 怎麼避免 diamond dependency。建立「從外往內」的架構心智模型。
pi-ai 是 pi-mono 的反腐層:上層只見 Message/Tool/Context/streamFunction,下層 15+ providers 各自實作細節。本文拆解:統一介面設計、Provider Factory Registry、Lazy Loading 實現 Tree-shaking、Model Catalog 自動生成流程、OAuth/API Key 統一管理、Credential Sync 機制、Thinking/Reasoning 參數標準化。
Release 完整流程:Lockstep Versioning(所有套件同版本)、CHANGELOG 更新、Local Smoke Test 驗證、Release Script 自動化、Binary Build (Bun + Node)、npm-shrinkwrap.json 鎖死傳遞依賴、GitHub Actions OIDC Trusted Publishing、R2 Release Marker 驗證、pi.dev/api/latest-version 公告、Announcement Verification 確保發佈成功。
pi-protocol JSON-RPC 2.0 定義、pi-client 連線管理與重連指數退避、pi-server Session Registry、WebSocket Transport、心跳機制、Session Snapshot、Remote Session Handle、RPC 模式架構、流式事件傳輸、Steering/Follow-up 遠端插隊。
本系列 17 篇帶你從 CLI 使用者角度切入,逐層深入 pi-mono 的 Agent Loop、Session Tree、Tool System、Extension System、TUI 架構、Remote Session、Telemetry、Compaction、Release 流程等核心機制。適合想自架 Agent、研究 Agent 架構、或想貢獻 pi 的開發者。
SessionManager 核心:JSONL append-only 儲存、id/parentId 形成樹、branch() 移動 leaf pointer 不改歷史、buildSessionContext() 處理 compaction entry、createBranchedSession() fork 新檔案。完整 Entry 類型:message、thinking_level_change、model_change、compaction、branch_summary、custom、custom_message、label、session_info。Migration v1→v2→v3 細節。
pi-telemetry 核心:TelemetrySchema 定義 Span/Event/Attribute、defineTelemetrySchema 建立 TypedSpanStarter、InMemoryTelemetryContext/NOOP_TELEMETRY_CONTEXT 零開銷實作、Conformance Tests 驗證 Adapter 正確性、AI/Harness Telemetry Schema 完整定義、屬性類型系統、為什麼不直接用 OpenTelemetry。
測試策略:Faux Provider(無 API Key 跑 e2e)、Vitest 單元測試、Browser Smoke Test(真實瀏覽器驗證)、Biome Lint/Format、tsgo Type Check、Pinned Dependencies、Shrinkwrap 生成、Install Lock、npm Trusted Publishing、CI Pipeline 完整流程。
pi-coding-agent 8 核心工具完整解析:ToolDefinition(給 LLM 看)vs AgentTool(執行邏輯)、createToolDefinition/createTool Factory、executionMode 決定 parallel/sequential、beforeToolCall/afterToolCall 攔截鏈、withFileMutationQueue 序列化檔案寫入、truncateHead/Line/Tail 輸出截斷、read/write/edit/bash/grep/find/ls/powershell 各工具實作細節。
pi-tui 核心完整解析:Virtual DOM Diff 算法實現無閃爍渲染、Component 生命週期、Layout Engine(Flex-like VStack/HStack/Box)、CSI 2026 同步輸出避免 partial frame tearing、Keybindings Manager、Alt Screen 管理、括號貼上模式、Kitty/iTerm2 圖片協定、Markdown/Editor/Selector/Diff 等內建元件。
Looplane 的 effect 已有 read/modify/modify_execute/execute 四級,未分類工具 fail closed;native MCP tool 預設 execute,只有可信 read-only annotation 才降級。審批仍先進 events.jsonl,grant 可精確到同一組變更或 backend;一般化 command 規則與全 runtime sandbox coupling 仍未完成。
looplane 已先做 bounded tool-program DSL:唯讀程式支援 list/read/search/diff、repeat 與 if_contains;modify/check transaction 會經整體 approval,失敗時回滾 touched paths。它還不是任意 JavaScript/Python code mode,也沒有平行 transaction execution。
五家成熟 agent 的 compaction 都要處理觸發、完整 turn 切點與失敗恢復。looplane 已補上 85% high-watermark、自動 compaction、原生 loop 的 deterministic fallback summary、checkpoint 落盤與 workspace context 重新注入;目前仍缺跨 runtime 等價 fallback、模型品質摘要,以及真實 provider 的長 session 驗證。
omp 與 claude-code 都有跨 session 記憶,其他參考專案主要靠 instruction files。looplane 已落地明確的 remember/list/inject baseline:型別化 JSONL 記憶可跨 session 注入 prompt,但目前只按 scope 與近期排序,還沒有語意檢索、去重、遺忘指令或自動萃取。
五家對自由 shell 的風險處理都包含放行/詢問/拒絕、複合指令檢查與 fail-closed。looplane 已補上 deny-first command classifier、critical floor、複合 shell 分段、timeout-deny、設定式 allow/deny rule 與可見的 policy reason;仍需擴大語法涵蓋與真實互動流程驗證。
我在寫自己的 Python coding agent「looplane」,這個系列把 pi、oh-my-pi、opencode、codex、claude-code 五個成熟專案的原始碼逐題對照,也對照 Looplane 現在已經落地的 TUI、外部 CLI runtime、local gateway、usage/OTel/session 工具與 Cloudflare 切片。每篇固定走「設計問題→五家做法→looplane 選擇→學術依據→改善路線」五段,證據一律給到 file#symbol 層級。
Hooks 管控制流、skills 注入知識、plugins 負責打包。looplane 已有 opt-in deny-only project hooks、bounded SKILL.md loader、exact enabled_skills 選擇、plugin manifest/install/list 與 external runtime projection;仍缺 hook input rewrite、完整 lifecycle、遠端 registry 與成熟 marketplace。
looplane 已能把 repo 內 diagnostics 與 open-file 狀態注入下一個 model turn,也有 typed WebSocket IDE context push、可封裝的 VS Code bridge,以及管理長駐 LSP subprocess 的 ManagedLspServer。剩下的是各語言 initialize/didOpen/didChange adapter 的打磨與 live editor 驗證。
MCP client 要同時處理 transport、工具刷新、approval 與 credential 邊界。looplane 已支援 allowlisted stdio、Streamable HTTP/SSE、tools/resources/prompts、tools/list_changed、OAuth metadata/PKCE 與 0600 credential store;尚缺真實 authorization server E2E 與 MCP 專用確認 UX。
looplane 已有 ModelRole/ModelRoute 靜態候選表、--model @cheap 等 opt-in alias、跨 provider fallback,以及驗證完成後才啟動的 no-tool reviewer lane;下一步是補 role inheritance/override 規則,並決定 summarizer、parser、scout 是否自動路由。
直接包 SDK 三個月就會後悔:每家的 usage 欄位、tool call 格式、錯誤語意都不一樣,換模型等於重寫迴圈。五家參考專案都把「wire protocol」從「provider 身分」裡拆出來當獨立維度;looplane 更進一步,用 pydantic canonical contract(Message/ToolCall/Usage/ModelTurn)加六種 protocol adapter,把 OpenAI SDK 的內建 retry 關到 0,所有錯誤先分類成 ProviderErrorKind 再交給統一的重試政策。provider 表本身是跟 pi 的 packages/ai 對著抄的——這是血統,不是巧合。
OS 沙箱是 path policy 之外的核心防線。looplane 已落地 fail-closed `CommandSandbox`:macOS 包 sandbox-exec,Linux 用 Landlock 加 seccomp,verification 預設在能證明 containment 時進沙箱;不支援時回 exit 126。剩餘限制是目前主要只包 verification、外部 CI 結果仍待確認。
Looplane 的 prompt 已到 `m3-exact-edit-v4`:版本寫進 artifact,core/tool/interaction/runtime/instructions/skills/workspace/memory 以 stable/dynamic section 組裝,並加入 replace_text、unified diff、direct reply 的正反例。unit tests 已釘住結構,live eval 覆蓋仍需擴大。
NVIDIA NIM 間歇 500 暴露了 looplane 早期只有錯誤分類、沒有重試消費者的缺口。現在 SDK retry 關閉,harness 對每個候選最多嘗試 5 次,使用帶 jitter 的指數退避並尊重有上限的 Retry-After;耗盡後可依明確設定切到 fallback model,model.retry 與 model.fallback 都進 event log。
looplane 已把 events.jsonl 接成 deterministic reducer、CLI timeline、canonical JSON、SDK replay 與安全分叉;分叉不會重跑舊工具或模型呼叫。剩下的是 provider/live runtime 驗證、redaction 與更完整的 replay hook。
成熟 subagent 需要角色、fan-out 上限、權限收窄與成果回傳契約。looplane 已有 native named-role schedule、平行 fan-out、子 task allowed_paths 不得超出 parent、預設禁用 unsafe exec,以及 parent-approved transaction proposal baseline;常駐 background lifecycle、遞迴深度管理與自動 worktree merge 仍未完成。
looplane 已加入 CostBreakdown、明確標示 estimated 的 GPT-5 家族靜態價目表、per-lane usage/cost 與 OTel cost 欄位;未知模型仍只顯示 token,不硬算美元。價目覆蓋、外部 CLI 權威帳單與 live billing 對帳仍待補。
Looplane 的核心 surface 已從七個長到九個:新增 read-only `tool_program` 與可 rollback 的 `tool_transaction`,搜尋優先走 ripgrep,仍不開任意 shell;native MCP 只從 allowlist 動態加入,缺少可信 read-only metadata 就按 execute 審批。
Looplane 的 disposable clone 與 SafePathPolicy 保護來源 repo;現在 `--sandbox-checks` 也能用 macOS sandbox-exec、Linux bubblewrap 或 Landlock 包住 verification command,Cloudflare 另有受限 Sandbox slice。但不同 backend 的 network policy、外部 runtime coverage 與 production hardening 仍未一致驗證。
looplane 已有 Cloudflare Durable Object run resource:非同步建立、狀態/取消/artifact、live NDJSON 與支援 Last-Event-ID 的 SSE;遠端 approval 走獨立短效 capability。Python 另有 attach client 與 stateful conversation WebSocket。production deploy、跨 runtime parity 與完整多租戶 hardening 尚未驗證。
「有哪些課程文章」第一次觀測被舊快取干擾;真正未命中的 request 已找回四所大學課程地圖,卻因三輪 Writer/Critic 重試花了 51.169 秒。修正 catalog 專用檢索與 review 契約後,一次未命中快取的 production observation 在 26.821 秒內通過 q21。
Ask AI 先由 Planner 抽出 intent、complexity 與 1–4 個搜尋詞,再依查詢型態走 metadata、BM25、Vectorize 與 RRF;第二輪搜尋會加入 Critic gaps,並關閉第一次才允許的 BM25 short circuit。
Ask AI 的 production 索引分兩階段:先用 source hash 增量更新 D1、post_chunks 與 FTS5,再以 embedding checkpoint 和 delete queue 讓 Vectorize 非同步追上;兩邊不是同一個 transaction。
Ask AI 把一次提問拆成 UI、`/api/chat`、Planner、Research、Writer、Validation、Critic 與 Related 八段;回答文字、參考來源和延伸閱讀各有不同的產生與顯示條件。
Ask AI 把 golden contract、offline fixture、live SSE output 與 production observation 分開保存。fixture 全綠只證明 harness 可重現;public sources 可以量 expected-source recall,不能拿來宣稱看過 hidden ranked chunks 或 model-graded faithfulness。
Ask AI 同一次請求有五種不同證據:公開 SSE、Langfuse trace、D1 log、semantic cache 與 hidden shadow run。它們看見的資料不同,單看任一層都不能還原完整 retrieval context。
Ask AI 找到文章,不代表畫面就該顯示來源。回答要先通過 Markdown/URL 的確定性驗證,再通過 Critic 的相關性、意圖與 groundedness 檢查;任一門檻失敗,來源卡片就不送到前端。
Writer 預設只讀 factual query 的前 8 筆或 recommendation 的前 12 筆候選證據,引用必須使用候選集合中的 exact `source_url`;檢索為空或被判為 weak 時,prompt 要求拒絕用模型常識補答案。
Agent Memory 是 Cloudflare 的 private beta 服務,用來讓 agent 跨對話記住使用者、團隊、專案與任務脈絡。它適合存 facts、events、instructions、tasks;RAG 文件、產品資料、檔案和 audit log 仍應該放在 AI Search、Vectorize、D1 或 R2。
Cloudflare Agents 把 agent session 做成 durable runtime:每個 agent instance 有穩定 identity、local SQLite、WebSocket、scheduled work、recoverable execution 和 tools。它不只是聊天範例;真正處理的是怎麼把 Workers、Durable Objects、AI model、Browser、Sandbox、AI Search、MCP 接成可部署的 agent app。
AI app 不該把 conversation、artifact、memory、retrieval document、lock、eval trace 全塞進同一個 storage。D1 適合查詢與產品資料,R2 適合大型檔案與 artifact,Durable Objects 適合具名協調、WebSocket、per-session state;Agent Memory / AI Search / Vectorize 則分別處理記憶與檢索。
AI Gateway 解的是 AI 呼叫的控制問題:同一層處理 logs、analytics、cache、rate limit、retry/fallback、BYOK 與 Unified Billing。Workers 內可用 env.AI.run(..., { gateway }),外部 SDK 則改 baseURL 或 provider-native endpoint。
Cloudflare AI Stack 這條系列回答 AI app 的基礎設施問題:模型怎麼跑、gateway 怎麼控、RAG 怎麼做、agent 怎麼持續執行、memory 怎麼治理、browser/sandbox/secrets 怎麼接進產品。
Secrets Store 是 Cloudflare 的 open beta account-level secret store,目前整合 Workers 和 AI Gateway。它適合把 provider API keys、BYOK key、跨 Worker 共用 secret 集中管理;per-Worker secret 仍可用,但治理範圍不同。
Vectorize 是 Cloudflare 的向量資料庫。AI Search 適合先把 RAG pipeline 交給平台;Vectorize 適合你要自己控制 chunking、embedding、metadata filter、hybrid retrieval、重新索引與降級策略。
Looplane 的舊同步 M6 路徑曾完成一次真實 deployed coding run;目前已擴成帶 RunSession、SSE、approval、cancel 與 artifact 的 async control plane,但新增路徑尚未 live revalidate。Sandbox 只拿分 audience 的短效 HMAC capability,provider credential 留在 Worker;現有證據不等於 production traffic 或 SLO。
Looplane 先把指定的完整 Git commit 複製到 run directory 裡的 detached-HEAD workspace,再讓 runtime 修改與驗證。原始 repo、執行 workspace 與 run artifacts 因此有清楚邊界;這能提供 source isolation 與 audit bundle,但不等於 OS sandbox。
`ExternalCodingRunner` 是 Looplane 的第二條 runtime lane:外部 coding CLI 擁有自己的 model loop 與 credential,Looplane 只交付任務與 disposable clone,再把回傳 patch 當成不受信任輸入,重跑 path audit、verification 與 source invariant。它是有明確 capability boundary 的 handoff,不是另一種 `ModelProvider`。
Looplane 把 OpenAI-compatible、Responses、Anthropic、Gemini、Workers AI、scripted 與 experimental Codex OAuth adapter 收斂成同一個 `ModelProvider` contract。Codex OAuth transport 讀 SSE,但仍在 adapter 內累積成一次性的 canonical `ModelTurn`;AgentRunner 不直接消費 token delta。
Looplane 的 native lane 由 AgentRunner 掌握狀態轉移:準備 workspace、送出 model request、執行 tool calls、寫回 observations,模型沒有再呼叫工具時才進入 verification。step、wall time、重複動作、token 與取消條件都能先於模型宣告終止 run;provider adapter 的協定翻譯留給下一篇。
Looplane 同時維護 append-only 的 `events.jsonl` 與原子替換的 `session.json`,用 sequence reconciliation 判斷 crash 後能否安全續跑。這份 event contract 現在也支援 deterministic replay、JSON replay、從指定 sequence 建立 fork seed,以及在不重放副作用的前提下建立新 workspace;遇到停在 `tool.started` 或 `verification.started` 的不確定狀態仍然 hard fail。
這篇只拆 Looplane 的 tool executor 如何把一次呼叫安全落地:`SafePathPolicy` 限制 path 並阻擋 symlink escape,`VerificationCommand` 固定 argv 且使用 `shell=False`,subprocess 只拿清理過的 env,寫入走 read-version hash 與 atomic replace,timeout 會終止整個 process group。權限決策、OS sandbox 與 tool program 各留給後續專篇。
Looplane 的 TUI 與 plain CLI 是同一套 runtime 的兩種使用者介面。CLI 先依 TTY 與旗標選擇呈現方式,runner 再送出事件;TUI 把事件投影成 thinking、tool、approval、verification 與終態。使用者能從畫面分辨 native 與 external runtime,但 UI 不替底層能力背書。
Browser Run 讓 Workers 使用 Cloudflare 管理的 headless Chrome。Quick Actions 適合 screenshot、PDF、HTML、JSON、crawl 這類單次任務;Browser Sessions 則適合 Puppeteer、Playwright、CDP、Stagehand 這類需要完整控制的 automation。
Cloudflare Cache Rules 是 zone 層的快取政策:用 request expression 決定哪些內容 eligible for cache、Edge TTL/Browser TTL 怎麼算、cache key 包哪些維度,以及遇到 stale、ETag、purge 時怎麼處理。它適合管理 CDN 快取規則;Worker Cache API 則適合程式化存取。
Cloudflare Containers 讓 Workers app 呼叫 on-demand serverless container,適合需要完整 filesystem、特定 runtime、既有 container image、更多 CPU/memory/disk 的工作。它不取代 Workers;Worker 保留入口與 routing,container 處理 runtime 太重的那段。
Cloudflare Edge Platform 這條系列回答一個產品問題:怎麼用 Workers、D1、KV、R2、Durable Objects、Queues、Workflows、Cache、Images、Email、Turnstile、Observability、Browser Run、Containers,把網站或 app 跑起來、跑穩、跑便宜。
Cloudflare app 上線前不要只看 deploy 成功。Custom Domains、Routes、www/root redirect、維護頁、CPU/memory/subrequest limits、log sampling、fallback path 都要先檢查。這篇把 Edge Platform 系列裡的 production pitfall 收斂成一份 checklist。
Cloudflare Email Service 把產品常見的交易信、magic link、通知與收信 routing 接進 Workers。寄任意收件人目前需要 Workers Paid;收信 routing 可在 Free/Paid 使用,但仍要注意 DNS、配額、message size、bounce 和 anti-spam 邊界。
Hyperdrive 解的是 Workers 連到既有 Postgres / MySQL 的延遲與連線池問題。它用 edge connection setup、靠近資料庫的 connection pool、read query cache,讓單區資料庫比較適合被全球 Workers 存取。
Cloudflare Images 有兩條路:把 R2/S3/origin 圖片拿來做 edge transformations,或直接把圖片存進 Images 再用 variant delivery。前者按 unique transformations 看成本,後者還要看 stored 和 delivered images。
Workers Observability 負責 debug 和 request tracing;Workers Analytics Engine 負責高基數產品事件與自訂 metrics;GraphQL Analytics API 則查 Cloudflare 既有產品資料。把三者分清楚,才不會把 log 當資料庫,也不會把 billing、monitoring、產品分析混在一起。
Smart Shield 是 Cloudflare 的 origin protection bundle:用 Smart Tiered Cache、connection reuse、Argo Smart Routing、Regional Tiered Cache、Cache Reserve、Health Checks 和 Dedicated CDN Egress IPs,減少打到 origin 的 request 與 connection。
Turnstile 是 Cloudflare 的 CAPTCHA 替代方案:前端 widget 產生 token,後端必須用 Siteverify API 驗證。token 有效 300 秒、只能驗一次;只放 widget 不驗 token,等於沒有完成防護。
Cloudflare Workflows 把 Workers 上的多步驟流程拆成可持久化的 step:每個 step 可以 retry、sleep、waitForEvent、rollback,instance 可以查狀態、暫停、恢復或終止。Queues 適合單步背景工作;Workflows 適合要記住進度的長流程。
沙箱不是單一套件,而是 Namespace、cgroups、seccomp、gVisor、Firecracker 層層疊起的光譜;本地 OS 級沙箱管爆破半徑,雲端 microVM 管多租戶隔離,選型關鍵在信任邊界與維運成本。
Looplane 把 coding-agent 任務拆成可追蹤的邊界:native runtime 的副作用經過 Looplane tools、permission 與 sandbox;external runtime 保留自己的 loop 與工具,再把 patch 交回 Looplane 稽核。這篇是規劃中 20 篇系列的入口地圖。
Looplane 在 85% context pressure 附近啟動兩種不同流程:native loop 可做一次 bounded deterministic summary fallback;支援原生 compaction 的 conversation runtime 則在完成 turn 後壓縮並回報 lifecycle。兩條路徑都會在下一次請求重新注入 workspace snapshot。
Looplane 將最多 200 筆 diagnostics 與 32 個 visible files 正規化成有界、repository-local、且不受信任的 context;VS Code 與 managed LSP 目前只提供訊號,沒有 completion、rename、code action 或完整 IDE RPC。
Looplane 可把指定的 local command/verification 包進 macOS sandbox-exec、Linux bubblewrap 或 Landlock/seccomp。需要的 backend 不存在時以 exit 126 停止,不直接裸跑;但這個範圍不涵蓋 external CLI、MCP/LSP 或整個 Looplane process。
Looplane 用靜態 model role catalog 提供候選順序,只對 retryable provider error 重試與 fallback;cache 是 provider hint 加 trace,cost 是靜態價表估算。三者都留下訊號,但都不是即時營運路由或帳單。
Looplane 只有在明確 allowlist 後才載入專案 MCP server,將 stdio 或 Streamable HTTP 能力投影到既有 ToolExecutor,再沿用 hook、approval、timeout 與 cleanup 邊界。
Looplane 先套不可繞過的 critical floor,再評估 user/org/project deny,最後才看 allow。dangerous mode 只自動放行 read/modify,execute 仍經過命令分類與 approval;這是 authority policy,不是 OS sandbox。
Looplane 先在應用程式層解析 user 與 root-to-leaf 專案 instructions,再把 runtime、skills、workspace 與最近 20 筆 explicit memory 放進具名 prompt sections。這套流程可追蹤、可 reload,但不是 semantic memory,也不會把 repo 文字升格成 system authority。
Looplane 用 0.x typed SDK facade 暴露 bounded run 與 conversation contracts;WebSocket attach 只包住一個預先建立、由 controller 擁有的 runtime session,沒有 conversation-ID resume 或多 client routing。
Looplane 把 skills 當成有界的 repository-local guidance、把 hooks 當成 opt-in 且只能否決的 host commands,再用 local plugin manifest 封裝 skill 與 hook;三者的權限完全不同。
Looplane 把每次 subagent dispatch 正規化成最多四個節點的 dependency waves,讓同 wave 的唯讀 child 在隔離 workspace 平行分析,再由 parent 重新走 hook、approval 與 transaction 執行修改。
Looplane 只平行執行同時標成 read-only、concurrency-safe 與 READ effect 的 tool call;tool_program 提供有界的 read-only repeat/branch,tool_transaction 則對可能碰到的 workspace files 做 snapshot 與失敗 rollback。它不是外部副作用的通用交易系統。
Week 1 進入知識表示與推理:命題邏輯連結詞、模型檢查算法、Modus Ponens/Resolution 推理規則、CNF 轉換,專案 Knights 與 Minesweeper 實作邏輯謎題與掃雷 AI。
Week 2 從確定性轉向機率:貝氏法則、貝氏網路 D-separation、馬可夫模型、PageRank 隨機漫步,專案 Heredity 算基因型、PageRank 算網頁權重。
從 SGD 到 Adam,用縮放規則一次搞懂深度學習優化器怎麼選、學習率怎麼調
Week 3 探討優化問題:爬山算法、模擬退火逃離局部最優、CSP 框架與 AC-3 弧一致性、回溯搜尋,專案 Crossword 實作填字遊戲生成器。
正則化不只是防過擬合——Weight Decay、Dropout、BN、Label Smoothing 的機制與組合策略一次看懂
Week 4 進入機器學習:監督式分類(k-NN、SVM、Perceptron)、模型評估、強化學習基礎(MDP、Q-learning、ε-greedy),專案 Shopping 預測購買意願、Nim 學會玩遊戲。
手寫 NumPy MLP + 反向傳播 → PyTorch Autograd 驗證,完整複現 OCW HW1 核心考點
Week 5 進入神經網路:感知機到多層網路、反向傳播鏈式法則、損失函數、優化器、TensorFlow/Keras 實作、CNN 卷積/池化、專案 Traffic 訓練 CNN 辨識交通號誌。
Lec 4 核心重點:為什麼 CNN 是處理網格資料的最佳選擇——卷積、平移等變性、池化與經典架構一次掌握
Week 6 處理自然語言:N-gram 語言模型平滑、CFG 句法解析、TF-IDF 文檢索、注意力機制、Transformer 概念,專案 Parser 生成句子、Questions 實作問答系統。
ResNet 用殘差連接解決退化問題,讓網路能堆到 100+ 層;EfficientNet 複合縮放平衡深度/寬度/解析度;ConvNeXt 吸收 Transformer 設計重奪 CV 王座。
綜論第一篇:梳理七週主題如何從符號搜尋一路延伸到語言模型,揭示古典 AI 到現代 ML 的知識脈絡與設計哲學。
優化不是孤立的數值問題:用譜視角看 SGD,權重更新的『量』決定特徵學習;Maximal Update Parameterization 讓學習率與初始化跨寬度遷移,critical batch size 決定算力換取收斂的邊際。
綜論第二篇:十二個專案完整比較——算法核心、代碼量、難度、驗收重點、可遷移技能,附難度分級與學習建議。
Transformer 不是憑空冒出的架構:token 把資料切成離散單元,attention 做軟性的訊息聚合,positional code 補回順序。把它和 MLP/CNN/GNN 擺在一起看,會發現它們都是『對鄰居做加權彙整』的不同特例。
系列最終篇:回顧七週十二專案的永恆核心、2020/2023 錄影在 2026 年的缺口、免費 OCW 路線的完整性,給出後續學習路線圖(Transformer、LLM、RAG、Agent、評測)。
訓練神經網路更像工程而非魔法:先看資料、先在小批次上過擬合證明容量夠、再用正則化把泛化補回來;學習率永遠是影響最大的那顆旋鈕。
RNN 把過去壓進一個隱狀態,但遞歸讓梯度在時間上連乘,要嘛消失要嘛爆炸;LSTM 用輸入/遺忘/輸出門把『記憶』與『更新』解耦,讓長程資訊能穩定流動。注意力後來取代它,是因為 O(1) 取用任意歷史。
表示學習的目標是把原始資料壓成「好用」的向量:自編碼器用重建逼出有意義的潛空間,VQ 把連續表示離散化成碼本,自監督則用『遮住一部分再重建』來免費產生監督訊號。
相似性式表示學習不重建輸入,而是直接塑造潛空間的幾何:讓同類表示靠近、異類推遠。InfoNCE 把這件事寫成『在一堆負樣本裡認出正樣本』的分類問題,而 alignment / uniformity 給了它可解釋的評價指標。
把網路變寬到極限,它的隨機初始化輸出會變成一個高斯過程(NN–GP),而訓練動態則由神經切線核(NTK)固定下來。這套理論不只能用來分析,還反過來指導我們設計『對的歸納偏置』。
生成模型本質是在學資料的分佈 p(x)。密度模型直接建模機率,能量模型用一個未歸一化勢能 + 採樣器,GAN 讓判別器逼出逼真樣本,自回歸一步步預測下一個 token,擴散則用『逐步加噪再學去噪』繞開棘手的最大似然。
單層網路理論上能逼近任何連續函數(萬能近似),但寬度會隨維度指數爆炸;Barron 定理在特定的『Barron 函數類』下讓誤差只隨樣本數 √n 收斂、與維度脫鉤;而深度能對組合/階層函數帶來指數級的寬度節省——這正是深網比淺網強的根本原因。
GNN 本質是「在圖上做局部訊息傳遞的 MLP」:它把 CNN 的固定網格鄰居推廣成任意拓撲的鄰居聚合。它必須滿足置換等變/等變性。理論上,一階 GNN 的表達力不超過 Weisfeiler–Lehman 圖同構測試——有些結構它永遠分不出來,這也是後來 GIN、位置編碼、子圖技巧要補的洞。
VAE 的核心是 ELBO + 再參數化:把 log p(x) 替成 E_q[log p(x|z)] − KL(q(z|x)‖p(z)),encoder 輸出 μ/σ 用 z = μ + σ⊙ε(ε ~ N(0,1))讓採樣可反向傳播。訓練 = 重構 + KL 兩項拉扯,由此衍生 β-VAE、posterior collapse、VQ-VAE 等修正。
條件生成的關鍵是「把 y 餵進模型」:cGAN 在 G/D 拼接 y,cVAE 把 y 當額外輸入進 encoder/decoder;擴散模型時代,Classifier Guidance 用外部分類器梯度把生成推向指定類別,Classifier-Free Guidance 則同訓練 conditional + unconditional 並在推論時線性組合兩者——後者是 Stable Diffusion / Imagen 的標準武器。
本講是 6.7960 的導論:deep learning 之所以爆發是『資料 + 算力 + 演算法』三股力量同時到位;本課從架構(CNN/GNN/Transformer)到訓練、表示、生成、遷移、規模、LLM 一路串起來;最後用一個 ~30 行的 PyTorch training loop 確認你的環境能跑。
OOD 失敗不是 bug,是 i.i.d. 假設破掉:covariate shift(影像風格變了)、label shift(類別比例變了)、concept shift(同一個詞意思變了)各有對應的應對方式;最常見的原因是模型抓了『虛假相關』(用草原當牛的存在訊號),IRM 與 domain randomization 想從訓練資料結構本身把這件事修掉,test-time adaptation 在推論時即時修正。
遷移學習的核心是『在大資料上學到的特徵是好的通用表示』:下游任務資料少時,把 backbone 凍住只訓練線性 head;資料夠就全模型微調;想省算力就上 LoRA / adapter。SimCLR、MAE 這類自督導預訓練讓『上游不需要標籤』,下游表現又上一層樓。
GPUtw.ai 適合個人把短租 GPU 當成學習工具:先跑 Jupyter、Ollama、ComfyUI,再用 LoRA/QLoRA 做小模型微調。它不是大型基礎模型訓練平台,第一次使用應該小額測部署、計費與資料保存。
Keenable.ai 把自己定位成給 AI agents 用的搜尋基礎設施:100B+ 文件索引、Search/Fetch API、 MCP/CLI 入口、100K 免費月額度與 keyless public endpoint。對台灣/繁中 agent 團隊來說, 現階段最合理的位置是 provider matrix 裡的實測候選;Brave、Exa、Tavily 或 Serper 仍要留著對照。
screenshot-to-code 不是一步到位的截圖轉碼工具。核心是一個最多 30 步的 Agent Loop,搭配 7 個工具——從截圖裁切真實素材、用 Playwright 自我驗證、到同時跑 4 個模型讓使用者選最好的版本。GitHub 74,500+ stars,MIT License。
Warp 的自我改進 Agent 不把每次錯誤塞進 prompt。base skill 做任務,人類在 GitHub 或 Slack 留回饋,improver skill 把重複訊號整理成小 diff,再走 PR review。真正有價值的是這套工程邊界:可追溯、可回滾、可拒絕更新。
TinyFish 為 AI agent 提供四個 Web API——Search、Fetch、Agent、Browser,其中 Search 與 Fetch 為 $0 永久免費且免信用卡,適合做 RAG 與文件檢索的預設層。
A/B testing 怎麼把產品改動變成可推論的效果? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
ANOVA 先檢查三組以上平均是否有整體差異,避免你用一堆兩兩 t 檢定把 false positive 風險一路放大。
大樣本近似為什麼常能用,又什麼時候不能亂用? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
Bayesian inference 怎麼把 prior、資料與 posterior 串起來? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
bias 看估計中心有沒有歪,variance 看抽樣波動,MSE 合併兩者,consistency 則問樣本變大時估計量會不會靠近真值。
不知道公式分布時,bootstrap 怎麼用重抽樣估不確定性? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
因果推論入門:為什麼預測準不代表真的有效? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
卡方檢定處理類別資料的次數差異;先分清楚一個變數對理論比例的適合度,還是兩個類別變數之間的獨立性。
分布不是公式清單,而是資料生成情境的名字。這篇用 Bernoulli、Binomial、Normal、Poisson 說明如何從題目敘述選分布。
信賴區間把點估計放回抽樣波動裡看;會寫上下界只是第一步,真正要會的是解釋標準誤、臨界值與 coverage。
資料型態決定你能用什麼統計工具。這篇從類別、數值、計數與時間資料開始,說明平均數、比例、變異數、列聯表在考題和 ML 資料檢查中的用途。
Delta method 怎麼估 F1、ratio 這類非線性指標的不確定性? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
估計量是用樣本推母體的計算規則;判斷它好不好,要一起看 bias、variance 與 MSE。
考前最後階段要練的是題型辨識:先判斷資料型態、未知量與決策目標,再選公式,最後用語境結論收束。
期望值描述長期平均,變異數描述波動大小。這篇用離散分布算例說明 E[X]、E[X^2]、Var(X),並接到平均 loss 和模型穩定度。
實驗設計怎麼讓結果可以被解讀,而不是只像相關? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
Fisher information 用 likelihood 的曲率衡量資料對參數的定位能力;資訊越大,MLE 的標準誤通常越小。
信賴區間不只 t 表:一般建構到底怎麼想? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
GLM 怎麼依資料型態選分布和 link function? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
假設檢定是一套在不確定資料中做決策的流程:先寫 H0/H1,再用檢定統計量與 p 值判斷資料是否足夠反駁原假設。
估計、檢定、likelihood、Bayes 要怎麼放在同一張推論地圖? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
LRT 比較受限模型和完整模型的 log likelihood 差;只有在 nested model 與近似條件成立時,常見卡方參考分布才有意義。
OLS 的假設壞掉時,迴歸線還能怎麼用? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
logistic regression 把線性分數接到 0 到 1 的機率;讀懂 odds、log odds、odds ratio,才不會把分類模型係數解釋錯。
Logistic regression 怎麼從機率走到 threshold 和錯誤成本? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
MAP 為什麼會把先驗變成 regularization? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
Matching 和 weighting 怎麼讓觀察資料比較像實驗? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
MLE 把資料固定、比較不同參數讓這批資料出現的合理程度;log likelihood 讓乘積變加總,也接上 ML 的 negative log loss。
Method of Moments 用樣本矩對上理論母體矩,再解出參數;它不一定最有效率,但很適合建立參數估計的第一個直覺。
缺資料不只是空格:它會怎麼扭曲統計和模型? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
ML/AI 評估報告怎麼寫,才不只是貼排行榜分數? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
殘差、outlier、leverage 在告訴你模型哪裡壞了? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
多變量分析怎麼整理一起變動的特徵? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
Neyman-Pearson 把檢定看成決策規則:在固定第一型錯誤 alpha 下,選出 power 最高的拒絕區域。
Nonparametric methods 少做哪些分布假設?彈性又要付出什麼代價? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
考古題的價值是訓練拆題紀律,不是用兩年題型猜完整範圍;每題都要回到資料型態、未知量、工具、計算與語境結論。
聯合 PMF 題要把所有格子列完;邊際化、條件機率和變數轉換,本質上都是對原始格子的加總與重新分組。
機率題的難點常在視角,不在公式。這篇用事件、條件機率、獨立與 Bayes rule,說明考題如何從原因到結果、再從結果反推原因。
樣本是資料,統計量是樣本的函數,抽樣分布是統計量在重複抽樣下的分布;這三者分清楚,推論公式才會有意義。
隨機變數把事件結果轉成數字。這篇用 PMF、PDF、CDF 說明離散與連續機率怎麼計算,並接到模型分數、threshold 和 token 機率分布。
迴歸表不是 p 值清單;coef、SE、t、F、R2 分別回答效果大小、不確定性、單一係數、整體模型與樣本內解釋力。
Ridge、Lasso、weight decay 為什麼能讓模型穩一點? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
統計與 ML 評估怎麼做才重跑得出同一個結論? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
抽樣讓樣本統計量有波動,標準誤描述這個波動。這篇分清楚 SD、SE、抽樣分布與 CLT,並接到 benchmark 分數的不確定性。
抽樣分配描述統計量在重複抽樣下的波動;平均、比例、變異數各有常用分布,信賴區間和檢定都從這裡長出來。
讀完 53 篇後,怎麼把統計接到 ML、因果與數理統計? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
簡單線性迴歸用一個 X 描述 Y 的平均變化;斜率、截距、殘差和平方誤差共同構成最小的 supervised learning 模型。
Monte Carlo 怎麼用重複模擬回答算不動的統計問題? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
準備統計學不要從背公式開始。這篇先建立讀書順序:資料、機率、抽樣、推論、迴歸,再接到模型評估、A/B testing 與 ML/AI 的不確定性判斷。
時間序列為什麼不能隨機切資料? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
兩組比較要先判斷 outcome 是數值還是比例、兩組資料是否獨立;這一步會決定標準誤、檢定統計量與結論可信度。
變數選擇怎麼避免把訓練資料背起來? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。
統計學的核心不是公式,而是判斷:描述資料、估計未知量、比較差異、檢查關聯,最後在不確定性下做決策。
前身 AutoRAG 的託管搜尋原語:丟文件進內建儲存或綁 R2/網站,自動走 Markdown 轉換、切分與向量加 BM25 索引,透過 hybrid 加 RRF 加 rerank 檢索,並以 namespace 與 instance 兩種綁定或 REST 與 MCP 在 Worker 與 Agent 內查詢。
GPUtw.ai 是台灣在地的短租 GPU 雲端,核心不是最大規模的算力,而是台灣機房、預付點數、Jupyter/ComfyUI/Ollama/vLLM 範本、Vault 與團隊帳務。公開資料足夠做服務介紹,還不足以當正式採購或 production 背書。
在 Ask AI 輸入「我想找入門的ai課程」顯示搜尋文章 0 筆並觸發拒答,底部的延伸閱讀卻精準推薦相關文章。第一輪修正中文斷詞、LIKE fallback 與 Vectorize 資料鏈路;第二輪再補漢字+數字短詞、文章 metadata 檢索,以及只在 Validation/Critic 通過後顯示來源。
HW0 用四題檢查 CS181 的先修:矩陣 y=Xw 的可解條件、目標函數的微分與優化、機率推理,以及用 Python 實作 OLS。做不順的地方就是開學後要優先補的缺口。
HW1 用 80 萬年冰芯溫度資料串起四題:kNN 與核迴歸、最小平方法的幾何證明、基底函數迴歸、以及從機率觀點推出 ridge/LASSO 正則化,最後用 coordinate descent 實作 LASSO。
CS181 2026 以 hw0–6 七份作業為週節拍、無當期錄影但 A3 可自學;2025 多 practical、2024 雙期中、2023 單授 Weiwei Pan。看懂四年沿革後,從 HW0 體檢先修再逐週跟最穩。
Week 0 以搜尋算法為起點,涵蓋 BFS 最短路徑、Minimax 對弈、Alpha-Beta 剪枝優化,附 Degrees 與 Tic-Tac-Toe 兩專案完整實作。
Moshi 是一款 iOS/Android 終端機 app(另有免費的 Moshi Desktop 網頁版),透過 SSH/Mosh 直連你自己的機器遙控 Claude Code、Codex 等 coding agent;免費版就是完整終端機,Pro($7.99/mo 起)解鎖 Mosh 斷線續傳、tmux 深度整合與 diff viewer。
把 ADE 類工作台分成四種哲學:arul28/ADE 的 Brain+Lane、Superset 的 100+ agents IDE、Herdr 的 Rust 常駐 runtime,以及 Kadro/Orca 的版面與 Fleet 取向;用一張對照表與選型決策樹幫你判斷何時該用水槽、而非 Omnigent 這類控制面。
Omnigent 把治理從 prompt 抽到 Server 層的 Policy 引擎:Python 函式回 allow/deny/ask,三層堆疊疊加 cost budget 與 tool caps,搭配 Omnibox 以 bwrap/seatbelt 做 OS 原生隔離與 egress 憑證代理;本文對照 FailproofAI、DashClaw 等五套治理方案的定位與決策表。
每個模型發布都帶 benchmark 數字,但同一個模型在不同 harness 上可以差 20 分、SWE-bench Verified 的 32% 驗證器判斷有誤、DeepSWE 113 題讓多數模型掛零。這篇拆解六個主要 coding benchmark 各自測什麼、哪些容易灌水、讀者該看哪個。
CS50 AI 的 OpenCourseWare 版公開七週影片、投影片、notes 與十二個 Python projects,校外自學者可以拿到 autograder 回饋和每個 project 都達 70% 以上的免費 CS50 Certificate;但前六週錄影沿用 2020 年 Spring 版,只有 Week 6 Language 換成 2023 年重錄版。
同一個模型透過不同管道存取,價差可以到 2-5 倍。直連最簡單、聚合器(OpenRouter)最靈活、雲端平台(Bedrock/Vertex)最適合企業。這篇用 2026 年 8 月實際價格做橫向比較,附選擇決策樹。
同一個詞 meta-harness 其實指兩種東西:Databricks 的控制面與 Stanford 的優化迴圈。本文用 MCP/ACP/Runtime/meta-harness 四層模型,對照 Omnigent、Zed ACP、Vercel HarnessAgent 與 Cloudflare Flue 的定位。
[MIT 6.7960 Deep Learning](https://deeplearning6-7960.github.io/) 有兩個公開程度截然不同的官方版本:Fall 2025 課站 21 講投影片全公開但 psets 在 Gradescope、解答與錄影鎖在 Canvas(A2);[MIT OCW 的 Fall 2024 版](https://ocw.mit.edu/courses/6-7960-deep-learning-fall-2024/)連影片、五份作業題目與起始檔都開放(接近 A3)。兩版綱要重疊約六成,講師從 Isola/Bernstein 換成 Kaiming He/Omar Khattab,不能拿舊影片硬配新講義。本文給出按目的分流的兩條自學路線。
2026 年幾乎所有前沿開源模型都是 MoE 架構:Ornith 35B 只啟用 3B 打贏 31B dense、MiniMax M3 用 456B 總量但 45.9B 啟用拿下 SWE-bench Pro 59%、DeepSeek V4 用 1.6T 總量但 49B 啟用。這篇用四個案例解釋 MoE 為什麼在 coding 和 agentic 任務上佔據主流。
用同一個 Polly 任務(平行 git worktree + 跨廠商審查)對照四種多 Agent 寫法:Omnigent 以 YAML 在 Server 層治理、LangGraph 以 StateGraph 精準控流程、CrewAI 以角色扮演快速拼裝、Goose 以 Recipe 跑單機自動化,對比 token、延遲與可維護性的真實取捨。
Allen AI 的 OLMo 是目前唯一把權重、訓練資料(Dolma,9.3 兆 token)、訓練程式碼、所有中間 checkpoint 和評估工具全部公開的語言模型家族。OLMo 3 的 32B Think 模型在 MATH 跑到 96.1%,同時你可以用 OlmoTrace 追溯任何輸出回到訓練資料的哪一段。
Databricks 開源的 Omnigent 把 Claude Code、Codex、Cursor、Pi 等 harness 包在 Runner/Server 與 Omnibox 沙盒之上,用三層 Policy 與可分享的持久化 Session 讓模型與 harness 一鍵替換,9.3k stars 的 alpha 專案。
AI 的「開源」不等於軟體的開源。MIT 和 Apache 2.0 真的隨便用;Llama License 超過 7 億月活要另外談;舊版 Gemma 授權 Google 可以片面修改(Gemma 4 已改 Apache 2.0)。這篇按授權類型整理你能做什麼、不能做什麼。
2026 年開源模型在 coding benchmark 追平閉源,但自架不只是選模型——vLLM 適合高併發生產服務、SGLang 在前綴重用場景快 29%、Ollama 是本地開發首選、llama.cpp 吃最少資源。A100 雲端租金約 $1.4-2.2/hr,自架損益兩平點大約在每月 100M tokens。
2026 年三個非大廠團隊用不同的 RL 後訓練路線做出 benchmark 黑馬:Ornith 讓模型自己出題自己改進(GRPO self-improvement loop),Nous Research 用 DataForge 合成資料 + Atropos 執行獎勵 RL,MiniMax 在 20 萬個真實環境裡大規模 RL。三條路各有強項,但共同證明了一件事:後訓練 RL 比預訓練規模更重要。
模型不讀字,讀 token——一個中文字通常是 1-2 個 token,一個英文字通常是 1-3 個。Context window 是模型一次能看的 token 上限。推論是用模型,訓練是教模型;你每天在做的是推論。
模型不懂文字,只懂數字。Embedding 把每個 token 對應到一組幾百維的向量,意思相近的詞在向量空間裡距離相近。這是搜尋、RAG、分類背後共用的基礎機制。
模型發布時貼的 benchmark 數字有三個常見陷阱:只秀贏的(cherry-picking)、訓練資料混入考題(contamination)、大家都考 90 分以上就沒鑑別力(saturation)。最抗操弄的訊號是 Chatbot Arena 的 Elo 排名——真人盲測投票,模型廠商無法控制題目。
資料常更新、需要引用來源 → RAG。需要統一風格、要跑在小裝置上 → fine-tuning。實務上很多系統兩者都用:fine-tune 一個懂你領域語言的小模型,再用 RAG 補上最新資料。
模型透過 loss 知道自己錯多少,透過梯度知道往哪邊調。梯度下降就是反覆做三件事:算 loss、算梯度、調參數。Learning rate 決定每步調多大——太大會跳過最佳解,太小訓練到天荒地老。
模型每次預測下一個 token 時,會給每個候選詞一個機率。Loss function 衡量這個機率分佈跟正確答案差多遠——差越多,loss 越高,模型就知道自己錯得越離譜。Cross-entropy 是最常用的算法,perplexity 是它的直覺版。
70B 模型原本需要 140GB VRAM,但量化到 4-bit 只需要 ~35GB,再用 llama.cpp 的部分卸載就能在消費級硬體上跑。GGUF 格式的命名規則(Q4_K_M、Q5_K_S)告訴你精度和大小的取捨。KV cache 是長對話變慢的主因。
Scaling laws 說 loss 跟參數量、資料量、算力之間有可預測的冪次關係。Chinchilla 論文的關鍵發現:大多數模型都太大、訓練資料太少——同樣的算力預算,訓練一個較小但吃更多資料的模型反而更強。這改變了整個產業的訓練策略。
不需要變成研究員也能系統理解 AI 模型。這個系列從你看得見的東西(token、context window)開始,一路走到自架開源模型,18 篇覆蓋選模型、讀 benchmark、算成本需要的所有基礎。
模型不是按字數收費,是按 token 收費。BPE 演算法從字元開始,反覆合併最常出現的相鄰配對來建詞表。英文 'understanding' 可能是 1-2 個 token,但中文「理解」可能要 2-3 個——同樣的意思,中文就是比較貴。
所有 LLM 都經過三階段訓練:預訓練讀完網路學會語言、SFT 用示範對話學會格式、RLHF 用人類偏好學會什麼回答比較好。Base model 到 chat model 的差距,就是後兩個階段做的事。
Transformer 的核心是 self-attention:對每個 token,模型算出它跟其他所有 token 的相關程度,然後按權重加總。這讓模型能跨越距離抓到「it 指的是 cat 不是 mat」這種關係,也是它處理長文的基礎。
計算生物學博士、前威斯康辛大學統計系教授 Sebastian Raschka,2022 年在 Substack 創辦 Ahead of AI,用月更長文拆解 LLM 論文與架構,四年做到 20 萬+訂閱。他刻意不接贊助、不追日更,靠書籍和付費訂閱變現,證明低頻高深度在 AI 電子報紅海裡也能走出一條路。
前 Twitter / Apple / Zynga 工程師 Alex Xu 2020 年自費出版《System Design Interview》,一本書打進 Amazon 暢銷榜;2022 年與前 Discord 工程師 Sahn Lam 聯手推出 Substack 電子報,首月即破 2.6 萬訂閱,兩年半達百萬。從書到電子報、YouTube、付費平台,ByteByteGo 2024 年營收 $3.5M,團隊從兩人擴張到 26 人——全程零外部融資。
IIT 畢業的前 Mastercard AI 工程師 Avi Chawla,因家庭因素取消赴美碩士後,在 Substack 用「每天 150 字圖文」切入 Data Science 電子報,5 個月破萬訂閱、收入超過全職,四年做到 20 萬+訂閱與付費課程平台。
德國出生、墨爾本定居的設計師 Kai Brach,從獨立印刷雜誌 Offscreen 延伸出每週策展電子報 Dense Discovery,八年 403 期、36,000 訂閱者、63% 開信率——刻意不追規模,用一個主贊助版位 $649 起加 Friends 付費社群養活自己,證明「夠用就好」也是一種商業模式。
Airbnb 前產品主管 Lenny Rachitsky 2019 年離職後開始在 Medium 寫文,一篇七年心得爆紅後轉戰 Substack,靠「每篇 50+ 輪修改」的品質偏執做到 120 萬訂閱、Podcast 50 萬 YouTube 訂閱、4 萬人 Slack 社群,全程不請一個正職員工。
Alex Lieberman 在密西根大學宿舍寫了一份叫 Market Corner 的 PDF,用聊天口吻重寫華爾街日報式的商業新聞。五年後 Morning Brew 做到 400 萬訂閱、年營收 $13M,被 Insider Inc. 以 $75M 收購。轉介計畫巔峰時貢獻 75% 新增訂閱,是電子報史上最成功的成長引擎之一。
前投行人、創業公司 VP Packy McCormick,2020 年 COVID 封城期間把社交俱樂部轉型為商業分析電子報 Not Boring,兩年內做到 8 萬訂閱、$1M 年營收,並從 $8M 基金一路做到三支基金、200+ 投資——寫作本身就是 deal flow。
從 Stratechery 2014 年證明「一個人寫分析文可以養活自己」到 TLDR 2024 年做到 $10M+ 年營收,十個電子報創業案例拆解出四條變現路線、三種內容模式,以及一個共通規律:格式選擇決定天花板。
Gergely Orosz 在 Uber 管了六年支付系統、經歷疫情裁員後離職,用六年部落格累積的寫作聲量在 Substack 創刊 The Pragmatic Engineer。四個月登上科技類第一、三年半突破百萬訂閱,年營收 $1.5M+——全靠讀者付費,零廣告零贊助。
Ben Thompson 在台北的公寓裡用三層訂閱制開始全職寫 Stratechery,十年後做到 4 萬+付費訂閱、年營收 $5M+,並發展出 Aggregation Theory 這個影響整個科技業的分析框架。Substack 的種子輪 pitch 就是「Stratechery-in-a-box」——他不只是第一個證明模式的人,他本身就是這個模式的原型。
Sam Parr 從納許維爾的熱狗攤起步,靠文案功力和病毒式內容把 The Hustle 在五年內從零做到 150 萬+訂閱,再以八位數價格賣給 HubSpot——買方要的不是內容,是讀者名單背後的 SaaS 漏斗。
耶魯數學經濟系畢業、Jane Street 量化交易員出身的 Dan Ni,因罕見疾病離開華爾街,在密蘇里父母家地下室用每天 50 美元廣告預算啟動 TLDR 電子報。八年後做到 13 個垂直版本、720 萬訂閱者、22 名全遠端員工、年營收破八位數——全部來自廣告,不收讀者一毛錢。
FLUX 是 Black Forest Labs 的圖像模型家族——2024 年 8 月由 Stability AI 的 Stable Diffusion 原班人馬創立後首發,12B rectified flow transformer 一戰成名;兩年後家族已長成五層:klein 4B($0.014 起、家族新一代唯一的 Apache 2.0)/9B、pro($0.03)、flex($0.05)、max($0.07、可即時搜尋網路 grounding),外加 32B 開放權重的 dev;2026 年 8 月更用 FLUX 3 把影片+同步音訊+機器人動作收進同一個 Self-Flow 架構。這篇追蹤從 FLUX.1 到 FLUX 3 的演化、授權三層制與選型建議。
語音模型分兩條線:ASR 線由 Whisper 主導——2022/09 以 MIT 開源 1.55B 模型把轉錄成本打到趨近於零,v2→v3→turbo(decoder 32 層砍到 4 層)之後 OpenAI 轉閉源推 gpt-4o-transcribe;TTS 線則是 ElevenLabs 用品質與生態從新創做到 $11B 估值、$500M ARR,開源陣營靠 Kokoro(82M、Apache 2.0)與 Chatterbox 守住自架陣地。即時對話已被 speech-to-speech 的 Realtime API 重寫遊戲規則。
2024 年 2 月 Sora 預覽震撼業界,兩年半後格局翻轉:OpenAI 於 2026 年 4 月關閉 Sora 消費者 App、API 排定 9 月 24 日退役;Veo 3.1 以原生音訊與 Flow 工具鏈成為敘事首選;快手 Kling 3.0 轉型統一多模態、年化營收 2.4 億美元;Runway Gen-4.5 曾登頂 Artificial Analysis 榜(2025-11 快照)、靠企業工作流站穩專業市場。這篇以家族×世代時間線拆解四大家的演化、規格定價對照與選型建議。
查「認證」只有 10 筆,149 篇裡 41 篇命中被漏掉:D1 FTS5 的 unicode61 對 2 字中文失效、本地 chunks_fts 0 筆、加上硬上限 12 的共同結果;用 LIKE fallback 與拆字 OR 先把召回補回來,再補 trigram 重建與分頁。
MiniMax 從消費級聊天 App 起家,M2.5 在 SWE-bench Verified 拿 80.2% 但 API 價格只有 Claude Opus 的 1/10-1/20;M3(456B 總量 / 45.9B 啟用)是首個在 SWE-bench Pro 突破 59% 的開源權重模型,還有 1M context。
Nous Research 不預訓練,只做 fine-tuning 和 RL——Hermes 4 在 MATH-500 拿 96.3%,NousCoder-14B 只用 24K 樣本就把 Qwen3-14B 的 coding 能力拉高 7%。但真正的護城河是 Hermes Agent 框架:236K GitHub stars,全球第 19 名,3,000 位貢獻者。
DeepReinforce 用 self-improvement RL 訓練的 Ornith 1.5 家族:397B 旗艦在 SWE-bench Verified 拿 86.0 追平 Claude Opus 4.8,35B-A3B 每 token 只啟用 3B 參數卻在同量級 coding benchmark 全面領先,9B 版本可以跑在手機上。MIT 授權、完全開源。
`claude agents` 一個畫面列出所有背景 session,把 Needs input、Ready for review、Working、Completed 等狀態排在一起管理,Space 鍵偷看、Enter 接手。搭配 cross-session messaging(ListAgents/SendMessage,v2.1.224+),session 之間還能自己互傳訊息;同機傳訊走本機 socket,不經 Anthropic 伺服器。
Claude Code 的設定分散在專案 `.claude/` 與家目錄 `~/.claude/` 兩層,共 20 多個檔案位置。關鍵分野只有兩條:settings 是跨層合併的強制設定,CLAUDE.md 和 rules 是串接進 context 的指引;committed、gitignored、Claude 自寫三種身分各不相同。
GitHub PR 審查設定好後,由一隊 agent 依 repo 觸發模式審查,平均 20 分鐘、每則約 15–25 美元,findings 以 inline comments 貼在問題行上;改動夠大時用 /code-review ultra 開雲端深審,5–10 分鐘回報每條都經獨立驗證的 bug,單次約 5–25 美元、Pro/Max 有 3 次免費。
Claude Code 成本隨 context 大小累積:企業部署平均每位開發者每個活躍日約 $13、每月 $150–250。本文整理 /usage 與 /insights 追蹤、六種省 token 手段,以及「該用哪個模型」的系統性答案:provider-dependent model aliases、effort levels、fast mode(Opus 5/4.8 每 MTok $10/$50)與 advisor 工具。
CLAUDE.md 寫了沒被遵守、hook 不觸發、MCP server 沒出現,多半是檔案沒載入、載錯位置或被另一層設定覆蓋。本文整理 /context、/memory、/skills、/doctor、/mcp 等診斷入口各看什麼、safe mode 二分法,以及六條高頻錯誤訊息的對照表。
在 `.devcontainer/devcontainer.json` 加一行 Anthropic 官方 Dev Container Feature(`ghcr.io/anthropics/devcontainer-features/claude-code:1.0`),三步驟——寫設定、rebuild 容器、跑 `claude` 登入——就能讓團隊每個人的 Claude Code 跑在同一份容器定義裡;同一份定義也能餵給 GitHub Codespaces 和 CI,rollout 五步可落地。
Dynamic workflows 讓 Claude 把多代理編排寫成 JavaScript 腳本、交給 runtime 在背景執行,單次最多 1,000 個 agent、可存成 /<name> 指令重跑。本文拆解觸發方式、儲存流程、codebase audit/大遷移/交叉查證研究三種場景,以及與 Agent Teams 的分工和成本陷阱。
Claude Code 的核心是一個 agentic loop:蒐集 context、採取行動、驗證結果,循環直到任務完成。本文拆解它的五大類內建工具、模型與 harness 的分工,以及 checkpoints 和 permission modes 兩道安全防線,作為整個系列的閱讀地圖。
官方文件把 Claude Code 的平行工作分成 4 種方式:subagents 在同一個 session 內委派、agent view 讓你自己盯多個背景 session、agent teams 由 lead 協調一群工人、dynamic workflows 用腳本跑大量 subagent 交叉驗證;檔案衝突一律靠 worktree 隔離。本文附官方比較表中譯與三題決策指引。
Claude Code on the web 把任務丟到雲端環境執行,預設是 Anthropic 託管 VM,也可由組織路由到 self-hosted environment:GitHub 授權後從瀏覽器或手機派工,`--cloud` 從終端機開雲端 session,`--teleport` 把雲端 session 拉回本地續作。目前是 Pro/Max/Team 的 research preview,不另收運算費用但共享帳號 rate limit。
Claude Code 共有六個 permission mode,日常主要在 Manual、Accept edits、Plan、Auto 四個之間用 Shift+Tab 切換;Pro/Max/Team 的互動終端機與 VS Code session 在條件符合時預設進入 auto mode,由背景分類模型審查多數動作,預設攔下 force push、`curl | bash`、production deploy 等風險操作。本文講四個模式的取捨、permission rules 的寫法,以及組織層的 trust config。
Claude Code 的 prompt caching 靠 prefix 完全匹配運作:命中時重讀計費約為標準 input 的 10%,但換模型、改 effort、開 fast mode、連斷 MCP server、整工具 deny 都會讓下一輪整段重算。TTL 預設五分鐘,訂閱方案的主對話與少數 helper requests 用一小時。
Claude Code 把每個 session 逐行寫進 ~/.claude/projects/ 底下的 JSONL 檔,預設保留 30 天。本文拆解 --continue 與 --resume 的差異、session 命名規則、/branch 分岔語意,以及 transcript 匯出與清理的設定。
安裝與登入問題照五步排:驗 PATH(macOS/Linux 用 echo $PATH,Windows 用 PATH 查詢)、確認只剩一份安裝、測 downloads.claude.ai 是否回 200、OAuth callback 失敗就貼 login code 或改用 claude auth login,最後用 claude doctor 收尾。
執行期問題五類解法:記憶體偏高用 /compact 加 /heapdump 診斷;hang 了按 Ctrl+C 再 claude --resume 復原;大型表格改寫檔案不要硬看終端輸出;autocompact thrashing 用分段讀檔或 /compact 指定焦點脫離迴圈;搜尋失效裝系統 ripgrep 並設 USE_BUILTIN_RIPGREP=0。
2025 年的 RAG 不再是「檢一次、生成一次」。Search-R1 用 RL 讓模型在推理中自主多輪搜索,REX-RAG/AlignRAG 補上策略與對齊的分支,OpenAI Deep Research 把整條鏈產品化,MCP 則把檢索泛化為統一的工具調用。本文拆開設計哲學、與舊世代的取捨、以及何時該用這套新範式。
Apple 讓 App Store Small Business Program 開發者免費使用跑在 Private Cloud Compute 上的 AFM 3 模型,門檻是首次下載數低於 200 萬次。AFM 3 家族共五個模型,裝置端的 AFM 3 Core Advanced 用 200 億參數稀疏架構只啟動 1–4B,雲端最強的 AFM 3 Cloud Pro 跑在 Google Cloud NVIDIA GPU 上,用 Gemini 輸出做蒸餾式精煉。
BytePlus ModelArk Coding Plan 提供 Lite($10/月)和 Pro($50/月)兩種訂閱,整合 DeepSeek-V4、GLM-5.2、Seed-2.0 等多模型,支援 Claude Code、Cursor 等主流工具,Lite 月配額約 24,000 次請求,Pro 為其 5 倍。
pi 的 loop 是雙層 while 加 EventStream;claude-code 明講 stop_reason 不可靠、改以串流中收到的 tool_use block 當唯一續跑訊號;codex 把 turn 做成可取消的 SessionTask 再靠 rollout crate 錄 JSONL;looplane 選了「manifest 先落盤、JSONL 跟上」的寫入順序,讓 Ctrl-C 之後能做驗證式續跑而非重跑。這篇全部附 file#symbol 級證據。
成熟的 coding agent CLI 都收斂到同一套慣例:positional prompt、-p 是 print、exec 是 headless、resume 是一級指令、-C 換目錄;looplane 直接繼承這套詞彙,把學習成本壓到接近零。
LLM 寫 unified diff 壞在簿記:hunk 行數算錯、上下文行幻覺。五家的答案分成兩派——把 diff 文法做簡單(Codex 拿掉行號)、或乾脆不用 diff(Claude Code/Pi/OpenCode 的 exact replace);OMP 更進一步用 hash 錨點綁住讀取狀態。looplane 走最小干預:保留 guarded apply_patch,加一個零模糊匹配的 replace_text,qwen3:4b eval 就從穩定失敗變 5/5。
每家成熟 coding agent 都有 headless 機器介面:codex 有 `exec --json` 和更完整的 app-server JSON-RPC,claude-code 有 `-p` 加 stream-json,pi/opencode/omp 各有一種 JSON 事件流。直接把這些 CLI 當 backend 是最快的路,但代價是:它們自帶 agent loop、自己的權限模型、自己的登入。looplane 的答案是讓外來 CLI 完整擁有它的 loop,自己只守住三件事——隔離副本、patch audit、最終驗證——並且一條 runtime 永遠不偽裝成另一條。
生態系都把 /v1/chat/completions 當共通語,但你手上的 provider 不一定講這個方言。五家的答案分三派:pi 和 OpenCode 讓 client 本身講多種方言所以不做 gateway;OMP 做了真正的 protocol translator(foreign wire → 中立 context → provider adapter,禁止 raw passthrough);Codex 和 Claude Code 的 proxy 不翻譯,只負責強制流量管控。looplane 抄 OMP 的邊界但收斂成一進一出:只收 OpenAI Chat,嚴格解析成 canonical contract,後面接任何 ModelProvider——順便踩掉一個 cross-event-loop client close bug,教訓是 provider 的生命週期必須交給 ASGI lifespan。
agent 進 CI 後最大的問題是審批:沒有終端機、沒有人可以按 approve。五家的解法收斂成兩條路——把權限決策外包給呼叫端(claude-code 的 control protocol),或直接換掉審批語意(codex 預設 Never 配沙箱、opencode 預設自動拒絕)。looplane 用同一個 AgentRunner loop 注入不同的 ApprovalPolicy:headless 下用 HeadlessApprovalPolicy,不讀 stdin 所以不可能卡住 pipeline,EXECUTE 預設 fail closed。
空白設定檔勸退人,憑證錯太晚發現更勸退人。五家成熟 agent 都把 setup 做成 first-class state,looplane 再補上存完 key 立即驗證這一步。
agent 跑完之後,「模型說它做完了」不是證據。codex 把 trace 拆成 manifest + JSONL + payloads 的 bundle、omp 用 SQLite 鏡像磁碟上的固定檔案、pi 用 runs.jsonl 索引原生 session 檔。looplane 選了最硬的一條:每個 run 固定六個檔案,缺一個就不算完成,patch 審計看 changes.patch 不看口頭宣稱。
五個外部 CLI 有五種機器介面:JSONL 事件流、JSON-RPC、HTTP API、ACP、stream-json。支援它們的正確姿勢不是抽一個「都一樣」的介面,而是一條窄的 runtime 邊界加一份誠實的 capability matrix——availability 只代表裝了,不代表登入;協定飄移就 fail closed。
本地沙箱管的是『agent 在你的機器上爆炸半徑多大』,雲端沙箱管的是『怎麼把程式碼安全地搬到別人的機器上跑』——五家成熟專案幾乎都在做前者,只有 looplane 真的部署了後者。實戰教訓:mock 測不出 SSE framing、CI 綠燈擋不住 stale wheel,而清理路徑要跟成功路徑一樣有 timeout。
五家 agent 的 session 儲存幾乎都是 append-only JSONL 加上某種單寫者保護,但 crash recovery 的差別在細節:pi 會修 torn tail、codex 寫失敗會重開檔重試、looplane 選了「manifest 先落盤」讓唯一的 crash window 變成可修復的一格。這篇拆解每家的寫入順序與 fail-closed 條件,全部附 file#symbol 證據。
小模型卡的不是『不會想』而是『格式不穩』:tool call JSON、diff hunk 計數、context 預算都會爆。五家參考專案的共識是把評測建立在真實模型行為上(pi 的 model-backed eval、OMP 從真實 session log 校準編輯基準、Codex 甚至為弱模型放寬 parser),looplane 則選最窄但最硬的路:一個 fixture、五次真實 Ollama 執行、manifest 宣告改哪些檔案和哪些 patch 片段才算過,並且把 M2 的失敗原封不動留成證據——不把 mock 當 E2E,不把部分成功講成全過。
CLI 工具每次叫用都要付一次啟動成本,而沒有 baseline 的效能優化等於沒有回歸保護。codex 用 daemon 重用與 skill snapshot 快取、claude-code 把入口切成七十個動態 import 加上內建啟動 profiler、opencode/omp 各有 lazy 載入紀律;pi 則什麼都沒做,靠 Bun 的速度快撐著。looplane 是 Python,天生慢,所以把紀律做滿:lazy import、單飛磁碟快取、背景預熱 controller、hyperfine paired benchmark 加上 CI 大於 10% 退步就擋 merge。
五家在「訂閱認證」上分成三派:Codex 和 Claude Code 只為自己官方 client 做 OAuth 並把 token 收進 OS keyring;pi 和 OMP 直接重用 Claude Code 的 client ID 實作 Pro/Max OAuth(技術可行但 Anthropic 文件明文禁止第三方未經核准提供 claude.ai 登入);OpenCode 則把內建 Pro/Max plugin 整組移除,是生態系最乾淨的政策先例。looplane 的原則:自己的 grant 自己做、絕不刮別家 CLI 的 credential 檔、第三方 client 要 provider 明確支援才接 OAuth、credential 不複製不轉發。
agent 的兩個依賴——LLM 和外部 CLI——都不是決定性的,但成熟專案的招式是把「會動的部分」與「邊界的形狀」切開:codex 用 wiremock 假 Responses API 加腳本化 SSE server,TUI 用 insta 快照;opencode 乾脆做了 VCR 式的 http-recorder 錄放套件;pi 把 eval 與 unit test 分成兩份 vitest config;omp 把 edit benchmark 本身用 unit test 圍起來。looplane 對外部 CLI 做了四層:單元測試、fake-CLI 合約、錄製串流整合、Textual pilot TUI 測試。核心方法論一句話:錄下真實的非決定性輸出,對它做決定性的斷言。
成熟的 coding agent TUI 都不是把事件流印出來,而是先做一層 typed projection 再渲染;looplane 走了全螢幕組合、runtime-first 雙模式、移除 Ask/Agent 分離三步,才把 non-streaming 和 resume 不能 replay 兩個舊限制真正解除。
五家參考專案裡沒有任何一家在 harness 層強制「宣告的驗證指令全過才算成功」:pi 靠模型自覺、OpenCode 和 Codex 把驗證寫進 system prompt、Claude Code 用獨立的對抗式驗證 subagent 但仍是軟性合約、只有 OMP 的 cleanse 真的由 harness 跑檢查。looplane 選最硬的一條路:改過檔案就必須重跑所有宣告的驗證指令,全過才給 terminal_reason=verified;沒動任何檔案就不重跑(no_changes),把「跑不跑」變成程式碼決定,不是模型決定。
五個成熟 coding agent 沒有一家用 Python——pi/opencode/claude-code 用 TypeScript,codex 從 TS 重寫成 Rust,omp 把熱路徑補上 8 萬行 Rust native crate。looplane 仍選 Python,代價是啟動效能與打包,補償手段是 lazy import、uv 和 Cloudflare Sandbox。
同樣是「知識圖譜 + 檢索」,Microsoft GraphRAG v3.1.2 用重索引換全局總結能力,LightRAG 用 dual-level 與增量把成本砍下來,HippoRAG 2 用 PPR 把 RAG 做成可持續增長的記憶;這篇按部件拆設計取捨,含四種查詢、索引流程與選型表。
Anthropic Contextual Retrieval 用 LLM 為每塊生成 50-100 token 前置上下文把失敗率從 5.7% 壓到 1.9%(含 rerank),成本約 $1.02/1M tokens;Late Chunking 先以 32K 長上下文模型全文件編碼再切塊 mean-pool,零額外 LLM 成本,取捨在窗口、延遲與文件結構。
Unsloth 是目前最省 VRAM、最快的本地 LLM 微調工具,訓練速度快 2 倍、VRAM 省 70%。2026 年加入 Desktop 桌面應用後,整合了推論、微調、圖片影片生成、web search 和 agent 連接,從微調庫變成完整的本地 AI 工作站。
Apple Foundation Models(AFM)是 Apple 自研的封閉生態 AI 家族,三代演進從 2024 年的 3B dense + LoRA adapter,到 2026 年的五個模型。AFM 3 Core Advanced 用 IFP 稀疏架構把 20B 跑在手機上(只啟動 1–4B),雲端最強的 Cloud Pro 跑在 Google Cloud NVIDIA GPU、用 Gemini 蒸餾精煉。沒有公開 API 定價,沒有第三方 benchmark,只透過 Foundation Models framework 給 iOS/macOS 開發者使用。
不想付錢就用 Tailscale + 內建螢幕共享,完全免費且最穩;要更順才考慮付費的 Jump Desktop,本文對比 4 種方案並給 5 分鐘設定與闔蓋休眠三大坑解法。
自架推論的關鍵不在引擎多快,而在你的 GPU 使用率:一張打滿的 A100 約 $0.70 / 百萬輸出 token,使用率掉到一成就變 $7,比多數雲端 API 貴。這篇是系列導讀,把七套工具分成三層,幫你判斷該選哪一層。
TensorRT-LLM 是 NVIDIA 的開源 LLM 推論庫(Apache 2.0),用離線編譯把模型權重與計算圖轉成最佳化的 TensorRT engine,再用自訂 CUDA kernel、in-flight batching 與多種平行化壓出硬體極限。代價是只支援 NVIDIA GPU、編譯要數十分鐘、換模型或量化就要重新 build。
Text Generation Inference(TGI)是 HuggingFace 自家的 LLM 推論伺服器,用 Rust + Python 實作,率先在開源推論引擎裡引入 continuous batching 與 Flash Attention。2026 年 3 月 GitHub 倉庫歸檔進入維護模式,官方建議遷移到 vLLM 或 SGLang。了解 TGI 仍然重要:它定義了後繼引擎的架構基線,而且許多 HuggingFace Inference Endpoint 上的既有服務仍在跑它。
2021 是 Transformer 正式入侵電腦視覺的元年——Swin Transformer 拿下 ICCV Best Paper,DINO 證明自監督 ViT 能自動學會物件分割,NeRF 從單篇論文變成一整個子領域。CVPR 和 ICCV 都因疫情改為全線上舉辦,但這一年產出的論文深遠影響了此後整個 CV 領域的架構選擇。
2021 年是 diffusion model 超越 GAN、自監督學習理論突破、RL 評估方法論覺醒的一年。NeurIPS 收了 9,122 篇投稿創當時紀錄,ICLR 的 Score-Based Generative Modeling 論文日後成為整個 diffusion 生態的理論基石,ICML 則在優化理論與自監督學習動力學分析上交出紮實貢獻。
2021 年是 NLP 從「fine-tune 整個模型」轉向「只調一小部分參數」的分水嶺——Prefix-Tuning(ACL)、LoRA(arXiv,後成為業界標準)、Prompt Tuning(EMNLP)三篇同年出現,ACL Rolling Review 同年啟動,Findings track 正式站穩成為第二發表管道。
2021 年是 AI 頂會的分水嶺:Transformer 從 NLP 全面入侵 CV 與時序領域,自監督學習成為各會議最熱門關鍵詞,Diffusion Model 拿下 ICLR Outstanding Paper 但還沒有人意識到它會取代 GAN——而 GNN 和 Federated Learning 正處於論文量的歷史高峰,之後開始走下坡。
2022 年是 CV 從「辨識」走向「生成」的轉折點——Latent Diffusion Models 在 CVPR 發表後催生了 Stable Diffusion,NeRF 從 2021 年的 25 篇暴增到 CVPR 單場超過 50 篇,ConvNeXt 替 CNN 打了一場漂亮的反擊戰,而 ECCV 則在 Tel Aviv 交出了 157 篇 Oral 的歷史最高紀錄。
2022 年是 diffusion model 登上頂會舞台中央、Chinchilla scaling laws 改寫大模型訓練範式、Chain-of-Thought 讓推理成為可提示能力的一年。NeurIPS 破萬篇投稿,13 篇 Outstanding Paper 裡有 3 篇跟 diffusion 直接相關,Chinchilla 和 data pruning 兩篇挑戰了『大就是好』的信條。ChatGPT 年底發佈前夜,所有拼圖都在這一年的頂會上各就各位。
2022 年是 NLP 從「模型能力展示」走向「模型對齊與控制」的轉折年——InstructGPT 把 RLHF 推上主流、Chain-of-Thought 證明推理能力可以靠提示詞解鎖、Flan 2022 讓 instruction tuning 的方法論成熟化。ACL 與 NAACL 同年全面啟用 ARR 滾動審稿,暴露了大量基礎設施與審稿人負載問題。年底 ChatGPT 上線,NLP 研究的遊戲規則從此改寫。
2022 年是 AI 頂會的轉折年:Diffusion Model 從冒頭變成主流(NeurIPS 兩篇 Outstanding Paper),Chinchilla 改寫 scaling laws 的遊戲規則,Chain-of-Thought 證明大模型能推理,InstructGPT 用 RLHF 讓語言模型學會聽話——而這一切在年底 ChatGPT 上線後瞬間從學術議題變成全球新聞。
2023 是 CV 從「看圖」走向「理解+生成+控制」的一年——Segment Anything 讓分割變成 zero-shot 通用能力,ControlNet 讓擴散模型可精準控制,3D Gaussian Splatting 以即時渲染速度挑戰 NeRF,DreamBooth 和 InstructPix2Pix 把文生圖從「生成」推向「編輯」。CVPR 投稿量突破九千、ICCV 突破八千,兩場會議恢復實體舉辦,規模與密度同創新高。
2023 年是 LLM 全面接管 ML 頂會的一年。NeurIPS 投稿破 12,000 篇,兩篇 Outstanding Paper 都直接針對大模型(隱私審計與湧現能力質疑),Runner-Up 的 DPO 在短短兩年內成為 RLHF 的實質替代標準。ICLR 的 DreamFusion 開啟了 text-to-3D 賽道,ICML 則把 LLM 水印和學習率自適應推上舞台。Mamba 以 arXiv 預印本之姿在 NeurIPS 現場引爆討論,預示 Transformer 的第一個真正挑戰者即將到來。
2023 年是 ChatGPT 之後的第一個完整學術年——NLP 頂會的議程被 LLM 全面重寫:ACL 的 Best Paper 研究幽默理解和政治偏見追蹤,EMNLP 的 Best Paper 用資訊流視角解釋 in-context learning,而 HackAPrompt 這篇 prompt injection 競賽論文直接拿下 EMNLP Best Paper,標誌著安全研究正式進入主流。整年最大的主題轉變是:研究者不再問「怎麼讓模型更準」,開始問「怎麼知道模型在不在騙你」。
2023 年是 LLM 全面重寫 AI 研究議程的第一年:DPO 拿下 NeurIPS Outstanding Runner-Up、ReAct 成為 ICLR Oral、hallucination 從邊緣詞彙變成每場會議的熱門 track——同時 3D Gaussian Splatting 在 SIGGRAPH 發表後橫掃 CV 社群,Mamba 年底出現挑戰 Transformer 的注意力壟斷,而傳統 NLP pipeline 的論文量開始明確萎縮。
2024 是 3D Gaussian Splatting 全面接管 3D 重建、video generation 從研究走向產品、vision-language model 深入各垂直領域的一年。CVPR 投稿量突破 11,500 篇再創紀錄,Best Paper 給了 Google Research 的 Generative Image Dynamics 和 UCSD/Google 合作的 Rich Human Feedback for Text-to-Image Generation;ECCV Best Paper 則頒給哥倫比亞大學的 Minimalist Vision with Freeform Pixels——一篇回歸光學基礎物理的非典型得獎作。
2024 年是 ML 頂會投稿量爆炸的一年:NeurIPS 收到 15,671 篇創歷史紀錄,ICML 和 ICLR 也分別突破九千和七千。研究主題從「把模型練更大」轉向「推論時怎麼花算力更聰明」——test-time compute scaling 成為年度最重要的新方向。Best Paper 層面,VAR 用 next-scale prediction 在影像生成上超越 diffusion、Rectified Flow 成為 Stable Diffusion 3 的理論基礎、ICLR 首次頒發 Test of Time Award 給 VAE 原論文。
2024 年的 NLP 頂會在 LLM 全面統治下重新定義自己:ACL 把開放科學列為年度主題、七篇 Best Paper 有四篇在問語言模型的根本能力邊界;EMNLP 則把焦點轉向多語言與跨文化,Best Paper 從語音表徵做到梯度可解釋性。投稿量持續爆炸(ACL+EMNLP 合計破萬),但社群真正焦慮的不是數量,而是當 LLM 能做幾乎所有 NLP 任務時,NLP 研究本身還剩什麼。
2024 年 AI 頂會的關鍵字是 agent、alignment、multimodal LLM 和 inference-time compute——LLM 相關論文在五大會議的佔比從 2023 年的顯著上升再度翻倍,agent 相關關鍵詞成長 4.3 倍,而 diffusion model 從「新興方向」正式晉升為與 LLM 並列的雙主軸。同時,傳統任務導向 NLP 研究持續萎縮,GAN 幾乎從頂會消失。
2025 是 CV 雙會年——CVPR 和 ICCV 同年舉辦。CVPR 投稿 13,008 創歷史新高,Best Paper VGGT 把 3D 重建從逐步最佳化拉到 feed-forward 推論;ICCV 的 Marr Prize 頒給了用文字生成可實際拼搭積木結構的 BrickGPT。3D Gaussian Splatting 全面取代 NeRF、video generation 從研究走向產品、flow model 開始取代 diffusion——CV 領域在這一年完成了多項典範轉移。
2025 年是 ML 頂會投稿量全面破紀錄、審稿系統承壓到極限的一年。NeurIPS 收了 21,575 篇投稿動用超過兩萬名審稿人,ICML 首度突破 12,000 篇,ICLR 也衝上 11,565 篇。研究主題上,reasoning 與 agent 成為最強勢的兩股潮流——NeurIPS Best Paper 之一直接質疑 RLVR 是否真的帶來新推理能力,拿下該屆唯一滿分;而 attention 機制的結構性改進(Alibaba Qwen 的 Gated Attention)和 neural scaling laws 的理論解釋同時獲獎,標誌著社群正從「衝規模」轉向「理解為什麼有效」。
2025 年 NLP 頂會的投稿量全面翻倍(ACL 8,360 篇、EMNLP 8,174 篇),中國第一作者在 ACL 佔比突破 51%,DeepSeek 的 Native Sparse Attention 拿下 ACL Best Paper——但最值得注意的是會議本身的身份危機:ACL 主席說『ACL 不是 AI 會議』,一篇量化分析問『Has ACL Lost Its Crown?』,EMNLP 被質疑跟 ACL/NAACL 還有什麼差別。
2025 年 AI 頂會的兩個最強訊號:reasoning 論文從 47 篇暴增到 216 篇(4.6 倍)、agent 相關關鍵詞合計超過 150 篇(4.3–11 倍成長)。Diffusion model 已從「爆發」進入「基礎設施」階段,RAG 以五會議全覆蓋的罕見擴散速度成為企業 AI 的主流架構,而 state space model 和 world model 正複製 2020–2021 年 Vision Transformer 的早期軌跡。純 prompt engineering 論文開始遭遇 reviewer fatigue。
獨立研究者投頂會不是不可能,但數據很殘酷:頂會的單一作者論文比例已降到個位數百分比,平均作者數從 3 人漲到 5 人,前 20 大機構佔了 35-50% 的作者署名。Andreas Madsen 花 8 個月無薪工作拿到 ICLR Spotlight,結果還是得回去讀博。這篇整理實際案例、審稿偏見的研究證據、以及沒有大 lab 資源時的可行路徑。
一篇 AI 頂會論文從投稿到見刊,要走過匿名化投稿、格式審查、reviewer bidding 與分配、3-4 位審稿人獨立評分、author rebuttal、AC/SAC/PC 三層決策、camera-ready 修訂——全程約 4-5 個月。ACL 系列還多了一層 ARR 滾動審稿的「先審後 commit」機制。
同一篇論文投到同一場會議,可能走三條完全不同的路:Main Track 是最高門檻的正式發表、Findings 是 ACL 系列獨有的「品質夠但沒上主軌」附刊、D&B Track 是 NeurIPS 為純資料集和評測方法論開的專門賽道。三條路在審稿標準、prestige、職涯訊號上差異明顯,投之前搞清楚差別比寫論文本身更重要。
AI 頂會的論文版圖正在劇烈重組:企業研究院主導前沿模型開發(2024 年近 90% 的 notable model 來自業界),但學術界仍是高引用研究的最大產出方;中國高校五年內從追趕者變成 NeurIPS 論文量佔比近半的主力;OpenAI、Anthropic 等公司則幾乎從頂會論文名單上消失——發表量與研究能力的脫鉤,是這個時代最值得注意的訊號。
Stanford Marin 在 11×GB200 上公開訓練 535B-A23B,先用 1% 算力的 5 階 Scaling Ladder 預註冊 paloma macro-loss 2.04,再以 W&B 即時公開 847 組訓練數據;本文按訓練流程拆解其設計與監控方法。
模型廠商的自測數字不能直接信。這篇整理 2026 年最重要的獨立評測平台、領域 benchmark、市場熱度指標和官方來源,說明各自測什麼、怎麼解讀、偏差在哪,附上不同情境的選型該看哪些數字。
Claude 是 Anthropic 推出的閉源 LLM 家族,以 Constitutional AI 訓練、Agent 能力和 Coding 表現聞名。2026 年 7 月的 Opus 5 以 SWE-bench Verified 96% 拿下 coding 冠軍,Fable 5 則以 LiveBench 83% 領跑通用能力。四層產品線(Fable / Opus / Sonnet / Haiku)從 $1 到 $10 覆蓋不同場景,是系列裡唯一完全沒有開放權重的家族。
Cohere 是唯一把生成、檢索、重排、多語言四條線都做成產品的模型家族。Command A 111B 以兩張 GPU 跑 256K 上下文、Embed v4 支援圖文混合檢索、Rerank v4 32K 處理半結構化資料、Aya 覆蓋 101 種語言——四件套為 RAG 而生,這篇拆開每一塊的定位、授權與選型。
DeepSeek 用 MLA + MoE 兩項架構創新把推論成本壓到業界最低,V4 Flash 以 13B 活躍參數跑出接近前端模型的品質,成為 OpenRouter 用量第一。這篇追蹤從 V1 到 V4 的演化、R1 推理線的分叉、以及每個版本該怎麼選。
Gemini 是 Google DeepMind 推出的原生多模態 LLM 家族,以 1M context window、原生影片/語音輸入和科學推理能力聞名。3.1 Pro 在 GPQA Diamond 94.1% 和 ARC-AGI-2 77.1% 拿下科學推理雙冠,定價 $2/$12 只有 Claude 的 1/6。3.8 Flash 以 $0.75/$3.75 提供追平 frontier 的 agentic coding 能力(Terminal-Bench 2.1 89.4%、DeepSWE v1.1 73.7%),且 3.6/3.7/3.8 連續三代不漲價。
GLM 是智譜 AI(Z.ai)推出的開源 LLM 家族,源自清華大學 KEG 實驗室。GLM-5.3(2026/08)在 coding benchmark 比前代提升 50%,CyberGym 84.5% 超過 Anthropic Mythos 5 與 OpenAI GPT-5.6 Sol,在 Artificial Analysis Intelligence Index 得分 60 與 Kimi K3 並列開源第一。它是目前唯一完全在華為昇騰晶片上訓練出的前沿開源模型。
GPT 是 OpenAI 推出的 LLM 家族,從 2018 年的 117M 參數到 2026 年的 GPT-5.6 Sol/Terra/Luna 三層產品線,擁有超過 10 億使用者和 200 萬企業客戶。GPT-5.6 Sol 在 LiveBench 81.1%、Terminal-Bench 2.1 88.8%、Artificial Analysis Coding Agent Index 80 等多項 benchmark 領先,同時首次推出開源模型 GPT-OSS(Apache 2.0)。
Grok 是 xAI 的 LLM 家族,2023/07 成立、2024/03 以 314B MoE Apache 2.0 開源起手,兩年半迭代到 Grok 4.6(500K、$2/$6、四檔推理)與 2M 的 Grok 4 Fast;另有 Imagine 圖像/影片與 Grok Build 終端 coding agent——護城河在分發(X / grok.com / Tesla / Bedrock),而非單點模型能力。這篇追蹤 Grok 1→4.6 的演化、子線定位、定價與授權陷阱。
Kimi 是月之暗面(Moonshot AI)推出的 LLM 家族,以超長 context 起家。2026 年 7 月發布的 Kimi K3 是全球首個開源 3T 級模型——2.8T 參數、104B 活躍、1M context,在 Artificial Analysis Intelligence Index 得分 60 與 GLM-5.3 並列開源第一。其 Kimi Delta Attention 架構帶來 2.5 倍 scaling 效率提升。
Llama 是 Meta 推出的開源 LLM 家族,以企業部署量最大、生態最成熟聞名。Llama 4 Scout(10M context)和 Maverick(17B active / 400B total MoE)是目前的開源多模態標竿,但 Meta 已在 2026 年 4 月轉向閉源 Muse Spark——Llama 4 很可能是最後一個主要的開源 Llama,且授權不是真正的開源(Llama 4 Community License,月活超 7 億需另外授權)。
Mistral 是歐洲最成功的 AI 新創,以「更小、更快、更便宜」的策略和歐洲資料主權定位在 AI 市場殺出血路。Mistral Large 3 是歐洲最強的商用 LLM,Small 4 是 24B 級別的效率之王,Medium 3.5 則是專為 agentic coding 優化的 Modified MIT 開源模型。它的護城河不是技術規模,而是「歐洲合規」這張牌。
Qwen 是 HuggingFace 下載量最高的模型家族,尺寸從 0.8B 一路涵蓋到 2.4T。2026 年 8 月阿里首度開源 Max 級旗艦權重(Qwen3.8-2.4T-A95B),但授權換成了自訂條款而非慣例的 Apache 2.0;同期開源、筆電就能跑的原生視覺模型 Qwen3.8-27B 反而是新面孔裡唯一的 Apache 2.0。這篇追蹤 Qwen 從 2023 年到 3.8 世代的演化、開源線與商用線的分家邏輯,以及每一層該怎麼選。
2026 年 AI 模型按用途分成七大類、20+ 個子用途。這篇是「AI 模型家族」系列的導讀地圖——從用途找模型、從模型找家族,附每個用途的選型建議和最新排名。
2026 年 5 月 Google I/O 宣布 Antigravity CLI(agy),用閉源 Go binary 取代 Apache 2.0 的 Gemini CLI。技術上升級——多 agent 編排、原生沙箱、毫秒啟動——但免費額度砍 98%、開源轉閉源、28 天過渡期,社群反應強烈。
Grok Build 是 xAI 用 Rust 寫的 coding agent,845K 行程式碼、8 個平行子 agent、Arena Mode。2026 年 5 月 beta、7 月開源(Apache 2.0)——但開源的直接原因是隱私事件:它靜默把整個 repo(含 SSH key、.env)上傳到 Google Cloud Storage,27,800 倍的流量比。資料外洩的程式碼至今還在 binary 裡,只靠 server-side flag 關閉。
2026 年 8 月 Meta Superintelligence Labs 發布 Muse Code beta。閉源靜態 binary、Muse Spark 1.2 模型、平行子 agent + worktree 隔離。最大爭議是定價:標準版 $1.25/$4.25 per M tokens,Contributor 版 $0.10/$0.20——便宜 20 倍,但你的程式碼進 Meta 的訓練管線。
自架推論伺服器分三層:執行引擎(llama.cpp)、服務引擎(vLLM、SGLang)、模型管理平台(Ollama、Xinference、Triton)。選對層級比選對工具重要——先問你的瓶頸在排程還是在部署流程,再決定複雜度放在哪裡。
Xinference 把 vLLM、SGLang、llama.cpp、Transformers、MLX 五種後端包在同一個管理層,用 Web UI 和 OpenAI 相容 API 統一管理 LLM、embedding、rerank、語音和圖像模型,適合需要多類型模型共存的自架部署;但管理層的解析邏輯也讓攻擊面比純 serving engine 大(CVE-2026-61539 是案例)。
「AI 頂會」不是任何機構的官方認證,而是 CCF-A、CORE-A*、Google Scholar 高 h5-index、低接受率四套獨立訊號的社群共識交集——而這四套訊號經常互相矛盾,ICLR 完全不在 CCF 名單裡就是活生生的例子。
Agent Platform 採 Cloudflare-first 架構:本機 `npm run dev` 跑 Node 模擬,生產映射到 Workers + Workers Assets + D1 + KV + R2 + Vectorize + Queues + Workflows + Durable Objects + Workers AI。Runtime 介面相同(InMemory → Cloudflare 實作),上層零感知遷移。部署只需 `wrangler login` → 建資源 → 填 ID → `wrangler secret put` → `wrangler deploy`。CI/CD 監聽 main 分支,跑 typecheck + build + dry-run + migration + deploy。
Evaluation 是 Agent Platform 的「品質免疫系統」:不只是事後統計,而是內建於執行流程的 Pre-run/In-run/Post-run 三階段把關。7 類 Eval 全覆蓋 Flow→Step→Skill→Artifact→Evidence→Policy→Regression。Skill 發布必須通過 Trigger→Functional→Policy→Regression→Human Review 五關,任一失敗即阻擋。Learning Loop 從 Run 捕獲 Signal → 產生 Proposal → Human Review → Sandbox Eval → Quality Gate → Publish,嚴守「Agent 提案、人類審核、Eval 閘門」鐵律。
Flow Runtime 是 Agent Platform 的心臟:Flow 發布即不可變、Run 綁定具體 version+preset、Step 以 DAG 邊緣條件流轉、每個邊界存 checkpoint、支援 resume/retry-step 不丟失 trace 歷史。
Observability 不是事後加的 log,而是第一公民:結構化 Trace 連結 FlowRun→StepRun→SkillInvocation→ProviderCall→ToolInvocation→GuardResult→EvidenceItem→ArtifactVersion。Evidence Store 讓每個 claim 追溯到 source/excerpt/citation/confidence/conflict。Artifact 版本化支援 approve/reject/regenerate 不刪除歷史。Context Snapshot 按類別分配 token budget,超額自動壓縮記錄決定。Memory 分 procedural/episodic/semantic 三類,寫入需 proposal 經人工審核。
Agent Platform 把 AI agent 從「空白聊天視窗」升級為「可定義、可版本化、可觀測、可驗證、可改進」的結構化工作流平台,內建 Deep Research seed flow 示範完整閉環。
Policy Engine 是 Agent Platform 的「憲法與執法者」:Policy 版本化綁定 Flow/Preset、四層 Guard 在 step boundary 強制執行、Budget 多維度限制(cost/tokens/runtime/iterations/tool_calls)、External write 必須人工核准、Loop detection 自動熔斷、Escalation 記錄可審計軌跡。配置驅動而非硬編碼,新增規則只改 JSON。
Provider Router 是 Agent Platform 的「模型與工具網關」:統一 30+ providers、MCP tool discovery、step-local 權限控制、fallback chain with RRF fusion、OpenAI 相容 Proxy 讓現有 SDK 零改動接入。配置驅動而非硬編碼,provider 健康度感知路由。
Skill = 可版本化、可安裝、可審計的能力包。雙檔架構分離 metadata 與指令,顯式綁定替代模型路由,invocation 全記錄。Learning Loop 從 run 產生 signal → proposal → sandbox eval → human review → publish,嚴守「Agent 提案、人類審核、Eval 閘門」原則。
Groundlane 是一個開源 TypeScript 遠端 MCP 伺服器(v0.1.0),以單一穩定合約為 AI 代理提供 web_search、web_fetch、web_extract 三種能力,並把身份驗證、提供者替換與資源限制留在操作者邊界內。
以實際呼叫範例說明 web_search(十適配器、RRF 合併、雙提供者預設)、web_fetch(format/render 策略、finalUrl 來源證據)、web_extract(CSS selector 結構、無 LLM 隱式步驟),並整理回傳結構與錯誤邊界。
從確定性、可替換性、身份邊界、維運成本四維度比較 Groundlane 三工具與傳統本機方案(WebFetch、stealth_fetch、puppeteer、requests),指出各方案適合與不適合的場景。
以站內 .claude/skills/groundlane 的 usage-modes 流程為事實,說明如何把 web_fetch 與 web_extract 整合進文章參考驗證與每日 digest 資料收集,而不假設未實作功能。
整理實戰中最常見的操作陷阱:timeout 與位元組上限導致的 truncated、selector 設計錯誤、render 模式切換的成本與確定性風險、版本變動(v0.1.0 早期預覽)的可重現驗證方式,以及預設安全邊界不可繞過的原因。
美股 LLM agent 已經捲到近十萬星,台股在 GitHub 上卻連一個破 10 星的都沒有;我把三個 side project 收斂成一個「每個結論都要先過回測」的台股研究 agent,這篇講為什麼。
五個 analyst 在同一個 superstep 並行 fan-out,延遲是 max 不是 sum;回測與 reflection 擋在 synthesis 前面,讓 LLM 只能解釋已存在的證據。
只有兩個 role 會叫 LLM,其餘分析師全程程式化;每個 call 依 Anthropic API → 本地 claude CLI → 規則降級的鏈路走,成本只信 provider 回報值,未知成本永遠不當 $0。
這個專案的核心規矩:任何 LLM 結論必須先通過同一組訊號的歷史回測,期望值為負時 synthesis 禁止樂觀;四個讓回測說謊的坑各有程式化對策。
我不量測『感覺很準』,我用 walk-forward 凍結參數跑 OOS、run card 記錄每次輸入的 hash、golden eval 留下 5/10 = 50% 的誠實 baseline,讓這個 agent 承認自己還不準。
LLM 寫報告時最容易幻覺的不是觀點而是數字,所以我把所有可信數字建成 SHA-256 定址的 evidence manifest,LLM 只能引用 {{fact.id}},膽敢寫裸數字就整份丟棄回退規則模板。
研究請求先變成一份要人批准的 ResearchPlan,外部文件必須完整抓取並驗證逐字引用才能進報告,quant 的審查意見永遠 append-only、free-text 永不回流進 prompt——這是 M5 Copilot loop 的完整樣貌。
用三個 frozen Pydantic 合約把「研究成果」和「下單權限」之間焊死:內容定址、八道硬性閘門、paper-only,agent 永遠摸不到憑證。
一個 Python agent 從本機 uv run 到 Docker 到 Cloudflare Containers 公開 API 的完整部署鏈:Worker 擋認證、Container 跑 FastAPI、secret 永遠不進映像檔,10 分鐘沒人用就自動休眠——side project 的正確省錢姿勢。
學術搜尋不能把五個 API 的結果直接串起來:先用 arXiv/PubMed 做領域發現,再用 DOI、PMID、arXiv ID 對齊 OpenAlex/Semantic Scholar,最後由 Crossref 與 PubMed 關係資料檢查正式版本、勘誤與撤稿。
AG2 延續 AutoGen 的 ConversableAgent 心智模型:agent 透過訊息協作,GroupChatManager 再用 round-robin、manual、random 或 LLM 決定下一位發言者。
七套工具不是同一類產品:LangGraph、MAF 與 Mastra偏耐久工作流,CrewAI 與 AG2 偏多 agent 協作,Pydantic AI 偏型別化 Python agent,DSPy 則用資料與 metric 最佳化整個 AI 程式。先選控制模型,再選框架。
Agent 不該把使用者原句直接丟給每一種搜尋服務:先辨認 exact lookup、keyword、semantic 或 fielded search,再把來源、時間、語言與欄位限制放進 provider 原生參數,最後依零結果、結果過廣與來源不對症狀改寫。
Amazon Bedrock 不只是代售多家模型 API;它把模型呼叫、IAM、Region、Knowledge Bases、Guardrails 與 CloudWatch 串成同一套 AWS 控制面。它最適合已在 AWS 上、治理成本比最低 token 單價更重要的團隊。
Phoenix 是 MIT 授權的開源 LLM observability/eval 平台:先用 OpenTelemetry + OpenInference 收 trace,再把 production failure 收進 versioned dataset,以 experiment 比 prompt、model 或 RAG 改動,最後用 code、human 與 LLM evaluator 回寫分數。它不是 Arize AX;自架預設無認證且永久保留資料,正式環境必須先補安全政策。
登入狀態不是方便攜帶的設定,而是一把能冒用身分的鑰匙。安全做法是使用專用低權限帳號與隔離 browser profile,把讀取、可逆寫入、高風險交易拆成三級,MFA 與最後提交留給人。
Baseten 把自訂模型的打包、GPU 部署、推論引擎、autoscaling 與發布流程收進同一平台;價值不在多一個 OpenAI API,而是讓 ML 團隊保留 runtime 控制權,同時少維護一層 GPU orchestration。
Braintrust 把 versioned datasets、immutable experiments、scorers 與 production traces 接成同一個評估迴圈;它的價值不是多一個分數,而是把線上失敗送回離線測試。公司在 2026-02 宣布 8,000 萬美元 B 輪,客戶名單為公司自報。
Brave Search API 以 Brave 自有的網頁索引與排名模型提供 Web、News、Images、Videos 與 LLM Context 五類端點;核心搜尋不只是 Google SERP 的 API 包裝。
Browserbase 把遠端 Chromium、持久化 Context、代理伺服器與 Session Inspector 包成同一個控制平面;它解決的是瀏覽器艦隊的生命週期與除錯,不替 agent 決定下一步。官方截至 2026-08 自報每月超過 3,500 萬次 browser session、逾 10,000 家客戶。
Cartesia 的核心是 Sonic 即時 TTS、Ink STT 與串流推論;雖然 2026 年已有 Line voice-agent 平台,選型時仍要分清模型層與電話 orchestration,並把 voice cloning 同意、資料保存與 fallback 自己設計好。
Cerebras 的價值是把支援模型的生成階段大幅加速;但 Agent 的端到端速度仍取決於 prefill、工具 I/O、模型能力與平台相容性。
Chroma 用 collection 統一管理 embedding、文件與 metadata;本機可嵌入 Python,單機版採 HNSW,分散式版則以物件儲存、SSD 快取與 SPANN 拆分運算和儲存。
Anthropic 訪談 15 間新創,歸納出 Claude Code 操作五原則:人人出貨、自動化瑣事、信任但驗證、為重建而建、原型到產品化。ClickHouse 多出 30% 功能、Clay 100% 自動化 bug triage、Artemis Security 一週 6,000+ PR。
Kitesurf 是 Browser Run 內仍在 beta 的非 Chromium 瀏覽器後端:用 Workers isolates、Rust/Wasm 與無狀態元件換低 CPU/記憶體,但犧牲像素相容性、長登入工作階段、WebGL 與完整反機器人能力。
Cloudflare Sandboxes 把 Worker 當入口、Durable Object 當具名控制面、獨立 VM 內的 Container 當執行面;適合已在 Cloudflare 上、需要大量短暫 Linux 工作區的 agent,但持久資料、安全邊界與三層費用都得自己設計。
完成 07-280 不等於看完 24 篇導讀;至少要留下搜尋器、監督式模型、CNN/GPT-2 實驗與一個 RL+MCTS 小系統,再依缺口選 07-380、10-301 或專題課。
07-280 是 CMU Spring 2026 首開的 AI+ML 核心:24 講、12 個作業編號,從 heuristic search、CSP 與機器學習一路做到 AlexNet、GPT-2、AlphaZero。教材足以自學,但沒有完整公開錄影、Canvas checkpoint 或 Gradescope 回饋。
Lecture 1 用 alien autoencoder、AI/ML 範圍與 AI 發展史建立全課座標:智慧系統不是模型清單,而是在不確定下把輸入表示成可計算決策。
Lecture 2 把搜尋拆成 problem、frontier 與 priority:UCS 看已付成本,Greedy 看估計剩餘成本,A* 用 `f=g+h` 合併兩者;tree 與 graph search 的最優條件並不相同。
Lecture 3 把單一路徑改成 contingent plan:minimax 對抗最佳對手,alpha-beta 在不改 root value 下跳過無關分支,expectimax 則用機率取代最壞情況。
Lecture 4 利用 variables、domains、constraints 暴露問題結構,再把 DFS 升級成 backtracking、forward checking、AC-3、MRV 與 LCV;重點是更早證明某些選擇不可能成功。
Lecture 5 把機器學習寫成 `X → Y`、loss、risk 與 empirical risk minimization:訓練集只能提供平均已知損失,真正目標仍是未知分布上的 generalization。
Lecture 6 從 decision stump 遞迴建樹,用 entropy 衡量 label uncertainty,再以 `I(Y;W)=H(Y)-H(Y|W)`選擇分裂;這是計算可行的 greedy ERM,不是全域最佳樹保證。
Lecture 7 把 ERM 套到 linear functions 與 squared loss,從一維 slope 推到矩陣形式 `argmin ||y-Xθ||²`,再在 `XᵀX` 可逆時得到 normal equation。
Lecture 8 從一維 parabola 推到 vector gradient,再比較 batch GD、SGD 與 mini-batch;learning rate 決定更新是收斂、震盪或發散。
Lecture 9 不直接預測 0 或 1,而以 sigmoid 建模 P(y=1|x),再用 cross-entropy 與凸最佳化學出參數;多類別版本自然延伸成 softmax regression。
Lecture 10 先用 φ(x) 讓線性模型表達非線性,再以 train/validation/test 分工、L1/L2 regularization 與 model selection 限制新增自由度造成的過度擬合。
Lecture 11 把單一 logistic neuron 擴成多層網路:linear layer 產生 z、activation 產生 a,多個 neuron 共同學出 feature transform,再以 loss 和 gradient descent 訓練權重。
Lecture 12 把神經網路視為 computation graph:forward pass 保存中間量,backward pass 從 loss 開始傳遞 upstream gradient,並用線性層、activation 與 softmax 的局部規則一次算出全部參數梯度。
Lecture 13 把 alignment 拆成目標規格、distribution shift、監督與修正能力,並用 autonomous AI scientists 的 benchmark selection、data leakage 與 post-hoc selection 實驗說明:只看最終論文不足以稽核整個研究流程。
Lecture 14 以 local connectivity 與 parameter sharing 取代全連接影像模型,從 convolution、stride、padding、pooling 走到 AlexNet、GPU data parallelism、ResNet skip connection 與 BatchNorm。
Lecture 15 將 pretrained model 拆成 representation g 與 task head h:可以凍結 g 只訓練 head,也能用較小 learning rate fine-tune 部分或全部參數;選擇取決於資料量與 source-target 差距。
Lecture 16 從 likelihood p(D|θ) 出發,以 i.i.d. 將聯合機率寫成乘積,再用 log 變成和;Bernoulli MLE 得到樣本比例,conditional Bernoulli 得到 logistic cross-entropy,Gaussian noise 則得到 squared error。
第 17 講先決定文字如何切成 token,再用 N-gram 把序列機率改寫成可從 corpus 計數的條件機率;tokenization 不是前處理小事,而是模型能看見什麼的第一個設計決定。
第 18 講把 chain rule 截成 N-gram Markov assumption,以 corpus counts 做 MLE,再比較 greedy、categorical sampling 與 temperature;真正的瓶頸是未見 context 的零機率與固定視窗。
第 19 講以兩個 embedding matrices、dot-product similarity、softmax 與 cross-entropy 建立最小 next-token model,讓相似 context 透過共享向量參數取代 N-gram 的獨立計數格。
第 20 講先把單 token embedding 擴成 sequence,以 positional encoding 補順序,再推導 Q/K/V scaled dot-product attention、causal mask 與 multi-head blocks,最後接到 GPT-2。
第 21 講把隨機序列決策寫成已知 dynamics 的 MDP,以 Bellman backup 定義 value 與 Q-value,再用 value iteration 或 policy iteration 求最佳 policy。
第 22 講保留 MDP 骨架,拿掉已知 transition 與 reward 的假設;TD learning 用一步 sample 更新 value,Q-learning 再以 off-policy target 直接學最佳 action values。
第 23 講以 Qθ(s,a) 取代巨大 Q-table:先用 features 線性近似並由 squared TD error 推導 gradient update,再以 replay data 與固定 target network 形成 DQN。
Spring 2026 Lecture 24 是 MCTS,不是 Fall 2026 的 LLM post-training;本講以 selection、expansion、rollout、backup 與 UCB 分配模擬,再由 policy/value heads 與 self-play 接到 AlphaZero。
第一階段把 Lectures 1–12 串成同一條決策鏈:先定義狀態、動作與目標,再用 heuristic、loss、regularization 與 backpropagation 控制龐大搜尋空間。
第二階段不把 CNN 與 Transformer 當兩份架構圖背誦,而是透過 HW8 與 HW11 檢查表示、計算圖、訓練、遷移與生成是否真的接得起來。
第三階段把 value、policy、bootstrapping、function approximation 與 MCTS 接成 AlphaZero:network 提供先驗與估值,search 改善決策,self-play 再產生下一輪資料。
Spring 2026 Lecture 1 聚焦神經元、感知器、連結主義與深度學習問題設定;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 2 聚焦布林電路、網路寬度與深度,以及表示能力不等於可訓練性;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 3 聚焦資料分布、假設、損失、經驗風險與泛化之間的角色;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 4 聚焦梯度、學習率、參數更新與線性神經元的訓練;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 5 聚焦計算圖、chain rule、局部導數與梯度重用;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 6 聚焦非凸損失曲面、曲率、鞍點與 momentum 的累積方向;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 7 聚焦full batch、mini-batch、隨機梯度與二階資訊的成本取捨;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 8 聚焦AdaGrad、Adam、正則化、BatchNorm、Dropout 與 loss 選擇;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 9 聚焦局部連接、權重共享、卷積核與特徵圖;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 10 聚焦stride、padding、receptive field 與多通道卷積;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 11 聚焦卷積架構堆疊、特徵階層與設計取捨;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 12 聚焦CNN 訓練、架構選擇與視覺模型的整體串接;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 13 聚焦序列狀態、時間展開、參數共享與 recurrent computation;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 14 聚焦時間反向傳播、梯度穩定性與 LSTM 類 gated memory;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 15 聚焦可變長輸入輸出、對齊未知問題與 CTC 目標;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 16 聚焦blank、collapse 規則、前綴機率與近似解碼;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 17 聚焦自回歸機率分解、條件語言模型與翻譯解碼;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 18 聚焦query、key、value、scaled dot-product attention 與 Transformer block;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 19 聚焦encoder/decoder 結構、mask、residual path 與架構變體;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 20 聚焦規模化自回歸模型、訓練階段、推論與能力邊界;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 21 聚焦瓶頸表示、重建目標、降維與表示品質;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 22 聚焦latent variable、ELBO、KL 項與 reparameterization trick;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 23 聚焦forward noising、reverse denoising、score/noise prediction 與採樣;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 24 聚焦generator、discriminator、minimax objective 與訓練不穩定;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 25 聚焦message passing、aggregation、node representation 與 permutation symmetry;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 26 聚焦state、action、reward、return、value 與 policy learning;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 27 聚焦聯想記憶、能量函數、固定點與 pattern retrieval;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 28 聚焦能量式機率模型、隨機單元、partition function 與學習困難;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
CMU 11-785 Spring 2026 的 28 講內容都有官方 slides 與 YouTube,另有大量公開 bootcamp/recitation;但 HW1–4 的核心規格、starter 與評測依賴 Autolab、Piazza 和 Kaggle。
要做出 Claude Code 或 Codex 的 TUI,關鍵不是滿版配色,而是長生命期 session、typed transcript 與 tool-boundary approval。
Cognee 是資料到 AI memory 的 pipeline:用 relational store 保存來源與 provenance、vector store 找語意相近內容、graph store 表達 entity 關係,再以 remember、recall、improve、forget 管理生命週期。
CS124 Winter 2026 第一週不是先教 Transformer,而是先畫出從斷詞、分類、檢索到語音與網路的十週路線,並用 PA0 建好後續九週共同使用的 Jupyter 環境。
Week 10 以 anchor text、PageRank 與 centrality 分析 Web graph;post-training、多語與 speech 只歸於檔名及內容標示 2025 的公開 final deck outline,不歸為 2026 現場內容。
Week 2 把文字處理拆成三層:以 BPE 建立 token 詞彙、以動態規劃求最小編輯距離,再以 n-gram 近似序列機率;PA1 把正規表示式與 BPE 變成可執行作業。
Week 3 用 logistic regression 串起文字特徵、sigmoid 機率、cross-entropy loss 與 gradient descent,讓分類不只輸出標籤,也能說明每個特徵如何推動預測。
Week 4 從倒排索引建立候選集,以 tf-idf 與 cosine similarity 排序,再把檢索結果接到生成模型;PA3 要求實作的不是聊天介面,而是 RAG 前半段可檢查的搜尋核心。
Week 5 的公開材料支持 distributional hypothesis、word embeddings 與 cosine similarity;同週 Social NLP 現場課未錄影且投影片受限,具體 audit 方法只作作者延伸。
Week 6 以公開 neural-network slides 建立 weighted sum、nonlinearity、loss 與 backpropagation,再用檔名標示 2025 的公開 LLM/Transformer deck 連到 decoder-only 架構,不視為 2026 現場逐字內容。
Week 7 的可公開主線是 PA6a:實作 causal self-attention、訓練 Shakespeare 小型 Transformer、取樣並計算 perplexity;同週 speech live lecture 未錄影,只能保留為明示缺口。
Week 8 以 PA6b 把文字轉語音再轉回文字,要求分類錯誤、檢查格式遺失與口音偏差;同週 Lab 4 以 Git 與 PA7 協作把課程帶入團隊 agent 專案。
Week 9 以 item-item collaborative filtering 產生電影推薦,再把推薦、web search、database 與 memory 包成 LLM agent tools;PA7 同時把模型非決定性、API 預算與團隊協作變成交付條件。
第 3 講把神經網路訓練拆成計算圖、局部導數與鏈鎖律:forward pass 算結果,backprop 由輸出往回累積梯度,讓每個參數知道自己該往哪裡移。
第 11 講把評估拆成測什麼、怎麼量與何時不再可信:benchmark 會飽和、遭污染或被提示格式左右,LLM judge 也只是帶著自身偏差的模型。
第 9 講比較 prompting、pruning、LoRA、prompt tuning 與 adapters:它們都在回答同一題——要讓一個大型預訓練模型適應新任務,究竟需要改多少參數與儲存多少任務狀態?
第 6 講先補完 Transformer encoder、decoder 與 cross-attention,再把期末專案拆成題型、評分、研究題目與資料來源;好題目必須能用一個明確 baseline 和指標驗證。
Winter 2026 第 1 講用四個時代整理 NLP:早期探索、符號系統、統計機器學習、深度與自監督學習;重點不是背年表,而是看每個時代如何重新定義語言問題。
第 15 講由 Been Kim 客座談 interpretability,但 Winter 2026 官網沒有公開投影片或 agenda;本文不虛構講授內容,只用官方五篇閱讀建立概念發現、agentic investigation 與新詞彙三條閱讀路線。
第 17 講由 Luke Zettlemoyer 客座談 multimodality,但官網沒有公開投影片或 agenda;官方閱讀清單可確認三條主線:視覺推理介面、early-fusion token 模型、文字自回歸加影像 diffusion。
最後一講把 Open Questions in NLP 2026 收斂成 smart scaling:以 prolonged RL、Prismatic synthetic data、RL as pretraining 與開放協作,讓小模型不只靠增加參數追求推理能力。
第 8 講解釋預訓練模型如何經 instruction tuning、偏好資料與 RLHF 變成助理,再以 DPO 直接從勝負配對學習;每一步都把人的判斷轉成訓練訊號,也把偏差帶進模型。
第 7 講把預訓練拆成可擴張資料、subword tokenization、三種模型目標與 in-context learning;核心取捨是用通用的自監督目標換取可重用表示,再用下游訊號指定用途。
第 10 講從問答與 RAG 進入 language agents,再拆成推理規劃、記憶、工具、資料與評估;agent 不是單一模型,而是模型與外部狀態之間可被逐步檢查的迴圈。
第 12 講先證明輸出策略不是小細節:greedy、beam 與 sampling 會產生不同文字;再由 R1-Zero/R1 走進 PPO、GRPO、DAPO,最後追問長推理何時真的有用。
第 13 講從推論效率走到推論能力:speculative decoding 用小模型草擬、大模型驗證;on-policy distillation 處理資料漂移;長上下文與 test-time scaling 則用更多推論資源換取表現。
第 4 講把語言模型定義成下一詞機率分布,再用 RNN 壓縮任意長前文;它同時揭露 recurrence 的核心代價:資訊與梯度都必須沿時間步逐步傳遞。
第 16 講把 NLP 的社會影響拆成四題:模型為何 hallucinate、AI 輔助創作的同質化悖論、工作如何重組,以及價值對齊為何不能化約成單一 reward。
第 18 講由 John Schulman 客座,官方只公布題名 Tinker and LoRA Without Regret、日期與講者,沒有投影片、agenda 或閱讀;因此本篇只保存可確認事實與不可確認清單。
第 14 講從 word、character/byte 與 subword 切分一路走到 BPE failure cases 和跨語言公平:tokenizer 決定序列長度、運算成本與模型看到的語言單位,因此不是中立前處理。
第 5 講從 RNN 的長距離與循序瓶頸走到 self-attention,再組成 Transformer;它縮短位置間的資訊路徑並容許平行計算,但付出二次方 attention 成本與位置資訊必須另行注入的代價。
第 2 講從 word2vec 的預測任務、目標函數與梯度一路走到 count-based vectors 和評估,核心是:詞義不是查表得到的標籤,而是從上下文分布學出的高維座標。
SPINACH 不一次猜完整 SPARQL,而是搜尋 entity/property、查看 Wikidata entry 與 property examples、執行小查詢,再逐步組合完整查詢;action set 與停止規則是可靠性的核心。
CHURRO 以 HDML 表示整頁文字、版面與 metadata,整合跨世紀多語資料訓練 page-level VLM,再把輸出接到 HistoryGenie,讓檔案館材料能被檢索與對話。
最後一講不是完整 LLM 訓練教學,而是資料效率研究:在 compute 充足、資料固定時重看 epochs、batch、ensemble 與 self-training,再研究 synthetic continued pretraining 的可擴展條件。
WikiChat 不把檢索結果直接交給一次生成,而是形成查詢、檢索、過濾、生成、拆主張、再檢索查核與移除無根據內容,並把檢索與事實性分開評估。
Fall 2025 第一講把 CS224V 的主線定成計算思維:不要期待一次提示解決可靠性,而要把檢索、形式表示、查核與生成拆成可測試的演算法。
STORM 用觀點引導的提問、模擬訪談與大綱建立改善研究廣度;Co-STORM 再把人放進迴圈,讓探索未知問題與共同編修成為系統的一部分。
SLIDERS 不讓模型直接吞完所有長文件,而是從問題誘導 schema、做語意切塊與情境化擷取、協調重複列,再用 SUQL 查詢產生答案。
ReactGenie 以 React 元件加 annotations 暴露資料、動作與視圖,將複合語音命令解析成 DSL,並在同一份 UI context 中產生原生圖形輸出。
這堂把病人紀錄與試驗條件各自轉成 SMT,先以較弱的命題邏輯投影做大規模候選檢索,再用 solver 檢查候選;推理可解釋,但 NL-to-SMT 仍是主要錯誤入口。
自動質性編碼先以 codebook 定義事件型別與 arguments,再把長文分類、結構化抽取和 entity linking 分開;受約束 JSON 能保格式,仍不能取代領域專家的覆核。
結構化資料 agent 的可靠路線是把自然語言轉成可執行查詢、處理 schema 與列舉值,再把 query execution 和回答生成分開評估;混合資料則要先判斷該走資料庫還是文字檢索。
SUQL 在 SQL 裡加入 answer 與 summary 兩種自由文字函式,semantic parser 產生一個混合查詢,再由 compiler 做 predicate pushdown、top-k 與 lazy evaluation。
CS224V 把任務型 agent 評估拆成狀態更新與完整互動:先測 semantic parser,再讓真人檢查任務完成、知識查詢與動作是否可靠。
Genie Worksheets 把任務能力宣告成表單式規格,讓 contextual semantic parser 只更新形式對話狀態;查詢、動作與回應由 runtime 依規格執行。
第三講比較大量現代 LLM 後得到的不是一張最佳架構配方,而是一組保守共識:pre-norm、RMSNorm、無 bias、SwiGLU、RoPE,以及少數值得偏離預設的推論與穩定性設計。
第四講沿著兩種稀疏化拆解現代 LLM:linear/recurrent attention 減少序列維度成本,MoE 讓每個 token 只啟用部分參數;兩者都把理論省下的 FLOPs 換成 routing、平衡與通訊問題。
第十四講把 raw documents 經語言辨識、品質與安全 filtering、exact/near dedup、source mixing 送進訓練;每一步都會改變模型分布,而 synthetic instruction 與 agent trajectories 又把資料管線延伸到可執行環境。
第十三講沿著 Common Crawl、Wikipedia、GitHub、arXiv、書籍與歷代開放資料集追溯語料來源;抓得到不等於可合法使用,raw data 也不等於 training data,來源 provenance 必須先於清理與混合。
第十二講從 perplexity 走到考試、聊天偏好、agent、推理與安全評測;每次換 benchmark 都同時換了能力定義、scaffold、judge 與污染風險,因此評分前必須先說清楚到底在比較 method、model 還是完整 system。
第五講從 SM、warp 與記憶體階層解釋 GPU,再用低精度、fusion、recomputation、coalescing 與 tiling 統一常見優化;FlashAttention 正是這些原則在 attention 上的組合。
第十講把 prefill 與 decode 分開:前者能平行、常受算力限制,後者逐 token 且常受記憶體頻寬限制;GQA/MLA、量化、speculative decoding、continuous batching 與 PagedAttention 都在改寫這條成本。
第六講把 GPU 原理落到 kernel:benchmark 看不同尺寸如何縮放,profiler 看實際呼叫與時間,再以 Triton 實作 GeLU、softmax、reduction 與 tiled matmul;快的前提是先量對。
第十七講把 CLIP/SigLIP、LLaVA、Qwen-VL 與 Chameleon 排成三條路:對比式 encoder 學語意、vision encoder+projector+LM 做理解、離散 image tokens 做生成;解析度、token budget 與 modality balance 是共同瓶頸。
CS336 第一講不把「從零打造語言模型」理解成重做所有舊技術,而是先區分 mechanics、mindset 與 intuitions,再用 BPE 示範如何把原始位元組轉成可訓練的 token。
第七講不從 FSDP API 開始,而是用 broadcast、all-reduce、all-gather、reduce-scatter 與 all-to-all 建立通訊語言,再親手組出 data、tensor 與 pipeline parallelism。
第八講把平行化從原語提升到系統設計:ZeRO 逐階切 optimizer、gradient 與 parameter,TP/PP/SP/EP 再分別切 width、depth、sequence 與 experts;組合順序必須服從網路拓撲與動態 activation memory。
第二講把模型訓練還原成 tensor、FLOPs、bytes 與時間:用 einops 管維度,以 arithmetic intensity 和 roofline 判斷瓶頸,再用 gradient accumulation 與 activation checkpointing 交換運算和記憶體。
第十六講從 PPO 走到 GRPO 與 RLVR:數學、程式碼和環境結果提供可規模化 reward,避開一般偏好模型的部分 overoptimization;但 group-normalized advantage 會引入難度與長度偏差,rollout infrastructure 也成為主要成本。
第九講從資料量與 error 的 log-log 線性關係出發,說明 scaling law 如何比較架構、optimizer、batch 與模型資料配置;Chinchilla 爭議也示範擬合方法、資料範圍與部署目標會改變答案。
第十一講從 MiniCPM、DeepSeek、Qwen 與 Llama 3 的公開 recipe 拆解 scaling 實務:先固定大多數架構比例,再用小規模 sweep 找 learning rate、batch 與 IsoFLOPs 配置;μP 有用,但會被 normalization、optimizer 與 weight decay 破壞。
第十五講把 post-training 拆成 imitation 與 optimization:SFT 從 instruction-response data 抽出預訓練已有能力,RLHF 用 pairwise feedback 跨過人類示範與偏好之間的落差;PPO 與 DPO 都逃不掉資料偏差、reward overoptimization 和 mode collapse。
Daytona 把 sandbox 設計成可啟動、暫停、快照與 fork 的長生命週期電腦;2026 年完成 2,400 萬美元 A 輪,Laude Institute 案例一週建立 3.7 萬個 sandbox。它適合平行評測與 coding agent,但核心開源 repo 已停止維護,不能再把託管版與可自架版視為同一件事。
Deepgram 把 streaming STT、LLM orchestration、turn detection、barge-in 與 streaming TTS 放進單一 WebSocket,也保留分開採用語音模型或 BYO LLM/TTS 的路徑。
Dify 把模型、Knowledge、視覺化 Workflow、Agent、Plugin 與應用 API 放在共同 workspace;本文會實作一條可測試、發布並由 API 呼叫的最小 Workflow,再說明何時才該換成 Agent。
DSPy 不把 prompt 當手寫字串,而以 Signature 宣告任務、Module 決定執行策略,再用資料集與 metric 讓 Optimizer 編譯出較好的提示與示例。
E2B 把 Template、Firecracker microVM 與檔案/程序/網路 API 組成 agent 專用執行層;真正的選型優勢是可暫停並保留記憶體與程序,而不是單純多一個 code interpreter。
ElevenLabs 已從 TTS 供應商擴成 ElevenAgents 平台:Scribe Realtime 收音、Flash 合成語音,再把 LLM、turn-taking、工具與電話整合收進同一條即時管線;選型關鍵是你要聲音品質,還是整個 agent 控制面。
Fireworks AI 把開放權重模型的試用、專用 GPU 部署與 LoRA 客製化放在同一套 API 後面;Serverless 適合低流量起步,On-demand 適合穩定高流量與自有模型,保留容量則換取企業級的容量保證。
Flowise 用 Assistant、Chatflow 與 Agentflow 三個入口涵蓋簡易助理、單一 Agent 和多 Agent 編排;但官方已在 2026 年 8 月封存 repository,並排定 8 月 31 日 EOL,新案不應在沒有維護 fork 與遷移方案時採用。
Galileo 把 dataset experiment、LLM/code/Luna evaluator、production traces 與 runtime guardrail 接成一個迴圈;適合需要企業級可觀測性與線上介入的團隊,但舊 Protect 名稱已 deprecated,評分模型也不能取代人工校準與應用安全。
2026 年 8 月,不只五個框架在動。OMP 2、Pi v2、Opencode 2、dsh、Claude Code 之外,Google(Antigravity CLI)、Meta(Muse Code)、xAI(Grok Build)三家模型商直接下場做 coding agent,加上 Amp、Cline 2.0、Codex CLI Rust 重寫,共八個以上框架同時有架構級變動。再算進 110+ 個 CLI 工具,H2 2026 是 harness 方法論的分裂期。本文從四條架構路線、一個共同方向、一場信任危機拆解。
Haystack 把 indexing、retrieval、generation 與 evaluation 都做成可替換的 Component,再用 directed multigraph Pipeline 串接;適合要把 RAG 流程當成程式資產測試、版本化與部署的 Python 團隊。
Helicone 是開放原始碼的 LLM Gateway 與觀測平台:請求經過相容端點後,自動留下模型、延遲、token、成本與自訂欄位;它也能用 managed credits 或 BYOK 路由與 fallback。
Hugging Face Hub 是以版本化 repository 串起模型、資料集與應用程式的協作層;Datasets 管資料,Spaces 跑展示程式,Inference Providers 與 Endpoints 才負責代管推論。
Hyperbrowser 把 Playwright/Puppeteer 的 Chrome session、proxy、stealth、profile 與錄影包成託管 API;它適合要快速擴充真實瀏覽器工作的 Agent,但 profile 憑證、反爬蟲合規與 proxy 流量成本仍由應用端負責。
Jina Reader 把單一 URL 轉成適合 LLM 使用的 Markdown;真正上線時,還要控制渲染時機、正文範圍、token 上限與失敗回退。
LanceDB 以 Lance 欄式格式保存向量、metadata 與多模態原始資料;OSS 可直接嵌入 Python、TypeScript 或 Rust 程序,資料放大或多人共用時再轉向分散式 Enterprise。
LangChain v1 用 create_agent 提供高階 agent loop,底層由 LangGraph 執行;工具、structured output 與 middleware 是正式擴充邊界。
LangSmith 把 LLM 應用拆成 project、trace、run 與 thread,再用 dataset、evaluator 與 experiment 把 production 問題送回離線回歸測試;它可觀測任何 LLM 應用,不要求使用 LangChain。
Letta 延續 MemGPT 的作業系統類比,但它不是單一 memory API:agent state、可編輯的 in-context memory blocks、conversation history 與外部 archival memory 都由 runtime 持久化,模型也能透過工具主動整理記憶。
LiteLLM 不是模型供應商,而是一套可當 Python SDK 或自架 Proxy 使用的統一介面:把 100+ 家 LLM API 轉成一致格式,並在 Gateway 層集中處理路由、fallback、虛擬金鑰、預算與觀測。
LiveKit 把語音 agent 建模成 realtime media room 裡的 server participant,再由 AgentSession 串接 STT、turn detection、LLM、TTS 與 interruption。2026 年完成 1 億美元 C 輪、估值 10 億美元;它適合需要 WebRTC、多端 client、電話與可替換模型的產品,但自架 media server 不等於自架整條 AI pipeline。
Mastra 是 TypeScript agent 框架,將 agent、typed workflow、memory、MCP、tracing 與 scorers 放進同一套 Node.js 開發環境。
Mem0 是介於 agent 與儲存層之間的記憶服務:從對話抽出值得保留的事實,以 user、agent、run 分區,再於下一次生成前搜尋;優勢是 API 簡單,風險則是抽取錯誤、過期記憶與權限邊界。
Milvus 把即時寫入、歷史查詢、索引建置與持久化拆成可獨立擴縮的元件,適合需要大量向量、持續更新與分散式維運的檢索服務;小型專案則常會為這套架構付出過多複雜度。
2026 第 1 講從感知器、前向傳播、loss 到 gradient descent,建立後續九講共用的語言。
2026 第 2 講處理文字、音訊與時間序列中「順序會改變意義」的問題,並連到 Lab 1 的音樂生成。
2026 第 3 講從影像張量、卷積與 pooling 走到辨識系統,替 Lab 2 的 MNIST 與臉部偵測打底。
2026 第 4 講區分生成與判別問題,整理 VAE、GAN 與 diffusion 的學習目標,並接到 Lab 2 的 DB-VAE。
2026 第 5 講把 agent、environment、state、action、reward 與 policy 接成互動迴圈,理解信用分配與探索。
2026 第 6 講把深度學習放進新應用與真實限制,提醒讀者先定義資料、輸出、評量與失敗條件。
2026 第 7 講從 Asimov 的文學法則出發,討論現代 AI 安全協定的限制,以及 trace、測試資料與持續評估。
2026 第 8 講以科學發現循環為主線,說明 simulator、AI emulator 與實驗如何合作,而不是把科學簡化成通用預測。
2026 第 9 講從 GPU 記憶體壓力進入 checkpointing、offloading、ZeRO、FSDP 與多種 parallelism,理解擴展不是只加卡。
2026 先完成 PyTorch tensor、autograd 與 module 基礎,再把 ABC 樂譜切成字元序列,訓練 LSTM 逐字生成音樂。
2026 Part 1 用 dense network 與 CNN 辨識 MNIST;Part 2 以 DB-VAE 學習臉部 latent distribution,再調整訓練取樣。
2026 以 LFM2-1.2B 建立 chat template 與生成流程,用 LoRA 做風格調適,再透過 OpenRouter 與 Opik 組合 judge workflow。
n8n 是 automation-first 平台:先由 webhook、排程或應用事件啟動 workflow,再把 AI Agent 放進其中選工具;真正上線前還要處理 memory、人工核准、credentials、執行紀錄與擴充架構。
OpenRouter 用 OpenAI 相容 API 統一多家模型與推論端點,並把供應商排序、故障切換、BYOK 與零資料保留政策放進同一套路由規則。
火山引擎開源 OpenViking 把 agent 的記憶、知識、技能存成 viking:// 虛擬檔案系統,用 ls、tree、find 就能翻。三層載入(L0/L1/L2)讓平均檢索只用 550 tokens,LoCoMo 記憶準確率從 24–57% 提升到 80–83%。
Parallel Web Systems 把 Search、Extract 與 Task API 分成三個成本與延遲不同的網路存取層,並以 Basis 把引用、摘錄與信心標到輸出欄位。
Patronus AI 把 evaluator 當成可重用評分單元,再接到離線 experiment 與線上 trace;它適合要現成幻覺、安全與多模態評估模型的團隊,但 judge 分數不能取代人工標註、確定性測試或真正的資安驗證。
pgvector 是 PostgreSQL extension,不是獨立向量資料庫;它用同一份資料模型、交易與維運工具承接精確或近似向量搜尋,代價是索引調校與水平擴充仍屬 PostgreSQL 問題。
Portkey 是放在應用程式與模型供應商之間的 AI Gateway:用一個 OpenAI 相容端點統一路由、fallback、用量紀錄、預算與 guardrails,也能自行架設開放原始碼 gateway。
私有搜尋的授權必須在候選生成前生效,並把 ACL、刪除事件與來源版本傳到每一份衍生索引;freshness 也要用可量測的事件時間與 SLA 管理。
私有語料管線的第一個決定不是選向量資料庫,而是列出資料分級、信任區、權限決策點與 freshness SLA;索引、模型和觀測系統都只能收到被允許的最小資料。
Repo 已有 20 題繁中/英文 golden dataset,但缺少文件層級 qrels、retrieval run、延遲原始值與執行 script;目前不能誠實報 Recall@k、MRR 或 nDCG 實測分數。本文把缺口整理成可重跑的評估契約。
私有語料同步的核心不是定時重抓,而是用 canonical ID 固定文件身分、用來源版本與 checksum 判斷變更、用冪等 upsert 寫入,並讓 tombstone 走完所有索引的刪除傳播。
Promptfoo 用 YAML 把 prompts、providers、test cases 與 assertions 組成可在本機與 CI 重跑的 LLM 評估矩陣,並共用同一套 target 做 red team;它降低測試門檻,但隨機輸出、LLM judge 偏差與 hosted data flow 仍要另外治理。
Pydantic AI 把 Agent 寫成 Agent[Deps, Output]:依賴、工具輸入與最終輸出都有型別,模型結果必須通過 Pydantic 驗證。
R2R 把文件匯入、hybrid search、knowledge graph、RAG、Agent 與權限包在 REST API 後面;適合已有產品前後台、只想補上 retrieval service 的團隊。
LlamaIndex、Haystack 是以程式碼為主的框架;RAGFlow、Dify 是帶管理介面的平台;R2R 則把檢索系統包成 API 服務。先決定團隊要保留多少 ingestion、retrieval 與營運控制權,再選工具。
RAGFlow 把文件解析、chunk 人工檢查、retrieval test、聊天與引用放在同一套平台;適合 PDF、表格與版面複雜文件,但部署重量和平台狀態都高於 Python library。
Runloop 把隔離 microVM、可重現映像、磁碟分支、憑證代理與 eval 放進同一套程式開發 Agent 基建;官方案例已公開單一工作負載突破 10,000 個並行 Devbox。
Sail Research 讓每個推論 request 宣告 completion window,把可等待的背景 Agent 排到較便宜的運算資源;並以 Sailboxes 補上長時間執行環境。
可靠引用不是在答案後面塞 URL:先把 URL、內容副本與來源獨立性拆開,再用 atomic claim、quote span、snapshot 與可重跑檢查建立 claim-source matrix。
SerpAPI 的核心是代管搜尋結果頁的抓取與解析:用 engine 指定來源,取得結構化 SERP,再自行處理地區、分頁、非同步輪詢與結果驗證。
Serper 是第三方 Google SERP API:用一個 POST 請求取得 organic、knowledgeGraph、peopleAlsoAsk 等結構化 JSON;真正上線前仍要驗證選填欄位、URL、重試與引用證據。
Slack Code 把 AI coding agent 從開發者的終端搬進 Slack 頻道,讓團隊即時看到 diff、預覽與計畫。但它解決的是管理層的透明度焦慮,不是工程師的生產力瓶頸——真正的戰場在「誰當 agent 的控制平面」。
Stanford CS221 Autumn 2025 第 1 講,從 Overview:用資源限制定義智慧建立可操作的 AI 問題表示與演算法直覺。
Stanford CS221 Autumn 2025 第 2 講,從 Learning I:從計算圖到線性迴歸 建立可操作的 AI 問題表示與演算法直覺。
Stanford CS221 Autumn 2025 第 3 講,從 Learning II:線性分類、特徵與交叉熵 建立可操作的 AI 問題表示與演算法直覺。
Stanford CS221 Autumn 2025 第 4 講,從 Learning III:深度網路是可重複組合的計算圖 建立可操作的 AI 問題表示與演算法直覺。
第 5 講把搜尋問題寫成 state、action、successor 與 cost,並用 acyclic dynamic programming 說明:狀態若遺漏未來所需資訊,再快的演算法也只會解錯問題。
Stanford CS221 Autumn 2025 第 6 講依官方材料拆解 Search II:UCS 與 A* 的優先順序,並標出方法成立的假設與限制。
Stanford CS221 Autumn 2025 第 7 講依官方材料拆解 MDPs I:把隨機性放進狀態轉移,並標出方法成立的假設與限制。
Stanford CS221 Autumn 2025 第 8 講依官方材料拆解 MDPs II:不知道轉移模型時如何學 Q 值,並標出方法成立的假設與限制。
Stanford CS221 Autumn 2025 第 9 講從 tabular RL 走到 function approximation,再用 log-derivative identity 推出 REINFORCE,最後落到可執行的 PyTorch 更新。
第 10 講把單一 agent 搜尋擴成 adversarial game tree:expectimax 對 chance 求期望、minimax 對對手取最差結果,alpha-beta 則在不改答案下剪掉無關分支。
第 11 講先用 temporal-difference updates 從遊戲經驗學 value,再從 sequential play 轉向 simultaneous games,以 mixed strategies、minimax guarantee 與 Nash equilibrium 描述穩定策略。
第 12 講用 random variables 與 factors 建 joint distribution,再以 Bayesian-network factorization 表達 conditional independence,讓 conditioning 與 marginalization 成為可執行的 probabilistic inference。
第 13 講在 exact inference 太昂貴時改用 Gibbs sampling:每次只重抽一個變數,僅依 Markov blanket 計算 conditional distribution,並以樣本頻率近似查詢機率。
第 14 講從 complete data 的 maximum-likelihood counts 與 Laplace smoothing,走到 latent variables 下交替計算 posterior responsibilities 和更新參數的 EM。
第 15 講分開 propositional logic 的 syntax 與 semantics:model checking 用 satisfying assignments 定義 entailment,SAT solver 找見證,inference rules 則必須同時檢查 soundness 與 completeness。
第 16 講用 predicates、quantifiers 與 functions 壓縮跨物件知識,再以 substitution、unification 與 definite-clause forward inference 推導結論,同時標出 termination 與 completeness 限制。
第 17 講把 language model 定義為 sequence probability 的 chain-rule factorization,對照 n-gram 與 neural conditional models,並說明 sampling、temperature 與 evaluation 如何改變生成結果。
第 18 講用 benefits、misuse、accidents 與 structural harms 分類 AI 社會影響,再把 fairness audits、研究倫理、著作權與平台條款接回可追責的制度選擇。
Lecture 19 用 Economics of AI deck 把 AI 的 compute、data、distribution 與組織互補品接到 GDP、勞動與 ideas 的成長路徑。
第 20 講是 Percy Liang 談職涯研究、CS221/Stanford 與 AI 未來的 fireside chat;每項歸因都連回官方影片,編者整理則與自動字幕的不確定性分開。
依 Fall 2025 官方投影片逐段整理第 1 講,涵蓋 課程地圖與工具、圖資料的共同語言、傳統特徵與表示學習,並標出自學者拿不到的課堂材料。
依 Fall 2025 官方投影片逐段整理第 2 講,涵蓋 編碼器—解碼器觀點、鄰近度與目標函數、隨機漫步,並標出自學者拿不到的課堂材料。
依 Fall 2025 官方投影片逐段整理第 3 講,涵蓋 從固定 embedding 到深度編碼器、message passing 框架、聚合與更新,並標出自學者拿不到的課堂材料。
依 Fall 2025 官方投影片逐段整理第 4 講,涵蓋 GNN 設計空間、訊息、聚合與更新、GraphSAGE,並標出自學者拿不到的課堂材料。
依 Fall 2025 官方投影片逐段整理第 5 講,涵蓋 圖資料 augmentation、特徵與結構 augmentation、supervision 與 loss,並標出自學者拿不到的課堂材料。
依 Fall 2025 官方投影片整理第 6 講,涵蓋 什麼叫可區分、Weisfeiler–Lehman test、message passing 的上界,並標出無法公開取得的課堂材料。
依 Fall 2025 官方投影片整理第 7 講,涵蓋 完美 GNN 的思想實驗、標準 GNN 的三層失敗、identity-aware encoding,並標出無法公開取得的課堂材料。
依 Fall 2025 官方投影片整理第 8 講,涵蓋 self-attention 與 message passing、圖上 attention 的範圍、位置與結構編碼,並標出無法公開取得的課堂材料。
依 Fall 2025 官方投影片整理第 9 講,涵蓋 異質圖 schema、relation-specific messages、R-GCN,並標出無法公開取得的課堂材料。
依 Fall 2025 官方投影片整理第 10 講,涵蓋 知識圖譜與 completion、三元組 scoring、TransE 與關係模式,並標出無法公開取得的課堂材料。
依 Fall 2025 官方投影片整理第 11 講,涵蓋 推薦系統的圖表示、matrix factorization baseline、NGCF 的訊息傳遞,並標明公開材料邊界。
依 Fall 2025 官方投影片整理第 12 講,涵蓋 表格 pipeline 的限制、關聯式資料庫轉圖、temporal entity graph,並標明公開材料邊界。
依 Fall 2025 官方投影片整理第 13 講,涵蓋 RDL 的多關係瓶頸、RelGNN composite message passing、relation-specific aggregation,並標明公開材料邊界。
依 Fall 2025 官方投影片整理第 14 講,涵蓋 relational foundation model 的目標、zero-shot relational transfer、PRODIGY 的 prompt graph,並標明公開材料邊界。
依 Fall 2025 官方投影片整理第 15 講,涵蓋 transductive KG embedding 的邊界、entity-inductive link prediction、relation graph,並標明公開材料邊界。
依 Fall 2025 官方投影片整理第 16 講,涵蓋 LLM 與 GNN 的互補缺口、text-attributed graphs、LLM as predictor or encoder,並標明公開材料邊界。
依 Fall 2025 官方投影片整理第 17 講,涵蓋 從 graph QA 到 agent、STaRK 的多模態檢索、工具使用與 traversal,並標明公開材料邊界。
依 Fall 2025 官方投影片整理第 18 講,涵蓋 圖生成問題與資料表示、生成品質的評估、GraphRNN 的 autoregressive factorization,並標明公開材料邊界。
Fall 2025 Conclusion deck 在 32 個 tasks 上研究約 315K 個 GNN designs:先跑少量 anchor models,以 ranking 描述 task similarity,再從相似 task 轉移 best designs。
線性迴歸不只是一條最佳直線;第一章用平方損失串起梯度下降、常態方程、最大概似估計與局部加權迴歸。
第二章從 sigmoid 機率模型推導邏輯斯損失,再比較感知器、多類別 softmax 與 Newton 法。
第三章用指數族、自然參數與連結函數,把最小平方法和邏輯斯迴歸放進同一套建模模板。
第四章改從 p(x|y) 與 p(y) 建模,用 GDA、Naive Bayes 和 Laplace 平滑展示生成式分類的力量與代價。
第五章把高維特徵的內積改寫成 kernel,讓依賴內積的線性演算法在不顯式建立特徵的情況下學非線性。
第六章把分類信心形式化為幾何間隔,再用拉格朗日對偶、kernel 與 SMO 建出可實作的 SVM。
第七章把神經網路拆成可組合模組,並用反向傳播與向量化說明深度模型如何有效率地訓練。
第 8 章把測試誤差拆成不可避免雜訊、偏差平方與變異,再用 uniform convergence 與 VC dimension 說明模型何時能從訓練資料泛化;雙降則提醒我們,參數數量不是萬用的複雜度尺度。
第 9 章把泛化控制拆成三條路:在損失中顯式懲罰複雜度、利用最佳化器偏好的隱式正規化,以及用未參與訓練的資料選模型;MAP 則說明高斯先驗如何對應 L2 懲罰。
第 10 章用 k-means 建立非監督式學習的第一個完整演算法:交替更新會讓 distortion 單調不增並在數值上收斂,但不保證得到全域最佳解。
第 11 章從高斯混合模型的軟指派出發,用 Jensen inequality 建立 ELBO,將 EM 解釋為對變分分布與模型參數的交替最大化,再以近似後驗與 reparameterization trick 延伸到 VAE。
第 12 章把 PCA 寫成一個幾何最佳化問題:在單位方向上最大化投影變異,解就是共變異矩陣的主特徵向量;取前 k 個特徵向量,同時得到保留最大變異與最小線性重建誤差的低維表示。
第 13 章把 ICA 建模為 x=As:觀測是未知線性混合,目標是估計 W=A^{-1} 恢復獨立且非高斯的來源。變數變換的 Jacobian determinant 進入 likelihood,導出 Bell–Sejnowski 的梯度更新。
第 14 章從固定的高斯加噪 Markov chain 出發,學習逐步反轉每個 transition;ELBO 把 reverse-kernel matching 化成加權雜訊預測,連續時間觀點則用 score ∇log p_t 解釋反向漂移。
第 15 章比較線性探測、完整微調與 LoRA:差別不只在可訓練參數量,也在表徵是否移動、資料需求與記憶體成本。
第 16 章把表徵學習連到實際系統:對比目標塑造向量空間,語意檢索在其中找鄰居,RAG 再把取回內容交給生成模型。
第 17 章從 next-token loss 推到 Transformer、KV cache、MoE 與 SFT,說清楚 LLM 的訓練目標、架構與推論成本如何連在一起。
第 18 章把 LLM 推理拆成兩個槓桿:推論時用思維鏈增加計算,訓練時用可驗證獎勵與 policy gradient 學出長推理行為。
第 19 章用 Bellman 方程把長期決策拆成一步更新,並從已知 MDP 的 value iteration 走到模型學習與連續狀態近似。
第 20 章利用線性動態與二次目標得到可解的 LQR,再以 DDP 處理局部非線性、以 Kalman filter 與 LQG 處理不可直接觀測的狀態。
第 21 章從 log-derivative trick 推出 REINFORCE,再用 reward-to-go、baseline 與 PPO clipping 控制 policy-gradient 的高變異與更新幅度。
Steel 用 Apache-2.0 runtime 把 Chromium session、CDP、proxy、stealth 與除錯介面包成同一套 browser API;公開 repo 約 7,400 stars,並在 2026 年進入 Stripe Projects developer preview。單機自架適合開發與資料邊界,Cloud 才解決高併發、託管 proxy、CAPTCHA、錄影與 SLA。
Together AI 把開放權重模型的 Serverless API、專屬 GPU 端點、批次推論與 Fine-tuning 放在同一平台,適合先按 token 驗證,再在流量或客製化需求成形後升級部署。
把 Anthropic 的 session 成本建議做成全域 skill,第一版就犯了它要防的錯:description 塞滿觸發關鍵字、用檔案數和分鐘數當硬門檻、把「保護主 context」和「省總 token」混成一件事。三輪修正後入口縮到一頁,細節拆進 references,數量門檻換成四個判斷維度,草稿裡的主張則逐條對官方文件查證。
Vapi 把電話與 Web 音訊、STT、LLM、TTS、tool calls 和 call observability 接成託管 voice runtime;可換 provider,卻不能搬走 Vapi 專屬的即時編排。官方 2026-05 自報已有 100 萬名開發者,並宣布 5,000 萬美元 B 輪。
Vercel Sandbox 用 Firecracker microVM 隔離不受信任的程式碼,搭配 Fluid compute、Active CPU 計價與 Vercel OIDC;它最適合已在 Vercel 上運行的 Agent,但網路預設值、記憶體計費與持久化生命週期仍要自己設計。
Vertex AI 不是只有 Gemini API,而是把 200+ 個模型的取用、訓練、評估、部署與治理放進同一個 Google Cloud 控制面;2026 年 4 月後,它的產品與後續藍圖已併入 Gemini Enterprise Agent Platform,但 Vertex AI API、文件路徑與既有資源名稱仍大量存在。
抽取工具不能只比 HTTP 200;同一組 20 個 URL 要分別量正文、heading、table、code、link、metadata、雜訊、延遲與成本。本文先公開 corpus、adapter contract 與評分 gate,但因目前缺 Firecrawl credential 與四條同版本 raw run,尚不發佈勝負。
Zep 的核心不是向量化聊天紀錄,而是把 episode 抽成帶有效時間的 entity 與 fact,讓新資訊使舊關係失效但不抹掉歷史;Graphiti 是開源核心,Zep 則是代管與治理層。
從免費的 We Work Remotely 到只收 3% 菁英的 Toptal,七個平台各有定位——求職型看 FlexJobs、WWR、Remote OK;新創型看 Wellfound;社群型看 Remotive;探索型看 Working Nomads;菁英接案看 Toptal。都比在 Upwork 跟全球低價搶單友善得多。
Lecture 13–18 與 Project 4 從 factor operations、variable elimination 走到 exact inference 與 particle filtering,讓 Pacman 用有雜訊的距離感測追蹤看不見的 ghosts。
Lecture 26–28 用核監測、AI safety 與課程回顧收尾;校外結業不該只算 autograder 分數,而要為 P1–P5 各留下模型假設、測試證據與失敗分析。
Lecture 5–8 先用 CSP 練變數、限制與搜尋順序,再由 Project 2 實作 minimax、alpha-beta 與 expectimax;三者差別在對其他 agent 行為的假設。
Lecture 19–25 把 rational decisions、VPI 與 ML 接起來,Project 5 再用 PyTorch 實作 regression、分類、CNN、attention 與 optional character-GPT。
Lecture 9–12 與 Project 3 用同一個 Gridworld 對照已知模型的 value iteration、未知模型的 Q-learning,以及用 features 泛化的 approximate Q-learning。
Lecture 1–4 與 Project 1 把 DFS、BFS、UCS、A*、state representation 和 heuristic 串成同一套搜尋工具;關鍵不是背演算法,而是看清楚 frontier、cost 與 state 各自改變什麼。
CS188 Spring 2026 公開 28 組錄影、27 組講義、11 組討論與 P0–P5 六個 projects;P0 是 Python/autograder tutorial,P1–P4 採 Pacman 情境,P5 是一般機器學習任務。
CS189 在網路上有好幾個學期的版本。本系列從第 2 篇起以 Spring 2026(eecs189.org/sp26,A3)為底本,逐講、逐份作業導讀;Spring 2025(Shewchuk)是另一條經典路線,公開 25 講 notes、HW1–7 與歷屆考題,但正式錄影在 bCourses 要登入;Fall 2026 還在進行中,只拿來對照。本篇是系列入口與全系列目錄。
最後七講從 exploration 與理論界線,經兩講期中複習,走到 advanced exploration、multi-task RL 與仍未解決的研究問題。
五份作業從 CPU 友善的 imitation learning 走到 H100 LLM RL 與六小時 offline RL runs;自學者應按成本分三階段,而非整套照搬。
前四講從 behavioral cloning 走到 MDP;HW1 再用 MSE policy、DAgger 與 flow matching,讓分布偏移從概念變成可觀察的失敗。
L11–18 把 control as inference、LLM RL、model-based RL 與 offline RL 接成一條主線,並用 HW4、HW5 呈現兩種高運算成本實作。
L5–10 用 policy-based 與 value-based 兩條路建立深度 RL 核心;HW2 可用 CPU,HW3 的 Atari 與 HalfCheetah 則約需數小時 GPU。
Spring 2026 CS185/285 公開 25 講投影片、9 組討論課資料、5 份作業與 starter code;當期錄影在 bCourses,HW4 預設 H100,不能把它包裝成零成本公開課。
15–18 組教材把 NLP 模型放進感知、推理、工具與環境迴圈;核心問題從下一個 token,轉成如何分配推論計算並驗證多步行動。
前四組教材先建立可計數、可表示、可分類的文字模型;A1 再要求從 n-gram、perceptron 做到 NBOW MLP。
CS288 用 18 組公開投影片與三份作業,從 n-gram 走到 RAG、reasoning 與 agents;錄影需 Berkeley 登入,所以這是一條教材型 A3 路線。
08–12 組教材把 base model 變成可互動系統:預訓練決定基礎能力,post-training 改變行為,generation 與 evaluation 決定輸出如何被使用與判讀。
13–14 組教材把模型接到外部知識;A3 要學生自行蒐集資料、標註 QA、建索引、做 ablation,並在 CPU 與延遲限制下交付 RAG。
05–07 組教材把固定向量的分類器推進序列狀態、encoder-decoder,再用 attention 與 Transformer 改寫資訊路徑。
07-380 Fall 2026 是 CMU AI 新制第二門首開,26 講涵蓋邏輯、規劃、優化、機率圖、生成式與系統。依 2026-09-29 課站,Lec1–9 投影片、PR1–6 筆記、Rec1–5(含解答)與 HW1–3 已公開,本站已寫完對應的 14 篇逐講導讀;Lec10 之後的投影片、HW4–7 與 Final Project 還沒釋出,整門課仍是 A2。
HW1 是 written+programming 作業:用機率、微積分、線代與 CS 題組檢查地基,再實作 majority-vote classifier。
HW2 要先用 entropy 與 mutual information 手算切分,再完成建樹、預測與評估的端到端分類器。
HW3 是純 written 作業,以 decision tree 回顧,再比較 K-NN、Perceptron 與 Linear Regression 的 inductive bias、誤差與 model selection。
HW4 把機率解釋、cross-entropy 梯度與程式實作綁在一起,驗收的是一條可追蹤的訓練流程。
HW5 的價值在於不靠自動微分,親手追蹤 forward shapes、cache 與 backward gradients。
HW6 把 generalization、MLE/MAP、probabilistic learning、公平指標與社會影響放在同一份 written 作業,逼你說清楚假設與取捨。
HW7 在 HW5 的 backpropagation 地基上加入深度模型的架構與訓練問題,重點是診斷而非只把網路加深。
HW8 把 state、action、reward、transition 與 value update 接起來,驗收你能否區分環境動態、policy 與估計誤差。
最後一份 written 作業把 ensemble、clustering、representation 與 recommendation 並列,驗收你能否按問題結構選學習典範。
Spring 2026 的 10-301/601 公開 27 講教材與九份作業包;校外讀者能完成主要實作,但拿不到 Panopto、Piazza、Gradescope 與正式作業解答。
CMU 在 2026 年把原本分開的廣義 AI 與 SCS 機器學習入口,重新整合成 07-280 → 07-380;這是內容與先修路線的重切,不是兩門課逐一改名。
第四講先釐清 signed/unsigned 轉型不改 bits、混合比較可能改變數值意義,以及 sign extension、zero extension、truncation;再推導 AND、OR、NOT、XOR 與 bitmask 的讀取、設定、清除和集合操作。
第三講從 32/64-bit 位址空間出發,推導 unsigned 與 two's-complement signed integer 的範圍、反相加一與共用加法硬體,再分清 unsigned modulo 運算和 C signed overflow,最後用四組故障案例檢查模型。
第五講把 bitmask 推進到 left/right shift、power-of-two 與 popcount tricks,並用 absolute-value 範例揭示 signed intermediate 在 INT_MIN 會 overflow;後半建立 GDB 的 breakpoint、執行控制、格式化 print、memory examine 與 backtrace 工作流。
第二講把 C 放回 Unix 的歷史與開發環境:拆解 header、main、printf、argc/argv,走過 ssh、emacs、make 與執行檔,再用位值系統推導 8 bits = 1 byte、byte 的 256 種 pattern,以及 binary/hexadecimal 的雙向換算。
Winter 2026 第一講先回答 CS107 為何要往抽象層底下挖:從位元組、記憶體、組合語言到 heap allocator,再交代作業 40%、lab 10%、期中 20%、期末 30% 的課程制度,最後用 Unix 命令列替後續 C 開發暖身。
Harvard 校外最完整的入口是 CS50 AI,但 Summer 2026 實際沿用 2020 錄影與作業資產,OCW 作業又已更新到不同版本;CS181 Spring 2026 公開當期作業與講義、沒有當期錄影,CS182 Fall 2026 則尚未完成開課。
CMU 15-281 的 Search and Games 明確標示源自 Berkeley Pacman AI projects;官方課站另列一份零分 P0 tutorial,以及 P1–P5 五份 programming assignments。
從集合的元素、子集合與冪集開始,最後用 Cantor 對角線證明任何集合都不可能和自己的冪集一樣大。
用偶數平方與兩奇數相加兩個例題,練習任取、假設、見證與 want-to-show 如何組成可逐行檢查的直接證明。
本講先精確刻畫蘊涵何時為假,再把量詞否定、逆否命題與反證法變成可檢查的證明工具。
命題邏輯把英文陳述抽象成真假變數,再用真值表檢查連接詞、翻譯方向與 De Morgan 等價式。
本講把命題邏輯擴充成能談論物件的一階邏輯:分清常數、predicate、function 與命題的型別,再用存在與全稱量詞表達 some 與 every。
把自然語言逐層翻成一階邏輯:辨認全稱與存在句型,再處理量詞順序、否定、限制量詞與唯一性。
函數不只是一條公式:定義域、陪域、全域有定義與確定性缺一不可,而 involution、單射與滿射的量詞正好決定證明怎麼寫。
本講以滿射與鳥類證明釐清『假設』和『證明』的不同操作,再證明 involution 必為單射與滿射,並把同一套推理帶進函數合成。
兩個集合等大,意思是它們之間存在雙射;Cantor 的對角集合則能對任意 S 到其冪集的函數造出一個漏接值。
本講從圖與有向圖的形式定義,推進到獨立集、頂點覆蓋,以及兩者的補集關係。
從 walk、path、cycle 與連通分量出發,以補圖必有一者連通、同度數節點、廣義鴿籠原理及朋友與陌生人定理練習完整證明。
以廣義鴿籠原理證明六人派對必有三位共同朋友或共同陌生人,再用平均負載與反證解出電影偏好 puzzle。
數學歸納法不是把幾個案例排在一起,而是證明起點成立、任意一步能把真命題傳給下一步,再由歸納原理涵蓋所有自然數。
本講從「從上一講的標準歸納法出發」推進到「起點不必是零」,依官方例題重建定義、推導與易錯邊界。
本講從「為什麼先研究一台很弱的電腦」推進到「從裝置行為抽出狀態機」,依官方例題重建定義、推導與易錯邊界。
本講從「DFA 的形式定義把前半學期串起來」推進到「regular 語言 是「存在一台 DFA」」,依官方例題重建定義、推導與易錯邊界。
本講從「自動機階梯:能力要用語言區分」推進到「DFA transition table 是圖的精確轉寫」,依官方例題重建定義、推導與易錯邊界。
本講從「從 closure 性質 走向描述語言的語法」推進到「regex 是數學表示式,不等於某套程式庫」,依官方例題重建定義、推導與易錯邊界。
本講從「四種 regular 的說法已經等價」推進到「finite memory 的精確直覺」,依官方例題重建定義、推導與易錯邊界。
本講從「從有限狀態限制轉向遞迴結構」推進到「arithmetic grammar 的四組規則」,依官方例題重建定義、推導與易錯邊界。
本講從「為何 CFG 之後還要換模型」推進到「長加法揭示 local access 原則」,依官方例題重建定義、推導與易錯邊界。
本講從「sample TM:從最後一格回看第一格」推進到「TM 能做的工作遠超逐格配對」,依官方例題重建定義、推導與易錯邊界。
本講從「recognizer 與 decider 的快速量詞稽核」推進到「為何所有問題都能寫成 語言」,依官方例題重建定義、推導與易錯邊界。
本講從「從 R、RE 與 UTM 接回來」推進到「self-reference 回顧的三個程式」,依官方例題重建定義、推導與易錯邊界。
本講從「HALT 的定義與位置」推進到「為何 HALT 可辨識」,依官方例題重建定義、推導與易錯邊界。
本講從「Lava Diagram 的兩個辨識任務」推進到「Rice's Theorem 的 投影片 版判讀」,依官方例題重建定義、推導與易錯邊界。
本講從「decidable 不等於 feasible」推進到「efficiency 要先選 resource」,依官方例題重建定義、推導與易錯邊界。
最後一講把證明、圖論、自動機與可計算性重新接起來,再對照會直接使用這些基礎的 Stanford 後續課程。
CS107 第 15 講把 x86-64 的 mov 拆成 immediate、register、absolute、indirect、displacement、indexed 與 scaled indexed operands,並以 D + R[b] + R[i]×s 統一解讀 pointer dereference 和 array access。
CS107 第 16 講把 b/w/l/q 資料寬度、subregister、movs/movz、lea、呼叫慣例、算術邏輯與 shift 串成一套規則:先確定操作寬度,再追蹤來源、目的與是否真的讀取記憶體。
CS107 第 18 講以 ZF/SF/CF/OF 串起 cmp、test、signed/unsigned conditional jumps,再拆解 if、loops、dynamic instruction count、setcc 與 cmovcc。
CS107 第 17 講先完成 x86-64 的 full-width multiplication 與 division,再沿著 instruction bytes 追蹤 %rip,最後以 direct/indirect jmp 說明程式如何離開預設的順序執行。
CS107 第 19 講追蹤 %rsp、push/pop、call/ret、parameters、return values、stack locals 與 caller/callee register discipline,建立可跨函式維持資料與控制流的 ABI 契約。
CS107 第 14 講用 sum_array 的 10 條 x86-64 指令拆開反組譯輸出:左側是位址與機器碼,右側是 AT&T assembly;讀者的任務是由 opcode、operand、register 與控制流程還原 C,而不是手寫組合語言。
CS107 第 7 講先用 strchr、strstr、strspn 建立指標式字串掃描,再指出只驗證內容仍擋不住 buffer overflow:安全邊界必須同時涵蓋輸入規則、目的地容量、終止字元與記憶體檢測。
CS107 第 25 講用精簡投影片建立 cache 的核心模型:記憶體存取成本不均,較小且較快的層級保存可能再次使用的資料,而 temporal 與 spatial locality 決定程式能否受益。
CS107 第 6 講把 C 字串拆回 char 陣列、終止空字元與位址:strlen、strcmp、strcpy、strncpy、strcat 的每一個便利,都以呼叫者維持容量與終止條件為代價。
CS107 第 24 講用矩陣乘法與 Callgrind 建立量測流程,再拆解 GCC 的 constant folding、共同子運算式消除、dead-code elimination、strength reduction、code motion 與遞迴轉迴圈;最佳化從瓶頸證據開始。
CS107 第 23 講把 explicit free list 推進到原地 realloc:縮小時切出可用區塊,放大時吞併右側 free blocks,做不到才配置、複製、釋放;每一步都要同時維持實體 heap 與邏輯 free list。
CS107 第 12 講先用 char * 完成 byte-wise generic swap 與 rotate,再以 function pointer 把 bubble sort 的走訪機制和比較規則拆開;void * 解決資料型別,callback 解決行為差異。
CS107 第 13 講把 bool callback 升級成三向 comparator,再把 void *、element width 與 const void * callback 合併成完整 generic bubble sort,最後對照 qsort、bsearch、lfind 與 lsearch。
CS107 第 11 講先收完 calloc、strdup、free、realloc 的 heap 契約,再把 swap 從多份型別專用程式改造成 void * 加 byte count:C 的泛型不是保留未知型別,而是明確交接位址、寬度與解讀責任。
CS107 第 21 講從 allocator 的 alignment、throughput 與 utilization 目標出發,以 bump allocator 和 implicit free list 拆解 metadata、splitting、placement、內部與外部碎片,以及 free 後為何必須 coalesce。
CS107 第 22 講把 implicit free list 改成 explicit free list:搜尋只拜訪可重用 blocks,但每塊 free memory 同時具有實體相鄰順序與邏輯鏈結順序,unlink、coalesce、reinsert 必須共同維持不變量。
CS107 第 8 講從 & 取址與 * 解參照出發,說清楚 C 的 pointer parameter 為何仍是 pass-by-value,以及 int *、char *、char ** 如何分別修改 caller 擁有的 int、char 與 pointer。
CS107 第 9 講用 C strings 七條規則拆開 array object、pointer variable 與 string literal:array 常在運算式中退化成首元素指標,但儲存空間、可重新賦值性、可修改性與 sizeof 行為仍完全不同。
CS107 第 20 講把 reverse engineering 能力放回倫理脈絡:privacy 有個人與社會模型,trust 等於 reliance 加上 betrayal risk;接著複習 process memory,從 malloc client 轉成 heap allocator implementer。
CS107 第 10 講從 sizeof 與 pointer arithmetic 走進 stack frame lifetime:回傳 local array 會留下 dangling pointer;malloc 讓資料跨越函式返回,但也把 NULL、容量計算、ownership、free 與 memory leak 交給程式設計者。
CS107 第 26 講用六個大問題收束十週內容:representation、text、memory、generics、execution 與 allocation;它以 explicit allocator 檢查學習成果,並把後續路線指向 CS111 與其他 systems 課。
先把隨機問題列成結果集合,再談事件的機率。
條件不是裝飾,而是把樣本空間縮到已知資訊仍允許的部分。
Bayes 定理把容易建模的生成方向,翻成真正想問的推論方向。
先判斷順序是否重要、元素能否重複,公式才不會套錯。
隨機變數是把結果映成數字;期望值是加權平均,不保證會真的出現。
期望值把分布壓成加權平均;LOTUS 處理變換後的值,linearity 則讓隨機變數的和即使不獨立也能直接計算。
先用 variance 描述隨機變數的分散程度,再用 Poisson 處理固定區間內的事件數,以及大 n、小 p 的二項近似。
連續變數的單點機率為零,區間機率是 PDF 面積;CDF、Uniform 與 Exponential 則把面積、等待時間與 memorylessness 串起來。
標準化把不同尺度的 Normal 變數轉成 Z;Φ、線性轉換與 continuity correction 再把區間與大型 binomial 變成可計算的機率。
Joint distribution 保存多個變數的完整關係;marginal、conditional、independence 與 Bayes 都是從這份關係表取出不同問題的答案。
Inference 把 hidden variable 的 prior 逐項乘上 observation likelihood,再正規化成 posterior;同一迴圈可處理多次觀察與離散化的連續 belief。
Bayesian network 用 conditional independence 分解巨大 joint;ancestral sampling 生成 joint samples,rejection sampling 再以 evidence 篩出 conditional。
Multinomial 把 binomial 的兩類計數推廣到多類;同一 PMF 也能把文件視為 word counts,配 Bayes 與 log-score 做 authorship inference。
Beta distribution 表示對未知成功率的完整 belief;success/failure data 只需更新兩個參數,便能取得 posterior、平滑估計與 Thompson-sampling decision。
少數分布的 independent sums 有 closed form;一般 IID sums 則由 CLT 在大樣本下近似 Normal,離散 sums 還需 continuity correction。
Bootstrap 把 sample histogram 當作 population proxy,以 replacement 重抽並重算 statistic,近似 estimator 的 sampling distribution、error bar 與 null p-value。
隨機程式的 expected cost 可依第一個 random choice 分情境;計數問題則拆成 indicators,兩者都靠 linearity,而不必硬求完整 distribution。
Surprise 把低機率事件轉成 bits;entropy 是 expected surprise,information gain 選擇最能降低 uncertainty 的問題,KL 則量化錯用 model distribution 的額外代價。
MLE 固定觀察資料、最佳化參數;log-likelihood 讓乘積變加總,但最大值也可能落在邊界。
Logistic regression 用 sigmoid 把線性分數變成 Bernoulli 機率,而 gradient xⱼ(y-ŷ) 直接來自 log-likelihood 的 chain rule。
比較 classifier 不能只看 accuracy;還要用 held-out data、baseline、calibration、precision/recall 與明確的 fairness criterion。
Neural network 是堆疊的 logistic units;forward pass 算機率,backpropagation 重用 output error 來計算所有 gradients。
第 1 講沿 1940 年代共用 I/O 卡片、batch processing、multiprogramming 與個人電腦的演變,解釋 OS 的功能如何隨硬體成本與使用者需求逐層增加。
第 2 講先定義行程與執行緒的共享/私有狀態,再用 fork、execvp、waitpid 與 thread creation 說明核心如何建立執行單位。
第 3 講沿 running、blocked、ready 狀態轉移,拆解 PCB、context save/restore 與 dispatcher 如何完成一次 CPU 控制權交接。
第 4 講逐步拆解 Too Much Milk 的失敗排程,從具體 interleaving 推導 race condition、atomicity、critical section 與正確同步條件。
第 5 講用容量為 8 的環形 Pipe 證明:mutex 只提供互斥;condition variable 才能在 predicate 不成立時原子地釋放鎖並阻塞;Mesa semantics 下,wait 返回後必須用 while 重查條件。
第 6 講從單核心關中斷一路修到多核心 v5,追蹤 guard、lock 與 wait queue,說明 atomic exchange、spin、block 與 wakeup 如何避免 race 和 lost wakeup。
第 7 講用 request/ownership graph 拆出 deadlock 的四個必要條件,再比較 detection、prevention 與 lock ranking;實務上最常破壞 circular wait,但代價是所有模組必須遵守同一個全域順序。
第 8 講從 FIFO、round robin 與不可實作的 SRPT,推到自適應 priority queues、BSD scheduler,再處理多核心 queue contention、core affinity 與 work-conserving 的衝突。
第 9 講沿著 source→assembly→object→executable→process,拆解 linker 的三次掃描、symbol relocation,以及 dynamic loader 如何用 jump table 把 shared library 位址延後到啟動時解決。
第 10 講從 stack 的可預測 LIFO,推到 heap 的 free lists、first/best fit 與 slabs,再比較 reference counting 和 mark-and-sweep 如何在 dangling pointers、leaks、cycles、fragmentation 間取捨。
第 11 講的官方 PDF 與 Lecture 10 逐位元組相同;本文誠實保留此 artifact 缺口,聚焦後半的 reachability、dangling pointers、leaks、reference-count cycles 與 mark/compact GC。
第 12 講把 trust 定義為自願承受 vulnerability,區分 over-trust 與 untrustworthiness,再用 assumption、inference、substitution 分析 Linux TCB、xz attack 與 AI code policy。
第 13 講從 single-tasking 與 load-time relocation 的失敗出發,以 MMU 的 base/bound 建立 virtual/physical address spaces、透明隔離與 traps,再用 segmentation 解開單一連續區域的限制。
Lecture 14 的官方 PDF 與 Lecture 13 逐位元組相同;本文明示此缺口,聚焦 segmentation 如何以多組 base/bound/protection 支援 growth、sharing、compaction,以及 fixed-count、fragmentation、rigid layout 限制。
第 15 講以固定大小 pages 消除跨 process external fragmentation,再拆解 x86-64 四層 page-table walk、sharing/aliasing 與 TLB,說明 translation speed、table sparsity、context switch 和 page size 的連動取捨。
Demand paging 只在需要時載入頁面;present bit、精確例外與可重啟指令讓核心能從 executable、zero-fill 或 backing store 安全補頁。
第 17 講把 demand paging 分成 fetching 與 replacement:MIN 無法預知未來,精確 LRU 成本過高,Clock 只靠 reference/dirty bits 找夠舊的 page;active working sets 放不進 RAM 時,1% fault rate 就可能帶來約 1,000 倍 slowdown。
磁碟把機械式 seek 與 rotation 隱藏成線性 block API;現代 I/O 再用 memory-mapped registers、DMA queues 與 interrupts,讓 CPU 只負責下命令和收完成通知。
檔案系統把耐久 byte collection 映射到磁碟 blocks;contiguous、linked 與 FAT 分別交換 locality、成長彈性、random access 與 metadata 成本。
4.3BSD inode 用 direct、single-indirect 與 double-indirect pointers 讓 lookup depth 隨檔案大小分級;FIFO、SPTF、SCAN 與 CSCAN 則交換 seek cost、公平性與等待時間。
Block cache 把熱索引留在 DRAM,bitmap 與保留空間維持配置選擇,fragments 和 delayed allocation 則用較晚、較完整的資訊換取 locality。
Directory 把文字名稱映射到 file-system-local i-number;hard link 共享 inode 與 reference count,symbolic link 則保存 pathname,換得跨檔案系統能力但可能形成 loop 或 dangling link。
檔案系統一次操作會改動多個 block,崩潰卻可能發生在任兩次寫入之間;本講比較 fsck、ordered writes 與 write-ahead logging 如何交換復原時間、效能、耐久性與一致性。
第 24 講從 WAL 入口往下拆 transaction、idempotent replay 與 checkpoint,說明一致性不等於 durability,journal 也不能取代 fsync 與備份。
第 25 講把 trust 拆成假設、推論與替代三種建立方式,再檢視社群推薦、生成式 AI 與合成媒體如何放大過度信任;實務答案是保留來源、交叉驗證並協調責任。
Flash 只能逐頁 program、整個 erase unit 清除;FTL 以 out-of-place mapping 隱藏不對稱,再用 garbage collection、temperature segregation、wear leveling 與 TRIM 管理放大成本。
VM 把 process interface 擴成完整硬體介面;hypervisor 讓普通指令直接執行、攔截 privileged operations,並虛擬化 interrupts、I/O 與兩層位址轉譯。
第 28 講把整學期收斂成並行、記憶體、儲存三條主線,再用 virtualization、atomicity、locality、layering 四個觀念解釋作業系統如何管理共享資源。
Ably 管理全球 realtime connections、channels、presence 與短期 recovery;application 仍要定義 idempotency、durable business state、token capability 與 offline resync。
Agent 應以短效、限 audience、限權限的代理憑證執行單一任務,並同時保留使用者與 agent 身分、執行時授權、確認與稽核鏈。
Agent execution 要同時限制 kernel、filesystem、process、network、credentials 與 tool authorization;沙箱逃逸只是其中一條路,過寬 API token 往往更直接。
Linode 現在是 Akamai Cloud Computing 的 compute 基礎;VM、LKE、storage 與 managed database 仍有區域和網路邊界,不能因 Akamai edge 品牌就假設全部整合。
Algolia 把索引、即時查詢、facet 與前端元件包成託管服務;上線很快,但資料同步、搜尋品質與用量成本仍要自己負責。
Kafka 的核心是依 partition 排序、依 retention 保存的分散式 log;consumer group 用 offset 分工,exactly-once 只在 Kafka transaction 能涵蓋的邊界內成立。
Pulsar 將 serving 與 storage 分離:stateless broker 處理連線,BookKeeper 保存 ledger 與 subscription cursor;彈性與多租戶能力換來更多營運元件。
Appwrite 把 Auth、TablesDB、Storage、Functions、Realtime 與 Messaging 放進一致 API;Cloud 與 self-hosted 功能相近,維運責任卻完全不同。
assistant-ui 把 Agent Chat 拆成 headless React primitives、conversation runtime 與後端 adapters;UI 不必直接綁死某個模型 SDK 的 message state。
App Runner 把 build、deploy、TLS、load balancing 與 autoscaling 包成 Web service;換來的是較少的編排控制與必須理解的 VPC、instance 與健康檢查邊界。
Fargate 移除容器主機管理,但 task definition、ECS service、VPC、IAM、擴縮、部署與可觀測性仍是你的系統。
Lambda 適合短生命週期、事件驅動且流量不規則的工作;真正的設計中心是 invocation、重試、冪等與下游容量,不是把容器切小。
SQS 是 pull-based durable queue,SNS 是 push-based topic;常見可靠 fan-out 是 SNS topic 接多個 SQS queue,而不是讓多個 worker 共讀一條 queue。
App Service 代管 Web runtime、TLS、deployment 與 scaling;容量、成本和隔離則落在共享的 App Service Plan,不能只看單一 app。
Azure Container Apps 封裝 Kubernetes,提供 HTTP/TCP ingress、revision、KEDA scaling、jobs 與 Dapr;你仍要設計 replica concurrency、事件冪等、VNet 與身分。
Better Auth 統一登入、session、provider 與外掛;resource-level authorization、撤銷時效和代理操作政策仍要由應用程式明確實作。
Better Auth 用程式庫與自有資料庫換來身分資料、流程和部署的控制權;代價是 migration、安全更新與事故處理也回到自己手上。
Bright Data 把網頁資料取得拆成四層:Proxy 保留控制權,Web Unlocker 回傳已解鎖內容,Browser API 代管互動式瀏覽器,Web Scraper APIs 與 Datasets 直接交付結構化資料。
CapRover 用 Docker Swarm、Nginx 與 captain-definition 提供簡化 PaaS;stateless app 可擴展,local persistent app 則被鎖在單一節點。
Clerk 最有價值的不是一個登入框,而是把身分生命週期做成可組裝的平台;但資源層級授權、租戶隔離與業務資料一致性仍然是應用自己的責任。
Durable Objects 把一個 name 或 ID 對到全球唯一、單執行緒、帶私有 SQLite storage 的 actor。它適合 per-room、per-user、per-tenant、per-run 這種需要強一致協調的邊界;真正的設計題是 object key 要切在哪裡。
Cloudflare Queues 是 Workers 旁邊的 message queue:producer 把慢工作寫進 queue,consumer 用批次、ack/retry、delay 與 DLQ 處理失敗。它適合單步背景工作;流程需要記住多步驟狀態時,下一篇要看 Workflows。
CodeQL 先由 language extractor 建立 code database,再以 QL queries 查 AST、types、calls、control/data flow;深度來自 model,也帶來 build extraction 與 query maintenance 成本。
Convex 把 typed backend functions、transactional document database 與 reactive query subscription 綁在一起;關鍵是正確分開 deterministic mutation 和外部副作用 action。
Coolify 用 SSH 控制自有 server 上的 Docker、proxy 與 resources;它簡化部署,但 OS、安全、容量、資料備份與平台復原仍由團隊負責。
CopilotKit 不只提供聊天框;它用 React 元件、AG-UI 事件、共享狀態與中斷流程,把 Agent 的執行過程接進既有產品介面。
CoreWeave 的價值不只是租 GPU,而是把 Kubernetes、GPU 網路、儲存與 inference 組成 AI infrastructure;代價是仍需平台工程與容量治理。
Crusoe 同時提供 Infrastructure Cloud 與 Managed AI;GPU VM/cluster 給控制,serverless/dedicated inference 給較高抽象,兩者責任不可混寫。
DeepSeek Harness(dsh)是 DeepSeek 官方的開源 coding agent 框架,2026-08-13 發布 v0.1 開發者預覽版,9 天內累積 184,000+ 星。核心是 Cordis plugin kernel——模型、工具、agent loop、UI 全部都是可抽換的外掛。四種 runtime 模式,能把 Claude Code 和 Codex 當子代理使用。Web UI 優先,目前沒有原生 CLI。
新版 Deno Deploy 是以 Deno 2 執行 application revision 的 serverless 平台;應以 timeline、context、database 與 observability 理解,而不是沿用 Deploy Classic 印象。
DigitalOcean App Platform 以 Service、Worker、Job、Static Site 與 Function 等 Components 組成 App,再用 App Spec 保存可 review 的部署合約。
DigitalOcean 用 Droplet、DOKS、Managed Databases 與 App Platform 覆蓋常見產品架構;簡單來自較小的服務面,不是免除 OS、網路、備份與 HA 設計。
Django 的價值是把資料模型、migration、auth、admin、forms 與安全預設組成一致系統;代價是要理解 QuerySet、middleware、async 邊界與 production settings。
Dokku 用 Git receiver、buildpack/Dockerfile、process model、Nginx 與 plugins 在單機提供 Heroku 式體驗;簡潔來自刻意縮小編排範圍。
Dokploy 同時支援單 container Application 與 Compose/Stack,並把單機、獨立 remote servers、Swarm cluster 定義成三種不同部署拓撲。
DuckDB 是 in-process columnar OLAP database,擅長直接分析 Parquet、CSV 與 DataFrame;它不是一般 web app 的多使用者 OLTP server。
Elasticsearch 與 OpenSearch 都以 Lucene 支撐文字分析、BM25、聚合與向量搜尋,但 2021 年分家後,授權、治理、混合搜尋 API 與託管生態已是兩條路。
Elysia 把 runtime schema、TypeScript inference、OpenAPI 與 Eden client 串成同一條 contract,但 Bun-first 的效能優勢、plugin scope 與跨 runtime 相容性仍要分開驗證。
Fastify 的核心不只是 benchmark,而是以 plugin scope、hooks、decorators 與 compiled JSON Schema 建立可組合且有明確 request/response contract 的 Node.js API。
Firebase 的速度來自 client SDK 直連 Auth、Firestore、Storage 等 managed services;真正的後端合約落在資料模型、Security Rules、Functions 與成本限制。
Fly.io 把可快速啟停的 Machines 放到指定 region,再由 Fly Proxy 與私有 6PN 接線;真正困難仍是有狀態資料的跨區一致性。
gitleaks 用 rules、regex、entropy 與 allowlists 掃檔案或 Git patches;找到 secret 後第一步是 revoke/rotate,而不是只刪檔或改寫 history。
Model Armor 能在 runtime 檢查 prompt injection、jailbreak、敏感資料、惡意 URL 與內容安全;它是 probabilistic detector,不是 authorization 或 sandbox boundary。
Cloud Run 不只是一個 HTTP container 平台;先按 request、run-to-completion、always-on pull worker 選對 resource,再設計 concurrency、identity 與擴縮。
GKE 代管 Kubernetes control plane;Autopilot 再代管多數 node 基礎設施,但 workload、policy、網路、升級相容性與成本治理仍屬於團隊。
GraphQL schema 定義可查詢能力;GraphQL Code Generator 再結合實際 query、mutation、fragment,產生精確 result、variables 與 typed document。
gRPC 以 Protobuf service 產生跨語言 stub;Connect server 可同時支援 gRPC、gRPC-Web 與 Connect protocol,讓瀏覽器不必額外翻譯 proxy。
Hatchet 以 Postgres-backed control plane 統一一般 task、DAG 與 durable task;durable task 在等待與 child task 邊界 checkpoint,恢復時重播 deterministic 編排碼。
Hetzner Cloud 以 Server、Network、Volume、Load Balancer 與 Firewall 提供精簡 IaaS;價格優勢只有在 patch、HA、backup、egress 與 on-call 成本算進去後才成立。
Hono RPC 匯出 route 的 `typeof AppType`,讓 `hc` client 推導 input、response body 與 status code;它共享的是 TypeScript type,不是獨立 wire schema。
Inngest 讓一般 TypeScript、Python、Go function 以 step 為持久化邊界;失敗時函式從頭執行,但已完成 step 由紀錄回填,不再重做 side effect。
Kamal 從操作者端透過 SSH 把 immutable image 部署到 servers,靠 kamal-proxy 切換流量;它不是 scheduler,也不替團隊管理主機與資料。
Koyeb 以 App 收納 Services、以 Instance 在指定 region 執行 revision,並整合 global routing、autoscaling、private discovery 與 CPU/GPU compute。
Kubernetes 的核心不是 YAML,而是 API objects、controllers 與 reconciliation loop;它管理 workload lifecycle,卻不自動解決 application state、資料一致性與組織治理。
Kysely 從資料庫型別推導查詢結果,保留 SQL 的可見性與逃生口;但 migration、實際 schema 與 generated types 仍要由團隊維持同步。
Lambda Cloud 提供 on-demand GPU VM 與 1-Click Cluster;它賣的是較直接的 AI 算力環境,不是自動完成 training、serving 與 MLOps。
Liveblocks 把 room、presence、conflict-free storage、comments 與 notifications 做成 managed product primitives;導入時仍須對齊既有 auth、canonical DB 與 data lifecycle。
MongoDB 適合一起讀寫的聚合資料與可演進 document schema;真正難題是 embedding、transaction boundary、index 與 shard key。
MySQL 的價值是成熟生態、InnoDB 交易與可預測維運;選它仍要理解索引、隔離級別、replication lag 與 schema migration。
Core NATS 是不落盤的 at-most-once pub/sub;JetStream 才加入 stream、consumer、ack、retention 與重播。兩者同用 subject,可靠性契約卻完全不同。
Nebius 同時提供 GPU VM/cluster、Kubernetes、Slurm、storage 與 Serverless AI;先選責任層級,再比較硬體與價格。
Neon 是 serverless PostgreSQL;Turso Cloud 目前是 libSQL/SQLite 相容平台。兩者都強調 scale-to-zero 與開發體驗,compatibility boundary 完全不同。
NestJS 的價值不是 decorator 本身,而是以 Module、Provider、DI 與可預期 request lifecycle 統一 HTTP、GraphQL、WebSocket 和 microservice application architecture。
Netlify 以 atomic deploy 和 preview 為核心,Functions、Edge Functions、Blobs/Database 再加入動態能力;每種 runtime 與 state 都有不同一致性和限制。
ngrok 是由 agent 主動連出的 reverse proxy/ingress,不是把整台電腦加入 VPN;公開 endpoint 前仍要明確設定 authentication、traffic policy 與資料邊界。
Nhost 以 PostgreSQL 為真實資料層,由 Hasura 產生 GraphQL,再把 Auth claims、role permissions、Storage 與 Functions 接進同一平台。
OMP 2 不再是 Pi 的 fork。整個 codebase 用 Rust 從零重寫,約 41 個 crate 涵蓋自製 bash 引擎、GPU 加速 GUI、嵌入式 CPython 3.14t、gRPC transport 與 Kokoro-82M TTS。目前 pre-release,尚未正式發行。
openapi-typescript 將 OpenAPI 3.0/3.1 產成純 TypeScript 型別;搭配 openapi-fetch,method、literal path、parameters 與 response union 都能由 schema 推導。
Opencode 2 是 Anomaly(Dax Raad)主導的大重寫。runtime 從 Bun 換成 Node.js(記憶體問題)、桌面從 Tauri 換成 Electron(WebKit 效能與 Node 整合)、v1 API 刻意不相容。新增多分頁並行 session、持久化後端服務、HTTP API + SDK。目前 beta,預估 2026 年 9 月 stable。約 200K stars。
OpenStack 以 Keystone、Nova、Neutron、Glance、Placement、Cinder 等服務提供多租戶 IaaS;採用它等於建立 cloud platform team,而不是安裝完成就結束。
OCI 是完整 hyperscale cloud;架構起點不是 Compute shape,而是 tenancy/compartment IAM、region/AD/fault domain 與 VCN,再選 Compute、OKE、database 與 storage。
oRPC 同時支援 implementation-first 與 contract-first,能用 RPC client,也能由同一個 router 服務 OpenAPI 3.1.1 HTTP endpoint。
OVHcloud 的特色是 Public Cloud、OpenStack API、Managed Kubernetes、vRack 與 dedicated/private cloud 共存;彈性也帶來較多 network 與責任邊界。
Oxlint 已從高速 ESLint 補充品走到支援 type-aware lint 與 JS plugin 的獨立 linter;遷移關鍵不是 50–100 倍跑分,而是確認規則、framework file 與 plugin 相容範圍。
Pagefind 在 Astro build 完成後掃描靜態 HTML,把索引與 WebAssembly 搜尋程式一起輸出;瀏覽器只按查詢載入需要的索引切片,因此不必維護搜尋伺服器。
PartyKit 以 room-keyed stateful server 收斂 WebSocket coordination,適合多人協作與 presence;但 durable document、authorization、hibernation 與 platform ownership 仍要明確設計。
Pi v0.84.0(2026-08-06)把 AgentHarness v2 API 升為 stable。Lane-based v4 Session model 讓操作可持久化、可中斷。CBOR 取代 JSON,Unix socket 取代 HTTP。背後的 Earendil Inc.(Armin Ronacher 的 PBC)拿到首輪資金。95.4K stars,still MIT,still 極簡。
PocketBase 把 SQLite、collections、Auth、file storage、SSE realtime 與 admin UI 包進小型執行檔;部署簡單,但單機邊界與 v1 前相容性風險必須明講。
Promptfoo 以 plugins 產風險 probes、strategies 變形攻擊、targets 執行系統、graders 判斷結果;有價值的 red team 必須測整個 agent application,而不只是 foundation model。
Protobuf 用穩定 field number 定義 binary message;Buf 補上 module、lint、remote plugin、generation 與 breaking-change check,讓 schema 能被治理。
Proxmox VE 整合 VM、container、cluster、HA、storage 與 backup;它降低虛擬化管理門檻,但 hardware、quorum、network、capacity 與 DR 仍由你負責。
Pulumi 讓一般程式語言註冊 cloud resources,再由 deployment engine、providers 與 stack state 執行 preview/update;語言能力增加,也要求更嚴格的 abstraction discipline。
RabbitMQ 的強項是 exchange、binding 與 queue 組成的訊息路由;需要高可用時以 quorum queue 為預設,並同時啟用 publisher confirm、manual ack 與冪等 consumer。
Railway 的核心不是一鍵部署,而是把多個 container service、環境、變數與私有網路放進同一個可操作的 application project。
Ray Serve 是建立在 Ray 上的分散式 serving layer:用 deployment 與 handle 組合 Python 服務圖,配置 CPU/GPU replica、自動擴縮與模型多工;它負責編排,不取代 vLLM 或 SGLang 的 LLM 執行引擎。
Redis Streams 以 `XADD` 保存可回讀 entry,consumer group 再用 Pending Entries List 與 `XACK` 追蹤處理;它比 Pub/Sub 可靠,但不是自動變成 Kafka。
Redpanda 以 C++/Seastar、thread-per-core 與每個 partition 的 Raft group 重做 Kafka-compatible event log;client 相容度高,營運與邊角語意仍須實測。
Render 的價值不是只把 repository 變 URL,而是用不同 service type 表達 public HTTP、private listener、queue worker、cron、data store 與 Blueprint。
Renovate 不只是開升級 PR;packageRules、grouping、schedule、minimumReleaseAge 與 automerge policy 決定更新速度、review noise 和供應鏈暴露。
Replicate 以 versioned model、prediction、Cog 與 deployment 抽象 GPU;整合者要負責版本釘選、async workflow、webhook 驗證、資料保存與成本上限。
Restate 以 journal 記錄操作與結果,失敗後重跑 handler 並跳過已完成操作;Virtual Object 與 Workflow 再提供 keyed state、single-writer 與長期協調。
RunPod Pod 適合互動與長駐 GPU 工作,Serverless 適合 queue-based 或 load-balanced inference;選錯會把 persistence、cold start 與重試語意混在一起。
Scaleway 已不只是低價 VM,而是涵蓋 compute、Kapsule、serverless、database、storage、AI 與 IAM 的歐洲 cloud;選型仍要逐 region 驗證成熟度與整合。
Scrapy 把抓取流程拆成 Engine、Scheduler、Downloader、Spider、Item Pipeline 與 Middleware;適合大量、規則明確的 HTTP 頁面,也能自行控制排程、節流、重試與資料落地。
Selenium 透過標準化 WebDriver session 操作真實瀏覽器,適合跨瀏覽器流程、既有測試資產與遠端 Grid;它能執行 JavaScript 頁面,卻不保證繞過 CAPTCHA 或其他反自動化機制。
Semgrep 讓團隊用接近 source syntax 的 patterns 與 taint rules 自訂 SAST policy;規則品質取決於 positive/negative tests、framework modeling 與 exception lifecycle。
SSE 以普通 HTTP 傳送 text/event-stream,瀏覽器原生重連並帶 Last-Event-ID;簡單不代表自動 durable,server 仍要保存 cursor 後的事件。
SGLang 是專攻生成式模型的推論引擎:用 RadixAttention 重用共同前綴的 KV cache,提供 OpenAI 相容 API、結構化輸出與多 GPU 平行化;它解決的是高吞吐 LLM serving,不是完整的產品後端。
Sigstore 提供 identity-bound signing、短效憑證與 transparency log;SLSA 定義可信 build provenance 的成熟度。只有在 deploy admission 驗證 identity、issuer、digest 與 build expectations 時才形成防線。
Snyk 的價值是把 code、open-source、container 與 IaC findings 對到 project、fix path 與 developer workflow;成功導入取決於 baseline、ownership 與可執行的 policy。
Socket.dev 不只比對 CVE,而是分析新增套件的 install scripts、obfuscation、network、shell 與 ownership 變化,在 dependency merge 前暴露供應鏈行為風險。
Socket.IO 是建立在 WebSocket/long-polling 上的事件協定與 runtime,不是原生 WebSocket 相容層;ordering、arrival、recovery 與水平擴展要分開設計。
Speakeasy 把 OpenAPI、Overlay、target 與 generator version 寫進 `.speakeasy/workflow.yaml`,可在本機或 CI 產生、編譯並發布多語言 SDK。
SST v3 以 TypeScript config、高階 app components、Pulumi/Terraform providers 與 resource linking 組合自有雲資源;它是 application-first IaC,不是代管 PaaS。
Stainless 以 OpenAPI 加上專屬 config 產生多語言 SDK、文件、CLI 與 MCP;重點不是一次性 codegen,而是 preview、發布與升級的持續產品管線。
Stytch 是 API-first 的託管身分平台:先選 Consumer 或 B2B 資料模型,再把登入因子收斂成 session,最後在伺服器端以 organization 與 RBAC 授權;它適合需要深度客製流程的團隊,不是把登入畫面貼上就結束。
Teleport 是 protocol-aware infrastructure access platform:Auth Service 簽短效憑證,Proxy 與 Agents 代理 SSH、Kubernetes、database、app 等資源並留下 audit evidence。
Terraform 以 provider resource schema、configuration 與 state 對照真實 API,產生 plan 再 apply;最重要的資產不是 HCL,而是受控的 state 與變更流程。
Triton Inference Server 用統一的 HTTP/gRPC 介面服務 TensorRT、ONNX、PyTorch 等模型,核心能力是 model repository、動態批次、instance group 與 ensemble;它適合異質模型平台,不是專為 LLM KV cache 打造的引擎。
tRPC 讓 client 直接引用 server router 的型別,不需先寫 schema 或產生程式碼;v11 另有 alpha 階段的官方 OpenAPI 3.1 產生器。
ts-rest 用共享 contract 描述 method、path、status code 與 schema,在不產生程式碼的前提下讓 server 與 client 保有端到端型別。
Twingate 透過 client、connector、controller 與 relay,把使用者授權收斂到特定 resource;它是 managed ZTNA,而不是任意 peer-to-peer overlay。
TypeScript 7 把 compiler 與 language service 原生重寫為 Go,官方與大型使用者回報約 10 倍級的改善;收益來自共享記憶體平行化,代價是舊 API 與 compiler option 必須清理。
Typesense 是以即時、容錯關鍵字搜尋為核心的搜尋伺服器:用 collection schema、欄位權重、facet 與排序就能做出站內搜尋,也能自行架設或交給 Typesense Cloud;繁體中文欄位要設 locale: zh,專業詞彙則可能需要自訂斷詞。
Vercel 把 framework build output、preview、CDN/cache 與 Functions 綁成 deployment;速度來自深度整合,代價是 runtime、data locality、成本與可攜性邊界。
Vite 8 把開發期的 esbuild 與正式建置的 Rollup 收斂成 Rolldown;速度是結果,真正重要的是開發與 production 不再由兩套 bundler 語意拼接。
Vitest 的優勢不是 Jest API 長得熟,而是測試與應用共用 Vite 的 transform、alias 與 plugin;Browser Mode 增加真瀏覽器信心,卻仍不能取代完整 E2E。
Vultr 從 VM、bare metal、GPU 到 VKE、database 與 storage 都有;優勢是區域與產品選擇,風險是把多產品存在誤認為已完成架構整合。
WebSocket 提供一條雙向 message transport,不包含 auth renewal、schema、ack、replay、rooms 或 backpressure policy;這些才決定 production correctness。
WireGuard 是小而明確的 L3 加密 tunnel;它把 public key、peer 與 AllowedIPs 綁在一起,但不替團隊提供 identity、裝置管理或 policy control plane。
WorkOS 的優勢不是只有登入 UI,而是讓 B2B SaaS 沿同一個 organization identity model 逐步加入 SAML/OIDC、SCIM 與稽核輸出;authorization 與資料治理仍由應用負責。
Yjs 用 shared types 與可交換、可結合、冪等的 binary updates 收斂 concurrent edits;它不綁 transport,也不自帶 authorization、persistence 或 domain conflict resolution。
ZeroTier 把裝置放進可管理的 virtual L2/L3 network,嘗試 peer-to-peer 傳輸並由 controller 發布成員與 policy;它比單純 tunnel 更像軟體定義網路。
zizmor 針對 workflow/action YAML 做 domain-specific static analysis,找 template injection、過寬 permissions、artifact credential leak 與 unpinned uses;它不分析被呼叫 shell script 本身。
Zodios 以中央 Zod endpoint definition 驅動 Axios client 的型別、runtime validation 與 alias,也能接 Express 和產生 OpenAPI。
Scrapy 負責爬取流程與資料模型,Zyte API 接手取頁、瀏覽器與反爬細節,Scrapy Cloud 再負責部署、排程和輸出;三者可以分開採用,不是一套綁死的框架。
Agent Plugins 1.0 是一個封裝格式標準,把 Agent Skills(Markdown 指令)和 MCP server 設定包成一個目錄,讓同一個 plugin 能被 ChatGPT、Cursor、GitHub Copilot、Kiro、VS Code 直接載入。它不是新的協議,是協議之上的包裝紙。Vercel 發起,OpenAI、AWS、Microsoft、Cursor 共同制定,Google 發佈當天加入——Anthropic 不在治理名單上,但 MCP 團隊正面回應。
AgentQL 用接近資料結構的語意查詢取代易碎的 CSS/XPath:`query_data` 回傳結構化資料,`query_elements` 回傳可操作的 Playwright locator。Starter 公開方案列出每月 50 次免費 API 呼叫,但超額、綁卡與遠端瀏覽器時數的實際停止規則仍要在 Billing 頁確認。
Apify 不是單一 crawler,而是把爬取程式包成 Actor,再用 Task 固定設定、Schedule 觸發執行、Dataset 交付結果的平台。適合不想自己維護佇列、排程與執行環境的團隊,但 Actor 費用、運算、proxy、儲存與傳輸會共同消耗預付額度。
Browser Use 把瀏覽器狀態、模型決策與 click/type/extract 等動作組成可重複迴圈;開放原始碼版本適合自訂工具與執行策略,Cloud 則代管瀏覽器、profile、proxy 與並行工作。
changedetection.io 是網頁變更訊號層:先縮小監控範圍、排除雜訊,再把真正的變更通知下游;它不是搜尋 API,也不該取代 crawler。
站上把 MCP 寫得很齊,卻從沒寫過它下面那一層:agent 要代表一萬個終端使用者去讀他們各自的 Gmail 時,refresh token 存在誰家、怎麼更新、怎麼撤銷。Composio 是這層目前最完整的一家——SDK 是 MIT,執行與託管 OAuth 是雲端服務;官方自稱 1,000+ toolkit,但託管 OAuth 清單實際列出 121 個,另外 96 個要你自備憑證。2026-08-15 起的新價目:免費 10 萬次 tool call、Pro $29/月。這篇拆它的授權模型到可操作的深度,並劃出「自己接 MCP server」與「用整合平台」的分界。
Chroma 的對照實驗證明:就算塞得下,塞滿也會變差。於是各家 coding agent 發展出七種對策——壓縮、換手、剪枝、少載入、隔離、進模型、換單位。Amp 直接移除 /compact,Atlassian 說摘要該是最後手段,Cursor 的 A/B 測出 46.9% token 降幅。三場分歧的根源不是誰對,是各自在衡量不同的東西。
Crawl4AI 負責 URL 之後的抓取與抽取:穩定 DOM 先用 JsonCssExtractionStrategy,只有語意判讀或版面不規則時才切 LLMExtractionStrategy。
CrewAI(GitHub 57.4k star,MIT,PyPI 週下載 1,164 萬)用角色(role)、目標(goal)、背景故事(backstory)定義 agent,再把一組 agent 編成 crew 來協作。跟 LangGraph 的圖優先和 MAF 的工作流優先不同,CrewAI 是團隊優先——你不畫節點和邊,你描述一個團隊裡每個人負責什麼。2024 年底完成 LangChain 依賴的全面移除,現在是獨立框架。商業端分開源套件與 AMP 託管平台,AMP 加的是視覺化建構、部署、追蹤與合規。
Exa 把整個網頁索引轉成 embedding 再檢索,而不是比對關鍵字。2026-08 官方定價:/search $7 / 1k 次(含前 10 筆結果)、/contents $1 / 1k 頁、deep 系列 $12–15 / 1k 次,新帳號 $20 免費額度。這個 blog 的 CLAUDE.md 把 Exa 列在雲端抓取工具的第一順位,38 支 skill 裡有 16 支寫到它,站上既有文章只有 4 篇順帶提過——但一篇專文都沒有。這篇補上。
Firecrawl 把單頁抓取、網站探索、整站爬取與 JSON 抽取包成同一套 API;雲端版省下瀏覽器、proxy 與 worker 維運,自架版則換得基礎設施控制,但預設能力不等同雲端。
免費方案有每日或每月額度、餘額補回、持續限速與一次性試用;有些 API 沒有免費額度,必須預付或按量計費。
Linkup 把搜尋深度與輸出格式分開控制:多數 agent 查詢先用 standard + searchResults,需要循線讀多頁才升到 deep;每月補回 20 美元是餘額恢復,不是固定再送 20 美元。
LlamaIndex(GitHub 51,775 star,MIT,2026-08-21 實查)的重心已經從索引搬到 Workflows:獨立套件 llama-index-workflows 的 PyPI 週下載 281 萬,比傘狀套件 llama-index 的 197 萬還高。這篇拆核心抽象、跟自己刻 pipeline 的取捨,並實測它在繁中語料上的預設值——同樣的 chunk_size=1024,英文裝得下 4,645 字元,繁中只有 1,332。另附一個選型前必看的事實:TypeScript 版已封存停更。
Meilisearch 適合把應用程式資料做成快速、容錯的全文搜尋;真正的導入難點不在 search API,而在索引設定、非同步 task、中文分詞、權限過濾與備份還原。
微軟把 Semantic Kernel 與自家 AutoGen 合併成 Microsoft Agent Framework,2026-04-02 發 1.0 GA(.NET 與 Python,Go 仍是 public preview)。被收編的 autogen-agentchat 停在 2025-09-30 沒再發版;但原作者那側的社群分支 AG2 沒有合併,六天前還在發 1.0.2,而且 `pip install autogen` 裝到的是 AG2 不是微軟。這篇拆解 MAF 的抽象、遷移時程,以及這團名字到底該怎麼讀。
MIT 6.S191 的 2026 版已公開九講影片、投影片、三個 software labs 與解答,足以列為 A3 自學課;但官方執行路線需要 Google/Colab、Comet,以及 Lab 3 的 OpenRouter,校外讀者也拿不到 MIT 的學分、專案回饋與 API credit。
Modal 是按秒計費的 serverless GPU 平台,同時把 agent sandbox 做成一級公民(官方自報累計啟動逾 10 億個 sandbox、佔營收三分之一以上)。選型的關鍵不是它多方便,是你的 GPU 使用率:2026-08-21 實查,Modal A100 80GB 折算 $2.50/hr、RunPod 同卡 $1.59/hr,使用率超過六成四自己開機器就比較便宜;但同一天 H100 SXM Modal $3.95/hr、Lambda $3.99/hr,這張卡的溢價幾乎是零。
Qdrant 的核心不是把 embedding 存進去,而是先固定 vector schema、替高頻過濾欄位建 payload index,再用 dense + sparse query、租戶邊界、snapshot 與監控把檢索做成可維運的服務。
Scrapling 把 HTTP、Playwright 瀏覽器、CSS/XPath 抽取與 Spider 放進同一套 Python API;adaptive selector 會保存元素特徵,版面改動後再用相似度重新定位,但仍需要驗證輸出。
SearXNG 是元搜尋引擎,不是 crawler,也沒有自己的全網索引。這篇以官方 2026.8.20 文件為準,從 Compose 安裝、settings.yml、引擎選擇與 JSON API,一路做到空結果診斷。
三個元件、各做一件事:SearXNG 負責找、Crawl4AI 負責讀、一層薄薄的程式把兩者黏起來。有三個預設值不改就不會動——`formats` 預設只吐 HTML、`secret_key` 預設是 `ultrasecretkey`、limiter 開了會擋你自己的程式。另外官方安裝方式在 2026 年 3 月換過,網路上多數教學指的 searxng-docker 已經封存了。
Tavily 和 Exa 都是純雲端 API,不能自己架。能自己組的是 SearXNG(269 個上游引擎、82 個預設開啟)+ Crawl4AI(78.8k stars、Apache-2.0),現成的 Tavily 相容 wrapper 都還是幾十顆星的個人專案,不建議直接用。但 SearXNG 沒有自己的索引,而且從機房 IP 跑會被搜尋引擎打成空結果——這兩件事決定了自架划不划算。
CS124 是 Stanford NLP 分支的第一門課,教科書是 Jurafsky 自己免費放在網路上的《Speech and Language Processing》,九個作業 repo 全部公開。但課程網站首頁掛著一行公告:2026–27 學年整年不開。而且那份課綱指定的章號,已經跟 2026 年 8 月版的教科書對不上了。
CS221 把 AI 排成一條軸:反射式模型(也就是深度學習)在最低階那一格,往上是狀態、變數、邏輯。2025 年秋季 Percy Liang 接手後把講義換成可執行的 Python,並在第一堂的原始碼裡寫下『Cut constraint satisfaction problems :(』——但 ExploreCourses 與 Stanford Online 兩個官方頁面到現在還把約束滿足列為課程主題。專案已經從 2019 年的兩成成績掉到只剩加分。
CS224N 把 2000 年以來每一屆的課程網站都留在線上。2019 冬季那版,Transformer 是第 14 堂的客座講題;2026 冬季那版,它是第 5 堂,之後每一堂都預設你已經懂它。機器翻譯作業整個消失了,第三份作業改成自己刻一個 decoder-only Transformer,附 pytest 可以在筆電上跑。
CS224U 的教材不是投影片,是一個 Apache-2.0 的 GitHub repo,講義、作業、評分文件全在裡面。但校內班從 2023 年春季之後連停三個學年,ExploreCourses 一度把它排回 2026-27 春季,2026-09-29 重查時那一節又撤掉了;官方課程描述至今仍列著 relation extraction 與 semantic parsing,2023 年的講次表一堂都沒有。第一份作業的資料載入 cell 在今天的新環境會卡在 Hugging Face 的相容性改動上。
CS224V 的課名在 2026-2027 學年才從 Conversational Virtual Assistants 換成 Agentic AI,但底下的東西沒換:把自然語言翻成形式語意、用 SMT 與知識圖譜約束 agent,而不是拼框架。閱讀清單十一篇 Mandatory 裡,七篇出自授課者自己的實驗室。投影片全公開,課程網站卻明講它們是刻意殘缺的。
CS224W 的六份 Colab 現在全部可以直接下載開跑,第一份只用 NetworkX,連 PyG 都不用裝。但期末考佔 35%,是全課最大一塊,而它是閉書實體考。公開錄影停在 2021 年,涵蓋不到現在課表後半的 graph transformer、關聯式深度學習與 LLM+GNN。
CS228 的官方先修就一句『basic probability theory and algorithm design and analysis』,沒有指定任何前置課程。但 ExploreCourses 顯示它最後一次開課是 Winter 2024,下一次排在 2026-27 冬季、講師欄還空著。自學者真正拿得到的是那份公開講義 cs228-notes:16 章寫完,最後一次改動停在 2025 年 6 月。
CS229 的自學三件套不在同一個時鐘上:講義 278 頁、2026 年 8 月才重編過;公開拿得到的作業是 2020 年夏季那批;Stanford Online 叫你入學前先做的自測題,PDF 建立於 2008 年。2026 春季錄影公開 17 支,最後三支的標題跟內容對不上。
CS25 是 Stanford 的 1 學分 seminar,唯一作業是出席,全程對外開放。2026 春季第六季九場講座裡,最值得看的三場是 Albert Gu 談 SSM 與 Transformer 的歸納偏誤、Charles Frye 談上千張 GPU 的推論服務、Victoria Lin 談原生多模態還沒解決什麼。
CS329Z 是 Stanford 2026 年秋季新開的三學分 agent 工程課。第一份作業禁用任何 agent 框架,只准用一個 chat-completion 呼叫加自己的程式碼,在真實企業 email 封存上從 RAG 管線一路長成帶工具、終端機、記憶與人類審核的 agent harness。DSPy 還在課堂上,但已經不在作業裡。課程網站架在公開的 GitHub repo 上,commit 紀錄留下了每一次課綱改版:作業從三份砍成兩份,互評長成兩成分數,專案主題也從鎖死改成自選。
CS336 的十七堂正課裡,只有九堂是可以執行的 Python 程式,另外八堂是 PDF 投影片——分界線剛好是兩位授課者。第一份作業的講義有八個「低資源提示」教你怎麼在筆電上做完,第二到第五份一個都沒有。課程頁自己列了 B200 的每小時單價,作業講義自己列了每題要幾個 B200 小時。
Tavily 把 Search、Extract、Map、Crawl 做成同一組 agent 網路 API;免費方案每月有 1,000 credits,Search 的 basic、fast、ultra-fast 各用 1 credit,advanced 用 2 credits。
vLLM 是自架 LLM 推論的事實標準(GitHub 89,470 stars,2026-08-21 實查),核心是把 KV cache 當作業系統的分頁來管。但選型的關鍵不在它多快,在你的 GPU 使用率:以 Red Hat 實測的每秒 793 個輸出 token 換算,一張打滿的 A100 約 $0.70 / 百萬輸出 token,使用率掉到一成就變 $7——比多數雲端 API 貴。
Web retrieval 要測的是完整 task,不是 HTTP 200:固定 30 題、五種失敗層、三條 live channel,同時量答案、引用、freshness、延遲、成本與不必要升級。本文交付可執行 harness 與 gate,但因目前沒有三條 live channel 設定,不提供虛構排名。
Agent 上網不該一律開瀏覽器:先依任務分流 Search 或 Fetch,再按狀態碼、內容品質、JS shell、登入與 challenge 訊號逐級升級;每一步都受 retry、budget、快取、去重與來源紀錄約束。
Berkeley 沒有獨立的大學部 AI 學位;可行路線是在 CS BA 或 EECS BS 的共同基礎上,從 CS188 的廣義 AI 或 CS189 的數學型 ML 入口,再分流到深度學習、NLP、視覺與強化學習。2025–2026 有不少 A3 公開課,但最新班次、最新穩定網址與最好用的自學版本並不總是同一個。
Stanford 沒有 AI 學位,AI 是 CS 底下的一條 track;CMU 2018 年開出全美第一個 B.S. in Artificial Intelligence,把 AI 拆成四個 cluster 並強制各修一門,還把倫理課列進畢業要求。碩士這條線則是 MSAII——不在 CS 系,在語言技術研究所,195 學分裡有 84 分是創業流程,最後要交一個能拿去募資的 capstone。查證時發現兩處官方頁面自己打架:AI Core 是 2 門還 3 門、總學分是 192 還 195。
CMU 現行 BSAI 已改成 07-280 → 07-380,再從 NLP/視覺核心與四個 AI clusters 延伸;07-380 已在 Fall 2026 首開,同學期還新開了研究所級的 11-768 AI Agents。07-280 Spring 2026 的殘留教材與 10-301/601 已能完整自學,15-281 則是仍有價值的退休舊路線。
AI Engineer YouTube 三年衝到 60 萬訂閱,不是因為他們很會做影片,而是因為他們根本不需要「做」影片——一年八場會議的錄影副產品,就是取之不盡的 YouTube 素材。內容創作的真正瓶頸不是技能,是結構。
這份地圖盤點 Stanford、CMU、MIT、UC Berkeley、Harvard 與台大在 2025–2026 年的 AI/CS 課程,將公開程度拆成 A0 課表可見、A1 課綱可見、A2 教材部分開放、A3 足以自學。課程官網存在、YouTube 播放清單存在,都不代表校外讀者真的拿得到當期影片、作業與起始碼。
MIT 自 2022 年已有正式的 6-4 Artificial Intelligence and Decision Making 學位;但校外自學時,現行學位要求、2025–2026 課站與最好用的 OCW 版本往往不是同一套。真正可行的路線,是先照 6-4 的程式、演算法、線代與機率骨架打底,再依公開程度選 6.S191、6.3900、6.4110、6.7960、電腦視覺或機器人分支。
CS103 前半教怎麼寫證明、後半教什麼證不出來,但外界最少提到的是它有 C++ 程式作業:PS0 就是裝 Qt Creator。它的真正資產是一整排自製的『Guide to X』講義與一份會拿來扣分的 Proofwriting Checklist,全部公開;解答與練習考題全部鎖在 Stanford 登入後面,而且鎖的理由寫在 Honor Code 裡。
CS107 從 Unix 與 C 一路做到 x86-64 與自己寫 malloc,七份作業。但翻四個學期的封存 syllabus 會發現同一門課差很多:作業在三個學期占 40%,在 Summer 2026 只占 20%(多了 40% 的隨堂小考);重交政策只出現在 Cain 開的學期,Troccoli 那學期完全沒有。唯一不收遲交的是最後那份 heap allocator。而擋住自學者的不是評分器,是起始碼全在 AFS 上。
CS109 在 2026 年夏季的每一講旁邊,掛了一份官方寫的 LLM Learning Guide——六個概念、每個概念一組 Learn 與 Test me 提示詞,逐週產出共 23 份 PDF。同一門課的榮譽守則第 4 條卻明文禁止拿 LLM 解作業,而成績有 65% 壓在現場考試。這兩件事是同一套設計的兩半。
CS111 的九份作業從 lambda 一路做到日誌式檔案系統的崩潰復原,但把官網逐頁讀完會看到三件課綱不寫的事:第三份作業是分水嶺,因為第四份會直接編譯你第三份的程式碼;期末考有一整塊在考倫理學名詞,公開的練習卷連解答都在;還有,把自己的程式碼貼給 AI 問問題,這門課白紙黑字寫成違反榮譽準則。
CS161 第一堂投影片寫下的課程目標有三個:設計、分析、溝通。第三個才是作業不准手寫、要求寫得像給同事的備忘錄的原因。八份作業裡 HW2 是分水嶺,講義的 Python notebook 用來示範「量時間看不出誰比較快」,而暑期班是同課號、同課名、完全另寫一套的另一門課。
把兩個 n 位數各切成兩半,直覺分治仍要做 4 個子乘法,時間沒有離開 n²;Karatsuba 用 (a+b)(c+d)-ac-bd 算交叉項,把分支降到 3,得到約 n^1.585 的成長率。
第二講把「快」拆成可證明的最壞情況上界:InsertionSort 用迴圈不變量證正確、最壞為 n²;MergeSort 用遞迴不變量與每層 O(n) 的遞迴樹,得到 O(n log n)。
對 T(n)=aT(n/b)+O(n^d),真正的比較是分支成長 a 與單題工作縮小 b^d:a=b^d 時每層同重,a<b^d 時頂層主導,a>b^d 時葉層主導;不合模板就改用 substitution。
Selection 不必先排序。Median of medians 每 5 個元素取中位數,再取這些中位數的中位數作 pivot,保證較大的遞迴側至多 7n/10+5;用 substitution 可證 worst-case O(n)。
Randomized QuickSort 對每個固定輸入都有 O(n log n) 期望時間,但最壞仍是 Θ(n²);正確證明不是把期望子問題大小代入 recurrence,而是計算每對元素被比較的機率。
Ω(n log n) 只限制 comparison sorting。若整數 key 可直接索引 bucket,stable Counting Sort 可作為 Radix Sort 的內層;在 M≤n^c 等條件下能達 O(n)。
一般 BST 的操作成本是 O(h),偏斜時會退化成 O(n);紅黑樹用五條顏色不變量把高度限制在 2 log₂(n+1),因此搜尋、插入與刪除都有最壞 O(log n) 保證。
Universal hash family 只需讓任意兩個不同 key 的碰撞機率不超過 1/n,就能把某個 key 所在 bucket 的期望長度壓到 2 以下;這給的是 expected O(1),不是每次操作的最壞 O(1)。
DFS 與 BFS 都在 adjacency list 上以 O(n+m) 掃完整張圖;DFS finish times 能為 DAG 產生拓撲順序,BFS layers 則精確等於無權圖的最短距離。
把每個 SCC 壓成一點後一定得到 DAG;第一趟 DFS 的 finish times 排出這些分量,第二趟在轉置圖按遞減順序搜尋,每棵 DFS tree 恰好是一個 SCC,總時間 O(n+m)。
Dijkstra 每次確定最小 estimate,正確性依賴非負 edge weights;Bellman–Ford 不挑 vertex、反覆鬆弛所有 edges,以 O(nm) 換取負權支援並能偵測 source 可達的負環。
動態規劃先精確定義子問題,再用 optimal substructure 寫 recurrence,最後依相依順序填表;Bellman–Ford 以 edge 數分層,Floyd–Warshall 則以允許的中繼頂點分層。
Lecture 13 把動態規劃整理成五步:選 state、寫 transition、填表、回復解、再優化實作。LCS 是 O(mn),兩種背包都是 O(nW) 的擬多項式時間,樹上最大權重獨立集則能在 O(|V|) 完成。
貪婪演算法不是『每次挑看起來最好的』,而是每次只保留一個選擇,並用交換論證證明它不會排除最佳解。Lecture 14 以 activity selection、weighted completion time 與 Huffman coding 展示三種證明。
MST 的核心不是背兩支演算法,而是維持『目前選邊仍包含於某棵 MST』,再用 cut property 證明 Prim 與 Kruskal 每一步都安全。
Ford–Fulkerson 在殘餘網路沿 augmenting path 推流;找不到路時,可達集合形成與 flow 同值的 cut,同時證明最大流、最小割與兩者相等。
Deferred Acceptance 允許暫時接受後再反悔;proposal 的單調性證明它在 O(n²) 結束、產生 stable matching,且偏向 proposal 的一側。
期末課以 slides 回顧 CS161 工具箱,再用 LP duality、Reed–Solomon 與 ML-assisted algorithms 指向後續方向;官方沒有提供 notes。
選型的主判準沒有變,仍然是採用度——而 AI 讓它更重要,不是更不重要:用的人多,訓練語料就多,agent 寫出來的正確率就高。這個系列整理的另外五條判準(文件的機器可讀性、型別、原始碼在不在你 repo 裡、資料骨架、機器可呼叫性)是用來在採用度相近時分勝負,或估算你選冷門要付多少代價。
AI SDK v5 把一則 AI 訊息拆成 parts 陣列——text、reasoning、source-url、tool-* 各自是獨立片段。這個資料結構決定了現代 AI 對話介面怎麼寫:render 時 switch part.type,每種片段交給對應元件。這篇拆解 parts 模型的設計邏輯、useChat 的串流機制,以及它如何成為 AI Elements 這類元件庫的地基。
Drizzle ORM 是一個 SQL-first 的 TypeScript ORM——query builder 長得像 SQL,agent 寫出來的查詢在 diff 裡讀得懂。零依賴、約 7.4 KB gzipped,原生支援 Cloudflare D1、Neon、Turso 等 edge database。版本至今仍是 0.45.2,但週下載量已達 1,690 萬,超過 Prisma 的 1,380 萬。
llms.txt 是 Jeremy Howard 於 2024-09-03 提出的慣例(規範已更新至 v2):在網站根目錄放一份給 LLM 讀的 Markdown 索引。六個前端文件站實測:TanStack、shadcn、Zustand、AI SDK、Next.js 都有,React Router 是唯一 404。配套的 llms-full.txt(全文版)Anthropic、Cloudflare 等也已採用。這篇講規範內容、誰在用、以及它為什麼開始影響套件選型。
元件分發向來只有兩條路:npm 套件(黑盒依賴)或手動複製貼上。shadcn registry 把第三條路標準化——元件以 JSON 描述原始碼與依賴,CLI 一鍵裝進你的 repo 變成你的程式碼。任何人都能架自己的 registry(AI Elements 就是一個),官方 MCP server 更讓 AI agent 直接瀏覽與安裝元件。
Supabase 不只是 Firebase 的開源替代,它的核心設計是把 Auth、Storage、Realtime 全部建在 PostgreSQL 的 schema 和 WAL 上。結果是:你可以用一條 SQL 查所有東西,pgvector 直接用,agent 寫 SQL 就能操作整個平台。108k GitHub stars、Apache 2.0 授權、Free 方案 500 MB 資料庫。
自架一個 24 小時跑著的 agent,等於在自己網路裡開了一個必須從外面連得到、又不能開在公網上的東西。這篇拆 Tailscale 的四個機制各自解決什麼:tailnet 解決連得到、subnet router 解決碰內網、tag 與 ACL 解決權限邊界、policy 秒級生效與 tailnet lock 解決收得回。附 2026-08 實查的定價:Personal 免費、6 個使用者、user device 無上限、50 個 tagged resource。
TanStack Router(2023-12 發 1.0,週下載約 20M)把路徑、params、search params 全部做成編譯期推導:導航到不存在的路由是型別錯誤,不是執行期 404。這篇拆解它的三個核心設計——型別安全、search params 一等公民、與 Query 整合的 loader——以及為什麼這在 AI agent 寫碼的時代價值被放大。
Temporal 是 durable execution 平台(Server 1.31.2、Python SDK temporalio 1.31.0,MIT,2026-08 實查)。它跟 BullMQ / Celery 那種任務佇列的差別不是規模,是保證的東西不同:佇列保證訊息被消費,Temporal 保證一段橫跨多次外部呼叫的流程走完。代價是工作流程碼必須決定性——而 LLM 呼叫天生非決定性,這篇講這個張力怎麼解、什麼時候不划算。
Trigger.dev 是 Apache 2.0 的持久任務平台(v4.5.12,2026-08 實查),用 CRIU 對整個 Node.js 行程做記憶體快照來暫停與復原。跟 Temporal 的 replay 模型不同,它不重跑你的編排碼、不要求決定性——LLM 呼叫直接寫在 task 裡就行。代價是快照無法保留 TCP 連線,還原後要自己重建;而且快照是 cloud-only,自架拿不到。
WebMCP 讓網頁用 document.modelContext.registerTool() 把自己的功能註冊成 agent 可呼叫的工具,取代 agent 猜 DOM 點按鈕。Chrome 已在 149 開 origin trial、預計 157 進 stable,Edge 150 跟進。但 WebKit 明確表態反對(「agent 本質上是輔助科技,網站不該把它單獨挑出來對待」),Mozilla 給 neutral。這篇講兩套 API 怎麼寫、安全模型擋在哪、以及在只有一個半引擎支持的情況下要不要現在投資。
在 109 篇確實含中國用語的文章上,zhtw-mcp 精確率 29.4%、召回 85.2%,twlint 是 21.2% / 82.5%——但 twlint 有 195 個 error 級判斷是把合法正體字當簡體字(干→幹 60 次、只→隻 15 次),跑 --fix 會毀掉文章。最有用的發現不是誰勝出:zhtw-mcp 幫我補了五個自己漏抓的中國用語,也擋下一個我誤列的(審計)。工具的價值在校準你的清單,不是取代它。
Zod 週下載 224M(2026-08 實查),已遠超「表單驗證庫」的定位:API 邊界、環境變數、路由 search params、LLM tool schema 與 structured output,全在用同一套 schema。核心機制是「一次定義、兩層收穫」——執行期驗證與靜態型別從同一個來源推導。Zod 4(2025-07 上 npm)主打更快、更省 tsc。
行為面試不是靠臨場發揮,而是靠事前準備好的故事庫。AI Engineer 的行為面試有獨特的考點:AI 倫理(bias、fairness、privacy)、技術決策的影響力敘事(為什麼選這個模型/架構)、跨團隊推動 ML 專案的經驗。準備策略:建立 8-10 個 STAR 故事,每個故事練到能在 2 分鐘內講完。
AI Engineer 的 coding 面試和 SWE 不完全一樣——除了 LeetCode medium,還會出 ML-flavored 的題(實作 tokenizer、寫 batch inference pipeline、處理稀疏矩陣)。準備策略:LeetCode medium 練到 70% 通過率就夠,剩下的時間花在 numpy/pandas 操作、資料處理 pipeline、以及 ML 相關的程式題。
深度學習面試重點不是推導反向傳播,而是能不能解釋架構背後的設計直覺。高頻考點:CNN 的 locality 與 translation invariance、RNN 到 Transformer 的演進為什麼必要、self-attention 的計算邏輯與複雜度、BatchNorm vs LayerNorm 的適用場景、常見的 training tricks(learning rate schedule、gradient clipping、mixed precision)。
LLM Application Design 是 2025-2026 面試最熱的新題型。核心考點:RAG pipeline 的 chunking/retrieval/reranking 設計、agent 架構的 tool-use 與 planning loop、context window 管理策略、guardrails 與 safety 設計、以及 LLM 應用的評估方法。面試官特別看重你有沒有踩過坑。
ML 基礎面試不考你背公式,考你能不能用直覺解釋概念、在追問下不崩潰。高頻考點:bias-variance tradeoff 的實際意義、L1/L2 regularization 的選擇邏輯、cross-entropy 為什麼比 MSE 適合分類、SGD 與 Adam 的取捨、precision/recall 在不同場景的重要性差異。
ML System Design 面試的核心不是選模型,而是怎麼把一個商業目標變成一個可上線、可監控、可迭代的 ML 系統。面試官想看你能不能:把業務目標翻成 ML 目標、設計 data pipeline 和 feature store、選擇合理的 serving 策略、規劃 monitoring 和 A/B testing。
MLOps 面試考的是你有沒有把模型推上生產的經驗。高頻考點:ML pipeline 的 CI/CD(跟軟體 CI/CD 有什麼不同)、model registry 與版本管理、A/B testing 的設計與陷阱、inference 的 scaling 策略(水平擴展、模型壓縮、caching),以及生產環境的 monitoring 與 alerting 設計。
LLM 面試的分水嶺是你有沒有實際用過這些東西。高頻考點:BPE tokenization 的邏輯與多語言問題、預訓練目標(CLM vs MLM)、fine-tuning 的三種層次(full/LoRA/prompt tuning)、RLHF 的流程與 failure mode、prompting 的工程實踐、LLM 評估的困難與現有方法。
AI Engineer 面試不只考 ML——大廠看系統設計與 coding,新創看端到端交付,AI-native 公司看 LLM 工程深度。準備策略:先釐清目標公司類型,再按六大維度(ML 基礎、系統設計、LLM 應用、Coding、Paper Reading、行為面試)分配時間。
Paper Reading 面試不是考你有沒有讀過那篇 paper,而是考你能不能快速理解一個新方法並找出它的限制。AI-native 公司(Anthropic、OpenAI)特別愛考。準備策略:練習 30 分鐘讀完一篇 paper 並能口述 contribution + limitation,建立自己的必讀論文清單,每篇練習用三句話總結。
CS329A 的軸心是 generation–verification gap:模型答得出來,卻認不出哪個對。但課程自己下的結論更值得記——目前這些方法讓模型變得更穩定,不是更聰明。錄影公開 9 支,只涵蓋 20 堂中的 9 堂。
Stanford CS 的骨架是 CS103、CS107、CS109、CS111、CS161;CS221 先修列出其中三門,另加 CS106B。本文依官方先修與編輯者建議順序排出主線,並標明公開教材與停開風險。
AI 把執行成本壓到接近零,結果品味好的人產出更多價值,品味差的人產出更多垃圾。差別不在會不會用 AI,而在用之前腦中有沒有值得被放大的東西。這個系列記錄我系統性磨利判斷力的過程。
AI Product Design 是 2025-2026 面試最熱的新題型。核心考點:什麼時候該用 AI(不是所有問題都需要 AI)、human-in-the-loop 的設計模式(什麼時候讓人介入)、信任建立(怎麼讓用戶相信 AI 的輸出)、AI 產品的獨特挑戰(hallucination、latency、cost),以及 AI 產品的評估指標。
Product Builder 的行為面試和 SWE 不一樣——不只考團隊合作,特別考你怎麼在沒有直接權力的情況下推動事情。核心能力:影響力敘事(怎麼說服工程師做你想做的功能)、衝突處理(跟設計師/工程師/stakeholder 意見不同時怎麼辦)、vision 表達(怎麼用 30 秒讓人理解你的產品方向),以及失敗故事(怎麼從失敗中學習而不是推卸責任)。
Execution 面試考的是你能不能把想法變成可交付的東西。核心能力:roadmap 規劃(怎麼在有限資源下排序)、優先序辯護(為什麼先做 A 不做 B)、跨團隊協作(怎麼推動工程和設計)、stakeholder management(怎麼處理衝突),以及用數據追蹤進度的能力。
Growth 面試考的不是你會不會做 growth hack,而是你有沒有系統性的成長思維。核心能力:growth loop 設計(acquisition → activation → retention → referral 的飛輪)、實驗設計(假設 → 指標 → 實驗 → 分析的完整流程)、retention 策略(找到 aha moment、設計 habit loop)、以及用數據判斷什麼值得繼續投資。
Metrics 面試考的是你能不能用數字做決策,而不是你懂多少統計。核心能力:北極星指標的選擇邏輯(為什麼選這個不選那個)、指標樹拆解(找到可操作的 lever)、漏斗分析(哪一步流失最值得修)、A/B testing 的設計與陷阱、以及面對反直覺數據時的判斷力。
Product Builder 不是傳統 PM——你要能從 0 到 1 建產品,不只寫 PRD。面試考的是產品直覺、指標思維、技術理解力與執行力的交集。準備策略:先搞清楚目標公司要的是 PM 還是 Builder,再按九大維度分配時間。
Product Design 面試不是考你畫 wireframe,而是考你怎麼從問題走到方案。核心能力:MVP 範圍判斷(什麼該做什麼不做)、trade-off 分析(速度 vs 完整度、通用 vs 客製)、設計決策的溝通能力(為什麼選 A 不選 B),以及快速迭代的思維。
Product Sense 面試考的不是你能想出多少功能,而是你能不能從一個模糊的需求裡找到真正值得解的問題。核心能力:用戶分群思維、問題重構(把『加個功能』翻成『解決什麼問題』)、feature prioritization 的結構化論述、以及在面試官追問下堅持或修正判斷的能力。
Strategy 面試不是考你背框架,而是考你能不能在資訊不完整時做判斷。核心能力:市場規模估算(TAM/SAM/SOM 的實際用法)、競爭護城河分析(網路效應、轉換成本、品牌)、進入新市場的 go/no-go 決策,以及用排除法而不是加法來做策略取捨。
Technical PM 面試不要求你寫 production code,但你要能讀懂 trade-off。核心能力:API 設計的基本思維(RESTful、版本控制、錯誤處理)、系統架構的 high-level 理解(微服務、資料庫選型、快取策略)、與工程師協作的溝通模式(RFC 流程、技術 spec review),以及在技術限制下做產品決策的能力。
AIF-C01、MLA-C02、AIP-C01 不是難度階梯,是三個職能切面:AIF 考能否判斷 AI 的商業應用;MLA 考能否把傳統 ML、基礎模型與 agentic workflow 上線並維運;AIP 考能否整合基礎模型做 GenAI 系統。MLA-C02 的英文 beta 已開放報名,9/29 開始交付;正式版日期與非英文版本仍未公布。
選 Claude 四張認證之前有一個比所有考點都重要的前提:報考只開放給 Claude Partner Network 的組織,個人無法自行報名。過得了這關的人,實際的分岔點有四個——CCAO-F $99 不計入 partner tier 資格(另外三張計入);Claude Code 在 CCAR-F 佔 20%、在 CCDV-F 只佔 3.1%,架構師那張考這個工具比開發者那張重;CCAR-P 有 28% 是治理與利害關係人溝通,系列裡沒有第二張這樣;CCAO-F 最便宜但 Prompting 只有 14%,輸出評估 21% 才是主軸。四張效期都是 12 個月,重考間隔 14 / 30 / 90 天、12 個月內最多 4 次。
微軟四張 AI/agent 認證裡,只有 AI-103 → AI-500 是官方寫死的階梯,其餘全是定位問題。選擇要走三個分岔:寫不寫 Python(AI-103/AI-500 vs AB-620)、建東西還是做判斷(AB-100 vs 其餘三張)、以及今天能不能真的開始——AI-500 的四條官方學習路徑目前全 404、AB-620 沒有練習測驗、AB-100 有免費練習測驗。對台灣讀者還有第四個分岔:AI-103 與 AB-620 有繁體中文,AI-500 與 AB-100 只有英文。四張都是 $165、效期一年、續期免費但只在到期前六個月開放。
NVIDIA 生成式 AI 線有四張:NCA-GENL、NCA-GENM(各 $125,associate)、NCP-GENL、NCP-AAI(各 $200,professional)。選之前先看三件別家沒有的事:一、兩張 professional 的 Register 按鈕都標著「Coming soon」,近期計畫直接只剩兩張 associate;二、NVIDIA 是本系列唯一官方備考課全部付費的廠商,真實成本是考試費加課程費,NCA-GENL 自學五門 $390、NCA-GENM 有兩門只有 $500 講師版、NCP-GENL 官方清單列價合計 $1,620;三、官方文件自相矛盾——NCP-AAI 的權重網頁加總 98%、PDF 加總 92%,NCP-GENL 網頁表格有兩格描述錯置(其中一格是 OpenUSD 的文字)。另外綁定程度差很多:NCP-AAI 只有 7% 綁 NVIDIA 產品,NCP-GENL 有 31% 在考 GPU 與模型壓縮。
Aider 是 2023 年就存在的終端 AI pair programmer(Python、Apache-2.0、約 48.3k stars),設計上跟現在的自主 agent 走反方向:手動 /add 檔案控制 context、每次修改自動產生一個 atomic git commit、architect/editor 雙模型分工。但要注意維護節奏:最後一版 PyPI 發布是 2026-02 的 0.86.2,最後一筆 commit 在 2026-05,官網仍推薦 Claude 3.7 Sonnet 與 o1。
Amp 已於 2025 年 12 月從 Sourcegraph 獨立為 Amp Frontier Corporation,npm 套件也從 @sourcegraph/amp 改為 @ampcode/cli。它的識別特徵是持續砍功能:editor 擴充、Amp Tab、TODO 清單、Fork、custom commands、public threads 全部刪掉。2026-07-18 才首度推出月費訂閱(Megawatt $20、Gigawatt $200),此前只有 pay-as-you-go。現在主軸是 orbs——關掉筆電也會繼續跑的遠端機器。
Copilot CLI 於 2026-02-25 正式 GA,所有 Copilot 方案(含 Free)都包含。差異化不在 agent 本身,而在 GitHub 平台整合:內建 GitHub MCP server 直接操作 issue 與 PR、組織政策自動繼承、`&` 前綴把工作丟給雲端 coding agent。計費走 GitHub AI Credits(1 credit = $0.01),Pro $10/mo 含 $15、Pro+ $39 含 $70、Max $100 含 $200。
omp 是 Pi 的 fork,但不只是插件層堆疊:它多了約 80,000 行 Rust,把 grep/shell/AST/PTY 全部搬進 in-process。內建工具從 Pi 的 7 個變成 31 個,外加 14 個 LSP op、28 個 DAP op、60+ 供應商。同一份 codebase,兩個相反的賭注。
以 TanStack Router(19.7M 週下載)+ Query(55.8M)+ Zustand(44.5M)為核心,配 Vite、react-hook-form + Zod(224M)、Tailwind + shadcn、Vitest + Playwright,整理純 SPA 的當代預設 stack。AI 時代選套件多了三個判準:文件有沒有 llms.txt(TanStack 全家有、React Router 沒有)、型別安全能不能當 agent 護欄、原始碼是不是在你 repo 裡讓 agent 讀得到。
AI Elements 是 Vercel 為 AI SDK 生態出的 React 元件庫,registry 現有 48 個元件,涵蓋 Conversation、Reasoning、Sources、Tool 等 AI 介面積木。走 shadcn 模式:npx ai-elements@latest 把原始碼直接複製進專案,完全可改,跟 useChat 的 message parts 一一對應。
2026 年 agent 做簡報的共識:outline-first + 內容/構建分離 + render 成圖讓 fresh-eyes subagent 做視覺 QA。Anthropic 與 OpenAI 的官方 slides skill 都收斂到 PptxGenJS + 視覺驗證迴圈,學術線(PPTAgent→PreGenie→DeepPresenter)也指向同一方向。但下半年出現兩個修正:PresentBench 指出常被引用的 PPTEval 給分過於樂觀,SeaSlides 則主張不該讓模型直接寫自由格式的 HTML/SVG。
治理在證照裡的比重比多數工程師以為的高——CCAR-P 的 Governance 14% 加 Stakeholder 14% 共 28%、CCAO-F 治理 15%、AB-100 的部署治理塊 40–45%、AIF-C01 的負責任 AI 14% 加安全治理 14%。但把十五份官方 exam guide 逐份查過,沒有任何一張點名 EU AI Act、NIST AI RMF 或 ISO/IEC 42001;全系列唯一被官方點名的法規只有 CCAR-P 的 GDPR、HIPAA、FedRAMP。所以這篇的用法不是「背框架去考試」,而是用三份框架當骨架,把六張證照散落的治理條目歸位。三份框架的分工是:EU AI Act 是法律(2026-08-02 全面適用,高風險義務被 AI Omnibus 延到 2027-12-02)、NIST AI RMF 是自願框架(GOVERN/MAP/MEASURE/MANAGE 四個功能,且 1.0 正在改版)、ISO/IEC 42001 是可驗證的管理系統標準(條文付費,本文只用 ISO 官方公開頁能證實的部分)。
AIF-C01 考綱在 2026 年 4 月 30 日更新到 v1.1,新增七條目標——MCP、多 agent 模式、context engineering、token 計價、幻覺偵測全變成考點,in-scope 服務加入 Bedrock AgentCore、Kiro、Strands Agents,網路上的整理幾乎都是舊版。這篇依 v1.1 五章權重逐章拆解考點,整合 AWS 官方四步準備法、10+ 位考生的實戰心得與教材推薦。$100、90 分鐘、65 題、及格 700、效期 3 年,本系列唯一提供繁體中文。
AIP-C01 考的是把基礎模型整合成可上線的 AWS 應用:RAG、agent、安全治理、成本與評估。本文依官方五章考綱,整理前置能力自評、四步準備法、教材選擇與實作驗收,附十週安排、AI 輔考範本及應考提醒。先做診斷,再用同一個 RAG 加 agent 專案補齊弱項。
Claude 官方架構師認證(CCAR-F)的完整備考指南:五大領域權重 27/18/20/20/15、六大考試情境抽四個、常見反模式與實際演練建議。官方規格為 60 題 / 120 分鐘 / $125 / 效期 12 個月 / 及格 720,報考限 Claude Partner Network 成員,準時續期免費且非監考。
CCAR-P 是 Anthropic 四張裡最貴也最資深的一張($175、63 題、120 分鐘)。七個領域裡最重的是 Integration 19%,但真正讓它跟系列其他證照不同的是另外兩塊——Governance, Safety & Risk Management 14% 與 Stakeholder Communication & Lifecycle Management 14%,合計 28% 考的是法遵、風險、需求訪談與交付生命週期,不是寫程式。官方點名 GDPR、HIPAA、FedRAMP,並在 Intended Audience 明講「不適合入門開發者,也不適合只寫 prompt 而不負責系統設計的人」。
CCAO-F 是 Anthropic 四張裡最便宜的一張($99、60 題、120 分鐘),給的是「用 Claude 做事」而不是「寫程式串 Claude」的人。七個領域裡最重的是 Output Evaluation and Validation 21%——辨識幻覺、判斷何時需要人工複核、比較與改寫輸出;Governance, Risk, and Responsible Use 也有 15%。官方明講它不適合寫 API 或設計 agentic 系統的開發者。另有一條容易被忽略:這張不計入 Claude Partner Network 的 tier 資格,另外三張才算。
CCDV-F 是 Anthropic 四張認證裡對應工程師的那張。官方 blueprint 有八個領域,最重的 Applications and Integration 佔 33.1%——而它底下最大的兩塊是 Claude Application Design 8.6% 與 Software Engineering Foundations 7.4%,也就是說三分之一的考試在考 API 機制與普通軟體工程。反直覺的是 Claude Code 只佔 3.1%、Eval 只佔 2.6%,而同家族的 Architect 那張光 Claude Code 就佔 20%。官方規格:$125、53 題、120 分鐘、及格 720、效期 12 個月,報考限 Claude Partner Network 組織。
Google PMLE、AWS AIF-C01 與 AIP-C01、微軟 AI-103 與 AI-500、NVIDIA NCP-GENL 都考「怎麼讓 GenAI 應用又快又便宜又不掛」,但排起來是一道三階梯子:AIF-C01 問你知不知道成本隨 token 走,AIP-C01 與微軟兩張問你控不控得住,NCP-GENL 問你改不改得動模型與硬體。切入的高度差三層:NVIDIA 在 kernel 與量化層(Model Optimization 17% + GPU Acceleration 14% = 31%,全系列最重的單一成本延遲區塊),AWS 與微軟在應用層(快取三層、token 上限、chargeback),Google 在 MLOps 層(CPU/GPU/TPU 評估、資料平行 vs 模型平行、依吞吐量擴展服務後端)。交集是八根槓桿,但同一根在三個高度上是三種題目。本文刻意不帶任何價格與硬體規格數字——那是這個主題腐敗最快的部分。
Google Professional ML Engineer 的考綱在 2026 年被重寫,Vertex AI 全面改名為 Gemini Enterprise Agent Platform,舊教材的產品名對不上題目。這篇以官方 exam guide 的六章權重為骨架,逐章列出考什麼、配哪些官方材料、練什麼,並換算成一份看得懂依據的時程。官方規格:$200、兩小時、50–60 題單選加複選、效期兩年、建議 3 年以上業界經驗含 1 年以上 Google Cloud。
`batch_runner.py` 把數千條 prompt 平行跑成 ShareGPT 格式的 tool-calling trajectory,每條 prompt 可指定自己的容器映像,中斷後靠內容比對而非索引續跑。它內建兩道品質過濾:完全沒有 reasoning 的樣本丟掉、含幻覺工具名的條目在合併時剔除。這解釋了為什麼一家研究機構要做個人 agent——agent 本身就是資料產線。
一個 Gateway 行程接 30 幾個聊天平台,預設拒絕所有不在白名單也未配對的使用者。排程這邊做了兩道少見的防護:pre-dispatch 驗證讓設定壞掉的 job 連 LLM 都不呼叫就標成 blocked_config,而 model drift guard 會讓「沒釘模型」的 job 在全域模型被換掉時直接跳過執行——防的是你切到付費模型後,一個每小時跑的 job 幫你燒錢。
Hermes 的安裝方式分成三個支援層級:macOS(Apple Silicon)/Windows 10-11/Linux-WSL2/Docker 是 Tier 1,Termux 與 Nix 是 Tier 2,而 pip、brew、AUR 與 Intel Mac 明確不支援——用不支援的路裝,修 bug 的 PR 官方不收。升級端 `hermes update` 會先做快照、pull 後編譯九個關鍵檔案驗語法,失敗自動 `git reset --hard` 回滾。
Hermes Agent 是 Nous Research 的 MIT 授權 agent 框架,賣點是內建學習迴路(自動生技能、記憶提醒、FTS5 跨 session 檢索)。它提供 `hermes claw migrate` 從 OpenClaw 搬家,但 OpenClaw 並沒有被取代,兩邊仍各自在走。這篇是系列導讀,先講清楚它是什麼、跟誰不同、哪些情況不該選它。
Hermes 的記憶是硬上限的:MEMORY.md 2,200 字元、USER.md 1,375 字元,寫爆不會自動壓縮而是回錯誤讓 agent 自己騰位子。技能則由 curator 背景維護,預設 7 天跑一次、只在閒置 2 小時後啟動,30 天未用標 stale、90 天封存——但從不刪除。真正該打開的開關是 `memory.write_approval` 與 `skills.write_approval`,它們把背景自我改進的寫入變成待審。
`hermes claw migrate` 會把 OpenClaw 的 persona、記憶、四個來源的技能、模型與供應商設定、平台 token 與審批白名單搬進 Hermes——但金鑰永遠不會靜默搬過去,連 `--preset full` 都要另外加 `--migrate-secrets`。搬不動的東西(cron、plugin、hook、多 agent 清單、複雜頻道設定)不會消失,而是丟進 `~/.hermes/migration/openclaw/<timestamp>/archive/` 等你手動處理。從 Claude Code 或 Codex 過來則是另一個指令 `hermes import-agent`。
Hermes 支援 40 家以上供應商,其中「用消費者訂閱登入」的路徑最容易產生帳單意外:Anthropic OAuth 只吃 Claude Max 的加購額度、Claude Pro 根本不能用;auxiliary 任務預設 `provider: auto` 會走你的主模型,等於用貴模型做壓縮與視覺。fallback 鏈是每個 session 只觸發一次的一次性切換,不是持續重試。
Hermes 的審批預設是 smart 模式:低風險指令由 auxiliary 模型放行、真正危險的自動拒絕、不確定的才問人。`--yolo` 與 `approvals.mode: off` 都關不掉 hardline 封鎖清單(`rm -rf /`、fork bomb、`dd` 寫實體磁碟),而 `approvals.deny` 是它的使用者版:在 yolo 之前就攔下來。官方自己標明這整套的威脅模型是「誠實但犯錯的 agent」,不是對抗惡意行程。
Hermes 的指令可以跑在 local、ssh、docker、singularity、modal、daytona、vercel_sandbox 七種後端。關鍵取捨不是效能而是審批:local 與 ssh 會做危險指令檢查,其餘五種一律跳過,因為官方把容器/沙箱本身當成邊界。另外 Docker 預設是「一個長壽容器跨 session 共用」,不是每次對話一個乾淨環境。
Tool Gateway 把 Hermes 的網頁搜尋(Firecrawl)、圖像生成(FAL 九個模型)、TTS(OpenAI)與雲端瀏覽器(Browser Use)四類工具改走 Nous 的基礎設施,用一次 OAuth 取代四個帳號。它是 per-tool 開關而非全有全無,`use_gateway: true` 會蓋過你 `.env` 裡的直連金鑰——這是最容易搞混的優先序。
接上一堆 MCP server 之後,工具 schema 本身就會吃掉大半 context——官方舉的極端例子是 Cloudflare 單一 server 約 3,300 個工具、光名稱就 32K token。Hermes 的解法是 Tool Search:把 MCP 與非核心 plugin 工具換成三個橋接工具,schema 按需載入,核心工具永不延後。另外 plugin 預設全部停用,要在 `plugins.enabled` 逐一點名才會跑。
AB-100 是微軟 agent 線的架構師版,三塊權重 25-30 / 25-30 / 40-45,重心在部署與治理。它的 outline 幾乎全是 design、recommend、propose 這類動詞——考的是情境判斷而不是實作。三個要先知道的:官方考試頁的簡介段落是錯的(寫成資訊保護與 DLP 的樣板文,我逐字驗過),準備要以 study guide 為準;它有免費練習測驗,是微軟三張 agent 證照裡唯一有的;官方列了 15 張可用的 associate 證照但沒有一張是必要條件。官方規格:$165、僅英文、及格 700、效期一年。
AB-620 是微軟 agent 認證線裡的低程式碼那條——考的是 Copilot Studio 上的 agent flows、adaptive cards、computer use、MCP tools、A2A 與 Fabric data agent,不是寫 Python。三塊權重 30-35 / 40-45 / 20-25,最重的是整合與擴充。官方規格:$165、120 分鐘、及格 700、效期一年、13 種語言含繁體中文,是微軟三張 agent 證照裡唯一有在地化的。已經 GA,但練習測驗還沒開放。
AI-103 取代 2026 年 6 月 30 日退場的 AI-102,考綱完全重寫成 Microsoft Foundry 體系——prompt flow、Azure AI Studio、Azure OpenAI Service、Azure AI Agent Service 這些名詞在目標裡一個都沒有。五塊技能權重 25-30 / 30-35 / 10-15 / 10-15 / 10-15,生成式與 agent 佔最大宗。官方規格:$165、120 分鐘、及格 700、有繁體中文、含互動題型,而且效期只有一年——但續期是免費、開書、非監考的線上評量。
AI-500 是主流雲端業者裡少見的多 agent 系統專家級認證,四塊權重 15-20 / 30-35 / 20-25 / 20-25,官方點名 Agent Framework、LangGraph、Hugging Face Transformers、MCP server 架在 Azure Functions / Logic Apps / API Management、A2A、Key Vault、AI Red Teaming Agent。但它現在有三個限制要先知道:仍是 beta(成績要等重新計分)、必須先取得 AI-103 才能考、而且官方學習路徑尚未上線——考試頁列的四條路徑網址目前全部 404,講師課要等 2026/9/30。
微軟 AI-500、AB-620、AB-100、NVIDIA NCP-AAI、Claude CCAR-F 這五張證照都考多 agent 架構,交集是七件事:編排拓樸、A2A 與 MCP、每個 agent 的身分邊界、三層記憶、可觀測性與 agent replay、人在迴圈、四個介入點的 guardrail。但同一件事四家用四個名字,而且各自有無法互相轉移的獨有考點——微軟命名了四種 context window 失效模式、NVIDIA 有 7% 綁死自家 NeMo 與 NIM、Claude 考 stop_reason 這種 SDK 層細節。另外修一個常見誤解:Google PMLE 滿篇「Agent Platform」是 Vertex AI 改名,不是多 agent 考點。
純圖片理解已經打平:MMMU-Pro 上四家前沿模型全部過 80%,差距在 3 分內。真正分勝負的是影片、長文件 OCR、即時語音這幾條軸線,各有不同的領先者。但整理這些排名時最該學的一課,是兩份都算可信的來源對同一個 Video-MME 給出的榜首可以差超過 10 分,而且不是同一家。七月與八月又各換過一輪。
NCA-GENL 是職缺點名「NVIDIA Generative AI / LLM 相關認證」時最常指的那張。但官方 blueprint 的權重跟名字落差很大——Core Machine Learning and AI Knowledge 30%、Software Development 24%、Experimentation 22%、Data Analysis 14%、Trustworthy AI 10%,LLM 與 RAG 的內容散在條目層而不是自成一塊,spaCy、NumPy、Keras、cross validation 都在考。另一個要先知道的:NVIDIA 官方備考課程全部要付費($30 到 $500),是本系列唯一沒有免費官方學習路徑的廠商。官方規格:$125、1 小時、50–60 題、效期兩年、僅英文、pass/fail 不給分數。
NCA-GENM 與 NCA-GENL 同價同時長同級別,但重心完全不同:Experimentation 升到 25%(最重),Core ML 從 30% 降到 20%,並多出 Multimodal Data 15% 與 Performance Optimization 10% 兩塊。內容上考 U-Net、CLIP、擴散模型、多模態損失函數、attention map,以及 Riva/NeMo/Triton/ACE 這幾個 NVIDIA SDK。要注意成本結構:官方建議的五門課裡有兩門只有 $500 的講師版、沒有自學選項——純自學路線先天蓋不滿。官方規格:$125、1 小時、50–60 題、效期兩年、僅英文。
NCP-AAI 是 NVIDIA 的 agentic AI 專業級認證,$200、120 分鐘、60–70 題、效期兩年。但兩件事要先知道:一、官方頁面的 Register 按鈕旁標著「Coming soon」,現在還不能報名;二、官方網頁與官方 PDF study guide 的權重表互相矛盾——Deployment and Scaling 網頁寫 13%、PDF 寫 5%,Run/Monitor/Maintain 網頁寫 5%、PDF 寫 7%,而且兩版加總分別只有 98% 與 92%。兩份都是 nvidia.com。文章把它標成範圍與不確定性,不挑一個當事實。
NCP-GENL 是 NVIDIA 的 LLM 專業級認證,$200、120 分鐘、60–70 題。它跟其他 GenAI 證照最大的差別在重心:Model Optimization 17% 加 GPU Acceleration 14% 合計 31%,考的是量化、蒸餾、剪枝、分散式平行與 CUDA profiling,不是接 API。兩個要先知道的:官方頁面的 Register 標著 Coming soon,還不能報名;而且同一頁的權重表有兩格描述文字是壞的——Fine-Tuning 那格寫的是 OpenUSD 的資料交換,Model Optimization 那格寫的是部署內容,兩處我都逐字驗過,正確描述在官方 PDF 裡。
多數人以為 GenAI 證照的主軸是 prompt 寫作,但 CCAO-F 的 Prompting 只有 14%,輸出評估卻有 21%;CCDV-F 的 Prompt and Context Engineering 只有 11%。真正被考的是結構化輸出、防禦性 prompt、動態 context 注入、context 壓縮與快取、prompt 生命週期治理,以及「prompt 改了怎麼證明變好」——這六件事比較接近 context engineering 與軟體工程,而不是寫作技巧。另外沒有任何一張要你現場寫 prompt,全是選擇題,所以練「說得出為什麼」比練手感有用。最該記住的一條來自 CCAR-F:業務邏輯必須被保證時,「先改 prompt」通常是錯誤選項。
真正把 RAG 與檢索評估當考點的是四張:AWS AIF-C01(第 2、3 章合計 52%,RAG、向量儲存、FM 評估指標全在裡面)、AWS AIP-C01(第 1 章 31% 裡有 11 個技能點落在向量儲存與 RAG)、NVIDIA NCP-AAI(Knowledge Integration 10% + Evaluation and Tuning 13%)、微軟 AI-500(Develop 30–35% 裡的「多 agent RAG 架構」)。Google PMLE 只貢獻一條 LLM-as-a-judge,而 Claude CCDV-F——那張大家最容易假設它考 RAG 的開發者證照——八個領域裡一條檢索考點都沒有,Eval 只佔 2.6%。附 AIF 與 AIP 的同廠雙級別對照、四家名詞對照表、獨有考點清單與練習專案。
OpenClaw 386k star、Hermes Agent 232k,但 OpenRouter 上 Hermes 的日 token 量在 2026-05-10 就反超了(224B vs 186B)。這半年冒出來的九個自架 agent 不是九個競品,是對同一題的九種答案:agent 的執行邊界該畫在哪。CVE-2026-44112 打穿的是 OpenClaw 的沙箱本身,而 Meta 對齊主管那次刪信事故裡連攻擊者都沒有——安全指令是被 context 壓縮吃掉的。
Workers AI 目錄目前 84 個模型。通用對話選 glm-4.7-flash($0.06 / $0.40 per M、131K context),要 vision 選 gemma-4-26b-a4b-it($0.10 / $0.30、256K),極省成本選 granite-4.0-h-micro($0.017 / $0.112),embedding 選 qwen3-embedding-0.6b 或 bge-m3(同為 $0.012 per M)。這篇會定期跟著官方目錄更新。
海外刷卡 1.5% = 國際組織 1% + 發卡行 0.5%,雙幣卡照收。台銀韓元只有現鈔匯率、來回價差 15.7%,日圓即期只有 2.45%——所以日圓值得開外幣帳戶,韓元不值得。
微軟員工開源的 VS Code extension,讀本機 Claude Code / Codex / OpenCode 的 session log。真正的內容物是 45 條 Markdown 規則:prompt 短於 30 字元、收到 20 行 AI 程式碼後 15 秒內就送下一則、instructions 檔超過 4000 bytes——把「context engineering」翻成可以爭論的數字。
課程把指揮 agent 的工具列成四件:指示檔、hooks、commands、subagents。指示檔是唯一每次開機都全額進 context 的,所以它是 config 不是 memory;hooks 補上「規則會被忽略、hook 不會」那一塊;commands 是四件裡唯一由人主動觸發的。課程另給一張表,把軟體任務七步驟裡只剩一步半標成人的工作。
CS146S 第一週的講題是「用 200 行寫出 Claude Code」加上「解剖 production agent 的 system prompt」。agent loop 本身確實只有十幾行。課程投影片最後一頁列了四條 Claude 底下實際在做的事,其中一條是用 `<system-reminder>` 標籤在各處防止模型漂掉——這在官方文件裡找不到。
Factory 把「repo 夠不夠格讓 agent 動」拆成八根柱子、五個等級,並公開了實測分數:CockroachDB L4(74%)、FastAPI L3(53%)、Express L2(28%)。核心論點是 agent readiness ≈ codebase 裡確定性驗證迴圈的密度——linter、type checker、測試,這些對 agent 來說是獎勵訊號。
課程量到的 AI SAST 誤報率是 50–100%,而傳統 SAST 本來也有 50% 以上——真正的新問題是非決定性:同一個 prompt 跑兩次結果不同,你無法回答「掃完了沒有」。課程列的 agent 攻擊向量有五種,其中 intent breaking 攻擊的是 agent 的計畫本身。
Agent Skills 的規格小到一句話講得完:一個含 SKILL.md 的資料夾。真正的設計在三層 progressive disclosure——開機只載 name 與 description,命中才讀全文,需要才展開附檔。本站自己的 repo 有 35 個 skill、7,893 行 SKILL.md,開機成本仍然只有那 35 組 metadata。
Google 的 AutoCommenter 部署到數萬名工程師身上,論文寫出了整條調校過程:把 17 條「技術上正確但沒價值」的規則停掉,有用率從 54% 升到 66%,目標訂在 80% 才准進下一階段。最後的留言解決率約 40%。AI code review 的瓶頸從來不是抓不到,是抓太多。
個人怎麼接工具是偏好問題,組織怎麼接是治理問題——誰能碰什麼資料、金鑰放哪、成本算誰的。Anthropic 自己公布的十個團隊使用紀錄裡有個好指標:安全工程團隊佔了整個 monorepo 自訂 slash command 的 50%。採用不是均勻擴散的,它先在會自己造工具的團隊裡起飛。
背景 agent 把「你盯著它跑」換成「它自己跑完開 PR」。三家的做法收斂到同一組零件:隔離環境、外部觸發(issue、Slack、Linear)、產出是 PR。真正的新問題是你變成瓶頸——五個 agent 同時跑完,五份 diff 排隊等你讀,而它們互相不知道彼此存在。
Fall 2026 把整整一週的 prompting 壓成這週的一節,換上 RePPIT(Research、Propose、Plan、Implement、Test)與 MCP。RePPIT 的兩條硬規則最值得抄:propose 一定要兩個方案、寫 code 的那個 instance 不准 review 自己的 code。MCP 那邊 Anthropic 量到把工具改成程式碼呼叫可以把 150,000 tokens 壓到 2,000。
Stanford CS146S 的 Fall 2026 大綱把 prompting 從整整一週壓成一節,砍掉終端機與 UI 生成兩週,換上 Agent Skills、Agent-Ready Codebases、Background Agents、AI-Native Team。評分也動了:Final Project 從 80% 降到 50%,多出 30% 的 open source 貢獻。這個系列照十週逐篇讀。
最後一週的講題是「self-running, self-improving software systems」。前九週的零件其實都出現過:確定性驗證迴圈、可寫回的 skill、背景 agent、集中治理。課程投影片有個容易被忽略的比例——寫程式只佔工程時間的 30%,另外 70% 是把它跑在 production 上。
研究者一開始以為神經網路好騙是因為非線性,結果錯了——Goodfellow 2014 那篇論文主張主因是它們的線性本質,而高維度讓每個微小擾動複利累積。後半場講生成模型:GAN 的三個病,以及 diffusion 為什麼靠「加噪再學會去噪」繞開了其中兩個。
BCG 的實驗發現一條「鋸齒狀邊界」:邊界內 AI 大幅提升顧問表現,邊界外 AI 讓結果更差,而人們會在方向盤上睡著。這一講也給了一個很有立場的判斷——盡可能避開 fine-tuning,因為等你調完,下一代模型已經打敗你 fine-tune 過的版本了。
Andrew Ng 用 deep researcher 當例子示範 error analysis:列是 pipeline 的每個步驟,行是 10 到 100 個查詢,只看表現不好的那些,逐格標記哪裡壞掉。百分比不需要加起來等於 100%。他說這要花三四個小時,但省下的是幾週走錯方向的時間——而真的會去做的人的比例遠低於 100%。
圍棋不能用監督式學習的第三個理由最有意思:ground truth 本身就沒有良好定義——最強的人類不是每天下出最好的棋,而他最好的棋也不是最優解。這一講的最後 20 分鐘把 RLHF 完整放回 RL 的框架:agent 是被微調的模型、action 是下一個 token、一個 episode 是一次完整生成,而且獎勵極度稀疏。
Andrew Ng 用人臉辨識開門系統走完整個專案生命週期,而全講只有一個核心論點:速度。他給團隊的期限是兩天,理由是「花在準備資料的時間,應該和訓練一次模型的時間相稱」。最後收在一句話:我的工作是做出一個真的能用的東西,那和做出一個在測試集上能用的東西不一樣。
CS230 第二講用三個案例研究推導出 embedding:日夜分類教你怎麼用人當 proxy 決定解析度,喚醒詞偵測教你三小時生出上百萬筆訓練資料,人臉驗證教你設計出第一個 loss function。最後從監督式 triplet 走到自監督 pairs——那一步才是現代模型能吃下數十億張未標註影像的原因。
問模型「你心目中的鵝長什麼樣」,它畫出一大群鵝——因為標註資料把一群鵝標成 goose,它以為整群才是那個標籤。這一講給了七種打開 CNN 看內部的方法,然後誠實地說:這套方法到 transformer 上,最前沿的研究也只解釋得了兩層。
CS230 第一講是課程總覽,但 Andrew Ng 花最多時間講的是三件事:為什麼 scaling 有效、什麼時候 prompt 就不夠用了、以及他認為「不要學寫程式」是史上最糟的職涯建議之一。
用 4 份台大碩班掃描考古題實測 10 種開源 PDF 解析工具。VLM 類(Firecrawl、MinerU 3.4、Marker v2)在公式和程式碼上全面碾壓傳統 OCR,但安裝踩坑才是真正的門檻——MinerU 舊包名會進依賴地獄、Marker 首次模型下載要 10 分鐘、PaddleOCR 缺引擎。實務推薦兩階段策略:RapidOCR 粗篩 + MinerU/Firecrawl 精查。
一個菁英等級的工程師投了 300 多份工作全部失敗,原因是求職手冊教他「站穩立場、要有骨氣」,而他詮釋成強硬。面試官的判斷是:這人就是那個 10x 工程師,但我不想讓他靠近我的團隊。這一講也給了 vibe coding 最好的判準——技術債。
2026-08-13 的發布新增 363,246 行,首次公開 For You 的排序權重:favorite 0.5、reply 5.0、report −234.0。但權重是常數,真正決定順序的 P(action) 來自一個 2560 維、8 層的 transformer。
Chroma 測了 18 個前沿模型,全部隨輸入變長而跳崖式退化。記憶失效多半是檢索失效偽裝的。而 KV cache 的真正成本是頻寬不是儲存——decoding 每產生一個 token 都要讀過整個 cache。
2025-11 三大實驗室聯手把先前提出的 12 種 prompt injection 防禦全部攻破。EchoLeak 的 payload 通過了微軟自己的專用分類器。所以目標不是擋住每次攻擊,是攻擊成功時活下來——而這只能在 harness 做。
workflow 與 agent 的分界是「步數由誰決定」——開發者在設計時決定是 workflow,模型在執行時決定是 agent。依這個定義,今天大多數上線的 LLM 系統其實是 workflow。附 agent / RAG / MCP 的可操作判準。
Salesforce 從兩萬個部署得到的數字:agent 有 90% 的工作發生在上線之後,跟傳統軟體剛好相反。Stripe 每週合併 1,300 個零人類手寫的 PR,靠的是環境而不是模型。附六家公司的橫向比對。
MCP 管 agent ↔ 工具,A2A 管 agent ↔ agent,Skills 管可重複使用的知識。判準是資料會不會變:呼叫之間會變就要 MCP,穩定到可以寫下來就用 skill 檔案——後者不需要一個會獨立失敗的 runtime。
Microsoft、OpenAI、Salesforce、Stripe 等七個獨立案例講出同一句話:可靠性來自模型周圍的工程。而「把確定性的部分還給程式碼」已經被四家公司各自做成產品——Agent Script、Procedures、runtime、blueprints。
Standard RAG 取錯 chunk 就答錯,而且沒有任何機制會發現。Agentic RAG 補上自我檢查,但代價是 evaluator paradox——自我修正能力的上限,就是那個做評估的 LLM 判斷相關性的能力。
立法院三份預算評估報告的一手清單:108 年度到 112 年 8 月底,台灣機場因無人機關場 23 次,而每一列的處理方式欄都是同一句「會同航警局查處」。民航法第 99 條之 13 第 6 項給機場的動詞是「取締」,不是「制止或排除」,但 113 年度報告已寫各機場均購置手持式干擾器。
民航法第 99 條之 13 第 3、4 項寫的是「政府機關(構)、學校或法人」,但唯一讓場地方「制止或排除」的第 7 項但書只寫「政府機關(構)」——台電、中油、晶圓廠都是法人。它們剩下的路徑是請縣市政府公告禁限區再「取締」,罰則從最低 30 萬掉成最高 30 萬;而輸入干擾器要的「關鍵基礎設施提供者」身分,是靠收到一封信知道的。
八個警察局成立無人機隊,飛的法源很清楚——民航法第 99 條之 16 第 2 項給政府機關執行法定職務的操作豁免。但那是飛安豁免:台北市法規會的法律鑑定意見寫明它「恐無法作為以無人機空拍方式實施行政調查時之法律基礎」,而 2024 年三讀的刑訴特殊強制處分專章授權了 GPS、M 化車與隱私空間攝錄,空中調查一條都沒有。
中央法規裡「無人機」出現在 19 部,「反制無人機」只出現在 1 部,而那一部是採購特別條例。六個場域被授權「制止或排除」侵入的無人機,但沒有一條說可以用什麼手段——民航法第 99 條之 13 只寫「採取適當措施」,而警械公告的 31 項裡有迫擊砲、沒有干擾槍,電信管理法第 67 條第 1 項也沒有任何公務除外規定。
ArduPilot 的 ModeReason 列舉就是「機上自主決策」的完整清單:56 個值裡 43 個是飛機自己決定的,其中 21 個是偵測到危險,而只有 SOARING_THERMAL_DETECTED 一項是因為發現機會。至於 end-to-end,PX4 主線那個 mc_nn_control 的 tensor arena 只有 10 KB、Kconfig 預設 n,ArduPilot 主線一個都沒有。
熱像儀的價格跳著漲,是因為美國 CCL 6A003.b.4.b 把管制切在焦平面 111,000 個元素上:384×288 差 408 個像素過關,640×512 超過三倍,中間沒有常見規格,而 Boson 640 的定價是 320 版的 2.04–2.31 倍。至於 Note 3.b 那條豁免,限制的不是解析度是焦距——你可以有熱像儀,但不能有望遠的熱像儀。
量產爬坡的公開證據不在工廠,在政府電子採購網:消防署 88 組熱顯像無人機的案子中央統一定價,六個消防局第一次招標無人投標,我拉到的七件決標金額全部等於預算、一毛沒殺,投標池大約六家公司。但補做的雲梯車對照組(流標/決標 0.54,高於無人機的 0.33)推翻了本文原本的第一條結論——流標是台灣消防裝備採購的常態。
把 Skybrush 那套開源燈光秀韌體 9,199 行搜遍 neighbour、collision、swarm,沒有任何一架飛機知道別架的存在——兩百架之間同步的全部內容,是一個 GPS 週內秒加一個毫秒偏移,防撞是在地面的編排軟體裡算完的。而資安檢測規範第 7 章那個群飛專章,十二個項目的「遙控無人機」欄從頭到尾都是「-」,測的是交換器與路由器。
讀完整份規範有三件事跟直覺不一樣:必測的七項裡無人機本體只佔三項,其餘全落在地面控制站;通訊安全那一關「不加密」也可以通過,只要在使用手冊或包裝外盒說明原因或風險,規範要的是揭露不是加密;而真正在測韌性的五項——定位欺騙、定位干擾、通訊失效、韌體已知漏洞、APP 標章——全部在選測的第 8 章。
同一台 5 公斤機、同一顆 2 公斤電池,多旋翼懸停要 512 W 飛 41 分鐘,定翼機巡航只要 128 W 飛 164 分鐘、航程 197 公里,而且那個航程跟巡航速度無關。VTOL 的代價不是轉換時燒掉的能量(只佔 2.4%),是它必須同時揹旋翼和機翼,吃掉約四分之一航程;台灣這條階梯從 40 分鐘的電動多旋翼一路到 6 小時的內燃機直升機。
懸停功率跟起飛重量的 1.5 次方成正比,電池能量只跟重量的一次方成正比——這一個指數差讓加電池的報酬遞減得非常快,而最佳電池比例解出來是起飛重量的三分之二,跟槳徑、旋翼數、效率、能量密度全部無關。真正壓住續航的不是法規重量門檻是酬載:要飛 60 分鐘需要 314 Wh/kg 的電芯,今天最好的高倍率芯是 242 Wh/kg。
ExpressLRS 的跳頻順序由一句綁定口令經 MD5 推出 UID、再餵給一個線性同餘產生器算出來,完全可複現(我移植成 Python 跟原始 C 碼逐位元對過),而鏈路本身沒有任何加密,只有 14 bit CRC。台灣 LP0002 又讓頻道數變成功率上限:2.4 GHz 跳頻用滿 75 個頻道可以發 1 W,不足只能發 0.125 W。
類比 FPV 圖傳在台灣有兩個獨立的問題:LP0002 給 5.8 GHz 的窗口只有 125 MHz,而市售頻道表橫跨 300 MHz,四十個經典頻道把發射寬度算進去只剩十八個落在窗口內。更硬的是 §4.10.1.1 對 5.8 GHz 只寫「採用跳頻之發射器材」,而類比圖傳固定頻率不跳頻——它不是違反哪一條,是這份規範裡沒有一條長成它的樣子。
在 SITL 裡把無人機飛到 28 公尺,再打開模擬器內建的 GPS 干擾,約 7 秒後飛控自己宣告 EKF 失效、切成 LAND、降落上鎖——它沒有飛走,也沒有墜毀。而讀 PX4 原始碼會發現 EKF2_GPS_CHECK 的 12 道閘門裡,第 11 位的「干擾」偵測預設是關的:估計器自己就抓得到干擾,詐騙卻只能靠接收機告訴它。
把兩套都 clone 下來各 build 一次之後,有三件事跟原本的認知不一樣:ArduPilot 的 EKF3 檔頭直接寫著推導來自 PX4/ecl,兩套在最難的那一層是同源的;PX4 近一年的提交來自公司網域(Auterion 一家 380 筆),ArduPilot 來自個人信箱且一個人佔 37%;而真正決定選哪個的不是效能,是 BSD-3 vs GPLv3 與你要改的是哪一層。
我原本把「軍用商規標案毛利多少、現金週期多長」列成非訪談不可的問題。翻開公開財報才發現答案在那裡,而且更精確:毛利率 35–39%,落在硬體業的正常區間;但營業費用吃光了它,最近三季的營業利益連續為負,帳面獲利來自業外。真正的關鍵在存貨——約 385 天的存貨天數,撐出接近 377 天的現金轉換循環。這門生意的錢不是卡在毛利,是卡在存貨。
2022 年交通部發了一篇標題叫「刪除艱澀考題,題庫全數公開」的新聞稿,把 1,420 題全部放上網——普通 388 題、專業 588 題、屆期換證 324 題、簡易換證 120 題。理由寫得很坦白:考生反映太難。而公開後的題庫本身變成了一份政策文本:四個科目裡,氣象整套搬了有人機的航空氣象學,飛行原理大量是定翼機空氣動力學,但大多數人飛的是多旋翼。
民航法的無人機專章管的是飛行安全,不是被飛的人——這不是我的評論,是立法院法制局 2020 年研析報告自己寫的:專章「對於與民眾關係最重要的隱私權管理並未具體規範」。所以隱私只能回頭靠刑法第 315 條之 1 與個資法,而實際判決顯示那套接得上一部分:對著湯屋拍會被起訴、舉手機窺視窗內判四個月。接不上的是取證——法制局的原話是「當受害者發現它時,它可能已經無影無蹤」。
農噴是無人機所有應用裡唯一單位經濟完全透明的一塊:計價單位是分地、費率 150–300 元、噴一分地約兩分鐘、設備 30–50 萬,連替代方案(人工每分地約 200 元)的價格都是公開的。而正因為人人算得出來,人人都進來了——2018 年進場的飛手一年噴上千公頃、收入破百萬;後來進場的有人兩三年只能打平然後轉行。合法飛手一分地 300 元,黑飛壓到 150 元。這是產業週期史的微型版本,只花了六年。
我原本以為巡檢跟物流一樣被視距外法規卡住。查完發現不是:橋檢、電塔、高鐵橋全都在跑,而且數字很硬——公路局一座橋從 8 人 4 車 2 天變成 5 人 1 車半天且免交通管制、成本降到六成;高鐵人力一天最多巡 700 公尺,換無人機省 3 到 5 倍;嘉惠電力降 3/4 人力、5 成成本且無須斷電。原因是這些巡檢都是分段、定點的,視距內就能做完。真正卡在 BVLOS 的是長距離連續航線,不是「所有巡檢」。
我以為台灣沒有真正的無人機物流商業案例,因為沒有 BVLOS 框架。錯了:民航局核准過 10 案、累計 24 條飛行廊道,運研所從 2020 年起走完 PoC → PoS → PoB 三階段,2025 年進入商業營運驗證。它繞開的方式跟巡檢正好相反——巡檢是把作業切小到視距內,物流是一條一條廊道逐案核准。而它的價值也不是比船便宜:小琉球颱風停航那幾天,無人機十幾分鐘飛到,那是船不開時唯一還能動的東西。
農噴每分地 150–300 元,算得清清楚楚;救災沒有這個數字,因為救回一條命沒有標價。這個差別決定了兩件事:一、規格由地形定義而非性能定義——消防署那批機的關鍵特徵是「不依賴 GPS」,因為山區會斷訊、樹林要穿梭;二、當立法院提案減列預算時,內政部只能拿今年六月馬太鞍溪救回一個人當論據。用個案辯護預算是脆弱的,但這個應用沒有更好的武器。
電戰反制有一個根本限制:它需要有訊號才能攻擊。光纖導引不發射無線電、衛星通訊繞過地面干擾器、AI 終端導引在最後一段完全不需要鏈路——三種手段正在系統性地讓干擾失效,所以重心從軟殺移向攔截。而台灣的難題還多一層:監察院的調查報告記錄了國防部在兩個月內把無人機應處 SOP 改了三次,從「可擊落」改成「只能射信號彈、第一擊須經部長授權」,再改回「7.62mm 以下輕兵器擊落」。那不是技術問題。
台灣進入運安會統計的無人機重大事故只有 4 件,但那是因為門檻是「逾 25 公斤遭受實質損害」——一般玩家炸機根本不進統計。公開的兩份調查報告是同一款機、同一家製造商、同一個機關,而且兩次的可能原因都是硬體失效:一次是主旋翼伺服器電系,一次是尾旋翼變距連桿斷裂。兩次都與飛控電腦和操作人無關。
規格表上最重要的三行,正好是規格表最不會寫的三行。數發部會銜交通部的《遙控無人機資安檢測規範》定義「系列產品」時寫得很白:飛控、通訊及衛星定位晶片之模組均為相同者——法規認定兩台無人機是不是同一台,看的是這三個模組,不是外觀或續航。而重量欄位也不是行銷數字,250 公克、1 公斤、2 公斤、15 公斤、25 公斤各是一道不同的法律門檻。
2026 年工程師能報名的 AI 證照逐張列出:AWS 三張(AIP-C01 / MLA-C01 / AIF-C01)、Google PMLE、微軟 AI-103 與 AI-500、NVIDIA 目錄十二張、Databricks、Snowflake、Oracle Agentic AI、IBM watsonx、Salesforce Agentforce、GitHub GH-300、Anthropic Claude 四張、iPAS AI 應用規劃師初中級,另有 IAPP AIGP 與 ISACA AAISM / AAIA 這條治理稽核線,價格、效期、報考門檻全部對照官方頁面。兩個會影響荷包的重點:Google PMLE 的考試大綱已把 Vertex AI 全面改名為 Gemini Enterprise Agent Platform,2026 年年中以前的教材等同作廢;iPAS 中級證書效期是 5 年而非永久。
Firecrawl 開源的 Rust 轉檔函式庫,14 種辦公格式(含 .doc / .ppt / .xls 老格式)統一轉 GFM,中位耗時 4.7ms,同樣計時條件下比 Docling 快 109 倍。代價是完全不碰 OCR。
掃描件與複雜版面只能靠模型推斷結構。但 MinerU、Marker、Docling 的技術差距遠小於授權差距——MinerU 過 $20M 月營收要另談授權、Marker 的模型權重過門檻要付費、只有 Docling 是乾淨的 MIT。選型先看 LICENSE,再看 benchmark。
把文件餵給 LLM 之前,最常見的錯誤不是選錯工具,是選錯層。結構已經在檔案裡的用轉換層(毫秒級),有文字沒結構的用抽取層,連文字都要推斷的才用解析層——anydoc 的 4.7ms 到 Docling 的 513.6ms 差 109 倍,多數人卻直接跳最貴的那層。
數位原生 PDF 的文字是讀得到的,缺的只是結構。PyMuPDF、pdfplumber、pypdf、Tika 這一層用啟發式規則就能還原段落與表格,零 GPU、零推論成本。最大的選型陷阱不是準確度,是 PyMuPDF 的 AGPL-3.0 授權。
把無人機的職缺放回產業鏈五層來看:第 2 層是機械電機的地盤,第 3 層(飛控韌體、感測融合、射頻、邊緣 AI)才是軟體人真正的入口,也正好是台灣最缺的一層。但先看規模——全台 267 家業者、2025 年產值 129 億元,職缺總量比新聞熱度小得多。
TEDIBOA 會員從創始 50 家長到逾 260 家,但自 2025 年 7 月 1 日起,加入前必須先是「國防產業發展協會」正式會員——這是第一道實際門檻。產創平台補助上限為全案 50%、同一企業同期最多 3 案、最長 3 年,且明訂禁用紅色供應鏈零組件並須通過資安聯合驗測。這篇只寫公開文件寫得出來的機制。
PX4 官方架構文件自己寫著:機載電腦跑 Linux,因為「Linux 是比 NuttX 好得多的一般軟體開發平台,Linux 開發者多得多」。那句話就是軟體人的入口。三條遷移路徑的摩擦力差很多——機載電腦上的 CV 與 MAVLink 應用幾乎直接遷移,飛控韌體要補 RTOS 與 work queue 限制,估測與控制要補四元數與卡爾曼濾波。
台灣沒有「無人機系」。體系核心是虎尾科技大學飛機工程系——教育部補助 9,000 萬元在嘉義亞創中心設培育基地,是全台 18 座區域型基地中唯一設在產業園區的,另斥資 5,000 萬元建含大型低速風洞的實驗室。而 2026 總統盃競賽的三個題目(邊緣運算 AI 辨識、高精度定位、GNSS 拒止自主導航)幾乎就是產業缺口的鏡子。
台灣無人機的公部門錢分三筆:442 億元統籌型計畫(研發補助,已核定)、2,100 億元國防自主無人載具採購特別條例(採購,卡在黨團協商),以及各部會年度公務預算(2026 年度逾 72 億元)。最大那筆的期程原訂 2026 年 8 月 1 日起算,但 7 月 27 日逐條審查後全數條文保留——原訂起算日過了,錢還沒開始撥。而政院版只買三個品項。
把「供應鏈關鍵節點/結構性需求/高替換成本/法人長期持有」這把尺拿來量無人機板塊:台灣目前站在可替代性最高的第 2 層、八成需求來自公部門預算而非終端行為、只有「認證造成的替換成本」這一條真正成立。陸軍 9.8 億元反制系統標案三度驗收不合格、全額解約、沒收約 9,878 萬元保證金,是「得標不等於營收」最貴的一堂課。
學習全面數位化之後,實體仍有明確效果的地方有三個:閱讀(紙勝螢幕 g ≈ −0.21,17 萬人樣本,需要捲動時擴大到 0.35–0.48)、作答時動筆(螢幕上題目越難反而越少用草稿紙)、畫圖(回憶率 45% 對比抄寫 20%)。反倒是最多人相信的「手寫筆記比較好記」,四份統合分析從 −0.008 到 +0.248 沒有共識。
普通操作證只考學科,總規費 450 元(學科 200 + 證照 250);專業基本級要加術科與體檢,總規費 1,900 元。專業證採逐級報考,不能跳級,拿到最高級距要一年半到兩年。高級 G1/G2/G3 每組術科各收 1,200 元。規費數字以《管理規則》附件十七為準——網路上流傳的「術科 500 元」是錯的。
250 公克以上要註冊、註冊號碼效期 2 年;自然人 2 公斤以上未達 15 公斤且有導航設備才需要普通操作證;操作證效期已經是 3 年不是 2 年,學習操作證年齡已下修到 14 歲不是 16 歲。這篇只寫全國法規資料庫的現行條文,並標出網路懶人包最常見的三個過時說法。
硬體毛利 35–55% 且長期被 DJI 壓價,自主軟體與 DaaS 訂閱毛利 60–80% 且會重複發生。Skydio 2023 年軟體訂閱已占營收約 30%、整體毛利率 38%;印度 Garuda 的 DaaS 在 FY24 占營收 62%,現金循環天數 351 天,遠優於國防為主的同業 597 天。台灣目前幾乎全押在毛利最低、可替代性最高的那一格。
歐盟自 2020 年底起就有可行路徑——Specific 類別憑風險評估取得營運授權,加上 U-space 法規 (EU) 2021/664 逐步部署。美國的 Part 108 到 2026 年 7 月仍在 OIRA 審查、尚未發布。台灣則連框架都還沒有:《管理規則》給的是「延伸視距飛航」(900 公尺、400 呎、要目視觀察員),真正的視距外只能靠法人逐案申請、許可效期 3 個月。
2016 年那波消費級無人機泡沫留下明確殘骸:3D Robotics 停產硬體、GoPro Karma 上市六週召回全部 2,500 台並裁員 15%、Parrot 砍掉 35% 無人機人力、Lily Robotics 收了 3,400 萬美元預購後倒閉。2023 年連募了 5.7 億美元的 Skydio 都退出消費市場——而三年後它的估值來到 44 億美元。這次的引擎完全換了人——但有三件事跟上次一模一樣。
全球無人機市場 2026 年約 690 億美元(IDTechEx),中國掌握約 80% 市場(CSIS)、DJI 占多旋翼七成以上。美國 FCC 在 2025 年 12 月把所有外國製無人機列入 Covered List;台灣產值一年從 50 億元跳到 129 億元,2026 Q1 出口就超過 2025 全年。這篇拆解產業鏈五層、四大需求板塊,以及卡住規模化的兩個天花板。
Northeastern 實測 17,260 個 Android app,零個啟動麥克風。2026-05 FTC 更認定號稱在「偷聽」的 Cox Media Group 根本沒蒐集語音,賣的是資料掮客的二手 email 名單,三家合計罰 93 萬美元。真正的管線是站外事件回流、相似受眾外溢、通訊錄社交圖與位置掮客。
經濟部盤點的 267 家業者,北部就占 164 家。但地理分布不等於產業分工——雷虎公開的自製清單顯示,馬達、電池、機架、螺旋槳留在台灣,飛控、通訊與 GPS、鏡頭三個模組選擇跟歐美日大廠合作。2025 年 129 億產值裡外銷只占 23%,財政部統計顯示出口值有 88.1% 集中在 2–7 公斤級距。這篇拆解層級、缺口與國際比例尺。
Koboyo 宣稱有近 9 萬個免費手繪 SVG(數字上下跳動:92,967 → 87,954 → 90,150),但 sitemap 只列得出約 17,930 個圖示頁,而且授權頁明文禁止拿去做圖示庫或畫布 app。想要手繪感其實有三條路:收圖庫、用程式把既有幾何弄歪(sketchyicons 把 Lucide 的每條直線轉成二次貝茲,用 icon 名稱當亂數種子確保 byte-for-byte 一致)、或 AI 生成。這篇比較七家圖庫的規模與授權、拆解 sketchyicons 與 tldraw 的生成演算法,並整理正在往 MCP 靠的圖示搜尋工具。
AI 教育界被引用最多的那篇 meta-analysis(g = 0.867、瀏覽近 50 萬次)已於 2026 年 4 月被 Nature 撤稿。但正向結論沒被推翻——問題是它測的是「AI 在手時的表現」。Bastani 的 PNAS RCT 測了另一件事:練習時用 GPT-4 正確率 +48%,收走後考試比從沒用過的低 17%。
Dunlosky 2013 評比 10 種學習技術,判定為高效用的只有自我測驗與分散練習;學生最愛的重讀落在低效用層。但 2026 年的系統性回顧把效果量壓到 0.22–0.46,而 Pan & Rickard 的遷移 meta 校正發表偏誤後「往往顯示零遷移」——整套框架的名字本身,是被測得最不好看的一塊。
「數位員工」不是技術,是計價與課責單位。Anthropic Project Vend 讓 Claude 真的開了三家店,發現最有效的介入不是換更強的模型,而是強迫走流程——官方原話是「我們重新發現了 bureaucracy matters」。Gartner 估計數千家自稱 agentic 的廠商中只約 130 家是真的。
圖生影片(I2V)在 2026 年的骨幹清一色是 latent diffusion + DiT,畫質已經不是選型軸;真正的軸是原生音訊、能不能自架、每秒多少錢。三個容易踩的坑:Sora 的 app 已在 4/26 關閉、API 9/24 關;Wan 2.7 被大量文章稱為 Apache 2.0 開源但一手來源查無權重;Veo 3.1 官方價是 $0.40/s 而非二手網站流傳的 $0.75/s。
做 3D 模型在 2026 年有四條路:AI 生成(Meshy-6 / Tripo / Rodin Gen-2.5 / 混元 3D)、手機掃描、Text-to-CAD、手工建模。選錯的代價很具體——AI 生成的 mesh 改不動尺寸、Rodin 的 STL 常需修補、Meshy 免費版的資產是公開的。這篇按「模型最後要拿去幹嘛」給選型建議,並附各家官網當前價格。
從 MarkItDown (175k stars, MIT) 到 curl_cffi (6k stars),整理 34 個「爬資料餵 AI」的開源工具。沿五條軸線分類:整站爬取、AI 瀏覽器代理、文件轉檔、智慧擷取、反偵測基建。選型關鍵不是哪個最好,是場景匹配。
2026/7/23 Uncle Bob 那則 418 萬瀏覽的貼文不是宣言,是回覆——回一位 1983 年入行的工程師問「我心理上就是需要看懂程式碼,是不是太老派」。而且他沒有完全不讀:6/1 那則四階段 pipeline 的原文寫著 I spot check the code,門檻是 crap ≤ 6(業界慣例 30)、mutation 要 kill all survivors。附開源的 Acceptance-Pipeline-Specification 拆解與 Grady Booch 點名的三個指標盲區。
濾杯形狀對風味的影響比研磨度更可被感知(SCA 研究 p=0.004)。錐形放大你的技巧(好壞都放大),平底/梯形壓縮波動。磨豆機 > 濾杯 > 注水技巧。兩個都買不衝突。
價值驗證的單位是假設不是點子。Kohavi 的資料顯示產業中位數只有 10% 的實驗會成功,這代表在 p<0.05 下約 22% 的「獲勝實驗」其實是假陽性;Sean Ellis 的 40% 門檻查不到任何公開資料集;AI 產品的留存要從 M3 而非 M0 起算,且 <$50/mo 的 GRR 只有 23%、>$250/mo 有 70%。
Product Builder 是能獨立跑完「發現問題→設計→建造」完整循環的人。跟 PM 最大的差別是:PM 靠權威影響團隊執行,Product Builder 靠能力直接產出可用產品。LinkedIn 已用 Associate Product Builder track 取代原本的 APM 計畫,PayFit 早在 2019 年就定義了這個角色。
2026 年 3D 生成的核心範式是「video diffusion → feed-forward 3D 重建」,Lyra 2.0 是這條線的代表作。但 CVPR 2026 的三篇 Best Paper 暗示下一波轉向:SAM 3D 帶來 foundation model 級別的物件重建、D4RT 用統一 transformer 數秒重建動態 4D、O-Voxel 用結構化 latent 取代 Gaussian。3DGS 仍是主流但正在被表面原語挑戰,pixel-space diffusion 正在反攻 latent-space。
十家平台的 feed 排序拆開來看,大家其實都在解同一道題:怎麼在「最新」「最好」「讓新內容被看見」之間取捨。而真正決定你該怎麼選的,不是演算法多聰明,而是你的內容是過剩還是稀缺——大平台的排序是為了濾掉內容,小社群卻是希望每一則都被看到。
把 OpenAI、Anthropic、Google 三家官方課程平台,加上 Stanford CS146S/CS336、Elements of AI、Hugging Face、MIT 6.S191、李宏毅等資源實際逐頁抓過一遍,按「不懂 AI / vibe coding / 讓它能上 production / 底層 AI」四層重排。另收 2026 年仍在更新的自學倉庫與免裝環境的互動式平台,並用「最後更新日期」篩掉星數很高但停在 2024 的名教材。結論:課幾乎全部免費,稀缺的不是課,是選課的判斷力;而第四層不會解決第三層的問題。
用 Threads、Dcard、PTT、方格子 2025 下半年到 2026 的討論證據,從生產力、人生設計、腦科學、心理、理財五個分類篩出 24 本還在被熱議的長青書。最強訊號:《Rewire—神經可塑性》擠進 2026 誠品、博客來上半年雙榜前三。
大部分團隊不需要五種資料庫。PostgreSQL 的擴充生態已經能覆蓋快取、佇列、全文搜尋、向量搜尋,但真正的判斷標準不是「能不能做」,而是「維運成本 vs 效能需求」的交叉點在哪裡。
HeyGen 開源的 HyperFrames 用 HTML data 屬性定義影片時間軸,headless Chrome 逐幀 seek 截圖再由 FFmpeg 編碼成 MP4。3 個月 33k stars,Apache 2.0,21 個 agent skills——AI agent 寫 HTML 就能產影片,不需要 React。
SRF 是小型元大台灣50ETF期貨,標的直接是 0050 這檔 ETF 本身,原始保證金 7,900 元就能持有約 11 萬元的合約,槓桿近 14 倍;除息靠「權益數調整」,跟一般指數期貨的逆價差機制完全不同。
看到一篇交易紀錄貼文,裡面全是我不懂的詞:權證、股期、維持率。查了一圈,整理給同樣看不懂的人。
Loop Engineering 是設計「自動 prompt agent 的系統」而非手動 prompt 的工程實踐。Boris Cherny 跑數百個 agent、Addy Osmani 正式命名、Blake Crosley 指出驗證成本才是真正瓶頸——這篇整理一手來源、五大構建塊、適用邊界與批評觀點。
攀岩書不是一本本獨立存在的——它們背後有學派之爭、有哲學差異、有知識斷層。這篇整理了 60+ 本書之間的關係,幫你選對下一本該讀的書。
這題現在其實是二選一:@playwright/mcp(跨瀏覽器、accessibility tree 省 token)對上 chrome-devtools-mcp(Chrome 官方、效能與記憶體診斷);@modelcontextprotocol/server-puppeteer 已被封存,不再是選項。分野也不再是抽象層級高低,而是「操作網頁」還是「診斷 Chrome」。
Chrome 團隊官方維護的 chrome-devtools-mcp,把 DevTools 的能力包成 MCP server:效能 trace 與洞察、Lighthouse 稽核、heap snapshot、擴充功能管理,都是 Playwright MCP 拿不到的。底層是 Puppeteer,所以互動有 auto-wait;代價是只支援 Chrome,而且預設會回傳使用統計給 Google。
@playwright/mcp 預設用 accessibility tree(browser_snapshot)取代截圖,大幅省下 token,加上 Playwright 原生 auto-wait,是 AI agent 做網頁自動化的合理起點。要注意它預設是 headed、預設帶持久 profile,而且進階工具群組要用 --caps 開。
server-puppeteer 是 MCP 官方 monorepo 裡的 Puppeteer 封裝,工具集精簡、以截圖 + evaluate 為核心。但它已被官方封存(移到 servers-archived、不再更新),新專案不該再選它——想要 Puppeteer 血統的 MCP,現在該看 Chrome 團隊的 chrome-devtools-mcp。
一套正2投資系統的哲學根源來自三本書:《漫步華爾街》回答「持什麼」(大盤指數)、《生命週期投資法》回答「怎麼加速」(槓桿分散時間風險)、《投資金律》回答「如何不被淘汰」(再平衡紀律)。組合起來就是 60% 正2 + 40% 現金、Beta=1.2、±10% 觸發再平衡。
從 CLI 工具 kin3o 到 CVPR 2026 論文 OmniLottie,盤點把文字和圖片轉成 Lottie 動畫的開源路徑,附效能基準與選型建議。
AI agent 跑測試不可重現、手寫 Playwright 難維護——2024-2025 年出現四套工具各自解決這個兩難,設計哲學差異很大。
MUSE-Autoskill(2026)提出五階段 skill 生命週期框架,自創 skill 在 SkillsBench 達 60.35%(+7.16%),成功生成 skill 的任務上更達 87.94%,超越人工撰寫上限。本文整合六篇 arXiv 論文,梳理 skill evolution 研究全景。
整理 7 個主流 design system(Tailwind、Radix、Material 3、Carbon、Ant Design、Primer、Apple HIG)的配色架構:色階怎麼切、neutral 怎麼選、dark mode 三種流派,以及為什麼新專案該用 OKLCH 而不是 HSL。
即使 temperature=0,LLM 輸出實測仍可能抖動 15%。要嚴謹比較 agent 調整前後,得靠凍結 golden set、每題跑 ≥3 次取平均、LLM-as-judge 盲評(pairwise 偏好翻轉率高達 35%)與配對統計檢定,而不是前後各問一遍看感覺。
業界已收斂到用 OpenTelemetry GenAI 語義約定把每個 LLM call / tool call 變成 span;偵測三大故障再分三條線:faithfulness + semantic entropy 抓幻覺、framework 層 symbolic guardrail 擋 tool misuse、max steps + action hash 去重防無限迴圈,最後全部掛上 Final / Trajectory / Single-step 三層評估。
資源受限下的 agent 決策是 bounded rationality 的復活:Rational Metareasoning 用 VOC 獎勵省 20–37% token、BATS 證明沒有 budget awareness 加預算也沒用、FrugalGPT cascade 最高省 98% 成本、Speculative Actions 降 20% 延遲。三約束最後收斂成一條 Pareto 曲線,主線是「從人手調旋鈕走向模型自己做資源理性決策」。
三個聽起來不同的 agent 安全問題——tool output 注入、信任邊界、惡意 agent——根是同一個:LLM 把指令與資料攤平成同一條 token 串流,架構上無法區分。理解這條主線,就能看懂從 EchoLeak(CVE-2025-32711,zero-click)到 Morris II AI 蠕蟲的所有攻擊,以及為什麼「把模型調乖」沒用、只有架構約束(六大設計模式、CaMeL)有用。
傳統 RAG 是固定管線「先查再答」;Agentic RAG 把檢索拆成三層決策:何時檢索(FLARE 用 token 機率、Adaptive-RAG 用複雜度分類器)、檢索什麼(HyDE / RAG-Fusion / 分解 / Step-back)、如何整合(RRF k=60 → cross-encoder rerank → 壓縮,Anthropic 實測失敗率 −67%)。關鍵反直覺:不必要的檢索會傷品質,「決定不查」是一級能力。
自動 prompt 優化(APO)從 APE/OPRO 演進到 GEPA:用語言反思取代稀疏 reward,少 4–35 倍 rollouts 贏過 GRPO 約 6pp。另一邊,tool description 是被忽略的 prompt——小改措辭能讓工具選用率變 10 倍,Anthropic 實測讓 Claude 自我改寫 tool description 勝過人類專家手寫。兩條線正在合流:eval-driven 的自動優化吃掉手工調 prompt。
自主研究 agent = 四個可控環節:規劃(拆子問題)、檢索迴圈(search→read→反思 gap→再 search)、證據仲裁(≥2 獨立來源、衝突分型處理)、可驗證輸出(句級引用 + 獨立查核 pass)。兩條路線:訓練派用 RL 端到端學會何時搜(Search-R1 +41%),編排派用 orchestrator-worker 分工(Anthropic 內部評測 +90.2%,代價 ~15× token)。
從觀察行為反推他者的信念/目標/意圖,學界叫 Machine Theory of Mind。三條血脈:符號 BDI、貝氏逆向規劃、深度學習 ToMnet。LLM 時代最大爭議是 ToMBench 上 GPT-4 仍落後人類 >10 分——高分到底是真推理還是統計捷徑。
每步 99% 準確率、跑 100 步,無錯完成率只剩 36%——錯誤複利是結構問題,不是 prompt 能調掉的。分散式系統的 supervisor tree、bulkhead、circuit breaker、saga、durable execution 幾乎可一對一搬進 agent 編排;但 LLM 多了一種傳統系統沒有的故障——不會 crash 的語意錯誤,得靠 Inspector agent(recover 96.4%)與冗餘投票(MAKER 百萬步零錯誤)補上。
Cosine similarity 和 relevance 在一整類情境系統性背離:否定詞(NevIR 上多數 IR 模型 ≤ 隨機)、精確識別碼、數值門檻、邏輯組合(SoTA 模型在 LIMIT 上 recall@100 < 20)——其中一部分是單向量範式的理論上限,換大模型無解。補救順序:hybrid BM25 → reranker(Anthropic 實測 −67%)→ 上游 metadata 路由 → 領域微調 / multi-vector。
工具一多,選擇準確率不是緩降是崩塌:4→51 個工具從 43% 掉到 2%、10→100+ 個從 78% 掉到 13.62%。根治解法是別一次塞全部——Anthropic Tool Search Tool 用 defer loading + 檢索砍 85% token,Opus 4.5 準確率 79.5%→88.1%。description 品質的效益是條件式的:簡單場景沒差,多工具串接場景 correctness 44%→50%。
繁中 RAG 檢索失敗是三層疊加:embedding 的粒度缺陷(BGE/GTE 從 0.1B 到 7B 都在「炸鸡」這種簡單 query 上排錯)、簡中/英文語料主導造成的在地詞彙偏移(保費、不保事項對齊不可靠)、MTEB 中文榜是簡體導致選型訊號失真。修復是架構性的:OpenCC 正規化 → hybrid + jieba 斷詞 → reranker → 最後才是在地微調——而且一切前提是先建繁中專屬 eval set。
arXiv 不做 peer review,約 2% 投稿被拒。判斷品質靠外部訊號:頂會收錄 > 機構 + 開源復現 > 引用品質。附 20 項實戰 checklist 和 2026 年工具箱(PWC 已關閉)。
Perplexity 2026-05 開源的 Go 唯讀掃描器(v0.1.1、零非 stdlib 依賴)。盤點 npm/PyPI/Go/RubyGems/Composer/MCP/編輯器與瀏覽器擴充等來源成 NDJSON,比對自訂 exposure catalog,回答供應鏈事件當下「機隊哪台機器現在中了」。它刻意不執行任何套件管理員,也不是 EDR。
把『使用者上傳檔案就自動切 chunk、embedding』設為預設行為,等於替 LLM 預先做了一個它本來可以自己做的決定。從 Self-RAG (2310.11511)、Adaptive-RAG (2403.14403) 到 AgenticOCR (2602.24134) 這條學術線索,正在把『要不要 retrieve、要不要 parse、怎麼切 chunk』三層決策權,從 ingestion pipeline 往後推到對話時的 agent。
LLM agent 的難點不是把 function calling、skill、code interpreter、文件工具各自做出來,而是把它們組成一個會選工具、會寫程式、會拆任務、會驗證結果、又不會被 prompt injection 打穿的系統。這篇把代表論文整理成六個工程決策:function calling 可靠度、tool/skill selection、code-as-action、多步 planning、skill 系統、安全與文件生成。
手機 Chrome 登入後跳回登入頁,不一定是 OAuth 或前端狀態壞掉;這次根因是 app-dev.daodao.so 的 HTTP 入口沒有 301 到 HTTPS,導致 /auth/me 以 http origin 發出時沒有帶 auth_token。
A2UI 是 Google 在 2025-12-15 開源的 agent 生成式 UI 協定:agent 只送宣告式 JSON 描述 UI 意圖,client 用自己的元件 catalog 白名單渲染成原生畫面,疊在 A2A 之上。發布時 format v0.8,3 個月後已迭代到 v0.9。
Browserbase 在 2026-05 推出的 browse.sh,是「瀏覽器技能目錄 + Browse CLI」兩件事。核心論點:瀏覽器 Agent 的瓶頸是健忘症不是推理,把學過的網站操作存成純文字 SKILL.md,Craigslist 任務官方自評從 ~$0.22 降到 ~$0.12。注意它跟 2018 年的 Browsh 文字瀏覽器毫無關係。
CodeGraph 用 tree-sitter 把 codebase 抽成本地 SQLite/FTS5 知識圖譜,讓 AI coding agent 查圖而不是掃檔。官方端到端 benchmark(7 repos、median of 4)平均省 35% 成本、70% tool calls;但前提是 agent 直接走圖——把探索 delegate 給只會讀檔的 subagent,CodeGraph 反而變成 overhead。
讀論文是兩個問題疊在一起:方法論(Keshav 三遍閱讀法,5-10 分/1 小時/4-5 小時)決定怎麼讀,工具(arXiv HTML、alphaXiv、NotebookLM、Connected Papers、Zotero)負責縮短每一遍的時間。AI 負責降低理解門檻,判斷對錯永遠留給人。
字節跳動開源(MIT)的 UI 自動化框架。UI 動作只靠截圖餵給視覺語言模型,不解析 DOM;一套 JS API 跨 Web / Android / iOS / 桌面。代價是每步較慢、token 較貴,而且高度綁在模型的 grounding 能力上。注意它已在 1.9.8 之後停掉 MCP,改走 Skills + CLI。
Antigravity CLI 是 Google 在 2026/5/19 I/O 發表的終端機 agent,用 Go 重寫(Gemini CLI 是 Node),二進位檔叫 agy,與桌面版 Antigravity 2.0 共用同一套 agent harness。它同時是 Gemini CLI 的接班人——個人方案的 Gemini CLI 將於 2026/6/18 停止服務。
Claude 沒有 docx_tool / pdf_tool — 它只用 bash + file tools,加上 SKILL.md 指令、容器內預裝的 pdfplumber / python-pptx 等 library,三層拼出檔案讀寫能力。
Anthropic 2026-04-17 發 Claude Design,4-28 nexu-io/open-design 公開,同樣的 artifact-first loop、Apache-2.0、跑在你已經有的 16 個 coding-agent CLI 上。兩週從 0.1 到 0.7、40k+ stars。把 AI 設計工具從 vertical SaaS 攤平成 skill bundle 的範式轉移。
asgeirtj/system_prompts_leaks 蒐集 40 多個 AI 助理的 system prompt 原文,從 GPT-5.5、Claude Opus 4.7 到 Gemini 3.1 Pro 都有,40.3k stars、461 commits、MIT 授權。價值不在於拿到秘密,而在於把廠商的隱性政策變成可比對的工程素材——要學的是設計決定,不是文字本身。
Anthropic 2026-05-14 發的 35 頁創業手冊,把 Idea/MVP/Launch/Scale 四階段按 agentic AI 重排。最值得學的是『build 越容易、validation 越重要』與 CLAUDE.md 當作 MVP 第一個 artifact;最該打折扣的是 Launch 章節把合規 workstream 跑在 Cowork 上 — Anthropic 自家文件說 Cowork 不寫 audit log。
把 tool description 從軟建議改成硬規則(白名單 + 後果說明),LLM 亂選 tool 的問題消失了;另外加 skip_signal=True 修掉 vector store 雙重 indexing。
AI agent 可透過 Skills、MCP Connector、直接 API 三種方式操作影片生成工具,選對整合方式比選對工具更重要。
別再把所有 tool description 在 session 開頭一次塞進 context。讓 model 寫 code、runtime 執行,tool 定義只在 import 那行才進 context — Anthropic 的 GDrive→Salesforce 範例從 ~150K tokens 降到 2K,Cloudflare 的 2,500 endpoints schema 從 1.17M 降到 1K。
MIT 研究說 95% 企業 AI pilot 零回報。OpenAI 和 Anthropic 在同一週各自宣布百億美元規模的合資公司,把 Palantir 用了十幾年的 Forward Deployed Engineer 模式整套搬進企業 AI 落地戰場。
綜述 11 個公開的 LLM 寫作 pipeline,三條主流模式:多 agent(researcher → writer → critic)、Karpathy LLM-wiki(raw + wiki + LLM 寫不手寫)、品質防線(technical verifier + never fabricate + brief gate)。Princeton GEO 論文(KDD 2024)量化了 inline 引用 +28%、加數字 +33%、quote 原文 +41%、關鍵字塞詞 −9%。
OpenAI 在 2026 年 5 月公開 Codex 內部部署實踐:沙箱劃技術邊界、審批決定何時停下、Auto-review 用子代理代替人類審批、Managed configuration 由企業管理員強制下發。核心理念是:低風險動作零摩擦,高風險動作必經審查。
本地起一支 OpenAI 相容端點 localhost:20128,把 Claude Code / Cursor / Cline / Codex / Copilot 等 CLI 的請求,自動依 訂閱 → 便宜 → 免費 三層 fallback 路由到 40+ 家供應商。內建 RTK 壓縮 tool_result(省 20–40% input token)、Caveman mode 壓 output、OAuth 自動 refresh、多帳號輪詢,npm install -g 9router 兩條指令裝完。
三家原本走三條路:Anthropic 做擴充、OpenAI 蓋自己的瀏覽器、Google 直接焊進 Chrome。到 2026-08 已經變成兩條——OpenAI 的 Atlas 在 8/9 停止運作,能力收回 ChatGPT 桌面版與 Codex。剩下的分歧是「寄生在 Chrome 上」對「Chrome 本身就是」。
Stripe Minions 講『The walls matter more than the model』,但矽谷四家 case study 沒講具體要怎麼蓋這些 walls。這篇把 daodao auto-dev agent 實際落地的 15 個 walls 拆給你看:每個 wall 防什麼、檔案放哪、tradeoff 在哪。Tier 1 必上、Tier 2 強化、Tier 3 嚴肅治理。
PM 在 Notion 勾選一張任務卡 → 系統自己同步成 GitHub issue → 寫成 plan → 寫成 code → 開 PR 給人類 review。這篇講這套系統做什麼、不做什麼、為什麼現在可行,給沒在寫 code 的人看。
從零建一條 Notion 任務 → GitHub issue → spec PR → code PR 的 auto-dev agent。用 daodao 案例為範本,講清楚每一步要做什麼、要驗證什麼、踩到問題怎麼處理。Notion DB schema → bin/ scaffold → 兩條 Claude Code routine → cloud env vars → staging 測試。
Anthropic 開源了 12 個金融業 Agent + 11 個 MCP connector,最值得抄的不是 Agent 本身,而是『同一份 prompt 雙 runtime』和『純檔案擴充』的分層設計。
用 5 輪 consensus 寫 plan、再用 team mode 5 worker 並行做完 12 個 task;中間踩了不少坑,記下來給未來的自己跟同樣在嘗試的人看。
DeepSeek-OCR 的論文題目是 Contexts Optical Compression — OCR 只是手段,真正驗證的是『把文字渲染成圖片再餵給 VLM』能達到 10× 壓縮且 97% 精度。這對長上下文 LLM 與 RAG 的 token 成本是質變。
個人專案、玩具 demo、做 RAG 原型,不想第一步就掏卡。整理 2026/05 還在運作的 40+ 家 LLM inference 服務商,按免費資源「是持續補充還是一次性」分梯,標註綁卡需求、模型清單、付費起價,數字全部從官方 pricing 頁驗證。中國原廠含智谱 GLM(永久免費)、豆包(每日 200 萬 tokens)、Kimi、百煉、Ollama 本地跑法一併收錄。
/loop 是 Claude Code 的原生 cron 功能,自然語言設定排程,讓 Claude 在背景持續監控、自動修 PR、定期執行任務。Session 範圍、7 天到期,跨 session 用 Routines 或 Desktop 任務。
Routines 是 Claude Code 的雲端自動化系統(前身 Cloud Scheduled Tasks)。除了 cron 排程,還能用 API 端點或 GitHub 事件觸發——掃 issue、審 PR、跑檢查、開 PR,電腦關了也會跑。
Skill 是一個資料夾、一份 SKILL.md。三層 progressive disclosure 讓 Claude 在需要時才載入細節,避免每次對話重新解釋偏好。
Local Deep Research 是個本地優先、隱私導向的深度研究 Agent,用 LangChain + LangGraph 串起 20+ 搜尋引擎和 30+ 種研究策略,旗艦的 langgraph_agent_strategy 走 LLM 自主 tool-calling 路線,跟固定流程的 RAG graph 是兩種思路。
PageIndex 不切 chunk、不做 embedding、不存向量,靠 LLM 推理一份 LLM 自己寫的目錄樹,在 FinanceBench 上由開發方自評拿到 98.7%。它解的不是向量 RAG 的同一個問題——是『在一份結構清楚的厚文件裡找對的那一節』。
想從外面連回家裡的 Mac,2026 年的標準答案有兩個:要公開分享或瀏覽器免裝 client,用 Cloudflare Tunnel;自己用、要簡單,用 Tailscale。本文比較兩者、加上 ZeroTier / Pangolin / NetBird 等替代方案,說明 2026 年 Cloudflare 推的『遠端託管 tunnel』為什麼讓設定變簡單。
用 Claude Code、Cursor 等 AI agent 時,內建 WebFetch / WebSearch 常被 Cloudflare、地理限制或 rate limit 擋住。接一個 search MCP server 是最直接的解法,這篇比較 2026 年實際能用的選項。
Groq Console 是 Groq 自家 LPU 晶片的開發者入口,提供 OpenAI 相容 API、Playground、免費額度,主打把 Llama、Qwen、DeepSeek 等開源模型跑出市面上最快的 token/秒。
Warp 從一個用 Rust 打造的現代終端機,演化成整合 AI Agent 的開發環境(ADE),2026 年 4 月開源,目前擁有 70 萬開發者使用者。
goose 是由 Linux Foundation 旗下 AAIF 維護的開源 AI Agent,支援 15+ LLM 供應商、70+ MCP 擴充,用 Rust 打造桌面 App + CLI + API,定位是不鎖廠商、可自架的 Claude Code 替代方案。
在 Cloudflare Workers AI 上跑繁中 LLM,Gemma 系列的指令跟隨比同級 Llama 穩定。gemma-3-12b-it 已於 2026-05-30 標為 deprecated,現在的對應選項是 gemma-4-26b-a4b-it:256K context、Vision、Function calling,$0.10 / $0.30 per M tokens。
Karpathy 在 2026 年提出 llm-wiki 模式,讓 LLM 主動維護 markdown wiki 而非每次從頭 RAG;目前已有 100+ 開源實作,從本機 CLI 到 serverless Telegram bot 各有差異。
OpenAI 2026/4/22 推出 Workspace Agents,以 Codex 為底、可長時間在雲端執行、能串 Slack/Salesforce/Google Drive,是 Custom GPT 的企業版後繼者。
用 Weaviate Query Agent + ColQwen 多向量模型,一個 prompt 在 36 小時內搭出生產等級的法律合約搜尋系統——這篇拆解它的架構邏輯、技術選擇,以及你真正需要注意的事。
Akira 用 Threads → Blog → Docs 三層漏斗 + Agent 輔助發布,在中文 AI 內容市場建立了一套可持續的知識付費模式。
Cloudflare 內部跑了 30 天 Multi-Agent Code Review,131K 次 Review、中位數 3 分鐘。這篇整理他們的架構,以及 Anthropic、GitHub、CodeRabbit、Greptile 等業界方案怎麼做同一件事。
OpenAI 詳解 Codex 的 agent loop 設計:prompt 如何建構、multi-turn 對話如何管理、prompt caching 如何避免成本爆炸,以及 context window 自動壓縮的實作。
OpenAI 把 Codex harness 包裝成 JSON-RPC over stdio 的 App Server,讓 VS Code、JetBrains、Web、桌面 App 都能共用同一套 agent loop,三個核心 primitive:Item、Turn、Thread。
OpenAI 內部團隊 5 個月、3 人、0 行手寫程式碼,用 Codex 交付了一個完整產品。這篇整理他們在 AGENTS.md 設計、repo-local 知識庫、架構強制執行、entropy 管理上的核心心得。
AEO/GEO 工具不是單一類別,而是三個面向:輸入面(網站有沒有準備好給 AI 讀)、流量面(AI bot 實際爬了多少)、輸出面(品牌在答案裡怎麼被提到)。這篇把三面向、從開源自架到商業 SaaS 的工具一次攤開。
DeerFlow 是字節跳動開源的 Super Agent Harness,基於 Python 3.12 + LangGraph,透過沙箱、長期記憶、子代理、技能與訊息閘道協調長時任務。2026 年 2 月登上 GitHub 趨勢榜第一,目前超過 63,000 星,支援 Telegram/Slack/飛書等 IM、Claude Code 整合與多種搜尋後端。
2026/4/1 不便險新制:同行程最多 2 張、不同家、定額賠付上限降至 6000 元。整理班機延誤、行李遺失等六大保障項目及購買管道。
Agentic Engineering 不是讓 AI 寫更快的程式碼,而是讓軟體更快走完整個交付流程——透過多 agent 協作,壓縮跨團隊的協作摩擦。
Agent 的記憶不是一個插件,而是 harness 本身的一部分。選對記憶類型、估算資料量、再決定用什麼技術——最後,也要搞清楚你是否真的擁有那份記憶。
AI 模型審查自己的程式碼時會自我合理化,用三個不同 CLI 做獨立 review 可以有效捕捉盲點——這篇介紹背後的設計哲學與實際的工作流程模式。
NotebookLM 沒有官方 API,這個擴充套件靠的是逆向工程 Google 內部 batchexecute RPC + DOM scraping + 跨 Tab 訊息傳遞,三者組合完成整個流程。
主後端跑在遠端 HTTPS,auth_token cookie 的 domain 是遠端,瀏覽器不會把它送到本機 AI backend,導致 API 認為未登入。
Agentic AI 不只是 autocomplete,而是能自主執行多步驟任務的 AI 系統。這篇文章拆解 SDLC 的五大階段,說明每個階段能從哪裡切入、怎麼從 CLI 工具走到全流程自動化,以及目前最值得追蹤的外部資源。
Encyclopedia of Agentic Coding Patterns 收錄 190 個 pattern,幫你在 AI 代寫程式的時代做出正確的軟體決策——而這本書本身就是由 AI agent 自主撰寫和維護的。
GitHub Copilot Coding Agent 讓你把 Issue 指派給 Copilot,它在雲端沙箱裡自動開 branch、寫程式、跑 CI、開 PR。成功關鍵是設好 AGENTS.md,沒設定的話 agent 容易跑偏。適合定義清楚的中型任務,需 Pro+(每月 1,500 premium requests)或 Enterprise 方案。
一個六層確定性管線,從 URL 擷取到向量嵌入全自動處理,透過八維度評分系統在資料進 RAG 之前就篩掉垃圾。
Microsoft 開源的輕量工具,把 PDF、Office、圖片、音訊等格式統一轉成 Markdown,專門為 LLM pipeline 設計。
MCP 不會退場,但有效範圍比想像中窄。本機開發場景 CLI 和 raw API 幾乎都贏過 MCP;MCP 真正不可替代的,是「跨 agent 共享的本機工具層」這條窄縫。
不同 AI 引擎讀網頁的方式差異很大。有的只看 body、有的靠預建索引。JSON-LD 和 schema 不是萬能的,正文品質和結構才是跨平台有效的基礎。
用自己寫的 30+ 篇 RAG/Agent 文章交叉檢視部落格現狀,整理出橫跨內容品質、網站技術、RAG 設計修正、Harness 基礎建設、AI Agent 應用的完整改進清單,按優先級排列、不分階段。
不是每個人都該直接用 coding agent 改 code。AI Native 團隊要搞定 interface 規格、測試先行、monorepo、security guardrail、human-in-the-loop 與 token 預算管控,在 coding agent 上面再建一層 agent platform 並明確開發者角色轉型才是正途。
Autoreason 用競爭式多版本評估(A/B/AB + 盲測 Borda count)取代傳統的「批評→改寫」迴圈,解決 LLM 自我修正中的提示偏差、範疇蔓延和缺乏克制三大問題。
Vercel Labs 開源的 coding agent 參考實作。三層架構分離 web UI、agent workflow、sandbox VM,設計給想自建 Claude Code / Cursor Background Agent 的團隊當起手。
env.AI 這個 binding 不是只有 run()。它還掛了 toMarkdown(文件轉 Markdown)、autorag(託管 RAG)、gateway(外部 provider 代理)、models(metadata 查詢)。認識這四組方法,才能在 Workers 上把 Cloudflare 當完整的 AI 平台用。
Claude Octopus 是一個 Claude Code plugin,能同時叫 Codex、Gemini、Copilot、Qwen、Ollama、Perplexity、OpenRouter 和 Claude 一起看同一份 code,用 75% 共識門檻找單模型的盲點。內建 32 個 persona、48 個 /octo:* slash commands、51 個 skill、以及 Dark Factory 全自動 spec-to-code 管線。
LLM Council 是 Andrej Karpathy 花一個週末做的本地 Web App,把一個問題同時丟給多個 LLM,再讓它們匿名互評,最後由 Chairman 模型綜合出一份答案。定位是讀書時比較模型用的小工具,99% vibe coded、不打算長期維護,但架構本身就是一份值得參考的 ensemble LLM 最小實作。
Better Agent Terminal (BAT) 是一個 Electron 桌面 app,把多個專案的 workspace、terminal、以及 Claude Code Agent 整合到同一個視窗,解決開一堆 iTerm 分頁、Agent 沒有好 GUI 容器的日常痛點。MIT License,macOS / Windows / Linux 都能裝。
Claude Managed Agents 是 Anthropic 2026/04/08 推出的 beta 服務,提供 agent harness 加雲端容器沙箱,按 token 加 $0.08/session-hour 計費,適合長時間非同步任務,不想自己寫 agent loop 和跑沙箱的人值得看。
Agent Skills 是 Addy Osmani 開源的 19 個生產級工程技能,透過 /spec → /plan → /build → /test → /review → /ship 的指令驅動 AI 代理遵循資深工程師的開發紀律,而不是走捷徑。
Graphify 用 tree-sitter AST 提取程式碼結構,再用 LLM 語意分析文件與圖片,把整個專案壓縮成一張可查詢的知識圖譜。號稱每次查詢比讀原始檔案省 71.5 倍 token。
Claw Code 是用 Rust 從零重寫的 Claude Code CLI 替代品,48K 行程式碼、40 個工具、MIT 授權。最驚人的是整個專案在 5 天內由多個 AI Agent 協作完成,上線不到一週就突破 170K stars。
clawhip 是一個 Rust 寫的 daemon,專門把 AI coding agent 的事件(commit、PR、session 狀態)路由到 Discord / Slack,解決多 Agent 並行時「不知道誰在做什麼」的可觀測性問題。
notebooklm-py 透過逆向工程 Google 的 batchexecute RPC 協議,讓你用 Python / CLI / AI Agent 程式化操作 NotebookLM,包含音訊、影片、投影片、測驗等生成功能。
oh-my-claudecode(OMC)在 Claude Code 上加了 8 種協作模式、19 個專業 Agent、跨模型調度(Claude + Codex + Gemini),讓單人 CLI 工具變成多 Agent 開發平台。支援 Deep Interview 需求釐清、Smart Model Routing 省 30-50% token、rate limit 自動恢復。
oh-my-codex(OMX)不是取代 Codex CLI,而是在它上面加一層結構化工作流——從需求釐清、計畫產出到多 Agent 並行執行,用 4 個核心 Skill 把散亂的 prompt 對話變成可追蹤的開發流程。
oh-my-openagent(OmO)把 OpenCode 從單一 LLM 工具變成多模型 Agent 團隊——Opus 當主力、GPT-5.2 當架構師、Gemini 做前端、Sonnet 查文件,一個 ultrawork 關鍵字觸發全員並行。48K stars,UltraWorkers 生態系中最早建立多 Agent 編碼模式的專案。
香港大學 HKUDS 開源的 Agent Harness 框架,實作了工具呼叫、技能載入、記憶、權限、多代理協作等完整基礎設施,支援 Anthropic / OpenAI / GitHub Copilot 三種 API 格式。
Claude Code 不認 AGENTS.md,Codex 不認 CLAUDE.md,多人協作專案被迫維護兩份一樣的設定。解法:把 CLAUDE.md 做成 AGENTS.md 的 symlink,只維護一份。
GitHub 上已有 6,400+ 個 .claude/agents/*.md 檔案。我們拆解了 4 個代表性專案——ChemistryTimes(內容生產 pipeline)、claude-sub-agent(document-driven 開發流水線)、agentic(Temporal.io DAG 平行執行)、vs-copilot-multi-agent(Hook 強制記憶寫入)——加上 ruflo 的企業級 swarm 架構,歸納出 6 種設計模式和 5 個實戰趨勢。
矽谷一線公司各自獨立打造內部 AI coding agent,從 Slack 訊息到 merged PR 全程自動化。深入拆解 Stripe、Ramp、Coinbase、Spotify 四家的架構與 2026 年最新成長數字(Stripe 7,000+ PRs/週、Ramp 75% merged PRs),再擴展到 Google、Meta、Amazon、Uber、Shopify、PostHog 等十多家公司的做法與指標。
Andrej Karpathy 提出用 LLM 編譯個人知識 wiki 的框架——收集原始資料、LLM 編譯成 .md wiki、對 wiki 做 Q&A、輸出歸檔回 wiki。本文比較三種實踐路線:Karpathy 的知識庫模式、社群的經驗庫模式、以及 quidproquo 的部落格模式。
拆解 Claude Code 的 18+ 種快取機制後發現:provider-level prompt cache 你做不了,但 embedding cache、tool result cache、entity cache 你不但做得了,效果還更好。附完整的 AgentCache 介面設計與 per-tool TTL 策略。
Claude Code 的 45 個 tool 中,每個 prompt() 都會根據使用者類型、feature flags、系統能力動態調整。將這個模式套用到 ReAct Agent,根據 orchestrator 模型能力、locale、可用 tools 三個維度動態生成 tool description,小模型自動補 few-shot,大模型省 token。
Claude Code 從 $20/mo Pro 到 $200/mo Max 20x,額度以 5 小時滾動視窗計算並疊加週上限,Claude 網頁/桌面/終端共用同一個池子。額度用完可選擇改走 API 費率的 usage credits 繼續做事,而不是硬停。
Cursor CLI 把 IDE 的 Agent 帶進終端,支援 interactive TUI 與 headless、Plan/Ask/Agent 三種模式、Cloud Handoff、CI/CD 整合。計費改為兩個獨立額度池:Cursor 自家模型(Grok 4.6/4.5、Composer 2.5)與第三方模型(Pro 含 $20、Pro+ $70、Ultra $400)。
Google 這條線的付費路徑對照:個人免費層與 Google AI Pro / Ultra 的 Gemini CLI 存取已於 2026/6/18 終止,個人只剩 Antigravity CLI 或自備付費 API key;企業授權與 Google Cloud 不受影響。零成本起步的選項已經換人。
Kiro 分五層:Free 50 credits、Pro $20/1,000、Pro+ $40/2,000、Pro Max $100/5,000、Power $200/10,000,加購 credit 一律 $0.04。Auto 模式混合模型省成本(同一任務走 Sonnet 要 1.3 倍 credit),Spec-Driven 流程把 vibe coding 變成可追蹤的結構化開發。
Codex 綁定 ChatGPT 訂閱(Free / Go $8 / Plus $20 / Pro 5x $100 / Pro 20x $200),2026/4/2 起計費改為按 token 計 credit。模型主線是 GPT-5.6 Sol / Terra / Luna;GPT-5.4 與 5.4 mini 將於 2026/8/31 在 ChatGPT 登入模式下退場。
OpenCode 是免費開源的 TypeScript CLI agent(MIT,約 198K GitHub stars),支援 75+ 模型供應商含本地 Ollama,可用 Copilot/ChatGPT 帳號認證,session 中途切換模型不丟上下文。另有桌面版與官方 Zen gateway。
比較六大 Agent CLI 的訂閱方案(Claude Code、Cursor CLI、Codex、Kiro、Antigravity/Gemini CLI、OpenCode),並研究多模型路由模式——簡單任務給便宜模型、複雜任務給強模型。各家計費在 2026 上半年幾乎全部改過一輪,這一版是 8/18 重新查證的結果。
比較 NVIDIA DGX Spark、Apple Mac Studio M4 Ultra、ASUS Ascent GX10、MSI AI Edge 等個人 AI 工作站,幫你找到適合的本地推論硬體。
透過多模型路由,將 70% 的簡單任務導向便宜模型,只讓 10-15% 的複雜任務使用旗艦模型,實測節省 40-85% 推論成本。本文介紹五個主要開源工具的架構與實作。
拆解數位生態系三層結構:LINE 超級應用、Shopify App Store 飛輪、台灣 MarTech 串接策略,核心是透過 API 與數據流讓參與者相互依賴、共同強化護城河。
Skill 路徑通常是 runtime-specific,跨 agent 真正穩的是 AGENTS.md;個人共用能力放各自 agent 支援的全域目錄,專案 workflow 放 repo 內。
code-review-graph 用 Tree-sitter 解析 codebase 建立持久化知識圖譜,追蹤變更的爆炸半徑,只把真正相關的 context 餵給 AI,號稱平均省下 8.2 倍 token。
GitBook 是一個以 Git 為底層的文件平台,支援 Markdown 編輯、版本控制、多人協作。適合技術文件、API docs、內部知識庫。免費方案對個人和小團隊夠用。
NVIDIA DGX Spark 搭載 GB10 Grace Blackwell Superchip,128GB 統一記憶體,提供 1 petaFLOP FP4 算力,售價約 $3,999 美元起。適合開發者在本地跑 200B 參數模型、fine-tune 70B 模型,是目前最容易入手的 NVIDIA AI 開發平台。
九個主流文件平台的定位、優缺點、適用場景和實際使用案例。選擇邏輯:開源專案選 Docusaurus/VitePress,API docs 選 Mintlify/ReadMe,企業內部選 Confluence,快速上手選 GitBook。
Agent CLI 不是更聰明的補全工具,而是能讀懂 codebase、執行多步驟任務、操作真實環境的 AI 代理。Claude Code、Codex CLI、Gemini CLI、OpenCode、Aider、Pi、Kiro、Amp、Cursor CLI... 工具越來越多,但底層共享一套設計邏輯——理解這套邏輯,才能真正用好它們。
按 GitHub Stars 排序,盤點 2026 年 15 個主流 AI Agent 框架的定位、特色與適用場景。不是排名,是地圖。
用 Claude Code 當 orchestrator,串接 Playwright 截圖、catbox.moe 圖床、Meta Graph API 發布、Telegram 通知,一句話完成 IG 輪播圖文的生成與發布。
llama.cpp 是目前最廣泛使用的本地 LLM 推論引擎,用純 C/C++ 實作,支援 CPU、Metal、CUDA、Vulkan 等多後端,搭配 GGUF 量化格式讓消費級硬體能跑數十億參數的模型。
TurboQuant+ 是 Google Research ICLR 2026 論文的開源實作,用 PolarQuant + QJL 兩階段量化壓縮 KV cache 達 3.8-6.4x,讓消費級硬體跑更大模型和更長上下文。
2026 年行動端 LLM 主力是 Gemma 3n、Qwen 3.5 Small、Llama 3.2、Phi-4-mini、Ministral 3 和 SmolLM3。3B 以下量化模型在 8GB RAM 手機上能跑到 30–50 tokens/sec,但 RAM、散熱和 context window 仍是硬限制。
2026 Q1 開源模型全面爆發:LLM 方面 GLM-5、Kimi K2.5、Qwen3.5 追上閉源;Embedding 和 Reranker 由 Qwen3 和 BGE 主導;語音有 Voxtral TTS 和 Whisper V3;圖像有 FLUX.2;影片有 Wan 2.2 追平 Sora。這篇是完整導覽地圖。
Claude Code 是 Anthropic 的 agentic coding 工具,跑在終端機、IDE、Slack、GitHub 和 Web 上。核心擴充機制有六層:CLAUDE.md(永駐 context)、Skills(按需工作流程)、Hooks(確定性自動化)、Subagents(隔離委派)、MCP(外部工具連接)、Agent Teams(多 agent 協作)。
Codex CLI 是 OpenAI 的開源終端機 coding agent(Rust,Apache-2.0,約 106.6k stars),支援 MCP、subagents、圖片輸入、code review、Skills。模型主線已換成 GPT-5.6 Sol / Terra / Luna,桌面版、CLI 與 IDE 擴充共用一份 config.toml。
Gemini CLI 是 Google 開源的終端機 AI agent(Apache 2.0,~106.6k stars),曾提供每分鐘 60 次、每天 1,000 次的免費額度含 1M context。個人方案已於 2026/6/18 停止服務,接替者是 Antigravity CLI。專案本身沒關閉,repo 仍在維護,但只服務 Gemini Code Assist Standard/Enterprise 授權與付費 API key。
OpenCode 是用 TypeScript 打造的開源 AI coding agent(MIT,約 198K GitHub stars,repo 在 anomalyco/opencode),內建 TUI、支援 75+ LLM、LSP 整合、Vim 風格編輯器、SQLite session 管理,另有桌面版。免費、不需訂閱,可接本地或雲端模型。
Pi 是 Mario Zechner 打造的極簡 coding agent(TypeScript、MIT、約 93K stars),只有 4 個核心工具與極短 system prompt,其餘全靠 Extensions/Skills/Prompt Templates 自己疊。刻意不做 MCP、sub-agents、plan mode、權限彈窗。repo 已改名 earendil-works/pi,npm scope 換成 @earendil-works。
2025–2026 年,網站不只要給人看,還要給 AI 看。從 llms.txt、Schema Markup、GEO 到 RAG ingestion pipeline,這篇整理了讓你的網站變成 AI 可用資料來源的完整技術地圖。
Harness 不只是呼叫 LLM 的 wrapper。Tool Registry 管理工具的動態載入與選擇、Guard System 建立四層防護網、Checkpoint-Resume 讓長時間任務可以中斷恢復。這三個模式是生產級 Agent 系統的關鍵基礎設施。
Skill 是你手動呼叫的 prompt 模板,Subagent 是 Claude 自動 routing 的獨立 agent。看起來很像,但觸發方式、工具隔離、context 管理完全不同。
當 AI agent 能在幾分鐘內把 intent 變成 PR,軟體工程的瓶頸就從「規劃該做什麼」翻轉成「評估做出來的東西對不對」。Ticketing 時代的產物(sprint、story point、backlog grooming)正在壓縮歸零,取而代之的核心實踐是 review。
Claude Code 處理請求時會從 185 個預設動詞中隨機顯示(如 Thinking、Brewing、Clauding),完成時從 8 個動詞中選一個搭配耗時。可透過 settings.json 的 spinnerVerbs 設定自訂,支援 replace 和 append 兩種模式。本文所有資料來自 cli.js 原始碼實際驗證。
gstack 是 Garry Tan 開源的 Claude Code skills 工具集,用 20 個專業 skill 把一個人變成一整個工程團隊——從產品規劃、設計審查、code review、QA 到部署,全部自動化。
同一個模型在不同的 harness 設計下會產生截然不同的結果。Anthropic 用雙 Agent 架構、跨 session 狀態檔、GAN 式 generator-evaluator 迴圈,讓 Claude 能自主完成數小時的軟體開發任務。
Google 整理了八種 multi-agent 設計模式:從最簡單的 Sequential Pipeline 到可組合的 Composite Pattern。不是越複雜越好——選對模式比堆 agent 重要。
AI 工程經歷三個階段:Prompt Engineering(寫好指令)→ Context Engineering(餵對資訊)→ Harness Engineering(設計整個工作環境)。每一次演化不是取代前者,而是在更高的抽象層級上操作。
Agent loop 是每個 session 序列化的執行。最值得學的是它處理並行的方式:每個被接受的回合會記下 activeWriterRunId 宣告,之後每次逐字稿寫入都要附上 expectedWriterRunId,在交易裡比對——被取代的回合因此無法提交過期資料。
OpenClaw 每次執行都自己組系統 prompt,沒有執行期的預設 prompt。組出來的內容被一條內部快取邊界切開——穩定的 workspace 前綴在上面、每輪會變的頻道脈絡在下面——好讓有前綴快取的後端能跨頻道重用同一段前綴。
SecretRef 讓憑證不必以明文躺在設定檔裡,模型呼叫鏈上看到的是 process-local 的哨兵值。但官方講得很白:這不是程序隔離——真正的值仍在同一個程序的記憶體裡,而且 agent 讀得到的任何明文檔案都繞過了這層保護。
Cron 已經改名為 Automations(openclaw cron 仍是別名),而自動化現在有六種機制。核心的取捨只有一條:Automations 給你精確時間與隔離執行,Heartbeat 給你完整的主 session 脈絡與大約每 30 分鐘一次的頻率。
Standing orders 給 agent 對某個「程式」的永久操作權限,寫在 AGENTS.md 裡、每個 session 自動注入。它定義的是「被授權做什麼」,時間點則交給 automations——兩者分工,而且 automation 的提示應該引用 standing order 而不是複製它。
企業頻道全部改成 plugin 了,包含以前內建的 Slack 與 Google Chat。Slack 現在有三種傳輸模式——Socket Mode、HTTP Request URLs、Relay——而官方明說它們在功能上已經對等,要按部署形狀選,不是按功能選。
三個頻道各有一個「不知道就會卡住」的點:WhatsApp 是 QR 登入沒辦法遠端做、Telegram 是 bot 預設開著 Privacy Mode 收不到群組訊息(改完還要把 bot 退出再加回去)、Discord 是 Message Content Intent 沒開就收不到伺服器訊息。
這批頻道裡最值得看的是 Reef——不同人的 OpenClaw agent 之間的端對端加密側頻道,訊息在你的機器上封裝、雙向都經過釘死模型的守衛審查,中繼站永遠讀不到內容。它是 bundled plugin,不用另外裝。
OpenClaw 支援 31 個聊天頻道,但只有 WebChat 在核心裡——連 Slack 和 WhatsApp 都是要裝的 plugin。而群組安全其實有兩個獨立的軸:allowlist 管的是誰能觸發 agent,不管模型會看到哪些引用與歷史,後者要另外設 contextVisibility。
OpenClaw 的設定驗證是嚴格的——多一個不認識的鍵、型別不對、值無效,Gateway 就拒絕啟動。它會保留最後已知良好的設定,但啟動與熱重載都不會自動還原,只有 doctor --fix 會。
Gateway 預設只綁 loopback,而綁到 loopback 以外一律要求認證——這是它自己會擋的,不是建議。容器裡的有效預設是 auto,但 Tailscale serve/funnel 啟用時會強制回 loopback。
雲端部署 OpenClaw 要決定的其實只有四件事:Gateway 綁哪裡、state 放哪裡、誰能連進來、壞了怎麼復原。平台選擇是最不重要的一項。
OpenClaw 有六種本機安裝方式,差別不在指令而在你要不要可重現性、隔離、與自我更新。真正會卡住的是套件管理器的 lifecycle script 政策:npm 12 與 pnpm 全域安裝都預設擋掉 OpenClaw 的 build script。
OpenClaw 的容錯是兩階段:先在同一供應商內輪替 auth profile,再換模型。但真正決定行為的是「這個模型是誰選的」——你手動用 /model 選的模型是嚴格的,失敗就報錯,不會偷偷用別的模型回答你。
OpenClaw 對模型的硬需求是 tool use 加夠大的 context——onboarding 自動推薦本地模型的門檻是支援 tool 且 context 至少 16K。但更容易搞混的是 provider、model、agent runtime 其實是三層,`openai/*` 不等於走 Codex。
官方 provider 目錄現在有 60 個條目。接本地模型最常見的失敗是把 Ollama 的 base URL 寫成 /v1——那會破壞 tool calling,模型會把 tool JSON 當純文字吐出來。
一個 agent 是完整的人格範圍——workspace、auth profile、模型登錄、session 儲存全部獨立。但隔離不是絕對的:次要 agent 的 OAuth 憑證過期時,OpenClaw 會回頭讀主 agent 的同名 profile,而 workspace 只是預設工作目錄,不是硬性沙箱。
遠端 node 執行最值得看的是核准的綁定方式:exec 在核准前先備好一份標準化的 systemRunPlan,核准之後 gateway 轉發的是那份存起來的計畫,不是任何之後被呼叫端改過的指令、cwd 或 session 欄位——而且執行前會重新驗證工作目錄。
OpenClaw 有 200+ 份文件,這篇幫你搞懂全貌、知道每塊在講什麼、依你的角色決定從哪讀起。
「OpenClaw 是 Pi 的 Gateway 殼」這個說法已經過期。官方文件現在寫的是:內建 runtime id 是 openclaw,而 pi 是會被正規化掉的 legacy 別名,「已經沒有外部 agent 框架套件」。留下的第三方 pi 相關依賴只剩一個終端機元件工具包。
Node 是必要的執行期,因為標準狀態儲存用 node:sqlite——Bun 只能拿來裝依賴。Windows 這邊變化最大:新增了原生的 Windows Hub companion app,不需要管理員權限,還能自己開一個 app 專屬的 WSL 發行版來裝 Gateway。
iOS 與 Android 的 app 是 node,不是 Gateway:它們不跑 Gateway 服務,Telegram 或 WhatsApp 的訊息也是落在 Gateway 上而不是手機上。Apple Watch 比較特別——因為 watchOS 擋掉一般 app 的低階網路,它改用簽章過的 HTTPS 輪詢。
官方對安裝 plugin 的定調是「把它當成執行程式碼」——ClawHub 與內建目錄是受信任來源,任意的 npm、git、本地路徑在非互動安裝時需要 --force。而驗證要用 inspect --runtime,因為不帶旗標的 inspect 只是冷的 manifest 檢查。
沙箱由三個獨立設定決定:mode(何時套用)、scope(開幾個容器)、backend(在哪執行)。最容易出事的是預期落差——`tools.exec.host` 現在預設是 auto,所以「沒設就等於在沙箱裡」已經不成立,安全稽核有一條專門抓這個。
預設下所有 DM 匯進同一條「主 session」,群組活動與背景工作都往那裡回報。記憶則完全是磁碟上的 Markdown——模型只記得被寫下來的東西,沒有隱藏狀態。但如果不只你一個人能私訊它,DM 隔離是必須主動打開的。
OpenClaw 的安全文件現在開宗明義寫著:這是個人助理的信任模型,一個 Gateway 對應一個受信任的操作者。它明確「不是」多個互相敵對的使用者共用一個 agent 時的安全邊界——而且有一份『依設計不算漏洞』的清單把這件事寫死。
OpenClaw 的瀏覽器是一個獨立的 agent 專用 profile,跟你的個人瀏覽器完全隔離。而 web_search 的回傳結構裡有一個 externalContent.untrusted 標記——搜尋結果在型別層就被標成不可信的外部內容。
exec 是一個會改變狀態的 shell 面:關掉 write、edit、apply_patch 這些檔案工具,完全不會讓它變成唯讀。而沙箱預設是關的,所以 host=auto 實際上會解析到 gateway——真的要沙箱就明確寫,它至少會 fail closed。
Skills 從六個來源載入、同名時高優先者勝,而 per-agent 的清單是取代不是合併。子 agent 預設拿不到 session 與訊息工具——它回傳純文字給父 agent,人看得到的回覆權留在父 agent 手上。
工具目錄大到塞不進 prompt 時,OpenClaw 有兩個答案:Code Mode 只讓模型看到 exec 與 wait,由它寫小程式去搜尋與呼叫隱藏的目錄;Tool Search 則保留結構化的搜尋/描述/呼叫控制。兩者都不繞過工具政策。
官方的分診流程是七行指令跑一遍、兩分鐘出診斷。而「assistant 感覺受限、工具不見了」這個最常見的症狀,多半是工具 profile——minimal 只允許 session_status,coding 才是新本地設定的預設。
Control UI 加了一條 session rail:它用 utility model 產生執行摘要,還附一個唯讀的伴讀 thread,讓你問「這個 session 現在怎樣」而不會進入或打斷主 agent 執行。它的內容不會進入 chat.history。
模型是 CPU,harness 是作業系統,agent 是應用程式。模型能力再強,沒有好的 harness 就只是 demo。Phil Schmid 認為 harness 是 2026 年 AI 工程最關鍵的基礎設施。
原 Claude Code 除錯合集已拆分為第 33-35 篇:安裝與登入、執行期問題、設定診斷。本頁是三篇的索引。
標準 Playwright 無法通過 Cloudflare 驗證。playwright-extra + stealth 和 nodriver 都能繞過,最終包成 MCP server 讓 AI agent 自動使用。
Agent Teams 讓多個完整的 Claude Code session 組成一個團隊:Team Lead 分配工作,teammates 各自擁有獨立 context window,靠點對點傳訊和共享任務清單自我協調。本文講它跟 sub-agent 的三個關鍵差別、teammateMode 兩種顯示模式的取捨,以及 token 成本隨人數線性上升這件事。
Claude Code 官方最佳實踐的主軸只有一條:管好 context window。本文按探索、plan mode、實作、驗證、commit 的循環整理 prompt 技巧、/clear 與 rewind 的使用時機,以及官方點名的五種失敗模式。
Channels 是一種特殊的 MCP server,能把 CI 失敗、監控告警、Telegram 訊息這類外部事件直接推進正在跑的 Claude Code session,Claude 讀完事件還能透過 reply tool 從同一條通道回話。本文拆解 channel contract、雙向回覆、安全閘門與安裝需求。
Checkpointing 不是 git commit:Claude Code 在每個 user prompt 前自動存檔案 snapshot,一個 session 保留最近 100 個、30 天清除。本文拆解 /rewind 選單的五個選項、bash 與 subagent 等追蹤邊界,以及它跟 git 的分工。
Claude Code 透過 Claude in Chrome 擴充套件取得瀏覽器控制權:讀 console log 與 DOM、點擊輸入、上傳檔案、錄 GIF,還能直接操作你已登入的網站。官方前置條件列出 Chrome、Edge 與 Brave、Arc、Vivaldi、Opera 等 Chromium 系瀏覽器,但 WSL 不支援。
用 anthropics/claude-code-action 把 Claude Code 放進 GitHub Actions:/install-github-app 一條指令裝好,@claude 在 PR 和 Issue 留言就能叫它修 bug、推分支並給 PR 建立入口;Bedrock/Vertex/Foundry 三種雲端後端走 OIDC 免存金鑰;GitLab CI/CD(beta)則用 .gitlab-ci.yml 一個 job 對應,所有變更走 merge request。
Claude Code 每個 session 都是乾淨的 context window,靠三種記憶跨 session 帶知識:每個 session 都載入的 CLAUDE.md、寫 paths 就條件載入的 .claude/rules/、以及 Claude 自己累積的 auto memory。各層 CLAUDE.md 是串接進 context,不是繼承覆蓋。本文拆解層級行為、@path imports、monorepo 拆檔策略,以及用 @AGENTS.md 讓多個工具共用一份指示。
Claude Code 在你打第一個字之前就載入了 system prompt、MEMORY.md、CLAUDE.md、MCP tool 名稱和 skill 描述。本文拆解 session 開頭的自動載入內容、六類擴充功能各自的 context 成本,以及 /compact、/autocompact、autoCompactWindow 三層壓縮控制的用法。
Claude Code 內建的 sandboxed Bash 用 OS 層機制限制每條指令:寫入限工作目錄與 session temp,讀取預設整機可讀;網路走 proxy allowlist,預設零網域。開關在 /sandbox 面板和 sandbox.enabled,不是 --sandbox 旗標。本文再比較 sandbox runtime、devcontainer、Docker、VM 與 Claude Code on the web 這幾種更重的隔離方案該什麼時候用。
claude -p 把 Claude Code 從終端機互動變成一條可寫進腳本和 CI 的指令:pipe 資料進去、用 --output-format json 拿結構化結果、--bare 跳過大多數自動探索來加速啟動。本文以 CLI 用法為主體,最後講四個該改用 Python/TypeScript Agent SDK 的訊號。
Claude Code 用 MCP(Model Context Protocol)連外部工具,手動設定分三種 scope:專案共用放 .mcp.json、個人跨專案和 local 都在 ~/.claude.json、企業走 managed config——不在 settings.json。本文涵蓋 claude mcp add/login 流程、SSE 已 deprecated 的 transport 現狀,以及 tool search 延遲載入。
Plugin 的價值不是新能力,而是分發:把散在 .claude/ 的 skills、agents、hooks、MCP 設定收進一個帶 manifest 的目錄,透過 marketplace 安裝、更新、鎖版本。本文拆解 plugin 目錄結構、最小建立流程、marketplace 發佈與 dependencies 版本約束。
Remote Control 把 claude.ai/code 或 Claude 手機 app 變成你本地 Claude Code session 的遙控器:程式照樣跑在自己的機器上,MCP servers 和本地工具全部可用,但對話同步會經過 Anthropic 伺服器。本文涵蓋啟動、續接、推送通知與傳檔,以及安全邊界。
Claude Code 的設定分五層——managed settings、CLI flag、專案 local、專案共用、使用者——純值型 key 由高層蓋掉低層,permissions.allow 這類清單型 key 則跨層合併。本文整理每層檔案的角色、allow/deny/ask 三清單的寫法,以及用 /status 和 claude doctor 驗證設定是否生效。
在 Slack @Claude 就能把 bug report 變成雲端跑的 Claude Code session。但現在有兩條路:Pro/Max 走原 Claude Code in Slack(每個 session 掛在個人帳號),Team/Enterprise 新設定或遷移則看 Claude Tag(組織共用身分、admin 管權限與用量)。先確認方案再設定,才不會裝錯。
Sub-agent 是在獨立 context window 中工作的專業助手:一個 Markdown 檔定義 system prompt、工具與模型,Claude 依 description 自動委派,也能 @-mention 直接指派。本文拆解 frontmatter schema、背景執行與巢狀 spawn 的現狀、permission 繼承規則,以及什麼時候不該用。
攀岩 RAG 系統中「推薦下一條路線」(progression)和「推薦類似路線」(similarity)被同一個 hasSimilarRouteIntent() 函式混為一談,導致推薦品質崩壞。解法是 Regex Fast Path + LLM Fallback 的兩階段意圖分類。
RAG 系統的 extractRouteReference() 用 for...return 只抓第一個匹配,使用者給了五條完攀紀錄卻只用到一條。解法從 rule-based 多實體擷取、user profile aggregation 到 embedding centroid,分三層遞進實作。
查詢「美人照鏡 5.11b,推薦類似難度路線」,結果回來的全是名字像的路線而不是難度像的。根因是 dense embedding 把多個屬性壓進同一個向量,名稱的稀有性壓過了難度訊號。解法:metadata pre-filter + query rewriting + score fusion 三層防線。
LangGraph 把 LLM 工作流程建模成有向圖,解決多輪迭代、條件分支、平行執行這些用線性 pipeline 做很痛的問題。
Biome 一個工具做 ESLint + Prettier 兩個工具的事,速度快 10-20 倍,設定簡單很多。DaoDao 在整個 monorepo 用它,lint + format 一次過。
AEO(Answer Engine Optimization)是針對 AI 搜尋引擎(Perplexity、ChatGPT Search、Google AI Overview)的內容優化策略。核心是讓你的內容成為 AI 最容易引用的「答案來源」,而不只是搜尋結果中的一個連結。
SEO 不只是關鍵字,結構化資料(JSON-LD)、Open Graph、hreflang、robots.txt 這些技術面優化才是讓搜尋引擎真正理解你內容的關鍵。本文以 Astro 部落格為例,完整走一遍實作。
BullMQ 是 Node.js 生態裡最成熟的任務佇列,底層用 Redis,支援優先級、重試、排程、延遲任務。島島用它處理通知發送和實踐自動完成排程。
Celery 是 Python 最主流的分散式任務佇列,用 Redis 或 RabbitMQ 當 broker,讓耗時工作跑在背景。島島的 AI 服務用它處理 LLM 回饋生成等非同步任務。
Global skills 放在 ~/.claude/skills/ 但新 session 或 Desktop App 看不到?問題通常不是檔案不存在,而是 skill 描述沒被載入 context。本文釐清 CLI vs Desktop App 的差異、settings.json 的角色,以及最穩定的解法。
ClickHouse 是欄導向 OLAP 資料庫,掃幾億行只要幾秒,島島用它記錄使用行為事件,供 AI 推薦引擎的特徵工程使用,讓 PostgreSQL 專心處理交易型資料。
D1 是 Cloudflare 的 serverless SQLite 資料庫,直接綁定 Workers,支援完整 SQL(JOIN、transaction)、自動備份。適合中小規模的關聯式資料需求,NobodyClimb 把它當主資料庫用。
KV 是 Cloudflare 的全球分散式 key-value store,讀取從最近的邊緣節點回應,延遲極低。適合快取、feature flag、暫態資料,但寫入是最終一致性。
R2 是 Cloudflare 的物件儲存,S3 相容 API、零 egress 費用、Workers 原生 binding。媒體密集的應用不用再擔心流量帳單。
Cloudflare Workers 用 V8 Isolate 取代容器,沒有 cold start,全球邊緣部署,透過 Bindings 接 D1、R2、KV、AI。適合 API、SSR、輕量後端,不適合 CPU 密集的工作。
Docker 讓你把應用程式和它的環境打包在一起,消除「在我電腦上可以跑」的問題。搭配 multi-stage build 和 Compose,是現代後端部署的基本配備。
Expo 讓 React Native 開發從「環境設定地獄」變成可以直接寫邏輯的狀態。Expo Router 帶來 file-based routing,讓 web 開發者轉移成本更低。島島和 NobodyClimb 都用它跨 iOS/Android。
Express 是 Node.js 最成熟的 Web framework,middleware 生態完整、學習資源豐富。搭配 TypeScript 和清楚的分層架構,在 2026 年仍然是有理由選的選項。
FastAPI 是基於 Python type hint 的現代 Web framework,自動生成 OpenAPI 文件、原生 async 支援、效能接近 Node.js。AI/ML 服務的首選,也是 Python 後端裡最值得學的框架。
GitHub Actions 是目前最省設定成本的 CI/CD 工具,適合中小型專案。Monorepo 的關鍵是用 path filter 讓只有受影響的 app 觸發 build。
Hono 是專為 Cloudflare Workers、Deno、Bun 等 edge runtime 設計的 Web framework,比 Express 輕一個數量級,原生支援 Web Standard API,是 edge 環境下的首選。
Next.js 15 + React 19 的 App Router 把渲染責任從客戶端移到伺服器,use cache 讓快取邏輯直接跟資料綁在一起而不是散在 fetch 選項裡。島島和 NobodyClimb 都選它,原因很務實。
@opennextjs/cloudflare 讓 Next.js App Router 部署到 Cloudflare Workers,動態 SSR 走 Worker,靜態資源走 Cloudflare Assets。沒有 server 管理成本,但有明確的功能限制。
PM2 讓 Node.js 應用在 server 上持續跑,掛掉自動重啟,可以開 cluster 模式用滿 CPU,Log 也幫你管好。部署在 VM 或 VPS 的 Node.js 應用幾乎都需要它。
Prisma 用 schema-first 設計讓資料庫 migration 有版本控制、查詢有完整 TypeScript 型別、關聯查詢直覺。代價是學習曲線和 ORM 的固有限制,但對多數 TypeScript 專案是值得的換法。
React Hook Form 處理表單效能,Zod 定義驗證 schema,兩者搭配讓表單開發幾乎不需要寫樣板程式碼。在 monorepo 裡共用 Zod schema,前後端驗證邏輯一份就夠。
Redis 是 in-memory key-value store,快到不像話,島島用它同時扛快取、Session、BullMQ 任務佇列三個職責,一台 Redis 幹三件事。
shadcn/ui 不是 npm 套件,它把元件原始碼複製到你的專案,你完全擁有這些程式碼。島島用它建立 packages/ui 元件庫,讓三個 Next.js app 共用同一套 UI。
TailwindCSS 解決的核心問題是 CSS 的全域命名汙染和死碼問題。utility class 讓樣式跟元件放在一起,build 時自動移除沒用到的 class,生產環境的 CSS bundle 通常只有幾十 KB。島島和 NobodyClimb 都用它做 web 端樣式。
Tamagui 是針對 React Native 設計的 UI framework,有完整的 design token 系統和 theme 支援,編譯時期優化讓樣式計算移到 build time。NobodyClimb 選它而不是 NativeWind,主要是因為跨平台的 token 系統更完整。
自己用 useState + useEffect 管 API 資料,等於重造輪子還造得比較差。TanStack Query 處理快取、背景更新、loading/error 狀態,讓你專注在 UI 邏輯。
Turborepo 解決 monorepo 的 build 速度問題,pnpm workspaces 解決依賴共用問題。兩者搭配是目前 JS/TS monorepo 的最佳選擇。
TypeScript 的型別只存在編譯期,執行時消失。Zod 讓你在 runtime 驗證外部資料,同時推斷出 TypeScript 型別,一個 schema 兩件事都搞定。
不需要 Provider、不需要 reducer,幾行就能設定好全域狀態。NobodyClimb 用它管 auth 和 UI 狀態,搭配 TanStack Query 處理 server state。
用 OpenSpec 把需求拆成工程任務,Claude Code 實作,hooks 自動格式化和保護,commit 前本地 review,PR 上三個 AI reviewer 平行審查,merge 後自動部署。整套流程讓一個人能維護六個子專案的品質。
Hook 是 Claude Code 的事件系統。在 AI 執行工具前後、送出 prompt 時、結束任務時自動觸發 shell command、HTTP 請求、MCP tool 或 LLM 判斷。用來擋住危險操作、自動審核、注入上下文、記錄 audit log。
Skill 是寫給 AI 看的 SOP。一個 markdown 檔案定義步驟,Claude 照著執行。不用寫程式,不用學框架,只要把「有經驗的人會怎麼做」寫成步驟就好。
Debug 到一半發現修不了?用 /file-bug-issue 直接把對話中的錯誤分析、重現步驟、已嘗試的方案打包成一個結構完整的 GitHub issue。搭配 Remote Agent,還能讓 AI 自動接手修復。
用 Claude Code 的 Scheduled Remote Agent,每 2 小時自動掃描 GitHub issues、實作功能、開 PR、修 review feedback。人類只需要寫 issue 和按 merge。搭配自製的 /publish-tasks skill,把 OpenSpec 的工程任務一鍵發成 GitHub issues。
Langfuse 是目前最成熟的開源 LLM Observability 平台。這篇從 Tracing、Prompt 管理、評估、Dataset 四個核心功能切入,帶你搞清楚它在實際專案中怎麼用。
Hook 是自動化安全網(擋住壞 commit),Skill 是互動式工作流程(跑檢查 + 自動修),指令檔(CLAUDE.md / AGENTS.md)是行為指引。三層各自獨立,組合起來讓 AI agent 在 commit 前自動完成 lint、typecheck、build 檢查。
主流分類系統有三種路線:Conventional Comments(標籤制)、Google 嚴重度前綴(Nit/Optional/FYI)、SonarQube 四象限(Bug/Vulnerability/Code Smell/Hotspot)。AI review 工具各自發展出不同分類,但核心維度收斂在正確性、安全、效能、可維護性四大塊。
Context Engineering 是 2025 年取代 Prompt Engineering 的核心概念:重點不再是「怎麼問」,而是「給什麼資訊」。把對的資訊在對的時機送進 context window,比換更強的模型更有效。這篇整理了定義、四大策略、實作技巧和常見失敗模式。
把 action-maker 從假資料升級為 Cloudflare Workers AI 即時生成,架構拆成 Worker(純 AI)、Server(存資料)、Frontend(串接),踩了 Qwen3 thinking block 和 Workers AI response 格式兩個坑。
每個 AI 工具都有自己的呼叫格式,整合成本高。MCP(Model Context Protocol)是 Anthropic 提出的開放標準,統一 AI Agent 與外部工具、資料源的通訊協定,讓工具可以跨 Agent 重用。
Node.js image 的弱掃結果不能只看套件名稱,先分清楚是專案依賴,還是 base image 內建 npm 自己帶的相依套件,才不會修錯地方。
弱掃不是只為了交報告,而是幫你提早知道系統裡有哪些已知風險。這篇用 Trivy 當例子,快速介紹弱掃在掃什麼、常見結果怎麼看,以及該怎麼開始。
用 FastMCP 把本地 Python 腳本包成 MCP Server,讓 Claude Code 可以直接呼叫,不再需要手動跑 pipeline。
MCP tool 回傳 description 欄位導致 1033 筆職缺超過 token 上限,改成預設不回傳 description 並加上分頁就解決了。
RAG 是唯讀的。Agent Memory 讓 AI 不只能讀,還能寫入和持久化資訊。三種記憶類型:Procedural(行為模式)、Episodic(時間事件)、Semantic(事實知識),構成完整的認知記憶系統。
AI Agent 不是一個技術,是一整個架構體系。本文是系統化導航:從 Agent 三支柱(Context/Cognition/Action)出發,穿過 AI 工程三階段演化(Prompt → Context → Harness),到八種 Multi-Agent 設計模式和生產級 Harness 基礎設施。每個主題都有對應專文深入。
AI Agent 不是黑盒子——它由三層構成:知道什麼(Context)、怎麼想(Cognition)、能做什麼(Action)。搞清楚這三層,才能理解 agent 為什麼有時聰明、有時失控,以及怎麼設計一個真正好用的 agent 系統。
docker restart 不會重建容器,volumes 設定改了必須用 docker-compose down && up 才會生效。
單一 RAG Agent 處理所有查詢會遇到知識邊界和效能瓶頸。Multi-Agent RAG 把檢索任務分派給多個專業化 Agent,每個 Agent 有自己的知識庫和檢索策略,由中央 Orchestrator 協調合併結果。
Claude Code 有五種權限模式:default(逐步確認)、acceptEdits(自動接受編輯)、plan(唯讀規劃)、auto(AI classifier 背景審查)、bypassPermissions(YOLO 全跳過)。用 Shift+Tab 切換,搭配 settings.json 精細控制。auto mode 是最佳平衡點——既不用每步確認,又有安全防護。
跨 Compose 專案時 service name 不可解析,要加 network alias 才能讓 nginx 找到容器。
紀錄在本機為 Copilot CLI 安裝 Superpowers(DwainTR 打包)、遇到安裝後看不到技能的診斷流程,以及最終解法和實用建議。
跨 Compose 專案只能靠 container_name 或 network alias 解析,而 alias 才支援 scale。
傳統 RAG 把文件切成小 chunks 再檢索,但這造成資訊碎片化。LongRAG 利用 100K+ token 的長上下文模型,檢索更大的文件區段(整個章節甚至整份文件),減少碎片化同時保持檢索效率。
Speculative RAG 用小型專家模型從不同文件子集平行生成多個答案草稿,再由大型模型一次驗證選出最佳答案。論文在 PubHealth 上準確度提升 12.97 個百分點、延遲降低 50.83%——但這是最好的那一格,其他 benchmark 的幅度小很多。
nginx 重啟期間短暫出錯,Cloudflare 偵測到 origin 不健康後停止轉發請求,自己回傳 502。localhost 打 origin 是 200,nginx access log 空白是關鍵線索。等 Cloudflare 自動 re-check 即可恢復。
單一 nginx.conf 隨服務增加變得難以維護,用 include conf.d/*.conf 按服務拆分是標準解法。
nginx 用 set $variable 做動態 upstream 時,DNS 快取每 30 秒過期,第一個請求因無可用 IP 而 502。升到 nginx 1.27.3 改用 upstream + resolve 參數,DNS 在背景非同步更新,根治問題。
設定好 SSH config 後,scp 可以直接用 alias,不用打完整 IP
Ollama 把 llama.cpp 包裝成 Docker 風格的 CLI + REST API,一行指令就能在本地跑 LLM。這篇從核心概念、安裝、API、硬體需求到 Modelfile 自訂,完整介紹這個工具適合什麼、不適合什麼。
RAG 已經從簡單的「搜尋+生成」演化成涵蓋十個世代的技術體系,2025 年後更進入 Agentic/Reasoning RAG 新階段。本文是系統化導航:從 Naive RAG 到 Multi-Agent/LongRAG 的十代演化、後十代 Agentic Era(Search-R1/RL 搜索、MCP 協議、GraphRAG 3.x、視覺直嵌)、檢索策略、Chunking、Embedding、Reranking、評估框架、可觀測性、成本優化。每個主題都有對應專文深入。
vLLM 用 PagedAttention 解決 KV cache 記憶體浪費問題,搭配 continuous batching 和 prefix caching,成為目前最主流的開源 LLM 推論引擎。
Ghostty 是快速、原生的通用終端機;cmux 是基於 Ghostty、專為 AI coding agents 設計的終端機。不是競品,是不同層級的工具。
聊天機器人不只是接 API。對話狀態管理、記憶機制、Streaming、Guardrails、可觀測性、tech stack選型,每一層都影響使用者體驗。
好的 Prompt 不是一次寫出來的,而是迭代出來的。從最簡單的 prompt 開始,用真實 case 測試,分類錯誤類型,針對性修改。本文涵蓋 System Prompt 三段式結構、推理框架選擇、Few-shot 最佳化、Token 預算管理和六個常見錯誤。
Cloudflare Custom Error Pages 需要付費方案,Free Plan 可改用 Worker inline HTML 攔截 5xx。
用 includeIf + SSH Host alias,讓 git 自動依路徑切換帳號,不再手動切換。
即使 route 有 prerender = true,Cloudflare Workers 的 Rollup 還是會嘗試打包 native module,導致 build 失敗。把需要 native module 的工作移到 postbuild script 才是正解。
Astro scoped CSS 會加 scope hash,但 <Content /> 渲染的 MDX 元素沒有這個 hash,導致所有 prose 樣式失效。
Debug 完直接說「把錯誤寫成文章」,Claude Code 會從對話裡萃取內容,套用模板、生成 frontmatter、commit 到 repo。不需要額外寫任何東西。
複雜多跳問題,RAG 一次搜尋不夠。Agentic RAG 讓 LLM 評估結果是否充分,不夠就改寫查詢再搜一次,形成 ReAct 迴圈。
Embedding 模型的選擇直接影響 RAG 的搜尋品質。BGE-M3 的多語言訓練、1024 維向量、同系列 Reranker,是繁中 RAG 的實用選擇。
切太大找不準,切太小失去上下文,碰到表格更是全軍覆沒。Chunking 是 RAG 最被低估的環節,策略選錯,後面再多優化都是白費。
Bi-Encoder 太粗糙,Cross-Encoder 太慢,ColBERT 的 Late Interaction 在兩者之間找到平衡:token 級別的相互比較,但可以預先計算文件向量。
文件切塊後,每個 chunk 失去了它在原文件中的上下文。Contextual Retrieval 在索引時,用整份文件為每個 chunk 各自生成一段上下文再前綴進去,解決 chunk 孤島問題。
過濾條件太嚴格導致零結果?CRAG 自動放寬過濾條件重試,比讓 LLM 用通用知識瞎猜好多了。
向量搜尋的相似度分數不等於相關性,Cross-Encoder 用成對比較重新排序,把真正相關的文件推上來。
向量搜尋找相似,圖搜尋走關係。當問題需要跨多個實體的推理(岩場→路線→完攀者→難度分布),GraphRAG 比標準 RAG 更有優勢。
向量搜尋抓語義,BM25 抓關鍵字,兩者用 RRF 融合才能同時照顧模糊查詢和精確術語。
用 LLM 先生成一份「理想答案」,再把這份假設文件 embed 去搜尋,比直接搜尋查詢本身效果更好。
每次對話後,異步提取使用者可能的偏好和程度,下次查詢時自動個性化搜尋條件,不需要使用者手動設定。
只看相關性會讓結果都是同一條路線的不同描述,MMR 在相關性和多樣性之間取平衡,再疊加熱門度讓結果更實用。
RAG 不是固定的三步流程,而是一組可以動態啟用、跳過、重排的步驟。Pipeline as Code 讓系統在不重新部署的情況下調整行為。
複雜查詢只用一個向量搜尋容易漏掉相關文件,讓 LLM 改寫成 3-5 個子查詢並行搜尋,召回率顯著提升。
攀岩路線有大量圖片資訊(路線圖、岩壁照片),純文字 RAG 遺漏了這些。Multimodal RAG 讓圖片也能被搜尋和理解。
Naive RAG 夠用但有很多問題,Advanced RAG 針對性修補,Modular RAG 重新架構讓系統可組合、可配置。了解三個世代,才能理解現代 RAG 系統為什麼長這樣。
對複雜問題,先讓 LLM 規劃出需要哪些資訊、分幾步取得,再按計畫執行,比邊搜邊想更系統化。
不是所有問題都需要 RAG。用 LLM 先分類查詢類型,再決定執行路徑,節省成本又提升準確度。
「加了 Cross-Encoder 之後感覺好多了」不是科學的評估。A/B 測試讓你知道改動是否真的有效,效果多大,在哪類查詢上有效。
RAG 系統需要資料才能回答問題,但一開始就沒有資料。冷啟動策略決定了系統從空到可用的路徑。
RAG 系統的成本來自 LLM token、Embedding API、向量搜尋。每個環節都有可以壓成本的地方,但要確認優化沒有犧牲太多品質。
RAG 評估沒有指定工具的業界標準;先把 retrieval、generation、operation 分開量,再依技術棧選 Promptfoo、RAGAS、DeepEval 或 TruLens。
RAG 系統出問題,90% 的情況是這 10 種之一。先識別是哪種失敗模式,再找對應的解法,比盲目優化有效很多。
RAG 系統面對的攻擊不只是技術層面的,Prompt Injection 和 Jailbreak 是真實威脅。輸入輸出都需要獨立的防護層。
自己寫 trace 夠用,但開源工具讓你少做很多事。Langfuse、Phoenix、LangSmith 各有定位,選哪個取決於你對自架、開源、整合複雜度的取捨。
RAG 系統最難的不是建起來,是搞清楚為什麼這次回答不好。Pipeline Tracing 把每個步驟的決策和數據記下來,讓除錯有跡可循。
搜尋找到了正確的文件,但 LLM 的回答還是不好——很多時候問題在 Prompt 設計。System prompt 結構、context 排版、指令語言都會影響輸出品質。
LLM 生成需要 3-5 秒,等全部生成完再顯示體驗很差。SSE 讓 token 一邊生成一邊推送,首個字元出現時間從 5 秒縮到 1 秒以內。
只限制請求次數不夠,一個超長的查詢可能消耗掉十個普通查詢的 token。雙重配額(請求數 + token 數)才能真正控制成本。
RAG 和 Fine-tuning 解決的是不同問題。RAG 給模型新知識,Fine-tuning 改變模型的行為風格。大多數情況是兩者都用,而不是選一個。
BM25、向量搜尋、HyDE、Multi-Query 各出一份結果,怎麼合理地合成一份?RRF 用名次而不用分數,規避了跨系統分數無法比較的根本問題。
用另一個 LLM 評估回答的準確度和品質,分數太低就重新生成,並自動加上適當的免責聲明。
快取不只能比對完全一樣的查詢,語義相近的問題也能命中快取,省下整個 RAG pipeline 的執行。
BM25 只認識查詢裡出現的詞,SPLADE 能推斷相關詞彙並加入搜尋,在保持關鍵字搜尋精確性的同時獲得部分語義能力。
「我今年完攀幾條」這種問題,RAG 語義搜尋永遠不如直接查資料庫。讓 LLM 識別意圖、提取參數,執行預定義 SQL 模板。
向量資料庫的選型比 LLM 選型更受部署平台限制。先確認平台和規模需求,再看功能特性,不要只看 benchmark。
自主學習失敗的核心不是動機,是缺乏共學環境。島島阿學透過主題實踐、靈感動態、共同挑戰和學習夥伴連結,把「想學」變成「持續在學」,並把成長歷程資產化為能力證明。
MOOC 完課率只有 5–15%,問題不在課程品質,在執行斷層。島島阿學定位為「學習作業系統」,透過實踐承諾、社群互動與 AI 推薦,讓學習可見且可持續。
島島阿學不是內容平台,而是學習連接器。用反完美主義設計、社群共學、零決策推薦,幫學習者跨越執行鴻溝——從模糊想法到可行動計畫。
NobodyClimb 用 RAG 解決攀岩路線資訊分散的問題,配額制度與社群參與度綁定,Cloudflare Workers AI 讓推論成本趨近於零。
攀岩社群不缺分享的意願,缺的是一個能串連和延續文化的地方。
為了集中散落筆記、展示多元興趣,選用 Astro + Cloudflare Workers D1 建立個人部落格,搭配 Claude post skill 讓寫作零阻力。
wrangler.jsonc 的 routes 用 custom_domain: true,pattern 只填 hostname,不加 /*
Next.js + Expo 前端、Node.js + Python 雙後端、PostgreSQL + Redis 核心架構,加上社交通知系統與 LLM 推薦引擎,島島如何用現代tech stack打造學習社群平台。
一個攀岩社群平台,從 Web、Mobile 到 AI 問答全部跑在 Cloudflare 上,沒有獨立伺服器。
用 Cloudflare Workers AI(gemma-3-12b-it + bge-m3)打造可動態組裝的 RAG pipeline,14 個基礎 step + 6 個 LangGraph 專屬節點,三種策略圖(Baseline / Agentic / Plan-Execute)動態切換。
換模板 = 換整個專案底層;先搞清楚自己要什麼,再選 AstroPaper / Cactus / AstroWind
Astro + Cloudflare 全家桶,靜態優先、邊緣運算、零維運成本