凌晨两点,我让 AI 帮我写了一个功能

凌晨两点,我盯着屏幕上的需求文档,脑子一片空白。

“实现一个带分页、搜索、排序的用户列表,支持导出 Excel…”

以前,这个功能要写一天。

现在,我打开 Cursor,输入了一段提示词:

实现一个 React 用户列表组件,要求:
1. 支持分页(每页 20 条)
2. 支持搜索(姓名、邮箱)
3. 支持排序(按创建时间、姓名)
4. 支持导出 Excel
5. 使用 TypeScript
6. 使用 Ant Design

30 秒后,AI 给了我 200 行代码。

我看了看,改了几个地方,测试了一下。

能用。

我保存代码,提交,关电脑,睡觉。

从需求到完成,20 分钟。


第二天早上,我醒来,突然想到一个问题:

如果 AI 能 20 分钟写完我一天的工作,那我还有什么价值?


第一个月:AI 是我的超级助手

刚开始用 AI 编程助手的时候,我觉得自己找到了宝藏。

场景 1:写重复代码

以前:

// 手写 CRUD 接口,复制粘贴改改
export const getUsers = async () => {
  return await request.get("/api/users")
}

export const getUser = async (id: number) => {
  return await request.get(`/api/users/${id}`)
}

export const createUser = async (data: User) => {
  return await request.post("/api/users", data)
}

// ... 还有 update、delete,每个都要写

现在:

// 我:生成用户的 CRUD 接口
// AI:30 秒生成 5 个接口,还带类型定义

效率提升:10 倍。

场景 2:写测试用例

以前:

// 手写测试,想各种边界情况
describe("UserService", () => {
  it("should get user by id", async () => {
    // ...
  })

  it("should throw error when user not found", async () => {
    // ...
  })

  // ... 写到怀疑人生
})

现在:

// 我:为 UserService 生成测试用例
// AI:生成 20 个测试用例,覆盖率 90%

效率提升:20 倍。

场景 3:重构代码

以前:

// 看着一坨屎山,不知道从哪里下手
function processData(data) {
  // 200 行代码
  // 各种 if-else 嵌套
  // 看不懂当初为什么这么写
}

现在:

// 我:重构这个函数,拆分成多个小函数
// AI:拆分成 5 个函数,每个都清晰易懂

效率提升:5 倍。


第一个月,我的工作效率提升了 5 倍。

老板夸我:“你最近怎么这么快?”

我笑了笑,没说话。

心里想:因为我有 AI。


第二个月:我开始依赖 AI

第二个月,我发现自己越来越依赖 AI。

依赖 1:不想动脑

以前:

遇到问题,先想想怎么解决,实在想不出来再 Google。

现在:

遇到问题,直接问 AI。

“AI,这个 bug 怎么修?”

“AI,这个功能怎么实现?”

“AI,这段代码为什么报错?”

我发现,我不想动脑了。

依赖 2:不想写代码

以前:

写代码是一种乐趣,看着自己的代码跑起来很有成就感。

现在:

写代码变成了"调教 AI"。

我不再写代码,我只是告诉 AI 我要什么,然后等它生成。

我发现,我不想写代码了。

依赖 3:不想学习

以前:

遇到新技术,会花时间学习,看文档,写 Demo。

现在:

遇到新技术,直接问 AI。

“AI,给我写一个 React 19 的例子。”

“AI,给我写一个 Next.js 15 的项目。”

我发现,我不想学习了。


第二个月结束时,我突然意识到:

我在退化。


第三个月:AI 出错了,我不会修

第三个月,发生了一件事,让我彻底清醒了。

事故现场

产品经理给了一个需求:

“实现一个复杂的数据统计功能,要支持多维度筛选、聚合、图表展示…”

我照例让 AI 写代码。

AI 生成了 500 行代码。

我看了看,觉得没问题,就提交了。


测试的时候,发现数据不对。

我检查了半天,发现是 AI 写的聚合逻辑有问题。

但我看不懂 AI 写的代码。

因为这 500 行代码,我一行都没写过,我只是复制粘贴。

我不知道它的逻辑是什么,不知道哪里出错了。


我尝试让 AI 修复:

“AI,这段代码的聚合逻辑有问题,帮我修一下。”

AI 改了。

测试,还是不对。

“AI,还是不对,再改。”

AI 又改了。

测试,还是不对。


我来回折腾了 3 小时,还是没修好。

最后,我只能找同事帮忙。

同事看了 10 分钟,说:“这里的逻辑不对,应该这样写…”

10 分钟,问题解决了。


我坐在电脑前,陷入了沉思。

如果我不会写代码,AI 出错了,我该怎么办?

如果我不懂原理,AI 生成的代码有 bug,我该怎么修?

如果我完全依赖 AI,那我还算程序员吗?


第四个月:我重新思考 AI 的定位

第四个月,我开始重新思考 AI 在编程中的定位。

认知 1:AI 是工具,不是替代品

AI 很强大,但它不是万能的。

AI 能做的:

  • 写重复性代码(CRUD、配置文件)
  • 生成测试用例
  • 重构代码
  • 解释代码
  • 提供思路

AI 不能做的:

  • 理解复杂的业务逻辑
  • 做架构设计
  • 权衡技术方案
  • 解决疑难 bug
  • 创新

AI 是工具,是助手,不是替代品。

认知 2:AI 生成的代码,要理解才能用

AI 生成的代码,不能直接复制粘贴。

必须做到:

  1. 看懂每一行代码
  2. 理解整体逻辑
  3. 检查边界情况
  4. 测试各种场景
  5. 确保代码质量

如果看不懂,就不要用。

认知 3:AI 是放大器,不是替代器

AI 不会让菜鸟变大神,但会让大神更强。

菜鸟 + AI:

  • 能快速写出能跑的代码
  • 但不懂原理,出问题不会修
  • 代码质量参差不齐
  • 容易产生技术债务

大神 + AI:

  • 能快速实现想法
  • 懂原理,能优化 AI 的代码
  • 代码质量有保障
  • 效率提升 5-10 倍

AI 是放大器,放大的是你的能力。


第五个月:我找到了和 AI 相处的方式

第五个月,我找到了和 AI 相处的正确方式。

方式 1:让 AI 做它擅长的事

AI 擅长:

  • 写样板代码(CRUD、配置)
  • 生成测试用例
  • 重构代码
  • 解释代码
  • 提供多种方案

我擅长:

  • 理解业务需求
  • 设计架构
  • 权衡技术方案
  • 解决复杂问题
  • 代码审查

分工明确,各司其职。

方式 2:用 AI 学习,而不是依赖

错误的用法:

我:给我写一个 React Hook
AI:(生成代码)
我:(复制粘贴)

正确的用法:

我:给我写一个 React Hook,并解释原理
AI:(生成代码 + 解释)
我:(理解原理,学习新知识)
我:为什么要这样写?有没有更好的方案?
AI:(解释原因,提供其他方案)
我:(对比方案,选择最优解)

用 AI 学习,而不是依赖。

方式 3:保持思考,不要偷懒

AI 生成代码后,问自己:

  1. 这段代码我看懂了吗?
  2. 这个逻辑合理吗?
  3. 有没有边界情况没考虑?
  4. 性能怎么样?
  5. 安全性怎么样?
  6. 可维护性怎么样?

如果有一个问题答不上来,就不要用。


AI 时代,程序员的核心竞争力是什么?

用了半年 AI 编程助手,我总结出了一些思考。

1. 理解能力 > 编码能力

以前:

程序员的核心能力是"写代码"。

现在:

程序员的核心能力是"理解需求、设计方案、解决问题"。

写代码,AI 能帮你。

但理解需求、设计方案、解决问题,AI 帮不了你。

2. 判断能力 > 执行能力

以前:

程序员的价值是"执行"——把需求变成代码。

现在:

程序员的价值是"判断"——判断哪个方案更好,判断 AI 的代码对不对。

AI 能生成 10 种方案,但选哪个,要你来判断。

3. 学习能力 > 现有知识

以前:

程序员的竞争力是"我会什么技术"。

现在:

程序员的竞争力是"我能多快学会新技术"。

技术更新太快,AI 也在进化。

唯一不变的,是学习能力。

4. 创新能力 > 重复劳动

以前:

程序员的工作是"重复劳动"——写 CRUD、改 bug、加功能。

现在:

程序员的工作是"创新"——设计新架构、解决新问题、创造新价值。

重复劳动,AI 能做。

创新,只有人能做。


给所有程序员的建议

如果你也在用 AI 编程助手,我想给你一些建议:

1. 拥抱 AI,但不要依赖 AI

AI 是工具,要学会用,但不要依赖。

就像计算器:

  • 你可以用计算器算复杂的数学题
  • 但你要懂数学原理
  • 不能连 1+1 都要用计算器

AI 也一样:

  • 你可以用 AI 写代码
  • 但你要懂编程原理
  • 不能连简单的代码都要 AI 写

2. 用 AI 提升效率,而不是偷懒

AI 能提升效率,但不是让你偷懒的借口。

提升效率:

  • 用 AI 写样板代码,节省时间
  • 用节省的时间学习新技术、优化架构、解决难题

偷懒:

  • 用 AI 写所有代码,自己不动脑
  • 不理解代码,不检查质量
  • 出问题了不会修

前者让你更强,后者让你退化。

3. 保持学习,不要停止思考

AI 再强,也只是工具。

真正的竞争力,是你的大脑。

  • 保持好奇心,学习新技术
  • 保持思考,理解原理
  • 保持创新,解决新问题

AI 会进化,你也要进化。

4. 记住:AI 是你的助手,不是你的替代品

AI 不会取代程序员。

但会用 AI 的程序员,会取代不会用 AI 的程序员。


写在最后:我和 AI 的协作日常

现在,我每天都在用 AI 编程。

但我和 AI 的关系,不再是"我问,它答"。

而是"我们一起工作"。

早上 9 点:

我:今天要实现一个用户权限系统,给我几个方案。

AI:方案 1:RBAC,方案 2:ABAC,方案 3:…

我:对比一下优缺点。

AI:(详细对比)

我:我选方案 1,给我设计数据库表结构。

AI:(生成表结构)

我:(检查,优化,确认)

上午 10 点:

我:实现用户表的 CRUD。

AI:(生成代码)

我:(检查代码,发现一个性能问题)

我:这里的查询会有 N+1 问题,优化一下。

AI:(优化代码)

我:(测试,通过)

下午 3 点:

我:写测试用例。

AI:(生成 20 个测试用例)

我:(检查,补充边界情况,运行测试)

下午 5 点:

我:写文档。

AI:(生成 API 文档)

我:(检查,补充使用示例)


这就是我和 AI 的协作方式:

  • AI 负责执行,我负责思考
  • AI 负责生成,我负责审查
  • AI 负责建议,我负责决策

我们是搭档,不是主仆。

我们是协作,不是替代。


最后送给所有程序员一句话:

AI 时代,程序员不会消失,但会分化。

会用 AI 的程序员,效率提升 10 倍。

不会用 AI 的程序员,会被淘汰。

而完全依赖 AI 的程序员,会退化成"提示词工程师"。

真正的程序员,是那些能驾驭 AI,而不是被 AI 驾驭的人。

你,想成为哪一种?

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐