用了一段时间 Cursor,起初 AI 生成的代码经常逻辑混乱、上下文丢三落四、风格也飘忽不定,我差点弃坑。后来摸索出一套系统化的提示工程(Prompt Engineering)用法,才把它从"胡言乱语的实习生"慢慢驯服成能听懂业务的"技术搭子"。
一、为啥直接问 AI 往往拿到"不可用"的代码?
很多兄弟吐槽:"AI 写的代码还得改半天,不如自己写。"根子上是上下文碎片化。
AI 不了解你的项目架构、命名习惯、业务边界。你一次性扔给它"去写个登录页",它压根不知道:UI 长啥样?接口怎么调?用什么组件库?只能靠猜,结果逻辑混乱、风格跳脱。
如果你带过实习生,肯定不会这么布置任务。你会说:"基于 src/auth/ 目录下的鉴权逻辑,参考 @Login.yaml 的接口定义,复用 @Button 组件,帮我封装一个登录表单。"
把跟 AI 说话的方式,调整成跟人类同事沟通的方式,代码质量会明显好一截。
二、驯服策略:规则注入、上下文管理、迭代循环
先说规则注入。别每次都手动改 AI 写出来的缩进和命名,太累。
在项目根目录建一个 .cursorrules 文件,用大白话写下你的要求。例如:
样式必须用 Tailwind CSS
异步请求必须用 try-catch 包裹,并且统一调用 @errorHandler 处理错误
组件命名采用 PascalCase,函数采用 camelCase这样 AI 生成的代码直接就符合团队规范,相当于有个 24 小时待命的 Code Reviewer。
再说上下文管理。这是 Cursor 最好用的功能,没有之一。别让 AI 猜,直接把答案喂到它嘴边。
写新功能时:把相关文档、组件库说明通过 @Docs 喂给它。 写新页面时:试试"抄作业模式"——"参考 @OrderDetail.tsx 的结构,帮我写一个 @ProductDetail.tsx,逻辑保持一致。"
写出来的代码风格、错误处理甚至变量命名,往往能跟原有代码保持统一。
迭代循环这块,建议"小步快跑"。
避免一次性生成超长文件。拆成小步骤:先搭骨架、再填逻辑、最后补错误处理。每一步都可以验证,一旦偏离意图立即纠正,而不是等几百行代码写完再推翻重来。
三、工具选择:Cursor 还是 Trae?
如果你追求极致的编码体验,首选 Cursor。它的 Tab 补全预判真的准得可怕,经常是我刚想到下一行要写啥,它已经帮我填好了。
如果团队有网络限制或预算紧张,Trae 是国产平替里做得最好的,界面跟 Cursor 几乎一样,自带 Web 预览,对前端写页面特别友好。
四、价值产出
最大的转变,是从"改 AI 的代码"变成"让 AI 执行你的架构意图"。
把重复、枯燥的活儿丢给 AI,把精力留给业务架构、复杂交互,以及生活本身。希望对你有用。