前兩天先確定了這次 Side Project 的方向,也整理了智慧健康助理預計會有的功能。
目前的目標是:
使用 Java + Spring Boot + 生成式 AI,打造一個簡單的智慧健康助理。
但在真的開始寫程式之前,我突然發現一個問題:
Java、Spring Boot、AI 到底要怎麼連在一起?
所以 Day 3 決定先把這次專案會用到的幾個重要角色整理清楚。
這次專案主要使用的程式語言是 Java。
因為 Java 是目前我比較熟悉,也正在持續學習的程式語言,所以希望透過這次 Side Project,把課堂上學到的東西真正應用在一個完整的小型系統中。
在智慧健康助理裡,Java 預計會負責:
也就是說,Java 就像是整個系統背後負責處理事情的核心。
只有 Java 還不夠。
因為最後希望做出的是一個可以讓使用者操作的健康助理,所以還需要建立 Web 應用程式。
這時候就會使用到 Spring Boot。
簡單來說,我目前對 Spring Boot 的理解是:
它可以幫助我們更方便地使用 Java 建立 Web 應用程式與 API。
未來使用者在網頁上輸入資料之後,Spring Boot 就可以負責接收這些請求,再交給 Java 程式進行處理。
例如:
使用者輸入身高、體重
↓
Spring Boot 接收資料
↓
Java 計算 BMI
↓
將結果回傳給使用者
這就是目前預計最基本的處理流程。
接下來還有一個這次一定會遇到的東西:
API(Application Programming Interface)
以前看到 API 這個詞的時候,總覺得它聽起來很複雜。
但如果用比較簡單的方式理解,我覺得可以先把 API 想成:
讓不同程式之間互相溝通的方法。
假設我的 Java 程式需要請 AI 幫忙產生一段健康資訊摘要,就不能只是直接對 AI 說話。
程式需要透過 API 傳送資料。
例如:
Java:請幫我整理這些健康資訊
↓
API
↓
AI 模型
↓
API
↓
Java 收到 AI 的回答
所以 API 就像是 Java 與 AI 之間的橋樑。
這次專案雖然叫做「智慧健康助理」,但我不希望什麼事情都交給 AI。
例如:
BMI 計算這種有固定公式的功能,其實直接交給 Java 計算就可以了。
AI 比較適合負責:
例如系統已經透過 Java 計算出:
之後就可以嘗試將這些資料提供給 AI,請 AI 幫忙整理成比較容易閱讀的內容。
因此目前的分工大概是:
| 技術 | 主要工作 |
|---|---|
| Java | 系統邏輯、資料處理、計算 |
| Spring Boot | 建立 Web 應用程式與 API |
| Database | 儲存健康紀錄 |
| AI API | Java 與 AI 之間的溝通 |
| 生成式 AI | 理解文字、整理資訊、產生回覆 |
整理完每個技術的工作後,終於可以把整個智慧健康助理的流程畫出來。
使用者
↓
網頁
↓
Spring Boot
↓
Java
↓
資料處理 / 計算
↓
回傳結果
使用者
↓
Spring Boot
↓
Java
↓
AI API
↓
生成式 AI
↓
AI API
↓
Java
↓
回傳結果給使用者
看到這裡,原本感覺很複雜的「Java × AI」好像開始變得比較清楚了。
其實並不是把 AI 直接塞進 Java 裡面,而是:
讓 Java 透過 API 與 AI 服務進行溝通。
既然這個專案的重點之一是 AI,那為什麼不直接從 AI API 開始?
我目前還是希望先把最基本的 Java 與 Spring Boot 架構建立起來。
如果連最基本的資料接收、處理和回傳都還沒有完成,就直接加入 AI,遇到錯誤的時候可能反而更難知道問題出在哪裡。
所以目前決定按照這個順序:
一步一步來,應該比較不容易在一開始就被 Bug 淹沒
今天終於把這次專案最重要的幾個角色整理清楚了:
Java 負責邏輯,Spring Boot 負責建立應用程式,API 負責溝通,而生成式 AI 負責理解與產生文字。
前面三天都還停留在規劃與理解階段。
但是從明天開始,終於要正式打開 IDE 了!