我如何僅用 0.80 美元使用 Cursor 構(gòu)建 17,000 行代碼庫(kù)
市面上出現(xiàn)過(guò)不少工具來(lái)來(lái)去去,
但 Cursor 搭配 Claude Sonnet 4 這組合,絕對(duì)稱(chēng)得上革命性。
三小時(shí)內(nèi),僅在 /lib
目錄,就生成了超過(guò) 17,000 行代碼,花費(fèi)卻不到一美元。
要么 Cursor 在賠錢(qián)運(yùn)營(yíng),就像我叔叔烤火雞烤焦那樣慘烈,
要么我找到了一個(gè)讓 AI 編碼極度低價(jià)的秘密。
顯然,我押注后者。
靈光一現(xiàn):關(guān)鍵是聰明用法,而非花哨技巧
手握咖啡,看著 Cursor 像著了魔一樣狂寫(xiě)代碼,賬戶(hù)僅扣了 80 美分,且只發(fā)出了不到 20 次高級(jí)請(qǐng)求。
秘訣不是魔法,而是一套我隨手拼湊出的策略,保持提示詞短小精悍,產(chǎn)出高效豐厚。
廢話(huà)少說(shuō),直接拆解。
第一步:別自作聰明,先用模板起步
過(guò)去總想著白手起家,殊不知這只是浪費(fèi)時(shí)間。
現(xiàn)在直接用基礎(chǔ)模板,囊括:
- 代碼檢查工具(Linter),及時(shí)捕獲低級(jí)錯(cuò)誤。
- 組件庫(kù),避免重復(fù)造輪子。
- 數(shù)據(jù)校驗(yàn)(如 Zod),保證數(shù)據(jù)正確性。
- TailwindCSS,快速且不頭疼的樣式方案。
- TypeScript,提前斬?cái)嘣S多低級(jí) bug。
以下是用于 Next.js 項(xiàng)目的示例 package.json
:
{
"name": "my-app",
"version": "1.0.0",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint . --ext .ts,.tsx"
},
"dependencies": {
"next": "^14.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tailwindcss": "^3.4.0",
"typescript": "^5.2.2",
"zod": "^3.22.0",
"@radix-ui/react-components": "^1.0.0",
"eslint": "^8.50.0",
"eslint-config-next": "^14.0.0"
},
"devDependencies": {
"@types/node": "^20.8.0",
"@types/react": "^18.2.0"
}
}
這個(gè)配置相當(dāng)于給 AI 指明了地圖,減少無(wú)謂的摸索。
第二步:像跟朋友說(shuō)話(huà)一樣,明確告訴 AI 需求
早期直接開(kāi)始寫(xiě)代碼,期望 AI 一次搞定,結(jié)果提示費(fèi)被浪費(fèi)在無(wú)效修正上。
現(xiàn)在花十分鐘,寫(xiě)清楚項(xiàng)目要求。就像和朋友喝酒時(shí)描述你在做什么。
舉例,我為一個(gè)儀表盤(pán)寫(xiě)下:
需要一個(gè)用 Next.js、Tailwind 和 TypeScript 做的儀表盤(pán),包含帶 JWT 登錄功能的表單,一個(gè)支持移動(dòng)端的表格,還有用 Recharts 的條形圖。加上淺色和深色模式。組件可復(fù)用,文件按功能分組,比如
/features/auth
里放登錄相關(guān)代碼。
條理清晰,AI 一次性就能命中目標(biāo)。
第三步:用任務(wù)管理器保持條理清晰
頭腦難以跟蹤大項(xiàng)目進(jìn)展,所以用了多款任務(wù)管理器,最終定格在 TaskMaster AI,因?yàn)樗c Cursor 配合默契,CLI 和控制面板操作都順手。
新增任務(wù)示例:
taskmaster add --title "Make Login Form" --description "Build a login form with Tailwind and TypeScript. Use Zod to check email and password. Stick to our auth style."
任務(wù)清楚,AI 不跑偏。
第四步:讓 AI 學(xué)會(huì)你的代碼風(fēng)格
用 Cursor Rules 功能“教” AI 理解代碼庫(kù)風(fēng)格:
- 在 Cursor 聊天框輸入
/Generate Cursor Rules
。 - 指定文件,比如
@Button.tsx
。 - 讓它總結(jié)組件寫(xiě)法規(guī)范。
比如 Button 組件規(guī)則:
- 用 Tailwind 進(jìn)行樣式,比如
className="bg-blue-500 text-white"
。 - 用 TypeScript 接口定義 props。
- 組件默認(rèn)導(dǎo)出。
- 工具函數(shù)放
/utils
。
如此一來(lái),無(wú)需頻繁干預(yù),AI 寫(xiě)代碼風(fēng)格保持統(tǒng)一。
第五步:保持項(xiàng)目整潔,允許系統(tǒng)自我迭代
防止項(xiàng)目變亂,設(shè)立兩個(gè)規(guī)則:
- 持續(xù)學(xué)習(xí):讓 Cursor 持續(xù)識(shí)別新代碼習(xí)慣并更新規(guī)則。
- 文件組織:組件放
/components
,工具函數(shù)放/utils
,API 代碼放/api
,功能按模塊分組,如/features/auth
。
最終項(xiàng)目結(jié)構(gòu)示范:
/src
/components
/common
Button.tsx
Input.tsx
/features
/auth
Login.tsx
Register.tsx
/utils
api.ts
validation.ts
/api
auth.ts
實(shí)踐經(jīng)驗(yàn)總結(jié)
- 拆分大文件:超過(guò) 500 行,AI 會(huì)變得馬虎。指令示范:
“請(qǐng)將此文件拆分成更小的模塊,必要時(shí)新建文件夾,把工具函數(shù)和接口獨(dú)立出來(lái),保持功能模塊清晰?!?/span>
- Bug 也是任務(wù):別只說(shuō)“修復(fù)”,描述清楚:
“登錄按鈕在 API 請(qǐng)求期間可點(diǎn)擊,需要加狀態(tài)禁用按鈕?!?/span>
- 細(xì)節(jié)信息很重要:UI 想法、API 文檔、草圖都能幫 AI 準(zhǔn)確理解。
- 每個(gè)任務(wù)新開(kāi)聊天:保持對(duì)話(huà)清晰,避免上下文混淆。
- 及時(shí)調(diào)整任務(wù)與規(guī)則:
“查看代碼庫(kù),建議新增任務(wù)或調(diào)整規(guī)則。”
為什么感覺(jué)自己賺了?
震驚的是:不到 20 次請(qǐng)求,就產(chǎn)出超過(guò) 17,000 行代碼。
每個(gè)提示其實(shí)觸發(fā)多個(gè)工具調(diào)用,比如文件分析和規(guī)則生成,但 Cursor 只計(jì)為一次請(qǐng)求。
TaskMaster AI 幫我控制提示詞簡(jiǎn)潔,AI 負(fù)擔(dān)繁重的具體工作。
結(jié)果就是,用 80 美分完成一個(gè)超大項(xiàng)目。
Cursor 是否賺錢(qián)不知道,但用著超級(jí)爽。