2024 年 AI 编程:那些我踩过的坑和学会的事
先说结论
2024 年年初,我对 AI 编程是将信将疑的。年底,我每天都在用。
这一年最大的变化不是某个工具的出现,而是 AI 编程从"能用"变成了"好用"。
改变了工作方式的几个时刻
1. Claude 3 Sonnet 发布(2月)
这是转折点。之前用 GPT-4 做编程辅助,$0.03/M tokens,随便聊聊可以,但真正写代码还是差点意思。
Sonnet $0.003/M,比 GPT-4 便宜 10 倍,但编程能力更强。
从那天起我的 API 账单降了 70%。
2. Cursor 成为主流(年中)
Cursor 不是第一个 AI IDE,但它是第一个真正让人愿意迁移的。
以前我试过 GitHub Copilot Workspace(后来的 Cursor),体验很一般。2024 年的 Cursor 完全是另一个产品。
Cmd+K 直接在代码里 AI 编辑,比 chat 界面高效太多了。
3. Claude Code 发布(年中)
Anthropic 的 CLI 工具。
一开始觉得是噱头。用了一周后发现,这是目前最强的代码库分析工具。
200k tokens context,可以把整个代码库丢给它。不需要 IDE,不需要插件,terminal 里直接问。
# 这个场景 Copilot 和 Cursor 都做不到
claude
> 这个 5 万行的代码库里,哪个模块最可能有问题?
# Claude Code 真的会分析,然后给你一个有洞察的回答4. Devin 的真相
Devin 发布时号称"第一个 AI 软件工程师",$500/月。
我试了两个月。结论:
- 能做的事:小型独立任务(写一个 script、自动化某个流程)
- 做不了的事:需要业务上下文的多文件修改、架构决策
Devin 适合作为"外包"用,不是日常开发工具。
踩过的坑
坑 1:过度依赖 AI 写的测试
AI 生成的测试覆盖率很高,但测试的是 AI 理解的逻辑,不是真实意图。
# AI 写的测试,看起来覆盖了所有情况
def test_calculate_discount():
assert calculate_discount(100, 10) == 90 # 9折
assert calculate_discount(100, 0) == 100 # 不打折
assert calculate_discount(0, 50) == 0 # 金额为0
# 但漏掉了业务规则:discount 不能超过 order_total 的 50%
# AI 不知道这个规则,所以测试通过,但上线后有 bug学到的:AI 写的测试要 review,尤其是边界条件。
坑 2:AI 不理解"为什么"
给 AI 一个任务,它会做对。但你问它"为什么这么做",它经常给出一个听起来对但不符合真实原因的解释。
# AI 写的代码
def process_data(data):
# AI: "这里用 dict 而不是 list 是因为查找更快"
# 实际上:数据量只有 100 条,list 够了
# AI 在编造理由学到的:不要问 AI 解释代码,问它"这个设计决策的影响是什么"。
坑 3:上下文丢失
用 AI 编程一整天,最后发现 AI 给的建议跟项目整体设计不一致。
这是因为 AI 只看到了你当前对话里的代码,没有看到全貌。
学到的:复杂任务先让 AI 读完整个代码库,再开始改。
真实数据
我这一年 AI 编程的使用统计(估算):
| 任务类型 | AI 完成率 | 人工需要修正 |
|---|---|---|
| 写测试 | 85% | 30% |
| 简单函数 | 95% | 10% |
| 代码重构 | 70% | 40% |
| 复杂架构 | 30% | 80% |
| Bug 修复 | 60% | 50% |
| 解释代码 | 90% | 5% |
结论:AI 编程最适合"做得多、改得少"的任务。复杂架构决策还是人来做。
2025 年预测
会发生
- MCP (Model Context Protocol) 会成为标准:让 AI Agent 连接外部工具的方式标准化
- Cursor 的护城河会面临挑战:Copilot 和 Claude Code 都在追赶
- AI 编程会分化:轻量工具(补全、简单任务)和重量工具(代码库分析、复杂重构)分开
不会发生
- AI 不会取代程序员:但会用 AI 的程序员会取代不会用的
- Devin 这类全流程 Agent 不会成为主流:贵且慢,适合特定场景
- AI 编程不会消灭 bug:反而可能引入更难发现的 bug
总结
2024 年 AI 编程的最大意义:把程序员从 50% 的机械性工作里解放出来。
写测试、简单函数、代码解释、常规重构,这些以前占程序员大量时间的工作,AI 做得足够好。
但 AI 编程也有边界:它不理解业务,不理解架构,不理解"为什么"。
2025 年,会 AI 编程和不会 AI 编程的程序员,效率差距会进一步拉大。