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 賦能全端開發:從零打造企業級智慧應用》正在募資中——
帶你從零打造一套企業級 AI CRM:
先用 Spring Boot + React 建立後端 API、資料庫、認證授權與前端介面,
再逐步加入 Spring AI、RAG 檢索、tool calling 與 MCP,
最後完成能產生 AI 客戶摘要與銷售建議的完整系統。

八月是感謝老爸的季節,父親節檔期我準備了一張專屬折價券,
不管是投資自己、還是幫想轉型 AI 的另一半報名,都用得上:

優惠碼 PUBAI85|結帳輸入享 85 折

👉 前往 Hahow 課程頁

優惠只到父親節檔期結束,還在觀望的朋友別錯過。

但後端只是故事的一半

Agent 會思考、會規劃之後,下一個問題馬上出現:

AI 產生的結果,前端要怎麼呈現?

總不能讓 AI 直接產生任意的前端程式碼吧?

這就是系列後半段的主角:json-render。