"Rag"
- Adaptive Retrieval
RAG 控制流中先判斷是否需要檢索,只在外部知識有價值時才 retrieve
- Beyond LLM: Enhancing LLM Applications (Stanford CS230)
Stanford CS230 Deep Learning 講座整理:從 prompt engineering、fine-tuning、RAG 到 agentic workflow、evals、multi-agent system 的全景 survey。保留英文原文。
- Context Packing
RAG retrieve 後把 chunks 去重、排序、壓縮、標來源,再塞進 prompt 的組裝決策
- HyDE(Hypothetical Document Embeddings)
用 LLM 生成假設文件、對假文件做 embedding 去 retrieve、繞過 query-document gap 的 RAG 增強技術
- Multi-Step Retrieval
RAG 中多輪 retrieve → 判斷 → 再 retrieve 的控制流,用來處理 multi-hop 問題
- Query Decomposition
把複合 query 拆成可獨立檢索的子 query,平行取得證據後再合成答案
- Query Expansion
RAG 檢索前把一個 query 擴成多個語意變體,增加 coverage,再合併 retrieval 結果
- Query Rewriting
在 RAG 檢索前改寫使用者查詢,讓 query 更接近文件語言與索引分佈
- Query-Document Gap
使用者 query 與文件語言在詞彙、形態、抽象層級或領域分佈上的落差,是 RAG retrieval miss 的常見原因
- Retrieval Cost
RAG 檢索帶來的 latency、token、embedding、reranker、LLM call 與維護成本,用來判斷增強是否划算
- Retrieval Recall
衡量 RAG 檢索是否把應該命中的文件或 chunk 放進 top-k 結果,是 component-level eval 的核心指標
- Retrieval Source
RAG 從哪個 corpus、index、tool 或外部系統取回內容,決定來源可信度、freshness、權限與引用責任
- Hybrid Search
把字面 retrieval(BM25)跟語意 retrieval(embedding)的結果用 RRF 等方法合併、補單一路線的盲點
- Reranker
對 retrieval top-K 結果用 cross-encoder 重新排序的 RAG 第二階段、品質提升顯著但 latency / cost 增加
- 4.1 RAG 原理:retrieval + augmentation 模式
為什麼模型需要外掛知識、語意相似 vs 字面相似、chunking 的本質取捨、retrieval 失敗的根本原因
- Case Study:Blog 語意搜尋從 pickle 到 production
為 CLI 或個人工具選 RAG storage backend、或原始選型理由被 benchmark 推翻但結論不變時,如何區分結論、理由與前提
- 4.2 RAG 檢索增強:query rewriting / HyDE / multi-step / context packing
Query 端增強(rewriting / expansion / HyDE)、multi-step iterative retrieval、retrieve 後的 context packing(dedup / ordering / summarization)、adaptive retrieval:vanilla RAG 不夠時的下一層工具箱
- 6.3 IDE 場景的 prompt injection
個人 dev 場景下 IDE 寫 code 工作流的 prompt injection:codebase 內容、外部文件、剪貼簿作為攻擊面、跟雲端 LLM 場景的差異
- Hands-on:用 blog content 當 corpus 跑 RAG
200 行 Python:embedding + cosine retrieval + Ollama chat、validating 4.0 RAG 原理
- Hands-on:用 blog content 寫一個最小 MCP server
stdio JSON-RPC、stdlib-only Python、暴露 blog content 給 LLM 用、validating 4.3 應用層協議
- Hands-on:RAG / MCP 的資源 footprint
RAG ingest / query / MCP server 三階段的 RAM / 磁碟 / process 實測、多模型並存的 RAM 衝突、本地 LLM 跑 RAG 跟單純 chat 的差異
- 4.11 Long context engineering
128K / 1M context 模型怎麼用:claimed vs effective context、lost-in-the-middle、context 設計策略、Long context vs RAG 取捨
- 4.12 Embedding model 內部:訓練、選型、in-domain fine-tune
Embedding model 怎麼訓練(contrastive learning + hard negative mining)、怎麼挑(MTEB / 大小 / domain)、何時該自己 fine-tune
- 4.16 靜態 / serverless RAG deployment:架構選擇與資安取捨
沒 backend 的場景怎麼做 RAG:四種 deployment 方案、API key 暴露問題、CORS / abuse / 第三方信任、跟模組六的 routing
- 4.19 Agent memory 分層架構
Agent 在 context window 之外管理長期狀態的設計:working / short-term / long-term episodic / semantic / procedural 五個層次、寫入時機、retrieval 設計、失敗模式
- 4.22 RAG storage 工程:從 pickle 到 vector database 的選型判讀
RAG storage backend 選型:規模到哪個階段該從 in-memory 升級到 vector DB、dependency chain 如何收窄選項