谷歌CEO皮查伊最近发了一篇博客,提到他们新编写的代码中有75%由AI生成。去年这个数字是50%。
消息一出,技术圈炸了锅。有人欢呼"AI编程时代已来",有人焦虑"程序员要失业了"。
我不太想参与这种情绪化的讨论。作为一个天天用AI写代码的开发者,我更关心的是:这个75%是怎么算的?AI写代码的真实效果到底怎么样?对我们日常开发有什么影响?
今天不聊虚的,上硬货。
1. 这个75%是怎么来的
先说一个冷知识:谷歌的代码库规模是业界最大的之一,代码行数按十亿计。
所以当他们说"75%的代码由AI生成",意思大概是:在最终提交到代码库的代码中,AI贡献的内容占了大头。这包括:
- AI直接生成的代码
- AI辅助补全的代码
- 基于AI建议修改后的代码
本质上,这是一种人机协作模式。人类做决策,AI做执行。
对比一下Anthropic的数据:Claude Code已经实现了70-90%的代码生成。谷歌的75%其实不算激进。
2. 我用AI写代码的真实体验
代码补全场景
我用Copilot大概两年了,这个场景最稳定。
arduino
# 写一个用户查询函数
def query_user(user_id: int) -> dict:
# Copilot会给出这样的补全建议
db = get_db_connection()
cursor = db.cursor()
cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,))
result = cursor.fetchone()
db.close()
return result if result else {}
Copilot的补全准确率大概85%,我只需要按Tab键接受或者调整。
函数生成场景
这是变化最大的地方。给AI一个需求描述,它能生成完整的函数实现。
python
# 我的prompt
"""
生成一个函数,统计列表中出现频率最高的元素。
要求:
1. 如果有多个元素出现频率相同,返回第一个遇到的
2. 空列表返回None
3. 时间复杂度优于O(n²)
"""
# AI生成的代码
from collections import Counter
def most_frequent(lst):
"""返回列表中出现频率最高的元素"""
if not lst:
return None
counter = Counter(lst)
# Counter.most_common() 返回 (元素, 频次) 的列表
return counter.most_common(1)[0][0]
这个生成质量我给打85分------代码本身没问题,但需求里有"第一个遇到"这个要求没考虑到,需要手动调整。
代码审查场景
我最近在用Claude做代码审查,效果比预期的好。
python
# 我的prompt
"""
帮我review以下代码,指出潜在的性能问题和安全漏洞:
def process_user_data(user_id: str, data: dict):
query = f"SELECT * FROM users WHERE id = {user_id}"
# ...
"""
# Claude会指出:
# 1. SQL注入漏洞(使用了字符串拼接而非参数化查询)
# 2. 缺少错误处理
# 3. 可能的N+1查询问题
这些review建议质量挺高的,至少比我team里部分中级工程师的review能力强。
3. AI编程工具横向对比
| 工具 | 代码生成 | 代码补全 | 代码审查 | API成本 |
|---|---|---|---|---|
| Copilot | ★★★☆☆ | ★★★★★ | ★★★☆☆ | $10/月 |
| Claude Code | ★★★★☆ | ★★★★☆ | ★★★★☆ | 按Token计费 |
| Cursor | ★★★★☆ | ★★★★★ | ★★★☆☆ | 免费+Pro |
| 豆包 | ★★★☆☆ | ★★★★☆ | ★★☆☆☆ | $0.8/百万Token |
个人体验:Copilot的补全最强,Claude的推理能力最强,Cursor的交互体验最好。
4. AI编程的边界在哪里
我用了快两年AI编程,总结出一些边界:
AI擅长的
- 模式化代码生成(CRUD、标准算法)
- 代码补全和重构
- 简单函数的bug修复
- 代码翻译(Python转Go等)
- 解释陌生代码
AI不擅长的
- 复杂系统设计
- 性能优化(AI给的建议经常是"理论最优"而非"实际最优")
- 安全审计(能发现明显的SQL注入,但复杂的业务逻辑漏洞很难识别)
- 理解遗留代码的业务含义
一个真实的踩坑案例:
我之前让AI帮我优化一个查询函数,AI给出的方案是用join减少数据库查询次数。理论上是更优的,但实际上因为数据量的原因,join产生了巨大的临时表,查询时间从200ms变成了8秒。
这种情况AI很难提前判断,因为它不知道数据的实际分布。
5. 我的AI编程工作流
css
需求分析 → Claude/ChatGPT生成方案 → Cursor写代码 → Copilot补全 → Claude Code Review → 提交
核心思路:把AI放在执行层,人放在决策层。
6. 未来展望
按照目前的发展速度,AI编程工具的能力会继续提升。
我的判断:
- 短期(1-2年) :补全和生成能力继续提升,但复杂推理和系统设计依然需要人
- 中期(3-5年) :大部分CRUD和标准算法不再需要人写,但架构设计和业务理解是壁垒
- 长期(5年+) :说不准,取决于通用人工智能的发展
结语
回到标题的问题:谷歌75%代码由AI生成意味着什么?
我的答案是:意味着人机协作编程已经成为现实,而不是未来。
对于开发者来说,与其焦虑"会不会被取代",不如想想怎么用AI提升自己的效率。
毕竟,会用AI的程序员,正在取代不会用AI的程序员。这句话虽然听起来像废话,但确实是当下最真实的写照。