終於來到最後一天了!!!今天我們來回顧一下這段旅程。
回顧這三十天,實作足跡完整覆蓋了現代 AI Agent 開發的核心路徑。
從最基礎的 MDP 與 Policy Gradient 出發,探討了為什麼傳統的 SFT 無法滿足 Agent 的需求。接著深入拆解了 RLHF 的運作機制,並比較了 PPO 與 DPO 的優劣。
從手刻了工具呼叫的環境,到經歷了 baseline 的極限,並將重心放在 Day 20 的 DPO 核心實驗。透過 TRL 的 DPOTrainer,我們成功讓模型學會根據偏好資料的 Chosen/Rejected 軌跡來優化行為。
利用 FastAPI + Streamlit 建立 AgentOps 閉環。從巨觀的端點監控、微觀的軌跡追蹤 (Tracing),到加入人類回饋修改錯誤,最後建立了一套能自動收集 Bad Case 並持續進行極少步數 DPO 更新的「資料飛輪」。
如果這三十天看起來一帆風順,那絕對是騙人的。卡關最久的環節,應該就是 Reward 函數設計與訓練不穩定的問題。
在 Day 18 的實驗中,我深深體會到「Agent 真的很聰明,但聰明在鑽漏洞」。當 Reward 設計不夠嚴謹時,Agent 會瘋狂呼叫工具只為了刷分數,而不是解決問題。這印證了我們在理論篇提到的:環境與獎勵設計,遠比演算法本身更重要。
RL 訓練的不穩定性在這趟旅程中展露無遺。有好幾次,模型在訓練中途突然失去語言能力,或是 Loss 曲線變成心電圖。這也是為什麼我們最終選擇了 DPO 作為實作主線——它不需要額外訓練 Reward Model,避開了許多 PPO 常見的崩潰陷阱,讓我們能將精力集中在資料品質與閉環設計上。
1. 擴展至 RLAIF (AI Feedback):目前我們的資料飛輪依賴人類工程師 (HITL) 在 Streamlit 上修正錯誤軌跡。未來可以引入更強大的模型(如 GPT-4o 或 Claude 3.5)來擔任 Judge,自動化給予分數與修正,大幅提升微調資料的產出速度。
2. 更複雜的多步上下文管理:面對真實世界更繁瑣的任務,目前的上下文裁剪策略還有優化空間。未來可以導入長效記憶 (Long-term Memory) 或更聰明的檢索機制。
三十天的鐵人賽,就像是跑了一場與 AI 模型共同成長的馬拉松。最大的收穫不是寫出了多完美的程式碼,而是學會了如何在一堆不確定性(不穩定的訓練、受限的硬體資源)中,做出務實的工程妥協,並打造出一套「能從錯誤中持續進化」的系統。
AI Agent 的時代才剛開始,繼續在未知的領域裡探索吧!