Spring 之父的新作品:讓 Java 工程師不用羨慕 Python 的 AI Agent 框架
嗨,我是凱文大叔。
先說個電子報的小更新:這期開始,電子報系統多了「工商區塊」——
你會在文章中間看到一張綠色卡片,那就是了。
廣告會長得像廣告,和正文清楚區隔,可以放心跳過。
老實說也有點私心:這份電子報的伺服器都是我自己租的,
希望以後能接到真的廣告,讓它至少付得起自己的房租。
有適合這群讀者的產品或服務想合作,直接回信給我就可以。
接著報告正事:今年的 iThome 鐵人賽,我準備了一個 30 天的系列,
主題是用 Embabel 在 JVM 上打造企業級 AI Agent,
最後會完成一個「用自然語言就能生成 Dashboard」的前後端專案。
開賽前,先用這封信回答一個問題:
Embabel 到底是什麼?
一個為 JVM 而生的 Agent 框架
Embabel 是 Spring 之父 Rod Johnson 創立的開源 Agent 框架,
目標很直接:讓 Java / Kotlin 團隊不必砍掉重練、換語言、重寫系統,
就能在既有的 Spring 生態系裡寫出可維運的 AI Agent。
多數 Agent 框架的做法,是讓 LLM 一邊思考一邊決定下一步(ReAct 式的自主迴圈)。
Demo 很好看,但放進企業系統就會遇到老問題:
流程不可預測、無法解釋每一步為什麼發生、出錯時只能重試或人工介入。
Embabel 選了另一條路,它把三件事分開:
- 演算法管邏輯:借用遊戲 AI 領域成熟的 GOAP(目標導向行動規劃),
把工作拆成一個個 Action,用最短路徑演算法算出達成 Goal 的最佳路徑。
決定「下一步做什麼」的是 100% 確定的演算法,不是模型的即興發揮。 - LLM 管溝通:摘要、判斷、草擬文案這些模型擅長的事交給模型;
金額、次數、資格這些該精準的數字,仍由 Java 程式計算。 - 權重管偏好:哪條路便宜、哪條路塞車,用成本調控。
某個 API 掛掉時,成本瞬間飆高,規劃器會自動重新規劃改走別條路,
不需要事先寫一堆 if-else 降級邏輯。
寫起來也很 Spring:用 @Agent、@Action、@AchievesGoal 這些註解描述流程,
搭配型別安全的領域物件,Agent 的每一步都能被測試、追蹤與驗收。
如果你是 Java 工程師,看到這裡應該會有一種熟悉感——
這正是當年 Spring 對企業開發做過的事:把不可控的東西,變成有紀律的工程。
|
📣 工商時間|父親節特別優惠 我的 Hahow 募資課程《AI 賦能全端開發:從零打造企業級智慧應用》正在募資中—— 八月是感謝老爸的季節,父親節檔期我準備了一張專屬折價券, 優惠碼 PUBAI85|結帳輸入享 85 折 優惠只到父親節檔期結束,還在觀望的朋友別錯過。 |
但後端只是故事的一半
Agent 會思考、會規劃之後,下一個問題馬上出現:
AI 產生的結果,前端要怎麼呈現?
總不能讓 AI 直接產生任意的前端程式碼吧?
這就是系列後半段的主角:json-render。
