← 返回項目列表
個人專案
coreytrading
以 LLM Agent 驅動的交易營運系統,狀態變更皆經審查且可稽核
獨立作者 · 2026.08 — 至今
原始碼與 README → Python pandas Claude Code Codex exchange-calendars
專案背景
LLM 很適合閱讀證據、撰寫分析,但不應直接變更狀態或動用資金。設計上的問題是:如何讓它們協作進行研究,同時由程式碼完全掌控資料、運算與寫入。
架構設計
排程器 → 主控程式 → 證據擷取(券商與市場快取、估值帳本;凍結並雜湊)→ 角色 worker(Claude / Codex,僅輸出結構化 JSON,無工作區或券商存取權)→ 主控驗證(策略、時效、版本)→ 受控卡片寫入器 → 收據 → 人工審查與手動執行。
核心技術亮點
01
每個 Agent 都會收到凍結並經雜湊的證據快照,且必須回傳通過 schema 驗證的 JSON
02
狀態變更須經受控寫入器:寫入前映像備份、版本檢查、預先準備的收據,以及以雜湊為基礎的對帳,而非盲目重試
03
角色對應模型的路由,每次呼叫明確指定模型與 effort;呼叫預算(同時 2 個、滾動每小時 12 次)
04
依交易所行事曆觸發的排程任務:盤前簡報、收盤後狀態切換、由程式碼繪製的總經視角、每週回顧
05
約 12.1 萬行 Python 程式碼,約 2,900 個自動化測試
核心實現
1
模型提議,程式碼決定
worker 取得凍結的證據並回傳結構化提議;主控程式依策略與目標的當前版本驗證後,才由受控寫入器套用。
Why: 模型輸出屬於不可信任的輸入。驗證、版本檢查與收據讓每次變更都可解釋、可還原。
2
結果不確定的寫入以對帳處理,而非重試
每次寫入都有一份預先準備、包含寫入前後雜湊的收據;當機後的復原流程會比對雜湊並更新收據,而不是重複寫入。
Why: 與我在工作中處理發放時相同的冪等紀律,套用到單一使用者的系統上。