一、
最近,我寫了好幾篇 AI 教程,就收到留言,要我談談我自己的 AI 編程。
今天就來分享我的 AI 編程,也就是大家說的"氛圍編程"(vibe coding)。

聲明一下,我只是 AI 初級用戶,不是高手。除了不想藏私,更多是為了拋磚引玉,跟大家交流。
二、
平時,我很少用 AI 生成新項目。因為每次看 AI 產出的代碼,我總覺得那是別人的代碼,不是我的。
如果整個項目都用 AI 生成,潛意識裡,我感覺不到那是自己的項目。我的習慣是,更願意自己寫新項目的主體代碼。
我主要把 AI 用在別人的項目和歷史遺留代碼,這可以避免讀懂他人代碼的巨大時間成本。
就拿歷史遺留代碼為例,(1)很多時候沒有足夠的文檔,也沒有作者的說明,(2)技術棧和工具庫都過時了,讀懂代碼還要翻找以前的標準,(3)最極端的情況下,只有構建產物,沒有源代碼,根本無法著手。
AI 簡直就是這類代碼的救星,再古老的代碼,它都能讀懂和修改,甚至還能對構建產物進行逆向工程。
下面就是我怎麼用 AI 處理歷史遺留代碼,平時我基本就是這樣來 AI 編程。
三、
我的 AI 編程工具是 Claude Code。因為命令行對我更方便,也容易跟其他工具集成。
我使用的 AI 模型,大部分時間是國產的 MiniMax M2。我測過它的功能,相當不錯,能夠滿足需要,它的排名也很靠前。

另外,它有包月價(29元人民幣),屬於最便宜的編程模型之一,可以放心大量使用,反覆試錯。要是改用大家都趨之若鶩的 Claude 系列模型,20美元的 Pro 套餐不夠用,200美元的 Max 套餐又太貴。
MiniMax 接入 Claude Code 的方法,參考我的這篇教程。
四、
就在我寫這篇文章的時候,MiniMax 本週進行了一次大升級,M2 模型升級到了 M2.1。

因為跟自己相關,我特別關注這次升級。
根據官方的發佈聲明,這次升級特別加強了"多語言編程能力",對於常用編程語言(Rust、Java、Golang、C++、Kotlin、Objective-C、TypeScript、JavaScript 等)有專門強化。
它的 WebDev 與 AppDev 開發能力因此有大幅提升,可以用來開發複雜的 Web 應用和 Android/iOS 的原生 App。
"在軟件工程相關場景的核心榜單上,MiniMax M2.1 相比於 M2 有了顯著的提升,尤其是在多語言場景上,超過 Claude Sonnet 4.5 和 Gemini 3 Pro,並接近 Claude Opus 4.5。"
根據上面這段介紹,它的編程能力,超出或接近了國外旗艦模型。
這個模型已經上線了,現在就能用。那麼,這篇文章正好測一下,官方的介紹是否準確,它的 Web 開發能力到底有沒有變強。
至於價格,跟原來一樣。但是,官方表示"響應速度顯著提升,Token 消耗明顯下降",也算變相降價了。
M2.1 接入 Claude Code,我的參數如下。

五、
我這次選擇的歷史遺留項目是 wechat-format,一個 Web 應用,將 Markdown 文本轉為微信公眾號的樣式。

上圖左側的文本框輸入 Markdown 文本,右側立刻顯示自動渲染的結果,可以直接複製到微信公眾號的編輯器。
它非常好用,大家可以去試試看。我的公眾號現在就用它做排版,效果不錯(下圖)。

問題是,原作者六年前就放棄了,這個項目不再更新了。我看過源碼,它用的是老版本的 Vue.js 和 CodeMirror 編輯器,沒有任何文檔和說明,還經過了編譯工具的處理,註釋都刪掉了。
如果不熟悉它的技術棧,想要修改這些代碼是很困難的,可能要投入大量時間。
那麼廢話少說,直接讓 AI 上場,把這些代碼交給 MiniMax M2.1 模型。
六、
接手老項目的第一步,是對項目進行一個總體的瞭解。
我首先會讓 AI 生成項目概述。大家可以跟著一起做,跟我的結果相對照。
# 克隆代碼庫 $ git clone [email protected]:ruanyf/wechat-format.git # 進入項目目錄 $ cd wechat-format # 啟動 Claude Code $ claude-minimax
上面的claude-minimax是我的自定義命令,用來在 Claude Code 裡面調用 MiniMax 模型(參見教程)。
輸入"生成這個倉庫的概述"。

AI 很快就給出了詳細說明,包括項目的總體介紹、核心功能、技術棧和文件結構(下圖)。

有了總體瞭解以後,我會讓 AI 解釋主要腳本文件的代碼。
【提示詞】解釋 index.html 文件的代碼

它會給出代碼結構和頁面佈局(上圖),然後是 JS 腳本加載順序和 Vue 應用邏輯,甚至包括了流程圖(下圖),這可是我沒想到的。


做完這一步,代碼庫的大致情況應該就相當瞭解了,而 AI 花費的時間不到一分鐘。
七、
既然這個模型號稱有"多語言編程能力",我就讓它把項目語言從 JavaScript 改成 TypeScript。
對於很多老項目來說,這也是常見需求,難度不低。

它先制定了遷移計劃,然後生成了 tsconfig.json 和 types.d.ts,並逐個將 JS 文件轉為對應的 TS 文件(下圖)。

修改完成後,它試著運行這個應用,發現有報錯(下圖),於是又逐個解決錯誤。

最終,遷移完成,它給出了任務總結(下圖)。

我在瀏覽器運行這個應用,遇到了兩個報錯:CodeMirror 和 FuriganaMD 未定義。
我把報錯信息提交給模型,它很快修改了代碼,這次就順利在瀏覽器跑起來了。
至此,這個多年前的 JavaScript 應用就成功改成了 TypeScript 應用,並且所有內部對象都有了完整的類型定義。
你還可以接著添加單元測試,這裡就省略了。
八、
簡單的測試就到此為止,我目前的 AI 編程大概就到這個程度,用 AI 來解釋和修改代碼。我也建議大家,以後遇到歷史遺留代碼,一律先交給 AI。
雖然這個測試比較簡單,不足以考驗 MiniMax M2.1 的能力上限,但如果人工來做上面這些事情,可能一個工作日還搞不定,但是它只需要十幾分鍾。
總體上,我對它的表現比較滿意。大家都看到了,我的提示詞很簡單,就是一句話,但是它正確理解了意圖,如果一次沒有成功,最多再修改一兩次就正確了。
而且,就像發佈說明說的一樣,它運行速度很快,思考過程和生成過程最多也就兩三分鐘,不像有的模型要等很久。
另外,不管什麼操作,它都會給出詳細的講解和代碼註釋。
總之,就我測試的情況來看,這個模型的 Web 開發能力確實很不錯,可以用於實際工作。
最後,說一點題外話。著名開發者 Simon Willison 最近說,評測大模型越來越困難,"我識別不出兩個模型之間的實質性差異",因為主流的新模型都已經足夠強大,足以解決常見任務,只有不斷升級評測的難度,才能測出它們的強弱。
這意味著,對於普通程序員的常見編程任務,不同模型不會構成重大差異,沒必要迷信國外的旗艦模型,國產模型就很好用。
(完)












