《AI時代:碼農的涅盤重生》第79章 技術架構升級(1)

作者:Flint8·1小時前

凌晨兩點半,林晨的手機震動了一下。

他剛從一段複雜的非同步回撥地獄裡掙扎出來,揉了揉發酸的眼睛,拿起手機。是張偉的回覆,距離他睡前發的那條詢問“什麼事”已經過去了六個小時。

“抱歉剛開完會。電話方便嗎”?

林晨看了眼窗外沉寂的夜色,又看了看螢幕上正在執行的量化系統終端——它正安靜地按照既定策略分析著夜間的外匯市場資料。他起身走到陽臺,撥通了電話。

“喂,偉哥,還沒睡”?林晨壓低聲音,怕吵醒隔壁臥室的蘇婉和樂樂。

“剛弄完一個智慧合約的審計報告”。張偉的聲音帶著熬夜後的沙啞,但語氣很精神,“你上次不是說在搞量化系統嗎?進展怎麼樣”?

“原型跑起來了,用7萬塊實盤試了快一個月,收益……還行,大概8%左右”。林晨實話實說,“但架構很糙,就是個指令碼集合,排程、監控、風控都是手搓的,得重構”。

電話那頭傳來張偉敲擊鍵盤的聲音,似乎一邊聊一邊在查什麼。“8%一個月?年化快翻倍了,可以啊。不過你說得對,這種‘實驗室產品’不上正經架構,遲早出問題。我找你其實是另一件事——T廠AI Lab那邊,我有個前同事跳過去了,說他們最近在擴招,尤其是應用演算法方向,可能跟你現在搞的東西有重疊”。

林晨心裡一動。T廠,那是國內網際網路的頂級山頭之一,AI Lab更是無數技術人嚮往的聖殿。但他立刻冷靜下來:“我簡歷……夠得著嗎?而且我現在的系統,還沒到能拿出去說的程度”。

“所以我才問你進展”。張偉很直接,“如果你只是玩票,那就算了。但如果你真把這系統當個正經專案在打磨,甚至有了架構升級的計劃,那這就是一個非常好的‘專案經驗’。大廠面試,尤其是技術面,最喜歡有完整閉環實踐經驗的候選人,哪怕專案不大,但深度夠、思考夠,比空談演算法強得多”。

夜風微涼,吹散了林晨的睏意。他握著手機,腦海裡快速閃過自己那個雜亂的專案目錄。“我正打算重構。後端用FastAPI重寫,提供標準API;前端想用React做個視覺化監控面板;然後部署到雲伺服器上,做成一個可以遠端訪問、監控的完整服務”。

“FastAPI + React + 雲部署……”張偉重複了一遍,笑了起來,“思路很正嘛。這就是一個標準的現代Web應用架構了。你搞跨境電商後端這麼多年,這套東西對你來說應該不難,重點是把你的量化邏輯封裝成服務。什麼時候能弄出個雛形”?

“快的話,一週。慢的話,兩週”。林晨估算了一下學習React和部署的時間。

“那就搞”。張偉果斷道,“搞出來之後,如果需要內推,跟我說一聲。不過別急,先把東西做紮實。程式碼可以騙人,但邏輯不會”。

掛掉電話後,林晨站在陽臺上,看著遠處鵬城灣星星點點的燈火,心中那股因妻子支援而燃起的火苗,被張偉這通電話又添了一把柴。不再是模糊的“試試看”,而是有了更清晰的技術路徑和潛在的機會視窗。

他回到電腦前,關掉了那個執行著原始指令碼的終端。開啟瀏覽器,新建了三個標籤頁:FastAPI官方文件、React中文教程、一家國內雲服務商的價格計算器。

重構,從現在開始。

接下來的一週,林晨進入了某種心流狀態。白天,當蘇婉去學校、樂樂去幼兒園後,整個家就成了他一個人的實驗室。他把原本堆在書房各個角落的金融資料資料、列印的論文、寫滿公式的草稿紙全部收納整齊,給三臺顯示器重新規劃了佈局:左邊顯示FastAPI開發文件和PyChar輯器;中間是React學習教程和VS Code;右邊是量化核心策略的Python程式碼和測試終端。

FastAPI的選擇是經過深思熟慮的。相比傳統的Flask或Django,FastAPI基於Python 3.6+的型別提示,效能接近Node.js和Go,自動生成互動式API文件,對於需要高效能、清晰介面定義的量化服務後端來說非常合適。林晨花了三天時間,將原本散落在多個腳本里的資料獲取模組、特徵工程模組、模型預測模組、交易訊號生成模組,逐一拆解、重構,封裝成一個個獨立的、具有明確輸入輸出的函式和類。

然後,他用FastAPI將這些模組“粘合”起來。建立了 /api/v1/data/ 系列端點,用於獲取即時和歷史資料;建立了 /api/v1/feature/ 端點,用於計算技術指標和特徵;最重要的是 /api/v1/signal/ 端點,它接收市場資料,呼叫核心AI模型,返回買賣訊號和置信度。每一個端點都有詳細的Pydantic模型進行請求和響應資料的驗證與序列化。

“這才像個樣子”。林晨看著自動生成的Swagger API文件頁面(

後端雛形完成,接下來是前端。這對林晨是個新挑戰。他以前做後端,前端知識停留在jQuery和一點Vue的程度。React是現代前端絕對的主流,其元件化、宣告式程式設計的思想,與他正在做的模組化後端不謀而合。

學習過程比預想的順利。React的核心概念——元件、JSX、狀態(State)、屬性(Props)、Hooks——對於有紮實程式設計基礎的他來說,理解起來並不困難。難的是前端那一套生態系統:Webpack(或Vite)、Babel、np管理、CSS框架……他選擇了一條最快捷的路徑:使用 create-react-app 腳手架快速搭建專案,UI元件庫選用輕量且流行的Ant Design,圖表庫選用ECharts。

他的目標是做一個簡潔、實用的監控面板。左側導航欄,中間主區域顯示核心內容。主區域又分為幾個卡片元件:即時資產總覽(賬戶餘額、浮動盈虧、持倉)、市場狀態(主要股指、匯率、大宗商品漲跌)、交易訊號列表(最近產生的買賣訊號詳情)、效能圖表(資金曲線、回撤圖、勝率統計)。

當第一個ECharts折線圖在瀏覽器裡成功繪製出模擬的資金曲線時,林晨忍不住揮了一下拳頭。那種從無到有,從雜亂資料到清晰視覺化的創造感,令人著迷。他不斷調整著圖表的顏色、提示框、縮放功能,讓它看起來更專業、更直觀。

前後端都跑通後,最大的考驗來了:部署。

他對比了幾家主流雲服務商。大廠的雲服務穩定但稍貴,創業公司的雲價效比高但怕有坑。考慮到目前系統規模小,訪問量幾乎為零(只有他自己看),他最終選擇了一家口碑不錯的中型雲服務商,買了一個最低配置的雲伺服器(1核2G,頻寬按量付費),月費不到一百塊。

按照教程,他在純淨的Linux系統上安裝了Python環境、Node環境、Nginx、資料庫。將後端FastAPI程式碼打包上傳,用Uvicorn作為ASGI伺服器啟動;將前端React專案構建成靜態檔案,也上傳到伺服器,透過Nginx配置反向代理和靜態檔案服務。

。)能可了留預IPA離分端後前的能可來未為他但,的態靜是端前前目然雖(務服edoN護守來P了引,理管便方更了為又。案檔置配務服了寫,etsys了究研他。啟自機開且並,行執臺後在地定穩務服端後讓是的搞難最

。來位溢滿要乎幾,的點終達抵於終礙障重重越種那,時號訊易和額餘戶賬的新最到取獲時即,IPA端後呼鈕按的上面頁過且並,載功面頁控監tcaeR到看,址地PI服伺雲的己自於屬個那輸,裡覽瀏的腦電地本在他當。補惡的識知維運xuniL對是都,錯排次一每。誤錯的”失缺賴依“、”用佔被埠“、”deined noissreP“次數無了遇遭,天兩了騰折整整

。了線上,統系

。燒叉份一加多,飯拼雙華豪的店臘燒名知家某園技科山南自來、的點得不捨時平份一了點己自給,機手起拿他。氣口一了舒地長長,上背椅在靠晨林。房書進照斜的城鵬,點四午下是在現

。態狀作工的”員易IA“個那己自握掌時隨能就他,網上能要只,上路的試面去能可來未在至甚、館啡咖在、裡家在他論無,著味意這。示展晰清表圖,載暢流面頁。板面控監個那了問訪次再,路網G4機手的己自用他,隙間的賣外待等

。”已“示顯態狀。作買的量微筆一了行執自,斷判型模IA合結,波幅小的率匯元兌元歐於基統系,前鐘分五十在就,示顯錄記條一新最,表列”號訊易“開點他

。元33.68+:數正的綠個一著示顯欄虧盈浮。致一錄記。下一了對核,PPA商券的盤實到換切晨林

。了通跑,上構架的壯健更、的新全在,環閉個整的板面控監至饋反果結到再、行執單下自到、生號訊、析分IA、取獲料資從明證這。大重義意但。賣外頓那才剛付夠不至甚,多不錢

。分幾了快輕都步腳,賣外拿去起晨林。話電賣外,震機手

。了散驅時暫,點難技的破攻被個個一,碼式程的出敲手親行行一這被乎似,慮焦的職求,霾的業失。來下澱沉底心在慢慢,控掌的實紮、的違久種一,時板面控監的理整新重自上腦電板平邊旁眼一瞥時不時,飯燒叉的噴噴香著吃他當

。”備準理心個有你。來會能可末週計估我。們我看看……便順,樂樂看看來過想說,來話電打邊那媽爸上晚“:信微來發婉蘇,半一到吃飯

。統系的轉運然悄在正套整一的表代後背及以,錄記利盈的元33.68+條那上幕螢看了看又,信微著看他。來下了慢作的嚼咀晨林

。”心擔別。了道知我,好“:覆回他

。力有越來越,晰清越來越得變在正,界世輯邏的建構手親己自他而。會不輯邏但,人騙以可碼式程。飯吃續繼,機手下放他。了樣一不經已西東些有,道知晨林但。子兒的”作工經正“有沒、中家在仍個一是將,的到看們他。來要母父,末週

猜你喜歡

同題材或同分類的其他作品。