AI 编程的真实水平
先说结论:AI 已经能承担程序员 60% 的「体力活」,但替代不了「脑力活」。
它擅长的:
- 写常规业务代码(CRUD、接口调用、数据转换)
- 解释报错信息、定位 Bug 方向
- 生成单元测试、写注释和文档
- 语言/框架的语法咨询("Python 怎么读 JSON 文件")
- 代码翻译(把 Python 脚本改成 Go)
它不擅长的:
- 系统架构设计(该拆几个服务、用什么中间件)
- 复杂业务逻辑的边界情况
- 需要理解整个项目上下文的改动
- 最新框架的 API(训练数据截止日期之后的)
正确的使用姿势是:你负责设计和判断,AI 负责打字和查资料。
场景一:从零生成代码
关键:描述清楚输入、处理、输出三要素。
用 Python 写一个函数:
输入:一个 Excel 文件路径,文件包含「姓名」「部门」「工资」三列
处理:按部门分组,计算每个部门的平均工资和人数
输出:打印一个按平均工资降序排列的表格
要求:
- 使用 pandas
- 文件不存在时抛出友好的中文错误
- 附上调用示例
AI 会返回可直接运行的代码。注意提示词里的每个要素都不能少——少了「文件不存在时怎么办」,它就默认文件永远存在,运行时才会暴雷。
进阶技巧:先让它出方案,再让它写代码。
我要做一个「爬取某网站新闻标题并保存到数据库」的脚本。
先不要写代码,列出实现方案:需要哪些库、分几个函数、
可能遇到什么坑。我确认后再写代码。
这一步能避免 AI 一上来就给你 200 行跑偏的代码。
场景二:调试报错(最高频用法)
遇到报错,把三样东西一起发给 AI:报错信息、相关代码、你做过什么。
这段代码报错了:
【代码】
import pandas as pd
df = pd.read_csv("data.csv")
print(df.groupby("city")["sales"].mean())
【报错】
KeyError: 'city'
【背景】
data.csv 是我从系统导出的销售数据,第一行是表头。
AI 大概率会告诉你:CSV 里的列名可能是「City」(大小写问题)或者列名带了空格,让你先 print(df.columns.tolist()) 确认。
反例:只发一句「KeyError 怎么解决」——AI 只能给你泛泛而谈的所有可能原因,你还得自己挨个试。
场景三:代码重构
把能跑但写得丑的代码扔给 AI,指定重构方向:
下面这段代码能运行,但很难维护,请重构:
【代码】
def process(data):
result = []
for item in data:
if item["type"] == "A":
result.append(item["value"] * 1.1)
elif item["type"] == "B":
result.append(item["value"] * 0.9)
elif item["type"] == "C":
if item["value"] > 100:
result.append(item["value"] * 0.8)
else:
result.append(item["value"] * 0.95)
return result
重构要求:
1. 消除嵌套 if-else,用策略模式或字典映射
2. 每个调整系数定义为常量并注释业务含义
3. 保持函数签名不变,调用方不用改代码
要点:一定要说「保持函数签名不变」这类约束,否则 AI 可能顺手改了接口,调用方全部报错。
场景四:写单元测试
AI 写测试的质量比写业务代码还高,因为测试代码模式非常固定:
为下面的函数写 pytest 单元测试:
def divide(a: float, b: float) -> float:
if b == 0:
raise ValueError("除数不能为0")
return a / b
要求覆盖:
- 正常除法(含浮点数精度处理)
- 除数为 0 抛异常
- 负数相除
- 边界值:0 除以任何数
场景五:读别人的代码
接手老项目时,AI 是最好的「翻译官」:
请解释这段正则表达式,逐部分说明含义:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,20}$
这是项目里的一段 SQL,请用中文解释它在做什么,
并指出有没有性能问题:
【贴 SQL】
场景六:代码审查
提交代码前让 AI 当一次 reviewer:
请以资深后端工程师的视角审查这段代码,按严重程度列出问题:
1. 安全漏洞(SQL注入、XSS等)
2. 性能问题(N+1查询、不必要的大数据拷贝)
3. 可维护性问题
4. 代码风格问题(仅提示)
【贴代码】
按严重程度排序能避免被「变量命名不够优雅」这类意见淹没重点。
三个避坑指南
1. 永远运行一遍再提交
AI 写的代码可能有:不存在的库函数、编造的 API 参数、逻辑上差一位的边界。它写得越自信,越要警惕。编译/运行/测试,三步缺一不可。
2. 别发公司机密代码
粘贴代码前做脱敏:删掉真实的密钥、密码、内网地址、数据库连接串。涉及核心业务逻辑的代码,先确认公司是否允许使用外部 AI 工具。可以选择本地化部署的开源模型(DeepSeek、Qwen)处理敏感代码。
3. 大改动要分批喂
一次扔 500 行代码让它「优化一下」,输出质量会很差。正确做法是按函数/类拆分,一次处理一个模块,改完确认没问题再处理下一个。
工具选择建议
| 工具 | 形态 | 特点 |
|---|---|---|
| ChatGPT/DeepSeek 网页版 | 对话 | 适合问答、调试、代码审查 |
| Cursor | AI 编辑器 | 深度集成代码库上下文,适合大项目 |
| GitHub Copilot | IDE 插件 | 实时代码补全,写 boilerplate 极快 |
| Trae | AI 编辑器 | 国产免费,中文体验好 |
推荐组合:日常补全用 IDE 插件,复杂问题用网页版对话,大项目重构用 AI 编辑器。
写在最后
AI 编程的本质是把「搜索引擎 + Stack Overflow + 文档」整合成了一个对话框。以前花 20 分钟查资料的事,现在 2 分钟解决。省下来的时间,投入到真正需要人类思考的地方:理解业务、设计架构、和 AI 说不清楚的那 40%。





评论 (0)
还没有评论,快来抢沙发吧~