Day 1 確定了這次 30 天挑戰的目標:
使用 Java + Spring Boot + 生成式 AI,打造一個簡單的智慧健康助理。
但是在真正開始寫程式之前,我發現一個問題:
「智慧健康助理」聽起來很厲害,但它到底要會做什麼?
如果一開始就直接打開 IDE 開始寫,很可能做到一半才發現功能太多,或是不知道下一步該做什麼。
所以 Day 2 決定先不急著 Coding,而是先把這個 AI 健康助理的功能規劃清楚!
在規劃功能之前,我覺得第一件事情反而是先決定:
這個系統不是用來診斷疾病的。
醫療資訊本身具有一定的專業性,因此這次 Side Project 不會讓 AI 判斷使用者「得了什麼病」,也不會取代醫師提供醫療建議。
我希望它比較像是一個日常的「健康資訊小助手」。
使用者可以輸入一些日常健康資訊,而系統負責協助整理、呈現,並透過生成式 AI 將資訊轉換成比較容易閱讀的內容。
首先需要思考的是:
AI 要回答問題之前,需要知道什麼?
目前我希望使用者可以輸入一些簡單的日常健康資訊,例如:
例如:
我昨天只睡了 5 個小時,可以幫我整理一下最近的睡眠紀錄嗎?
或是:
幫我整理這個星期的運動紀錄。
這樣系統就不只是單純的聊天機器人,而是可以搭配使用者輸入的資料提供資訊。
既然這次的題目是 Java × AI,我也開始思考:
到底哪些事情是 Java 做的,哪些事情才需要交給 AI?
目前我的想法是:
| 功能 | 負責處理 |
|---|---|
| 接收使用者輸入 | Java / Spring Boot |
| BMI 計算 | Java |
| 健康紀錄管理 | Java |
| 資料儲存 | Java + Database |
| 一般資料統計 | Java |
| 理解使用者問題 | AI |
| 產生自然語言回覆 | AI |
這樣整理之後,我才發現:
AI 其實只是整個系統的一部分。
Java 還是負責主要的系統邏輯,而 AI 比較像是讓系統多了一個可以理解文字、產生自然語言內容的功能。
目前預計先從最簡單的功能開始。
使用者可以輸入一般健康相關問題,再由 AI 整理成容易理解的回答。
假設使用者已經記錄了一週的生活資訊:
未來希望可以把這些資料交給 AI,產生一段簡單的摘要。
程式很擅長計算數字,但是直接看到一堆數字不一定容易理解。
所以我希望 AI 可以扮演「整理資訊」的角色,把系統計算出的結果轉換成比較自然的文字。
目前我想像中的操作方式大概會是:
使用者輸入資料
↓
Java / Spring Boot 接收資料
↓
Java 進行計算或整理
↓
需要 AI 的部分送給生成式 AI
↓
AI 產生回覆
↓
Java 將結果顯示給使用者
用一句話來說就是:
使用者 → Java → AI → Java → 使用者
現在看起來還很簡單,但至少整個專案的方向開始比較清楚了!
一開始想 Side Project 的時候,很容易一直增加功能。
登入、資料庫、圖表、AI、健康紀錄……
全部都想做的結果,很可能就是全部都做不完 XD
所以目前我把功能分成兩個階段。
先完成最基本的版本,再慢慢增加功能。
這樣應該比較符合 30 天 Side Project 的目標。
今天還是沒有開始寫 Java XD
但是比起 Day 1 只有「我要做一個 AI 健康助理」的想法,今天已經進一步確定了:
Java 負責系統與資料處理,AI 負責理解文字與產生自然語言內容。
而我希望最後完成的,不只是單純呼叫 AI API 的聊天機器人,而是一個真正把 Java、健康資訊與生成式 AI 結合起來的小型應用。
接下來,就可以開始準備真正需要使用的開發工具了!