embabel/embabel-agent

Agent framework for the JVM. Pronounced Em-BAY-bel /ɛmˈbeɪbəl/

Embabel Agent Framework – 快速概覽

是什麼 – 用於在 JVM 上建構 代理型 應用程式的 Java/Kotlin 庫。您只需描述 目標動作條件領域模型,框架便會自動規劃並執行一系列動作(包含 LLM 呼叫),以達成這些目標。

為何重要 – 多數現有的 LLM 為中心的程式碼將原始 HTTP 呼叫與業務邏輯混雜,很快變得難以測試、重用與擴展。Embabel 將規劃層從您的程式碼中抽離,提供強型別、與 Spring 相容的元件,並原生支援複雜的 AI 規劃演算法(GOAP、Utility AI)。


核心概念

概念 作用
代理 一個容器,包含一組在領域模型上操作的動作、目標與條件。
動作 單一步驟——可以是純 Java/Kotlin 程式碼、LLM 提示,或工具啟用的操作。
目標 代理試圖達成的期望最終狀態。
條件 每次動作執行後重新檢查的前置條件/後置條件;它們驅動重新規劃。
計畫 動態生成的動作序列;每一步後都會重新生成(OODA 循環)。
AgentPlatform 運行時環境,支援三種模式:Focused(顯式呼叫)、Closed(為意圖選擇一個代理)、Open(發現目標並即時建構自訂代理)。

主要特性(如 README 所述)

  • 動態規劃:使用目標導向動作規劃(GOAP)或效用 AI;不只是靜態狀態機。
  • 強型別:動作、目標與條件是普通的 Kotlin/Java 類別,因此 IDE 重構與編譯時檢查均可正常運作。
  • Spring 集成:代理可作為 Spring Bean 使用,受益於相依性注入、AOP、事務管理等特性。
  • LLM 混合:動作可透過輕量級 Ai 包裝器呼叫任意 LLM(OpenAI、本地模型等);可將廉價本地模型用於簡單步驟,大模型用於創造性任務。
  • 可擴展規劃:規劃演算法可插拔;可替換 GOAP、Utility AI,或提供自訂演算法。
  • 可測試性:可像普通方法一樣對動作進行單元測試;框架還支援端對端代理測試。
  • 多種執行模式:從決定性的「聚焦」呼叫,到可跨代理組合動作的探索性「開放」模式。
  • 面向未來:路線圖中提及與其他 Embabel 實例的聯邦協作及多目標流程的演進。

典型用例

  • 企業工作流程:需要在流程中呼叫 LLM(如摘要、分類)但其餘部分保留在現有 Java/Kotlin 服務中。
  • 面向聊天的助手:將使用者意圖映射為目標,系統動態組裝計畫。
  • 工具增強型代理:結合網路搜尋、資料庫存取與 LLM 推理。
  • 成本敏感型 AI 流水線:簡單轉換使用廉價本地模型,僅在需要時切換到大模型。

快速入門(來自 README)

  1. 使用提供的 GitHub 模板建立專案:
    • Java: https://github.com/embabel/java-agent-template
    • Kotlin: https://github.com/embabel/kotlin-agent-template
  2. 加入 Maven 依賴(徽章顯示座標):
    <dependency>
      <groupId>com.embabel.agent</groupId>
      <artifactId>embabel-agent-api</artifactId>
      <version>…</version>
    </dependency>
    
  3. 寫代理——使用 Spring 風格註解(@Agent@Action@Goal@Condition)或 Kotlin DSL(agent { … })。
  4. 執行——AgentPlatform 將執行計畫。快速示範只需 OPENAI_API_KEY 和 Maven 安裝即可。
  5. 探索範例——查看 Embabel Agent Examples 倉儲和 Tripper 旅行規劃器示範,了解完整堆疊應用。

生態系統與工具

  • 文件:即時文件位於 https://docs.embabel.com/embabel-agent/guide/…
  • 建構與 CI:Maven、GitHub Actions、SonarCloud 質量門禁、Docker 鏡像
  • 效能分析:與 YourKit 和 JProfiler 集成(徽章表明開發中使用)
  • 社群:支援與討論的 Discord 伺服器(discord.gg/t6bjkyj93q
  • 相關專案:基於 Spring AI,可與現有 Spring Boot 服務互操作

授權

Apache 2.0 – 允許商業使用的寬鬆開源授權。


總結 – Embabel 是一個真正的、生產級的框架,用於在 JVM 上建構 LLM 增強、目標驅動的代理。它抽象了規劃邏輯,保持程式碼強型別,並無縫整合到 Spring 生態系統中,使 Java/Kotlin 團隊能在不放棄現有技術棧的前提下,輕鬆建構智能、可重用的代理流程。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案