基本資訊
日期
2026-05-05
分析參與者
Claude Opus + Codex (GPT-5.4)
資料來源
v1 codebase、plan-todo.md(386行)、4/30 會議紀錄、SPEC v0.5、INSIGHT 筆記
目的
為隊長 AI 秘書 v2 升級定出架構方向
①專案現況快照
v1 LINE bot 方向調整
- FastAPI + 7 種 intent router + Gemini 分類 + SQLite
- 已部署在 Hetzner VPS(46.225.179.123)
- 問題:intent 互斥、無連續對話記憶、FSM 太 rigid
v2 DC bot 已部署
- Claude Code instance,systemd service active since 4/30
- 跑在 /home/captain/,獨立 user + 獨立記憶 repo
- CLAUDE.md 已設定(語音轉譯、基本互動規則)
- 記憶還是空的 — 隊長尚未正式使用
4/30 會議後的新需求(A~H 模組)待規劃
- A. 投資人管理(簽約/增資/部位/配息/資金來源)
- B. 專員管理(旗下投資人/獎金/績效)
- C. 上課/會議記錄(五種課程/不同成員/快速撈背景)
- D. 自由潛水教學(學生/進度/AIDA 證照/裝備)
- E. 社群媒體(發文/互動追蹤)
- F. 暫存區/靈感備忘
- G. 新人培訓 SOP(六大軸心)
- H. 新人個人化 AI 簡報助手
②核心問題(WT 提出)
「應該要把一些有規則的東西變成制度,而需要變化的地方留給 AI,不然全部都是 AI 會太花錢,也會太不穩定。」
「現在用的方式還是很不穩定,要做成產品還有很長一段路要走。」
這兩句話是整個架構設計的核心指引:規則確定的地方用程式碼(零 AI 成本),需要理解和判斷的地方才用 AI。
③Claude + Codex 架構分析共識
結論採用方向 C(混合架構):確定性邏輯用腳本,語意理解用 AI,兩層分工互補。
三個方向對比
| 項目 | 方向 A(獨立系統) | 方向 B(純 Claude Code) | 方向 C(混合)✅ |
|---|---|---|---|
| 開發成本 | 8-12 週 | 2-3 週 | 3-5 週 |
| Token/次 | 2,000-5,000 | 10,000-50,000 | 3,000-8,000 |
| 穩定性 | 高 | 低(記憶漏、context 斷) | 中高 |
| 擴展性 | 高 | 低 | 中 |
| 使用體驗 | 受限 | 最自然 | 自然 |
設計原則:規則用程式碼,判斷用 AI
隊長傳訊息 → Claude 判斷意圖(AI,~500 tokens)
→ 呼叫對應 Python 腳本(確定性,0 AI 成本)
→ 拿到結果 → Claude 格式化回覆(AI,~300 tokens)
→ 呼叫對應 Python 腳本(確定性,0 AI 成本)
→ 拿到結果 → Claude 格式化回覆(AI,~300 tokens)
④兩層架構詳解
制度層(確定性,零 AI 成本)
- 配息計算公式(固定邏輯)
- 輔導獎金計算規則
- 到期提醒觸發(cron job)
- 課程排程自動提醒
- AIDA/CMAS 證照到期檢查
- 每月績效報表自動彙總
- 資料驗證(金額不能負數、日期格式)
- SQLite 結構化查詢
AI 層(只處理需要理解的部分)
- 語音/文字意圖解析
- 非結構化內容摘要(會議→重點)
- 跨模組複雜查詢
- 靈感分類
- 個人化建議
⑤模組對應 Skill 設計
| Skill 名稱 | 對應模組 | 制度層(腳本做) | AI 層(Claude 做) |
|---|---|---|---|
investor-query |
A. 投資人 | SQL 查詢 + 配息計算 | 理解問句、格式化回覆 |
agent-report |
B. 專員 | 績效彙總腳本 | 格式化報告 |
meeting-log |
C. 會議 | Whisper 轉譯 + 存檔 | 摘要整理 |
freediving |
D. 潛水 | 學員 CRUD + 進度表 | 建議下一步 |
idea-capture |
F. 備忘 | 直接存 DB | 分類建議 |
gcal-event |
行事曆 | GCal API 操作 | 解析時間 |
training-sop |
G. 培訓 | SOP 文件查詢 | 個人化調整 |
onboarding-ppt |
H. 簡報 | 模板套用 | 內容生成 |
⑥資料庫設計建議
核心 SQLite schema,覆蓋 A~F 模組:
-- 投資人
CREATE TABLE investors (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
agent_id INTEGER REFERENCES agents(id),
signed_at DATE,
contract_count INTEGER DEFAULT 0,
total_invested REAL DEFAULT 0,
is_deleted BOOLEAN DEFAULT 0
);
CREATE TABLE investments (
id INTEGER PRIMARY KEY,
investor_id INTEGER REFERENCES investors(id),
amount REAL,
source TEXT,
invested_at DATE
);
CREATE TABLE dividends (
id INTEGER PRIMARY KEY,
investor_id INTEGER REFERENCES investors(id),
amount REAL,
paid_at DATE,
group_type TEXT -- 'A組' / 'B組'
);
-- 專員
CREATE TABLE agents (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL
);
-- 課程/會議
CREATE TABLE meetings (
id INTEGER PRIMARY KEY,
type TEXT,
held_at DATETIME,
attendees TEXT,
content TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- 潛水學員
CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
contact TEXT,
cert_level TEXT,
cert_expiry DATE,
current_progress TEXT,
is_deleted BOOLEAN DEFAULT 0
);
-- 備忘
CREATE TABLE notes (
id INTEGER PRIMARY KEY,
raw_text TEXT,
status TEXT DEFAULT 'pending',
tags TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
⑦資安考量
投資人金額是敏感資料,不能進 AI context。
腳本查詢後只回傳摘要/脫敏結果。
CLAUDE.md 明寫「不要把完整金額放進回覆」。
SQLite 靠檔案權限保護(captain user chmod 700)。
現有 v1 已有的安全架構(獨立 Linux user、資料隔離)可沿用。
⑧Codex 特別提醒的三個雷
雷 1:AI 解析金額可能搞錯含稅/不含稅
寫入前一定要確認。金額欄位不能直接讓 AI 轉換,應由程式碼做嚴格驗證。
雷 2:絕對不能用 DELETE
所有 table 加 is_deleted 欄位,一律做軟刪除。這在 DB schema 已全部加入。
雷 3:雙入口(DC + LINE)要綁同一個身份
未來如果 LINE bot 也存活,兩個入口要指向同一個 DB 和同一個用戶身份,避免資料分裂。
⑨與現有 plan-todo.md 的關係
本機 plan-todo.md 是一份 386 行的完整 v2 升級計畫(三方辯論收斂),覆蓋階段 0~4。今天的架構分析是在這份計畫的基礎上,針對 4/30 會議新需求(A~H 模組)做的延伸。
兩者的上下層關係
- plan-todo.md 的階段 0-2(agent loop + DC bot + 基本 tool)= v2 的基礎設施
- 今天的架構分析 = 在 v2 基礎上加入結構化數據模組的規劃
- 兩者不衝突,是上下層的關係
⑩建議的執行順序
- Phase 0(現在) 隊長先開始用 DC bot(已部署)→ 收集真實需求,讓記憶庫自然累積
- Phase 1(第 1-2 週) 基礎 skill:行事曆 + 靈感備忘 + 語音轉譯增強
- Phase 2(第 3-4 週) 投資人模組 — 設計 schema + CRUD 腳本 + investor-query skill
- Phase 3(第 5-6 週) 專員模組(agent-report)+ 潛水學員模組(freediving)
- Phase 4(第 7-8 週) 會議記錄(meeting-log)+ 新人培訓 SOP(training-sop)
- Phase 5(第 4 週 sunset gate) Review — 根據實際使用狀況,決定是否做 LINE 版;評估哪些模組值得繼續投資
⑪待決議事項(需要 WT 確認)
- 隊長什麼時候開始正式使用 DC bot?
- 投資人模組的資料來源?(手動輸入 / 匯入 Excel / 其他系統?)
- 敏感資料的防護等級?(脫敏夠嗎?還是需要加密?)
- 是否要做 PIN 驗證才能查詢完整金額?
- Phase 1 要先做哪個 skill?(行事曆 / 靈感備忘 / 語音轉譯)
- 4 週 sunset gate 的具體判準?(以什麼指標決定 go/no-go?)