type
Post
status
Published
date
Dec 9, 2024
slug
AI提高工作效率
summary
用了一年多 AI 编程助手,说点真实感受。哪些事 AI 真的能帮上忙、哪些地方不要指望它、以及我现在怎么和它分工才不踩坑。
tags
思考
人工智能
推荐
category
技术分享
icon
password
synced
synced
paired_with
3551d487-a2a1-8133-ac49-efe6c386f627
source_hash
10c96d146095030ab5c9d2af0d54a243f9ae77e5aabe34656b81f3c5c8612323
translation_locked
translation_locked
最近这一年我用 AI 编程助手用得越来越多,从 GitHub Copilot 到 Cursor 到 Claude Code,每个都试过一阵。说真的,效率是有提升的,但远没有营销文里吹的那么神。这篇聊聊我自己用下来的真实感受,AI 在哪些事上能帮上忙、哪些地方不要指望它、以及怎么和它分工才不踩坑。
AI 真正擅长什么
如果让我用一句话总结,AI 编程助手最值钱的是"快速翻找"。这件事人类干起来又慢又烦,AI 干起来又快又准。
具体来说
- 你脑子里大概有个 API 但记不清确切名字,让 AI 帮你查一下比翻文档快十倍
- 一段陌生的代码看不懂,让它解释一下省下你半小时
- 写样板代码(CRUD 接口、表单校验、单元测试这种),让它先生成一版你再改
- 一段莫名其妙报错的代码,把错误信息和代码丢给它,它经常能直接指出哪里写错了
IT Revolution 那篇研究里提到的 26% 生产力提升,原文在这。我自己感觉这个数字偏低,简单任务上 AI 能给我 50% 以上的提速。但只要任务一复杂,提速就会降到接近 0,甚至变成负数(后面说为什么)。
AI 真的不擅长的事
简单一句话,需要"想"的事它都不行。
- 业务逻辑设计。AI 不懂你产品的来龙去脉,它能写出语法漂亮的代码,但写不出符合你业务直觉的代码。每次让它生成一段订单创建逻辑,我都得花同样多时间把它改对。
- 跨文件的一致性。AI 看到的是它当前的上下文窗口,看不到你整个仓库的历史决策。它经常会引入跟你已有 utility 函数重复的轮子。
- 架构决策。要不要拆服务、要不要上 Redis、要不要换框架,这些问题问 AI 等于打开 ChatGPT 让它给你写一个折中得没什么意见的答案。
- 判断边界条件。AI 写出来的代码经常缺少 null 检查、空数组处理、并发安全。
我现在怎么和 AI 分工
我大概形成了一个简单的习惯。
- 复杂任务,我先想清楚再让 AI 写。先把要做什么、输入输出是什么、边界情况有哪些、要不要复用什么已有代码,这些自己想明白。然后用一句话把要求讲给 AI,让它写第一版。
- 重复性强的任务,AI 先写我后改。比如十个差不多的 CRUD 接口,让 AI 把骨架生成出来,我再统一调整。
- 不会的领域,AI 是入门加速器。想学一个不熟的库,让 AI 给个最小可运行例子,比看文档快。但生产代码我还会去翻官方文档确认一遍。
- 关键代码,AI 不许写。涉及钱、权限、数据迁移、安全的代码,我自己写。让 AI 看一眼有没有问题可以,但生成绝对不行。
一个真实的反例
前两天我让 AI 给一个 React 组件加防抖,它写了这么一段
看着挺像那么回事。但有两个 bug。第一,
useMemo 的依赖是空数组,组件卸载之后 debouncedSearch 不会清理,定时器会泄漏。第二,fetchResults 从 props 里来,会被锁死成第一次的版本,之后传新的进来不生效。正确的写法应该用
useEffect 配合 cleanup 清理 debounce,或者干脆用 useDebounce 这种现成的 Hook。但 AI 给的这一版扫一眼很难看出问题,这就是为什么我说"复杂逻辑 AI 帮不上忙",因为它看着对的代码可能藏着你三天后才会发现的 bug。写在最后
AI 编程助手不是魔法。它是一把好用的斧子,砍柴砍得飞快,但你不能拿它给你设计房子。理解它的边界,和它分好工,才能真的吃到那个 26% 的红利。
📎 参考文章
- 作者:LeoQin
- 链接:https://leoqin.com/article/AI%E6%8F%90%E9%AB%98%E5%B7%A5%E4%BD%9C%E6%95%88%E7%8E%87
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。