AI08 · Build AI Applications 詳細 ROADMAP

計畫文件,不會被 Quartz 渲染。 回主 roadmap → ai/ROADMAP.md


章節目標

「你是 AI 服務,user 呼叫你」——這章是完整 AI 應用從零到 production 的實作章。涵蓋:API 整合、RAG 建造、Fine-tuning、本地部署、工作流自動化。

跟其他章分工

  • AI04 engineering = 工程概念(Gateway 選型、Obs 架構、Eval 方法論、Security 設計)
  • 本章 = 動手實作(從零建一個能用的 AI 服務)
  • AI09 Build Extensions = 擴展別人的 AI(反方向:你寫東西給 Claude / Cursor 用)
  • AI05 agent = Agent 概念;本章 #15 以後 agent 實作題是「你建 Agent 服務」
  • backend/ai/ B20 = 後端工程師視角;本章是 AI app 視角(可能不限後端棧)

對應 repoai-examples/(待建立)


🌱 基本介紹

#主題SlugStage大綱
01Build AI Applications 全景01-build-ai-apps-landscape🌱從 API 第一支程式 → RAG 系統 → Fine-tuned 模型服務 → Local 部署 → Multi-tenant SaaS;整條實作路徑

❓ 為什麼需要

#主題SlugStage大綱
02為什麼 Demo 不等於 Production02-why-demo-not-production🌱Hallucination / cost / latency / rate limit / eval 缺位;上線才發現的問題
03為什麼 RAG 常被高估03-why-rag-overestimated🌱POC 夠用不代表 production 夠用;retrieval quality 是長期戰;chunking 策略影響勝過 prompt 技巧
04為什麼 Fine-tuning 很少是你第一個該做的04-why-finetune-last-resort🌱Prompt / RAG 夠用的場景遠多;fine-tune 成本 / 維護 overhead / 資料準備門檻

🕰️ 演進

#主題SlugStage大綱
05Build AI Apps 演進驅動力05-build-apps-evolution-drivers🌱第一代:直接呼叫 GPT API;遇到 provider lock-in → LiteLLM / OpenRouter 抽象;遇到 context 限制 → RAG;遇到 RAG retrieval 爛 → Reranking / Hybrid search;遇到 domain knowledge 不足 → Fine-tuning;遇到成本 / 隱私 → Local deployment

🧠 知識型

F08-A API 整合

#主題SlugStage大綱
06呼叫 LLM API:第一支 AI 程式06-calling-llm-api🌱OpenAI / Anthropic / Google SDK;streaming 處理;error / retry;對應 repo 01-llm-api/
07Multi-provider Failover 實作07-multi-provider-failover🌱Primary / Fallback / Load balance;provider outage 應變;LiteLLM / Portkey 實戰(跟 AI04 概念層對應)
08Streaming & SSE 架構實作08-streaming-sse-implementation🌱Server-Sent Events / WebSocket 傳 LLM token stream;Next.js / FastAPI 實作;跟 I01 #30 WebSocket edge 連動
09後端跟模型互動完整實作09-backend-model-integration-full🌱Sync / async / streaming;queue for long-running task;token budget;backend/ai/ B20 分工:本篇是 AI app 視角,B20 是後端工程師視角

F08-B RAG 建造

#主題SlugStage大綱
10RAG Pipeline 從零10-rag-pipeline-from-zero🌿吸收自舊 02-rag-architecture.md;資料載入 → Chunk → Embed → Store → Retrieve → Prompt → Response;對應 repo 02-rag/
11Chunking 策略實作11-chunking-strategies🌿吸收自舊 02-2-chunking-and-vectordb.md;固定 / semantic / recursive / document-aware;每種適用場景
12Retrieval 調校實戰12-retrieval-tuning🌿吸收自舊 02-3-retrieval-and-evaluation.md;Hybrid search / Reranking / Query expansion / HyDE
13RAG Evaluation Loop13-rag-eval-loop🌱Retrieval eval(recall@k, MRR)、generation eval(faithfulness, relevance);RAGAS 實戰;Build eval dataset

F08-C Fine-tuning & Local Deploy

#主題SlugStage大綱
14Fine-tuning 實戰(LoRA / SFT / DPO)14-fine-tuning-hands-on🌱OpenAI / Anthropic fine-tuning API;local LoRA(Unsloth / axolotl);資料準備 / 切 train/eval;對應 repo 04-fine-tuning/
15本地部署模型(Ollama / vLLM)15-local-deployment🌱Ollama 快速起 / vLLM production;GPU 需求;量化(GGUF / AWQ);benchmark;跟 I03 #29 GPU workload + I03 S04 WASM 連動
16Hybrid:cloud + local 混合部署16-hybrid-deployment🌱敏感資料走 local / 長文走 cloud 的路由策略;cost / privacy trade-off

F08-D Agent Application 建造

#主題SlugStage大綱
17建第一個 Single Agent17-first-single-agent🌱OpenAI Assistants API / Anthropic tool use 完整範例;handle error;對應 repo 08-agent/
18Multi-Agent Demo(LangGraph)18-langgraph-demo🌱Supervisor + 2 worker;state 管理;conditional edge

F08-E Workflow 自動化建造

#主題SlugStage大綱
19n8n / LangChain Workflow 實戰19-workflow-automation-hands-on🌿吸收自舊 03-2-n8n-langchain-practice.md
20No-code / Low-code AI Platform 實作20-nocode-lowcode-hands-on🌱Dify / Flowise 建一個完整 chatbot;跟 code-based 的取捨

🔧 小實作注意事項

#主題SlugStage大綱
21本機起 AI Gateway + Obs stack21-local-ai-gateway-obs🌱LiteLLM + Langfuse docker-compose;sample app 走 gateway;trace 進 Langfuse
22Build Eval Framework 從零22-build-eval-framework🌱定義 metric;收集 eval dataset;跑 automated eval;CI 整合
23第一個 production-ready RAG service23-production-rag-service🌱含 auth / rate limit / streaming / eval loop / monitoring;deployable on K8s

💣 Anti-pattern

#主題SlugStage大綱
24Build AI Apps Anti-patterns24-build-apps-antipatterns🌱Demo-driven development(POC 好就上線沒做 eval);直接呼叫 provider 不抽象;vector DB 用預設參數(沒調 index);RAG 不評估 retrieval 只評 answer;Fine-tune 當萬靈丹;local deploy 忽略 VRAM 需求;streaming 沒處理 cancellation

🧰 對應檢查工具

#主題SlugStage大綱
25Build AI Apps 工具25-build-apps-tooling🌱SDK: OpenAI / Anthropic / Google;Framework: LangChain / LlamaIndex / Haystack / Vercel AI SDK;Local: Ollama / vLLM / TGI / llama.cpp;Fine-tune: OpenAI / Unsloth / axolotl / trl;Workflow: n8n / LangChain / Dify / Flowise;Eval: RAGAS / DeepEval / Promptfoo

📎 補充

#主題SlugStage大綱
S01AI app 可擴展性s01-ai-app-scalability🌱Multi-tenant / streaming backpressure / queue for long-running;跟 backend/micro-service/ 整合
S02AI app 測試策略s02-ai-app-testing🌱Prompt regression test / eval dataset / CI 整合;跟 common/quality/testing 對照

章節進度統計

  • 知識主題:25 項 + 2 補充 = 27 項
  • 🌿 growing:4(RAG / Workflow 既有 4 篇)
  • 🌱 seed:23

跨系列連結

  • → AI04 Engineering(概念層)
  • → AI05 Agent(Agent 概念,本章 F08-D 是實作)
  • → AI07 Methodology(eval-driven / RAG iteration 方法論)
  • → AI09 Build Extensions(反方向:擴展別人的 AI)
  • backend/ B20 AI 輔助後端開發(本章 #09 分工)
  • infra/compute/ I03 #29 GPU workload(本地部署)
  • infra/data-ops/ I04 #30 Vector DB 運維
  • infra/security-governance/ I06 F06-F AI Security
  • infra/observability/ I05 30(Grafana / APM)