乐于分享
好东西不私藏

AI 编程:从入门到精通

AI 编程:从入门到精通
我有个同事,前阵子让 Cursor 帮他写了个爬虫。

三天后,爬虫跑崩了。不是代码 bug,是把对方网站打挂了——并发 100,单 IP 没限速,被对方风控拉黑,连带公司整个出口 IP 被封。

复盘的时候,我们看他的 .cursorrules 文件,里面只写了一句:

"你是一个 Python 专家。"

没有并发限制、没有重试机制、没有日志规范、没有异常处理——什么都没写。

AI 按它的"默认理解"写了一版能跑的代码,语法对、逻辑通,但工程上一塌糊涂

他崩溃的不是 AI 写得不好。

崩溃的是,他不知道 AI 编程的"宪法"是 .cursorrules,而不是 Prompt。

这是这个系列的最后一篇——把前面所有理论(P0 原理 / P1 Prompt / P2 Agent / P3 多模态)全部收口到真刀真枪的代码上。

不讲怎么写 hello world,讲怎么用 Cursor / Trae / CodeBuddy 干工程活。


一、什么是 Cursor Rules:AI 编程的"宪法"

Cursor 是什么

Cursor 是一个 AI 原生 IDE(基于 VS Code 内核),核心能力:

  • Tab 补全:写一行,它猜下一行
  • Cmd+K:选中代码,AI 改写
  • Cmd+L:打开侧栏,对话式编程
  • Composer / Agent:跨文件修改,自主执行命令

但真正让 Cursor 区别于"会聊天的编辑器"的,是 .cursorrules 文件。

.cursorrules 是什么

一个放在项目根目录的 Markdown 文件。AI 在每一次对话、每一次生成代码前,都会读它。

类比:

  • .cursorrules = 项目宪法
  • Prompt = 临时法令
  • AI 行为 = 在宪法框架内执行法令

没有 .cursorrules,AI 的每一次输出都是从零开始"猜你想要什么"。有了 .cursorrules,AI 的每一次输出都在已知的工程规范内收敛。

一个生产级 .cursorrules 模板

# 项目宪法## 角色你是一名资深 Python 后端工程师,专注于数据处理和 API 开发。## 技术栈- Python 3.11+- Pandas / Openpyxl(Excel 处理)- Requests / Aiohttp(HTTP 请求)- FastAPI(API 服务)- SQLite / PostgreSQL(数据存储)## 代码规范- 遵循 PEP 8- 函数必须有 type hints- 关键函数必须有 docstring(Google 风格)- 复杂逻辑必须有行内注释(中文)- 异常必须显式捕获,不允许裸 except## 性能约束- HTTP 请求必须有超时(connect=5s, read=10s)- 并发请求数不超过 10,使用 asyncio.Semaphore- 单次请求失败最多重试 3 次,指数退避- 大文件(>100MB)必须分块处理## 安全红线- 禁止硬编码密钥、Token、密码- 所有外部输入必须验证- SQL 必须参数化,禁止字符串拼接## 输出格式- 默认输出完整可运行代码,不要只输出片段- 代码前用一句话说明思路- 代码后用 bullet list 说明关键设计决策## 测试要求- 每个核心函数必须有对应单元测试- 测试用例覆盖正常 + 边界 + 异常

这就是"宪法"的力量。

有了这份文件,AI 写出来的代码不是"能跑",是"按你的工程标准能跑"

这是 AI 编程和非 AI 编程的根本区别——你不是在"写代码",你是在"定规矩,让 AI 写代码"。

<img src="images/ai-coding-02-cursorrules.png" alt="图位2:Cursor Rules 层级图——金字塔:底部"项目宪法 .cursorrules"(最重),中部"任务 Prompt",顶部"AI 生成代码"" title="图位2:Cursor Rules 层级图——金字塔:底部"项目宪法 .cursorrules"(最重),中部"任务 Prompt",顶部"AI 生成代码"">


二、Cursor 的三大核心功能

光会写 .cursorrules 不够,还得会用 Cursor 的三件武器。

武器 1:Tab 补全(单行/多行预测)

用法:写一行注释,Tab 接受建议;再 Tab,扩展多行。

适用

  • 写重复性代码(for 循环、try-except)
  • 写样板代码(DTO、CRUD 接口)
  • 写熟悉的库调用(pd.read_excel、requests.get)

技巧

  • 注释要具体——"读取 sales_2024.xlsx 的 A 列"比"读文件"准 10 倍
  • 不确定时按 Esc,别盲目接受
  • 多行建议按一次 Tab 接受一段,别贪

武器 2:Cmd+K(局部改写)

用法:选中一段代码,Cmd+K,输入"把这段改成异步"。

适用

  • 重构(同步改异步、加 type hints、抽函数)
  • 加日志、加异常处理
  • 翻译(Python → Go、TypeScript → Python)

技巧

  • 选中范围精确——选整函数和选半函数,结果差很多
  • 改写指令具体——"加超时"模糊,"加 connect=5s, read=10s 超时"清晰

武器 3:Composer / Agent(跨文件自主执行)

用法:Cmd+I,打开 Composer,描述整个任务,AI 自主跨文件修改 + 跑命令 + 看结果。

适用

  • 新建功能模块(数据库 + API + 前端三件套)
  • 跨文件重构(改一个接口名,自动改所有调用方)
  • 跑测试 + 修 bug 循环

这是 Cursor 最强大、也最危险的功能。

危险在哪? AI 可能自主:

  • 删你没让它删的文件
  • 跑你没让它跑的迁移脚本
  • 提交你没让它提交的 commit

应对:所有"写"操作默认开启 review;所有"删"和"执行"操作必须二次确认。


三、实战 CASE 1:多张 Excel 报表合并(Cursor)

场景

运营每月给你 30 个分公司的 Excel 销售报表,结构相同,要合并成一张总表。

手工复制粘贴要 2 小时。用 Cursor,10 分钟搞定

Step 1:建项目,写 rules

mkdir monthly_sales && cd monthly_salestouch .cursorrules  # 把上面的模板贴进去,修改技术栈部分

Step 2:丢样本数据,让 AI 探索

在 Composer 里说:

"我有一个文件夹 ./reports/,里面有 30 个 Excel,列结构相同。读取前 3 个,分析字段类型和数据质量,输出报告。"

AI 会写一个 explore.py,自己跑,输出报告:

  • 字段类型推断
  • 缺失值统计
  • 异常值检测
  • 列名不一致警告

这一步的价值:让你先搞清楚数据,再写合并逻辑。

Step 3:写合并脚本

"基于探索结果,写一个 merge.py,要求:

  1. 自动识别 Excel(即使文件名混乱)
  2. 统一列名(处理分公司命名差异:北京 vs 北京分公司)
  3. 添加来源文件名和读取时间字段
  4. 输出 merged.xlsx,含数据校验报告
  5. 异常文件单独记录到 errors.log"

AI 会输出完整脚本 + 关键决策说明。

Step 4:跑测试

"写 test_merge.py,覆盖:

  • 正常 30 个文件合并
  • 1 个文件损坏(空文件)
  • 1 个文件列名异常
  • 1 个文件数据有重复 跑测试,修复直到全过。"

AI 自动循环:写测试 → 跑 → 看错误 → 修代码 → 再跑。

最终交付物

monthly_sales/├── .cursorrules          # 项目宪法├── reports/              # 原始数据├── merge.py              # 合并脚本├── test_merge.py         # 单元测试├── merged.xlsx           # 输出结果├── errors.log            # 异常记录└── README.md             # 使用说明

整个过程,你的工作量 = 写 rules + 描述需求 + review 代码。 AI 完成 80% 的实际编码。


四、实战 CASE 2:疫情实时监控大屏(Cursor + 多模态 + RAG)

这是整个系列理论的全应用——P0 原理(API 调用)、P1 Prompt(结构化指令)、P2 Agent(自主循环)、P3 多模态(图表理解)一次用齐。

场景

做一个疫情实时监控大屏:

  • 实时数据从公开 API 拉
  • 历史数据存数据库
  • 大屏显示全国地图 + 趋势图 + Top10 城市
  • 支持自然语言提问:"上周上海新增多少?"

技术架构

数据层   公开 API → 定时任务 → SQLite                 ↓查询层   自然语言问题 → RAG(数据 schema + 历史问答) → SQL 生成 → 查询 → 自然语言回答                 ↓展示层   FastAPI 后端 → 前端大屏(地图 + 图表 + 问答框)

Cursor 工作流

阶段 1:搭骨架(Agent 模式)

"我有一个疫情数据 schema:[提供数据库结构]。帮我生成:

  1. 数据拉取脚本(定时任务)
  2. FastAPI 后端(提供 /stats、/trend、/qa 三个接口)
  3. 前端 HTML(地图 + 图表 + 问答框)
  4. README(部署步骤)"

AI 一次性输出整套骨架。这正是第二篇 Agent 讲的"自主反思循环"——AI 自己写代码、自己跑、自己看错误、自己修。

阶段 2:自然语言问答(RAG 增强)

光有 SQL 生成不行,模型不知道你的数据库 schema。

用 RAG 补

# 检索内容- 数据库表结构文档- 历史问答对("上海"对应哪个字段、怎么过滤"上周"- 常用业务术语词典# Prompt 模板system = """你是数据分析师,可以查询疫情数据库。表结构:{schema}业务词典:{glossary}历史问答参考:{examples}要求:1. 只用提供的字段名,不要瞎猜2. 时间用 SQL 标准函数(DATE_SUB 等)3. 输出 SQL + 中文解释"""

这就是第一篇 Prompt + 第二篇 RAG 的实战。

阶段 3:异常处理(Agent 反思)

用户问"上海上个月怎么样",AI 生成 SQL,查询报错(字段名拼错)。

让 Agent 自动反思

# 执行 SQL 失败时error_msg = str(e)revision_prompt = f"""刚才的 SQL 执行失败:{error_msg}请检查:1. 字段名是否在提供的 schema 内2. 时间函数语法是否正确3. 是否需要 JOIN 多个表重新生成 SQL。"""

循环直到成功,最多 3 轮,超出转人工。 这就是第二篇 ReAct 框架的实战。

最终交付

一个能跑、能查、能自然语言问答的疫情大屏。全栈代码量 1500+ 行,你写的代码量 < 200 行


五、Trae 与 CodeBuddy:国产 AI IDE 的差异化

Cursor 不是唯一选择。国产有 Trae 和 CodeBuddy,各有特色。

对比表

维度
Cursor
Trae
CodeBuddy
厂商
Anysphere(美国)
字节跳动
腾讯
模型
Claude / GPT-4
Doubao / DeepSeek
混元 / DeepSeek
优势
生态成熟、规则体系完整
中文场景优化、免费额度大
微信生态、企业级集成
短板
国内访问慢、贵
Composer 功能弱
社区小、文档少
适合
海外项目、独立开发者
国内个人开发、学习
企业内部系统

Trae 使用心得

优势

  • 国内访问速度快
  • 中文 Prompt 友好
  • 免费额度慷慨
  • 内置字节豆包系列模型,中文理解强

  • Agent 模式不如 Cursor 成熟
  • 多文件跨改经常漏改
  • .cursorrules 没有原生支持,需要靠 system prompt

适用人群:中文为主的中小项目、个人开发者、学习用。

CodeBuddy 使用心得

优势

  • 微信小程序、企业微信场景深度集成
  • 团队协作(多人共享 rules)
  • 安全合规(数据不出企业内网)

  • 个人开发者用不到企业功能
  • 模型选择较少
  • 速度相对慢

适用人群:企业内部项目、ToB 团队、需要合规的场景。

我的建议

选 Cursor,如果

  • 做海外项目
  • 对规则体系、工程规范要求高
  • 愿意付费(Pro $20/月)

选 Trae,如果

  • 中文项目
  • 个人学习、轻量开发
  • 想白嫖

选 CodeBuddy,如果

  • 企业内部系统
  • 团队协作、权限管理
  • 微信生态对接

不要纠结,先用一个跑起来再说。 IDE 是工具,不是信仰。


六、AI 编程的 6 条生死线

血泪总结的避坑清单:

  1. .cursorrules 必须从第一行代码开始写——不是"以后补",是"项目初始化第一步"
  2. Agent 模式开 review,不开 trust——AI 自主执行命令前必须人看一眼
  3. 永远在沙箱里跑——AI 写的代码可能删库、跑迁移、发邮件,先在测试环境验证
  4. 必须有测试——AI 写的代码语法对、逻辑对,但工程上不一定对。测试是唯一可靠防线
  5. 别让 AI 写安全敏感代码——加密、鉴权、支付、AI 自己也不确定,让人类专家写
  6. 定期 review .cursorrules——项目演进,rules 也要演进,否则变成僵尸文件

写在最后

这是这个系列的最后一篇。

前面所有篇——P0 原理、P1 Prompt、P2 Agent、P3 多模态——全部收口到这一篇的工具里

工具不重要。重要的是你懂不懂规则。

Cursor / Trae / CodeBuddy 三个月换一波,.cursorrules 这种"宪法思维"永远不过时。

Prompt 是地基,RAG 是放大器,Agent 是杠杆,多模态是新维度——这些都只是零件。

真正让你成为 AI 时代工程师的,是把零件拼成产品、把产品落到代码、把代码跑在生产的能力。

AI 不会替代工程师。但懂 AI 的工程师,会替代不懂 AI 的工程师。

这不是工具的革命,是工程师的革命。


系列终章:完整导览

标题
核心比喻
一句话定位
P0
AI 大模型基本原理及 API 使用
地基之前的地基
讲清楚模型是什么、API 怎么调
P1
零基础学 AI 的正确姿势
地基
Prompt 是地基,RAG 是放大器
P2
Agent:从可控性到自主反思
杠杆
Agent 不是终点,是 Prompt 杠杆的延伸
P3
多模态前沿:从 Agent 构建到视频 AIGC
新维度
把视觉、听觉、视频纳入 Agent 边界
P4AI 编程:从入门到精通工地理论全部收口到 Cursor/Trae/CodeBuddy 的工程实战