CODEX OPERUM
作品典藏錄
張華宸 Watson 著
✦ 輕觸以開卷 ✦
Prologue · 扉頁
電機工程 · 深度學習與生成式 AI 應用
我在碩士階段專注於深度學習、生成式AI 與 LLM 之應用。曾修習多門機器學習相關課程,具備從底層模型訓練至系統整合應用的經驗。此外,我亦曾研修服務導向前端設計課程,能在顧及使用者體驗的同時,打造兼具技術深度與實用性的方案。
❦ ❦ ❦
· I ·
Index · 目錄
卷目
───── ✦ ─────
· II ·
CHAPTER I
學歷與經歷
───── ⚔ ─────
學歷與工作經歷。
· 1 ·
Chapter I · 學歷與經歷
· 2 ·
CHAPTER I · 學歷背景
學歷背景
· 3 ·
CHAPTER I · 工作經歷
工作經歷
· 4 ·
CHAPTER II
軟體作品
───── ⚙ ─────
本章收錄的軟體作品。
· 5 ·
Chapter II · 軟體作品
· 6 ·
Project · BRE 自動批改系統
BRE 布林代數・考卷自動批改系統
簡介
一套為教學現場設計的自動改卷系統,串接 YOLO 版面偵測、視覺語言模型 OCR 與具推理能力的 LLM,將老師從大量重複的批改工作中解放出來。系統可處理布林代數手寫作業、紙本考卷與心得報告三種截然不同的評分情境,並各自搭配對應的辨識與判分流程。
主要功能
- 布林代數作業:OCR 統一交給同一個視覺模型,受測 LLM 只負責結構化與評分,讓不同批改模型在相同條件下比較
- 紙本考卷:YOLO 擷取學號區與作答區 → 視覺 LLM OCR → 思考型 LLM 逐題給分;可選三模型兩輪交叉互評
- 心得報告:依關鍵概念覆蓋率與論述細節評分
- 多 LLM 後端(OpenAI、Gemini、本地 vLLM)可切換
- 多代理架構,各評分代理獨立註冊,依任務類型指定調用
· 7 ·
技術棧
- Python / YOLO(Ultralytics)區域偵測,mAP50 約 99%
- 視覺語言模型 OCR + 思考型 LLM 評分
- 本地 vLLM 多端點切換,依模型 context 上限自動配置 thinking budget
- 另有模組化重構版(
modular/),以 69 份真實批改紀錄重播驗證與部署版輸出一致,尚未實際部署
成果
完整流程涵蓋 PDF 前處理、學號擷取、依名單配對學生、批改到 CSV 成績匯出,支援 Moodle 作業與紙本考試兩種流程。部署版實際批出過課程成績,也是論文實驗採用的版本。
開發角色與挑戰
獨立開發,一人包辦需求分析、模型整合、推論優化到部署的完整流程。過程中花最多時間的是效能優化——在 YOLO 與 LLM 的模型尺寸與參數之間找準確率與速度的平衡點,並持續調校加快整體推論速度,同時盡量不犧牲評分準確度。
· 8 ·
Project · Reflexion Search
Reflexion Search 反思式智慧搜尋
簡介
一套將 Search api 與大型語言模型結合的智慧搜尋系統。不同於單純回傳原始搜尋結果,系統會先整理、去重並依重要性排序,再由反思者「反思」結果的完整性——檢查資訊缺口與來源矛盾——並據此自動產生更精準的查詢,經多輪迭代收斂出完整答案。
主要功能
- 結果整理:搜尋結果去重、依重要性排序,輸出附來源網址與可信度評級的結構化 Markdown
- 反思分析:由第二個模型審視結果是否充分、來源是否矛盾、還缺哪些資訊
- 迭代優化:根據反思結論自動生成改良查詢,可設定 1–5 輪迭代
- 精簡摘要:在詳細結果之外,同步產出約 100 字的快速答案
- 多語言支援:以使用者查詢的原始語言回覆
· 9 ·
技術棧
- Python / LangChain 串接 LLM 呼叫與 prompt 管線
- OpenAI GPT-4.1 / GPT-4.1-mini 分別負責結果整理與反思分析
- Google Custom Search API 即時網頁搜尋
- Gradio 互動式網頁介面,內建 API 金鑰驗證
- 查詢結果快取一小時,降低重複查詢的 API 成本
成果
完整實作「查詢 → 搜尋 → 整理 → 反思 → 再查詢」的閉環流程,並提供 reflexion.py 完整版與 reflexion_simple.py 核心精簡版兩種實作,兼顧實用性與架構可讀性。以 MIT 授權開源。
開發角色與挑戰
獨立開發,一人包辦架構設計、prompt 管線與介面整合。以 GPT-4.1 / GPT-4.1-mini 依任務分工、查詢結果快取一小時,在回答品質與 API 成本之間取得平衡。
· 10 ·
Project · GIF Converter
GIF Converter · 動畫拆解與 AI 去背工具
簡介
一套在本機執行的動畫素材工具,讓「一張動圖 → 可直接放進遊戲或網頁的透明動畫」在同一個畫面內完成。
主要功能
- 剪輯台式工作區:切割、拆解、去背、對齊、導出五個模式共用同一畫面
- AI 去背:六種模型可切換(含可離線使用的 U2-Net),失敗影格可單獨重試
- Sprite Sheet 切割:自動偵測大小不一的格子並排除編號文字,一鍵切成動畫影格
- 角色對齊:以底部、中心或頂部為對齊點,消除 AI 圖常見的漂移與縮放跳動,支援逐幀微調與復原
- 多格式導出:GIF、動態 WebP、Sprite Sheet + JSON 座標可複選
· 11 ·
技術棧
- 後端:FastAPI 提供 JSON API,Pydantic 驗證請求
- rembg + ONNX Runtime 去背推論,ONNX session 依模型快取
- Pillow 解碼與合成 GIF / WebP,scipy.ndimage 以連通區塊偵測 Sprite Sheet 格子
- 前端:原生 JavaScript 單頁工作區,沒有建置步驟
- PyInstaller 打包成免安裝的 Windows 執行檔,內建 U2-Net 模型
成果
對齊只記錄參數、不改動原圖,重新去背後會自動重算;服務只綁定 127.0.0.1,圖片全程在本機處理。以 MIT 授權開源。
· 12 ·
Project · Walmart ver. of iLovePDF
Walmart Version of iLovePDF · PDF 視覺化編輯工具
簡介
一套開源的 PDF 視覺化編輯工具,操作邏輯類似 iLovePDF,但以互動式縮圖卡片取代手動輸入頁碼——所見即所得地拖拉、旋轉、刪除頁面,所有檔案都留在自己的電腦上。
主要功能
- 伺服器端渲染縮圖,所有檔案的頁面排在同一張畫布上
- 拖放排序,支援跨檔案合併重組
- 兩種選取方式:點選卡片,或輸入頁碼範圍(如
1-5, 8, 12-20)
- 頁面旋轉、刪除,圖片轉 PDF
- 匯出合併後的 PDF,或打包成 150 DPI 的 PNG ZIP 檔
- 隱私優先:不需帳號、沒有資料庫,工作區閒置一小時後自動清除
· 13 ·
技術棧
- 後端:FastAPI + PyMuPDF(fitz),Pillow 處理圖片,Pydantic 驗證匯出請求
- 前端:React + TypeScript + Vite + TailwindCSS,密集工作台式介面
- @dnd-kit 實作拖放互動
- PyInstaller 打包成單一
WalmartPDF.exe,使用者不需安裝 Python 或 Node.js
成果
以單一執行檔發佈,打包版只綁定 127.0.0.1。上傳時檢查檔案實際內容(%PDF- 檔頭、圖片驗證)並限制路徑必須位於工作區內,擋下改副檔名的檔案;主要架構決策以四份 ADR 記錄。
· 14 ·
Project · Usage Monitor
Usage Monitor · AI 額度監控小工具
簡介
一個 Windows 桌面應用,以常駐置頂的懸浮球即時顯示 Claude、Google Antigravity 與 OpenAI Codex 的剩餘用量額度——回答的不是「用了多少 token」,而是「距離觸頂還剩多少空間」。
主要功能
- 三額度追蹤:Claude 5 小時/7 天、Antigravity 與 Codex 額度,統一換算成 0–100 尺度
- 智慧鎖定:Claude 週額度達 90% 時自動改顯示週用量
- 只用顏色示警:70% 琥珀色、90% 紅色,不彈通知
- 靠邊收合為窄條,系統匣圖示確認程式仍在執行
- 五種外觀即時切換
- 資料過期時誠實顯示時間戳,而非用猜的
- 內建 Claude Code status line 安裝與開機自動啟動
· 15 ·
技術棧
- Electron 桌面框架 + JavaScript,electron-builder 打包
- Claude:讀取 Claude Code status line 輸出的 rate_limits 百分比
- Antigravity:直接查詢本機 language server,每 60 秒輪詢,不需額外 CLI
- OpenAI Codex:透過官方本機 app-server 介面讀取額度
成果
把原本分散在終端機輸出裡的用量資訊,整合成一眼可讀的桌面小工具,是開發過程中順手解決自己需求而生的工具。選擇資料來源時,刻意排除了未公開的 OAuth 用量端點——這種用法違反服務條款,只採用各工具在本機正式提供的介面。
· 16 ·
EPILOGUE
❦
持續更新中。
· Finis ·