介绍一下我自己的情况,我使用了一年左右的AI编程了,一年前,我还在为了一个bug大骂AI不靠谱,现在可以说目前90%的代码都是用AI来帮我完成的,不论工作上还是日常开发,AI基本都能出色地完成我布置的任务,这中间的转变,一方面是因为模型能力的增强,另一方面也是我踩了无数的坑。现在我将我的经验和教训给大家分享一下,我拧干水分,保证全是干货。
如果你是正在使用AI编程,相信我,这篇文章或多或少会让你有所收获!
工具选择
AI编程现在的工具选择非常的多,那么我们要如何来选择一个合适的呢?请看下表
td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}| 名字 | 上手难度 | 费用 | 编码能力 | 可用模型 | 适用人群 |
|---|---|---|---|---|---|
| claudeCode | 高,主要是是靠命令行 | 毕竟贵,官方的要200美刀一个月,国内中转镜像也要300左右 | 强,有所降智但是我认为还是目前的No.1 | 以claude系列为主,也可以外接其他的模型 | 适合有一定编程基础的,对编码要求较高的人群 |
| cursor | 中等,有UI界面,大部分为英文,需要中文插件 | 略贵,20美刀一个月只能用五百次左右请求,基本要开60美刀的套餐 | 比较强,比cc差一点 | 选择性比较多,出来claude系列还有gpt,gemini | 适合零基础,有一定经济基础的 |
| trae | 简单,字节开发的,对国内用户友好 | 首月3美刀,然后10美刀一个月,无限制使用 | 比cursor略差一点 | 和cursor基本一致 | 新人我建议无脑冲,经济实惠,前期做简单项目完全够了 |
| codeX | 高,主要是是靠命令行 | 20美刀的GPT套餐够日常需求 | 我觉得不必CC差多少 | GPT5 | 最佳用法是和claude code一起搭配使用,比如用来做代码审查和文档评审 |
我一直用的就是Claude Code也推荐大家,如果经济条件允许还是要第一梯队的产品,给到的体验是完全不一样的
但是如果你是纯小白,我建议还是先从trae开始,经济实惠,界面友好,非常适合用于学习
规则
不管使用哪个编程工具,都会有一个类似于规则或者记忆的东西,这个非常的重要,如果你刚接触AI编程,一定要先了解规则。我就用我最熟悉的Claude Code为例,看看他的规则在哪里
- 用户记忆:~/.claude/CLAUDE.md
这里存放一些所有项目都希望遵守的规则,比如说我们默认的语言,在什么时候调用什么mcp
说实话,这个是有点玄学在身上的,不知道各位有没有和我一样,总感觉有时候遵守,有时候不遵从,我试了很多个规则,我推荐我当下的一个 AI编程规则
- 项目记忆:./CLAUDE.md
这里是存放当前项目的一些规范,比如项目架构,技术栈,API设计约定,能让AI在开始工作前就对项目有全局认知,减少后续的沟通成本。
这里我推荐大家按照 AGENTS.md的规范填写,现在很多AI编程工具都支持的,核心是构建以下内容
-
Project overview 项目概述
-
Build and test commands 构建和测试命令
-
Code style guidelines 代码风格指南
-
Testing instructions 测试说明
-
Security considerations 安全注意事项
我一般会直接让Claude Code帮我生成
关于一些示例,大家可以在网站 AGENTS.md 里面去查看一下其他的
高质量Prompt编写
前两天我听到了一个播客,里面说现在的AI已经很强大了,如果没有完成我们的任务,大概率是由于我们的上下文没有提供足够。
我觉得挺有道理,你给它的上下文,比你提的需求更重要。
比如有个场景,你把项目中的一个函数发给Claude,让它优化。它完美地重构了这一个函数,但是运行起来以后,整个应用都崩溃了。因为Claude不知道,这个函数被项目里另外五个地方用不同的方式调用着。
再比如有些人直接说
创建一个管理用户的服务"
而我会这么写
分析现有UserService的模式,创建ProfileService并遵循相同约定。
要求:
集成AWS Cognito认证
继承BaseService处理错误
使用Spring Cache + Redis实现缓存
测试遵循项目的Given-When-Then模式
然后要适当引用部分的文件,比如需要model的代码,我们就指定相关的model代码,而不要一股脑全部丢进去
记住我们的提示词越精准,AI完成度就越高,比如以下的提示词
这是一个很详细的提示词,直接一轮就帮我完成了所有代码,我们在让AI帮我们干活的时候,我是比较建议在一个文档上面,先把提示词写清楚,确保没有歧义,然后逻辑说清楚了再给到AI帮我们实现。
如果你怕搞不清楚,你和AI说:在开始写代码前,先问我一些澄清问题
确保没有歧义了,我们让它进行代码编写
spec工作模式
写好单个Prompt只是基础,但想让AI完成复杂项目,就需要一套更宏观的工作流,比如规范驱动开发
就是我们要先创建用户需求文档,然后技术文档,然后再是任务,这个我不过多阐述,主要就是一种方法论,防止AI乱飞的方式,大家可以看我往期的两篇文章
其实还有一种开发方式就是 测试驱动开发(TDD)
这种理念就是先写测试代码,然后再写实现,然后不断增加测试用例,来完善实现,这种方式可以很好的保证功能实现,我建议大家在一些复杂逻辑的功能,可以和AI说,采用TDD的规范进行开发,现在先写测试代码
善用MCP
有个场景:你让Claude使用一个的第三方库来处理数据,它自信满满地给了一段代码,你复制运行,满屏报错。经过半小时的排查,你才发现代码里那个关键的函数,是Claude自己发明的,那个库里根本没有。
我相信有很多人都会有共鸣,这时候我们就要用mcp来解决问题,比如我们如果安装了 context7 这个mcp会去拉取第三方库的官方文档,这样就能规避这个问题,当然还有很多其他的mcp,你可以参考我的这篇文章
学会禁止
我觉得禁止让AI干什么比告诉它要干什么更重要,应该更多的说什么不能干
比如很多时候一些简单逻辑是不需要测试代码的,还有README文件,AI很喜欢突然写个README文件,说实话,我觉得它在故意浪费我的Token
架构设计
在开始编码之前一定要和AI先沟通整体架构,尽可能的拆分的足够细致,比如复杂逻辑拆成多个子模块,遵循高内聚,低耦合,拆分的越细致,AI改崩的概率越低
记住你对软件工程的理解,决定你对AI编程的上限
对于没有经验的小白来说这一点真的很难,所以我这里也是建议小白不要想着搞一个什么大项目,我们先从一些小的项目开始做起,做一个MVP产品,慢慢迭代
这里还需要说一下,我们架构一定要简单一点,特别是MVP产品,我们尽量全部用node.js开发,这样部署简单,能够快速的拿到结果
推荐架构:
-
react作为前端框架 -
vercel serverless functions完成后端实现 -
supabase作为数据库 -
vercel进行部署
这一套技术栈对AI编程非常友好,生态也很熟悉,特别适用于小而美的项目,最重要的是都可以白嫖,不花钱
UI设计
我总结了以下方法
-
要设定组件库
-
React UI组件库有Material-UI、Ant Design
-
Vue.js UI组件库有Element UI
-
通用UI组件库有Bootstrap等
-
-
指定风格
-
苹果的Apple Design
-
谷歌的Material Design
-
适合企业应用的Ant Design
-
以及磨砂玻璃风的Glassmorphism
-
扁平风的Flat Remix
-
-
运用参考图
-
去
dribbble找到设计图片 -
然后让AI生成包含设计规范的json
-
让AI参照规范进行制作
-
-
Figma/Pixso将设计稿转成code
前端先行
在UI设计以后,我是建议先完成前端开发,我们先让AI用开发出整体样式,不要考虑功能实现,等整个前端功能完成以后,我们再进行后端接入
版本管理,你的后悔药
一定一定要用git进行版本管理,这是你的后悔药。
代码写崩了的时候 直接 git reset --hard直接从头再来
比如我前段时间写了一个项目,就是接入supabase的时候搞错了第三方库,给我弄得乱七八糟的,不停地让改bug,反而越改越多。我选择直接回滚,将库指定好然后就很快搞好了。
我是建议你每完成一个重要的需求,你就让AI帮你Git提交一下
安全
主要需要检查三点:
-
用户输入区域,只要是用户输入的都要进行校验,我记得有一个攻击方式就是在用户注册的时候,用户名没有限制,破坏者直接用脚本输入一个5M大小的用户名,直接给干崩了
-
第三方依赖,我们尽量不要去使用一些小的开源项目,还是要找一些star比较多的项目
-
敏感数据,主要就是一些apiKey,我们决定禁止放在前端,必须放到后端环境变量中。因为我们这些数据泄露了是很严重的,比如我们接入了 Deepseek的api,如果我们的发生了泄露,别人就可以用你的apikey进行调用API,你可能突然就没钱了
慢就是快
这句话大家一定要记在心里,不要想着别人说一个小时就做出来个项目,然后你也直接一股脑让AI一次性生成代码,这样你大概率是直接崩溃的
一行一行地写,比一次性生成更高效。比如说让它先写函数A,测试通过后,再让它基于函数A写函数B,像搭积木一样前进。
写到最后
我一直以来对 AI 的定义都是:人人都配备的高潜实习生。
对当下的 AI 实习生,应该安排合适的任务,给予合适的指导及信息输入,并随时做好帮它兜底,并随时接手,就像你带一个真人实习生一样没啥区别,要么没用好,要么没雇好。
现在不要只收藏,快去试一下,给你的实习生分配一下任务,做出一个自己的应用

