Skip to main content
用 Spring AI + OpenAPI 擴充 Agent 能力:讓你的 API 接上自然語言

Architecture Journal

conferencespring-aiopenapi

用 Spring AI + OpenAPI 擴充 Agent 能力:讓你的 API 接上自然語言

演講題目:用 Spring AI + OpenAPI 擴充 Agent 能力:讓你的 API 接上自然語言

基本資料

欄位內容
ConferenceJCConf
年份2025
日期2025-09-19
時間13:45
地點臺大醫院國際會議中心
演講題目用 Spring AI + OpenAPI 擴充 Agent 能力:讓你的 API 接上自然語言
講者鄭智陽(Samson)、陳冠緯(Heisenberg)
狀態delivered
官方連結JCConf 2025 議程頁
簡報連結Google Drive
錄影連結

演講摘要

這場分享探討如何讓既有的後端 API 成為 AI Agent 可以理解與呼叫的工具。內容以 OpenAPI 描述 API,透過 OpenAPI Generator 產生 Feign Client,再使用 Spring AI 將 Feign 方法包裝成 Agent Tool,示範對話式 Agent 如何查詢餘額、查詢庫存,以及執行需要風控確認的模擬下單流程。

演講內容

演講重點

  1. 只會對話的 Agent 能力有限:如果 Agent 只能產生文字,就無法直接處理查詢資料或執行業務操作;要接上真實系統,必須提供可以被呼叫的工具。
  2. OpenAPI 是 Agent 理解 API 的共同描述:OpenAPI 不只是給人看的 API 文件,也可以成為 Agent 了解端點、參數與操作方式的基礎規格。
  3. OpenAPI Generator 與 Feign 負責把規格接到程式碼:透過自動產生 Feign 介面,減少手動撰寫 HTTP Client 與資料映射程式的工作。
  4. Spring AI 負責把既有方法接進 Agent 流程:將 Feign 方法包裝成 Tool,讓語言模型能根據使用者需求選擇適合的 API。
  5. 有副作用的操作需要額外確認:查詢餘額或庫存與模擬下單的風險不同,下單流程加入風控確認,避免 Agent 直接執行高影響操作。
  6. 這套做法不只適用於單一產業:只要服務有清楚的 OpenAPI 定義,就有機會進一步接成自然語言介面或 Agent 工具。

內容整理

整體流程可以拆成四個部分:

flowchart TD
    A[OpenAPI 定義] --> B[OpenAPI Generator]
    B --> C[產生 Feign Client]
    C --> D[Spring AI 將 Feign 方法包裝成 Tool]
    D --> E[Agent 理解自然語言需求]
    E --> F[選擇並呼叫 API]
    F --> G{是否為高風險操作}
    G -->|| H[回傳處理結果]
    G -->|| I[進行風控確認]
    I --> H

分享先從對話式 Agent 的限制開始,說明單純聊天無法直接完成查詢或交易等實際業務操作。接著介紹 OpenAPI 如何提供標準化的 API 描述,讓工具鏈與 Agent 都能使用同一份規格。

在實作部分,OpenAPI Generator 產生 Feign 介面,Spring Boot 應用再將這些方法接到 Spring AI 的 Agent 流程中。Agent 收到使用者需求後,可以選擇查詢餘額、查詢庫存等工具;遇到模擬下單時,則需要先經過風控確認,再繼續執行後續操作。

最後,分享把這種做法延伸到更廣的 API 生態:既有 API 不一定要重新改寫成另一套 AI 專用服務,也可以先透過 OpenAPI 整理能力,再逐步讓 API 成為 Agent 可以使用的工具。未來也可以進一步把 API 包裝成 MCP Server,讓不同 Agent 使用同一套工具介面。

Demo 情境

  • 查詢帳戶餘額。
  • 查詢商品庫存。
  • 模擬下單,並在執行前加入風控確認。

相關內容