業州愚公接手了一個由朋友留下的老專案,該專案包含兩萬多行的Python程式碼,變數名全是縮寫且沒有註解,讓他完全看不懂。業州愚公決定使用AI工具Cursor來幫助他理解和修改這個專案。通過使用Cursor,業州愚公可以讓AI先讀懂整個專案,然後再一步一步地安全地修改程式碼。這次的實測使業州愚公的修改方式發生了變化,他不再需要為了看不懂的程式碼而推辭。業州愚公的經歷表明,AI工具可以有效地幫助開發者接手和修改複雜的老專案。
菜鳥之友系列:《AI 工具實操與提示詞》・工具篇作者:業州愚公
朋友丟給我一個他寫了三年的 Python 專案,說:「幫我加個匯出報表的功能就行。」我打開資料夾,四十多個檔案、兩萬多行程式碼,變數名全是縮寫,沒有半行註解。以前遇到這種場面,我的做法只有一種:跟朋友說最近太忙。
這次我沒有躲。我花了幾天,把一個叫 Cursor 的 AI 程式碼編輯器當成主力工具,把那個功能做出來了。這篇文章不談理論,只講一個非科班出身的人,怎麼用 Cursor 看懂别人的程式碼、再安全地動它。所有介面細節都以官方最新版本為準。
很多人第一反應是:我編輯器裡已經裝了 AI 補全套件,還要 Cursor 幹嘛?
差別在於「它知道多少」。外掛式的 AI 助手,每次只看到你當前打開的檔案,就像一個顧問只能透過門縫看你的專案。而 Cursor 是一個專門為 AI 重做的程式碼編輯器(介面長得跟 VS Code 很像,很多習慣可以直接帶過來),它可以把整個專案建立索引——你問「報表功能的資料是從哪張表讀的」,它能跨著十幾個檔案去回答,而不是只盯著你眼前這一頁。
| 對比項目 | 傳統編輯器+AI 外掛 | Cursor |
|---|---|---|
| AI 能看到的範圍 | 主要是當前檔案 | 整個專案(建立索引後) |
| 改程式碼的方式 | 你貼問題、複製答案回來 | 直接在編輯器裡生成並套用修改 |
| 對新手的意義 | 能問單點問題 | 能跟著它讀懂整個專案的結構 |
| 上手成本 | 低,但能力受限 | 需要適應一兩天,回報大 |
一句話總結:外掛是「查字典」,Cursor 更像「請了一個坐你旁邊的同事」。
Cursor 到官網下載安裝即可,有免費方案,用量與付費細節以官方最新版本為準。裝完別急著寫程式,先做三件事,效率差很多。
第一件:登入並打開你的專案資料夾。 用選單裡的 Open Folder 打開整個專案根目錄,而不是單開一個檔案。它建立索引需要一點時間,專案越大等越久,這一步值得等。
第二件:找到 AI 對話面板。 側邊欄有 Chat 入口(快捷鍵一般是 Ctrl+L 或 Cmd+L),這是你接下來最常用的地方。第一次打開時建議在設定裡找一下 Privacy Mode(隱私模式)的選項,介意程式碼被用於訓練的話把它打開,具體策略以官方說明為準。
隱私這件事值得多說一句:公司的、客戶的程式碼丟給任何雲端 AI 之前,先確認你有没有權限這麼做。免費方案與付費方案在資料處理上的差異,以官方最新條款為準,別憑印象。
第三件:寫一份專案規則。 Cursor 支援在專案裡放一個規則檔(早期叫 .cursorrules,新版整合進 Rules 設定,以官方最新版本為準),用大白話告訴它這個專案的規矩。我給朋友的專案寫了三行:「回覆用繁體中文」「改動前先說明要動哪些檔案」「每次只改一小步」。這份規則會影響之後每一次對話,省掉大量重複交代。
新手最容易犯的錯,是把 Cursor 當成一個萬能聊天框,什麼都往對話裡塞。它其實有三種明確分工的用法:
| 用法 | 觸發方式 | 適合幹什麼 | 我的實測體感 |
|---|---|---|---|
| Tab 自動補全 | 打字時自動出現灰色建議,按 Tab 接受 | 寫重複樣板、補完你已經寫了一半的程式碼 | 最不吵人,命中率意外地高 |
| 行內編輯(Inline Edit) | 選中一段程式碼,快捷鍵呼叫(一般為 Ctrl+K 或 Cmd+K) | 對著「這一段」提需求:加例外處理、換個寫法、加註解 | 範圍明確,改壞了好回頭 |
| 對話與 Agent | 側邊 Chat 面板,可下達多步驟任務 | 跨檔案的理解、新功能從零搭、一次改多個檔案 | 能力最強,也最需要盯著看 |
分工原則很簡單:知道要改哪一行,用行內編輯;不知道程式碼在哪,用對話去問;要一口氣做好幾件事,才交給 Agent。 反過來用(什麼都丟給 Agent)是新手燒額度又改壞程式的最大來源。
對話時有一個符號非常好用:@。在 Chat 輸入框裡打 @,可以引用特定檔案、資料夾或整個程式碼庫(codebase)。
我實測的第一個問題就是這麼問的:「@codebase 這個專案的報表資料從哪裡讀取?最後寫到哪裡?」它給出的回答帶著具體檔名和行號,我按圖索驥翻過去核對,大方向是對的。這一刻的價值很難形容——以前我要在幾十個檔案裡全域搜尋半天的事,變成一次提問。
不過要潑一盆冷水:它給的檔名和行號要自己點開核對。我在這一週裡也遇過它指向一個相似但不對的檔案。AI 對程式碼的理解是「讀出來的猜測」,不是「執行過的結論」。
我把 Cursor 當成一位新來的實習生:它讀整個專案的速度比我快得多,指出來的路大部分是對的,但你把鑰匙交給它之前,還是要自己看一眼地圖。
回到開頭那個任務。我的完整流程是這樣的,你可以照抄:
第一步,先讓它當導覽。 我用 @codebase 問了三個問題:專案入口在哪、資料怎麼流動、有沒有現成的匯出相關程式碼。花二十分鐘,把它的回答整理成我自己的一張紙條。
第二步,讓它出方案,不出程式碼。 我明確要求:「先不要寫程式碼,告訴我你打算改哪幾個檔案、每個檔案做什麼。」它列了四個檔案的改動計畫。這一步是安全閘:方案錯了改需求是零成本,程式碼錯了改起來就麻煩了。
第三步,按方案一小步一小步做。 每一步,我用行內編輯或對話讓它生成那一小塊,立刻看懂、立刻測試、立刻提交版本控制。絕不讓它一口氣改完四個檔案。
第四步,讓它當審稿人。 功能跑通後,我把改動範圍圈出來問它:「這段有什麼邊界情況没考慮到?」它指出了一個日期格式在不同作業系統下的坑,是實打實的價值。
一週實測下來,我踩過的坑集中在三類,新手請直接記下:
一、生成的程式碼不一定能跑。 它有時引用一個這個專案裡根本没安裝的套件,或用舊版的函式寫法。所以每一小步都要真的執行測試,不能只看著「像對的」就往下走。
二、Agent 模式改起來很爽,回頭也很痛。 它一次動五六個檔案時,你要逐個核對改了什麼。養成用 Git 的習慣:讓 AI 動手之前先 commit,改壞了隨時退回去。這條是底線,没有商量的餘地。
三、它對「你的業務規則」一無所知。 程式碼邏輯它能看懂,但「我們公司報表金額一律不四捨五入」這種規矩,它不會知道,除非你寫進規則檔或在對話裡明說。AI 改出來「語法對、業務錯」的程式碼,是最難被新手發現的錯。
工具的門檻比你想像的低,真正的門檻是「每一小步都驗證」的紀律。Cursor 把寫程式的手藝門檻拉低了,但没有把「判斷對錯」的責任拉低——那部分,永遠是你的。
工具推薦隨身機器人(新用戶免費試用 7 天)
讀完程式碼要找人来問、寫完程式要找人幫忙看文件,隨身機器人隨叫隨到。新用戶免費試用 7 天,去 sylogs.com 首頁即可開通。
下一篇預告: 不想花錢訂閱、也不想把資料傳到雲端?下一篇實測 Ollama——在自己的電腦上離線跑開源大模型,斷網也能用,具體怎麼裝、怎麼選模型、一般家用電腦跑得動多大的,一次講清楚。
業州愚公 | SY 視野(sylogs.com)原創內容,轉載請註明出處。
編輯評論 / Editor's Note
開發人員在接手舊專案時,常常會面臨到難以理解程式碼的挑戰,這種情況可能會浪費大量時間和資源。透過AI技術的輔助,可以更快速地理解程式碼結構和邏輯,從而提高開發效率和降低錯誤風險。這種方法不僅可以幫助開發人員更好地掌握舊專案,也可以提升整體的開發質量和效率。