在這個專案中,我將與實際使用七政四餘星盤的占星學家合作,由占星學家提供業務需求與驗證結果,協助我理解占星邏輯與資料結構。
值得一提的是,我本人並不具備天文學或占星相關背景,而占星學家也完全不熟悉程式設計與系統架構。
這樣的設定,反而極為接近實務專案的典型場景 —— 需求方與工程實作者之間存在知識斷層,需要透過結構化的語意轉譯與技術重構來銜接。
本系列記錄的,就是如何在這樣的條件下,運用 GenAI(Claude Code CLI)協作,加上明確的人機責任框架,將一套完全斷裂、無版本控制、無文件的 Java 占星桌面系統 Moira,重構為模組化的 Python Web 應用。
Moira.java
為主入口org.athomeprojects.swisseph
ChartData
, DataSet
AI 任務設定:
- 提取主要類別與呼叫鏈
- 分析每個 Java package 的責任分工
- 標註已廢棄 GUI 組件與可重構模組
AI 輸出結果:
- 成功定位五大類別與使用邏輯
- 根據變數命名推測占星學邏輯(如星體座標、天干地支資料)
- 協助我用語意方式重建物件責任圖
moira_python/
├── config/ # 設定模組(Django 設定、環境變數)
├── apps/
│ ├── users/ # 使用者模組
│ ├── astrology/ # 占星邏輯(七政四餘、紫微、擇日)
│ ├── charts/ # 星盤資料模型(ChartData)
│ └── calculations/ # 天文計算整合(ephem, skyfield)
├── requirements/ # 套件與環境需求
└── docker-compose.yml # 開發用 Docker 配置
AI 任務設定:
- 依據原始 Java 模組,規劃 Python 架構對應分工
- 協助我設計 apps 資料夾內模組劃分與名稱標準化
AI 輸出結果:
- 生成對應架構草圖(含模組說明)
- 建議將 GUI 職責獨立抽離,將天文計算與占星解釋分層
- 提供 Docker 初始設計與 .env 管理方式建議
Java 類別/模組 | Python 模組 | 責任 |
---|---|---|
org.athomeprojects.swisseph |
apps.calculations |
天文計算邏輯整合 |
org.athomeprojects.base.ChartData |
apps.charts.models |
星盤資料結構與資料物件 |
org.athomeprojects.moira |
apps.astrology |
占星邏輯(盤型、解盤) |
SWT GUI | (前端待重構) | 使用者互動與可視化介面 |
本日完成:
Claude 在今日任務中主要協助我完成「語境還原、模組劃分、技術替換規劃」三項任務,展現高度結構理解力。
明日,我將正式進入核心資料模型 ChartData
的轉換與 Python 類別重建,AI 的推論邏輯與型別補全能力將再次被實戰驗證。