前一陣子因為準備 AI 相關職缺的面試,我重新整理了一輪 Generative AI、System Design、RAG、Agent、Fine-tuning 等主題。原本只是為了面試做準備,但在整理過程中,我逐漸發現,這些看似分散的技術,其實都在回答同一個問題:當 AI 真正成為軟體系統的一部分之後,我們應該怎麼重新設計一套系統?
剛好最近看到 iThome 鐵人賽開始報名,我就想把這次面試準備留下來的內容繼續往下整理。與其讓它們停留在零散的筆記或短期記憶裡,不如趁這 30 天重新補強,最後整理成一套自己對 AI Engineering 的完整理解。
這次的主題我定為 「現代化的 AI 系統設計」。我不打算把它寫成某個 Framework 的使用教學,而是希望從系統設計的角度,去整理 AI Application 從早期 LLM 架構一路演進到 Agent、Production,以及 Model Customization 之後,工程上真正需要重新思考的事情。
目前預計會分成四個部分:
第一部分會先整理相對經典的 AI System Architecture,包括 Gateway、Model、Orchestration、State、Memory、Cache 等元件,同時也會補充當系統開始 Agent 化之後,這些元件的角色會如何改變。
第二部分會進到 RAG 與更廣義的 Context Engineering,並延伸到 Loop Engineering、Graph Engineering,整理現在 AI 系統在 Context、Decision Loop 與 Knowledge Structure 上常見的設計方法。
第三部分會進一步討論 Production AI Engineering。當 AI 從 Demo 走到真正的正式環境之後,Latency、Cost、Guardrail、Evaluation、Observability、Reliability 等問題會開始變得比模型本身更重要,這也是我希望重新整理得更完整的一塊。
最後一部分則會放在 Model Customization 與 Fine-tuning,包括 SFT、LoRA、QLoRA、RAFT、Preference Learning、DPO、PPO、GRPO,以及 Dataset Engineering 等內容。
我希望不只是介紹這些方法,而是更清楚地理解什麼情況下應該修改 Prompt、Context 或 Workflow,什麼情況下才真的需要動到模型本身。
希望 30 天之後,留下來的不只是 30 篇文章,而是一套自己真正理解、也能持續延伸的 AI Engineering 知識框架。
因為第一次參加鐵人賽,而且這兩天剛好還有不少其他事情要處理,所以第一天還是參考各位前輩們的經驗,先把開賽宣言講出來,希望我後面真的可以順利闖關完成!對我來說,這次參加鐵人賽更重要的目標,是建立一個可以持續往前推進的節奏,把前一陣子為了面試累積的內容重新整理、驗證並補齊。
由於我個人是非常喜歡用AI畫一堆有的沒的圖。
所以也希望這個系列用這個系列文章的最後面都會讓 AI 產出一篇他自己看完這篇文章後覺得適合的圖片。
一起來看看他們怎麼看 :)
