前言
Hi 大家好,我是梅森。這篇想一次聊三個我做過的資訊專案。它們的主題差很多,一個講環保回收,一個講生態,一個講航空,但有一個共同點:每一個都不是我一個人埋頭寫程式,而是跟不同專業的人合作,把資訊帶進一個我原本不熟的領域。
我一直覺得,資訊最有趣的地方不在於自己能寫出多厲害的程式,而在於能不能跟懂設計的人或懂生態的人一起,把一個真實世界的問題解決。這篇就照環保到生態再到航空的順序,講講我在這三個專案裡怎麼跟人合作。
環保回收
這個專案的起點是校內的公民行動課程。我這組除了我以外,還有一位設計專業跟一位行銷專業的同學,剛好組成一個資訊加設計加行銷的團隊。
上學期:先去現場找問題
上學期我們沒有急著做東西,而是先去現場。我們造訪了 RE-THINK 重新思考 這個環保組織進行訪談跟田野調查,也跟著他們的淨灘活動去拍攝紀錄。實際站在海邊撿垃圾之後,很多在教室裡想不到的問題才會浮現。


我們最後鎖定的問題是:民眾對複雜回收物的認知落差。像手搖飲的杯子,紙杯加吸管加封膜其實是複合材質,一般人很難一眼判斷每個部件該怎麼丟。

下學期:做一個會辨識回收物的網站
下學期我們提案並設計了一款叫 Trashform 的網站,用 AI 影像辨識來彌補這個認知落差。使用者拍一張照片,網站就會告訴你這個東西怎麼分類怎麼處理,還會針對臺北跟高雄給出在地化的指引,因為同一個東西在不同縣市的處理方式其實不一樣。

這個網站是我主要負責的部分。它不是一次就做成現在的樣子,而是分成好幾個版本逐步改出來的:
- v2.0 純前端雛形:最基本的版本,直接在瀏覽器呼叫 Gemini 辨識照片,還沒有後端。
- v2.1 全端化:一天內把整個架構翻新成 Postgres 加雲端儲存加後台,開始支援複合材質辨識,會自動把一杯手搖拆解成紙杯跟吸管跟封膜分別怎麼處理,也做了組織代號制度讓老師發代號給學生用,不用每個人自備 API Key。
- v2.2 使用教學:加了會依照使用者裝置自動切換手機版或桌機版的教學頁。
- v2.3 手機優先加去摩擦:上傳完自動開始辨識少一步操作,後端把圖片壓縮到原本的十分之一,還加了社群連結跟回饋表單按鈕。
- v2.4 結果體驗加社群分享:辨識結果改用彈窗呈現,加了環保冷知識輪播,可以一鍵把結果分享到 IG 限時動態,後台也能匯出報表。
做這個專案讓我體會最深的,是跨領域合作真的會讓成品完全不一樣。如果只有我,Trashform 大概只會是一個堪用的辨識工具。但因為有設計專業的同學把介面跟視覺顧好,有行銷專業的同學去想怎麼推廣跟收集回饋,它才變成一個真的有人願意打開來用的產品。

完整的程式碼跟開發紀錄都在 GitHub 上,也可以直接試用線上版。

生態
第二個專案來自校內的 SDGs 議題探究課程。這次我合作的對象是一位生態專業的同學,我們的分工很清楚,他懂生態,我懂資訊。
我們把題目定在城市綠地連通性與都市生態網路,並以臺北信義區四獸山下的永春陂濕地公園為例。這座公園是從閒置的軍營用地一路復育成生態公園的,裡面復育了大約 50 種鳴禽。
定題的過程比我想像中難很多。我們一開始題目訂得太大,後來是靠系統思考畫因果關聯圖,加上實地去永春陂勘察,再用 eBird 熱點資料跟 iNaturalist 還有工務局大地工程處的新聞稿來佐證,才慢慢把題目收斂成一個可以被數據驗證的生態網路問題。中間也請了一位業界的地政士事務所所長來給我們深度回饋。

我們針對核心問題提出的解方,是導入一套 AI 智慧影像辨識誘捕籠,從源頭管理永春陂周邊的流浪貓,降低牠們對園區鳴禽的捕食壓力。做法是讓籠子用 AI 辨別,確定是流浪貓或狗才關門,再搭配感應器,抓到之後自動發訊息通知放置者去處理。我們也用 SMART 指標把它變成可以衡量的目標,希望在 2027 年前完成周邊流浪動物的數量控管,2030 年前完成安置。
在這個專案裡,我主要負責資訊專業的部分,包括 AI 辨識邏輯的設定跟部分的 3D 構圖,生態的知識則交給我的組員。這種分工讓我學到一件事,就是提案不是把點子講出來就好,而是要能被外部專家跟現實條件檢驗。像那位所長就提醒我們,抓捕之後的收容跟安置才是真正的難題,不能只談抓。我也學會在資料互相矛盾的時候,選擇比較保守而且可以被驗證的數字,這是做研究該有的誠實。
航空
第三個跟前兩個不太一樣。它不是一堂課的專題,而是從航空研究社的社課裡延伸出來的一連串工具。
在帶社課的過程中我發現,很多航空知識太複雜也太抽象,只靠口頭講解很難讓社員真的理解。與其一直講,不如做一些能親手操作的東西。所以我陸續做了不少練習工具跟教材網站,等於是把資訊變成航空教育的工具。
第一個是 Aircraft Marshaller。這是一個用手勢指揮飛機進停機位的網頁遊戲,玩家扮演地面導引員,透過電腦鏡頭即時辨識你的手勢,引導一架 3D 飛機沿著導入線滑進停機位。手勢是照 ICAO 機坪信號設計的,還可以切換 787 跟 777 兩種機型。

下面這部影片是這個專案的 Demo,可以看到社員學習如何透過手勢把一架 ATR-72 引導進停機位。
第二個是 VTSim,一個飛行員潛質測驗的模擬器。它重現了台灣航醫中心那套培訓機師甄選在用的維也納測驗,收錄了好幾個科目:
- 決斷測驗,也就是俗稱的打地鼠,練反應力
- 感覺動作協調,俗稱立披薩,練三軸控制
- 同步多工,俗稱刪數字,練並行任務
- 空間定向,判斷飛機的三軸姿態
- 完形知覺,在散點裡找出圖形
- 持續注意力,盯著白點的變化

下面這部影片是 VTSim 的 Demo。
第三個是 DICAGO,一個把航空英語跟 ICAO 無線電通話做成闖關遊戲的網站。它有闖關關卡跟經驗值跟連續天數,題型從拼讀字母跟數字一路到地面滑行跟機師對答,全部對應到 ICAO 的六大語言能力面向。

第四個是 VOXATC,一個航管通話的練習平台。它用 Gemini 的語音辨識跟語音合成,讓你按著按鍵通話,跟 AI 塔台進行 ICAO 標準的起飛與到場無線電對話。目前先完成了松山機場 RCSS,桃園跟高雄還在進行中。這個對社課特別有用,因為 ATC 通話只用看的很難學會,一定要實際開口練習。可以直接試用線上版。

第五個是 MSFS 飛行日誌。它會把我在微軟模擬飛行裡錄下來的航跡,轉成一個可以互動的 3D 地球飛行日誌,做成 PWA 網站,上面有統計列跟可以收合的分析面板。等於把自己飛過的每一趟都變成看得到的紀錄。這個也有線上版可以看。

第六個是 flightdeck。這個比較特別,它會交叉比對我在 FlightRadar24 上的飛行紀錄跟我的 GitHub 貢獻歷史,然後產生一張可以嵌在首頁的動畫遊牧地圖跟航班看板 SVG。算是把飛行跟寫程式這兩件我最常做的事結合起來。
還有 ATIS-Monster,一個用 Flask 做的機場資訊系統。它會自動錄下松山跟桃園還有高雄機場的 ATIS 廣播,再透過 Gemini 轉錄並翻譯成中文。ATIS 的英文廣播語速快又不容易聽清楚,對剛入門的人並不友善,這個工具就是想把門檻降低。
除此之外我也做了一套臺北飛航情報區的 ATC 管制員模擬器,讓人可以站在管制員而不是機師的角度,看整個空域是怎麼被指揮的。
這些工具的程式碼大多都放在我的 GitHub 上。
心得
把這三個專案擺在一起看,我最大的體會是,資訊對我來說比較像一種通用工具,真正決定成果的,是我能不能把它接到一個我原本不懂的領域上。
三個專案剛好對應到三種不同的合作方式。環保回收是跟設計跟行銷的同學平行合作,各出各的專業,最後拼成一個完整的產品。生態是跟生態專業的同學互補,我出資訊他出領域知識,兩邊缺一不可。航空則是我把資訊當成教學的工具,服務的對象是想學航空的人。
過程中我也踩到不少自己的盲點。做環保回收的時候,我一開始只想著辨識準不準,是設計跟行銷的同學提醒我,一個沒人想用的工具再準也沒意義。做生態的時候,我以為把 AI 辨識邏輯寫好就夠了,是那位所長跟生態組員讓我看到,抓捕背後的收容跟法規才是真正的難題。這些都是我一個人關在房間裡寫程式永遠不會遇到的問題。
如果要用一句話總結,我會說跨領域合作最珍貴的,是它會一直把你從自己的舒適圈裡拉出來。每一次跟不同專業的人合作,我都會更清楚一件事,就是資訊本身很有力量,但它要接上別人的專業,才真的能改變什麼。謝謝一路上一起做專案的每一位夥伴,也謝謝看到這裡的你。