目录

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 年预测

会发生

  1. MCP (Model Context Protocol) 会成为标准:让 AI Agent 连接外部工具的方式标准化
  2. Cursor 的护城河会面临挑战:Copilot 和 Claude Code 都在追赶
  3. AI 编程会分化:轻量工具(补全、简单任务)和重量工具(代码库分析、复杂重构)分开

不会发生

  1. AI 不会取代程序员:但会用 AI 的程序员会取代不会用的
  2. Devin 这类全流程 Agent 不会成为主流:贵且慢,适合特定场景
  3. AI 编程不会消灭 bug:反而可能引入更难发现的 bug

总结

2024 年 AI 编程的最大意义:把程序员从 50% 的机械性工作里解放出来

写测试、简单函数、代码解释、常规重构,这些以前占程序员大量时间的工作,AI 做得足够好。

但 AI 编程也有边界:它不理解业务,不理解架构,不理解"为什么"。

2025 年,会 AI 编程和不会 AI 编程的程序员,效率差距会进一步拉大。