
Architecture Journal
conferencespring-aiopenapi
用 Spring AI + OpenAPI 擴充 Agent 能力:讓你的 API 接上自然語言
演講題目:用 Spring AI + OpenAPI 擴充 Agent 能力:讓你的 API 接上自然語言
基本資料
| 欄位 | 內容 |
|---|---|
| Conference | JCConf |
| 年份 | 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 如何查詢餘額、查詢庫存,以及執行需要風控確認的模擬下單流程。
演講內容
演講重點
- 只會對話的 Agent 能力有限:如果 Agent 只能產生文字,就無法直接處理查詢資料或執行業務操作;要接上真實系統,必須提供可以被呼叫的工具。
- OpenAPI 是 Agent 理解 API 的共同描述:OpenAPI 不只是給人看的 API 文件,也可以成為 Agent 了解端點、參數與操作方式的基礎規格。
- OpenAPI Generator 與 Feign 負責把規格接到程式碼:透過自動產生 Feign 介面,減少手動撰寫 HTTP Client 與資料映射程式的工作。
- Spring AI 負責把既有方法接進 Agent 流程:將 Feign 方法包裝成 Tool,讓語言模型能根據使用者需求選擇適合的 API。
- 有副作用的操作需要額外確認:查詢餘額或庫存與模擬下單的風險不同,下單流程加入風控確認,避免 Agent 直接執行高影響操作。
- 這套做法不只適用於單一產業:只要服務有清楚的 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 情境
- 查詢帳戶餘額。
- 查詢商品庫存。
- 模擬下單,並在執行前加入風控確認。