很高兴今天有机会跟大家聊聊 AI。
其实让我来分享 AI,我觉得有一点挺有意思。
因为如果让我在几年前来讲,我可能会跟大家讲 C++、Swift、Flutter、架构、数据库、服务器、API……
但是今天,如果你问我:
“你现在还写代码吗?”
我的答案可能会让很多程序员有点意外:
我现在已经很少亲手写代码了。
甚至可以说,我正在逐渐进入一个“零手写代码”的开发状态。
但我并没有因此觉得自己不再是程序员。
恰恰相反。
我觉得这是我做了二十多年程序员以后,第一次真正感觉到:
程序员这个职业,可能终于开始发生一次根本性的变化。
一、我做了20年程序员,AI之前我是什么样的?
我毕业最初做的是 Windows桌面C++开发,五年后来转 Mac/iOS 原生开发。
那个年代,程序员写代码是一件非常“手艺人”的事情。
你要记 API。
要研究操作系统。
要研究内存管理。
要研究线程。
要研究各种奇怪的 Bug。
后来从 C++ 到 Objective-C/Swift,再到 Flutter(Dart)。
再后来,我开始做 Web、后端、小程序、服务器、部署,甚至游戏。
我做过一些比较大的系统,也自己做过产品。
所以过去二十年,我形成了一个非常深的职业习惯:
看到一个需求,我第一反应就是:怎么写?
需求来了。
我会想数据库怎么设计。
接口怎么设计。
页面怎么拆。
类怎么定义。
模块怎么组织。
代码怎么实现。
这套方式,我用了二十年。
但是 AI 出现以后,我突然发现:
这个思考顺序可能错了。
至少,不应该再是第一反应。
二、AI最开始让我惊讶的,不是它会写代码
很多人第一次接触 AI,都会做一件事情:
让 AI 帮自己写一段代码。
比如:
“帮我写一个登录页面。”
“帮我写一个 Flutter 网络请求。”
“帮我写一个 Python 脚本。”
这当然很厉害。
但是我觉得:
如果我们把 AI 仅仅当成一个“高级代码补全工具”,其实是低估了它。
因为代码只是软件开发最后的一层。
真正困难的东西是什么?
是:
我要做什么?
为什么做?
用户真正需要什么?
整个系统应该怎么设计?
哪些事情应该做,哪些事情根本不应该做?
这些问题,过去都是程序员自己的事情。
而 AI 出现以后,我发现:
AI开始可以参与到这些事情里面来了。
于是我开始改变自己的工作方式。
三、我现在做软件,第一步已经不是写代码了
以前我接到一个需求:
客户告诉我:
“我需要一个供应链系统。”
以前我可能马上开始想:
数据库怎么设计?
用什么框架?
前端用什么?
后端用什么?
但是现在,我会先让 AI 帮我把问题拆开。
客户到底要解决什么问题?
有哪些角色?
有哪些业务流程?
有哪些异常情况?
有哪些外部系统?
数据怎么流动?
用户在什么场景下使用?
然后继续往下:
产品结构是什么?
信息架构是什么?
交互应该怎么样?
哪些东西应该自动化?
哪些地方必须人工确认?
然后才进入开发。
甚至 UI、原型、代码、测试、部署,我都会让 AI 参与。
所以我现在越来越感觉:
AI不是帮我写代码。
而是在帮我完成整个软件生产流程。
四、我后来发现一个非常重要的区别
很多人使用 AI 的方式是:
Prompt → Answer → 修改 → 再 Prompt → 再修改。
一天到晚在和 AI 聊。
但是我后来发现:
如果一个复杂项目全部靠这种方式,很累。
因为你每一次都在重新告诉 AI:
“你应该这样做。”
“刚才那个不要。”
“这个需求还要加一个。”
“这个地方改一下。”
所以我后来开始做另外一件事情:
我不再主要训练自己怎么写 Prompt,而是开始建立 AI 的工作流程。
简单来说:
不是:
“AI,你帮我做这个。”
而是:
“AI,你按照这套规则和流程,把这个事情完成。”
这两者区别非常大。
五、我现在更关注的,是“Agent + Skill”
这是我这段时间一个比较重要的实践。
我自己做了一套类似:
Agent + Skill + Workflow
的体系。
什么意思?
比如我告诉 AI:
我要做一个产品。
它不是马上给我生成代码。
而是先经过一系列步骤:
需求理解。
需求补全。
业务分析。
产品设计。
页面结构。
交互设计。
技术方案。
开发。
测试。
修复。
部署。
甚至最后生成产品文档。
也就是说:
我开始把一个软件公司的生产流程,逐渐变成 AI 可以执行的流程。
这时候我发现一件很有意思的事情。
以前:
一个程序员 = 一个人。
现在:
一个人 + AI = 一支虚拟的软件团队。
六、这时候,一个人的能力边界突然变了
以前一个程序员可能比较擅长:
iOS。
或者 Android。
或者前端。
或者后端。
或者数据库。
或者运维。
很少有人能够一个人把整个系统从 0 做到 1。
但是我过去这些年刚好做过很多不同类型的东西。
所以 AI 对我的帮助特别明显。
比如:
我可以自己设计一个 Web 系统。
也可以做 App。
可以做后端。
可以做小程序。
可以做服务器。
可以做游戏。
可以做部署。
现在这些事情之间的边界越来越模糊。
过去可能需要:
产品经理。
UI设计师。
前端工程师。
后端工程师。
测试工程师。
运维工程师。
现在,一个有经验的人借助 AI,可以把其中非常多的工作自己完成。
所以我越来越相信一个判断:
AI真正改变的,不是程序员写代码的速度。
而是:
一个人能够完成什么。
七、但是这里有一个非常大的误区
有人可能会说:
“既然 AI 这么厉害,那程序员是不是要失业了?”
我反而觉得:
真正危险的不是不会写代码的人。
而是:
只会写代码的人。
为什么?
因为如果你的价值是:
“我可以把需求变成代码。”
那么 AI 现在已经越来越擅长这件事情。
但是如果你的价值是:
“我知道这个产品应该做什么。”
“我知道这个系统应该怎么设计。”
“我知道这个需求里面有哪些坑。”
“我知道用户真正想解决什么问题。”
“我知道怎么把一个模糊的商业想法变成真正能运行的产品。”
那 AI 反而会放大你的能力。
所以我现在越来越觉得:
未来真正稀缺的不是代码,而是判断力。
八、我自己有一个很深的感受
以前我们学习编程,最重要的一件事情是:
记住。
记住 API。
记住语法。
记住框架。
记住各种最佳实践。
但是 AI 出现以后,“记住”这件事情的重要性正在下降。
因为:
不会的东西可以问。
不会的代码可以生成。
不会的 API 可以让 AI 查。
不会的框架可以让 AI 学。
那么什么东西越来越重要?
我觉得有三个:
第一,理解问题。
第二,拆解问题。
第三,判断答案。
尤其是第三个。
AI 可以给你一个答案。
但是:
这个答案到底对不对?
这件事情最终还是要靠人。
九、所以我现在使用 AI,有一个很重要的原则
我不会因为 AI 说得很肯定,就相信它。
恰恰相反。
我会问:
为什么?
依据是什么?
还有没有其他方案?
这个方案的风险是什么?
如果用户量增加十倍呢?
如果数据量增加一百倍呢?
如果第三方接口挂掉呢?
如果这个需求以后变化呢?
所以我觉得:
AI越强,人越需要有判断力。
因为 AI 给你的答案越完整,你越容易产生一种错觉:
“它说得这么完整,应该是真的。”
但完整不等于正确。
十、AI让我重新理解了“经验”
过去二十年的程序员经验,在 AI 时代是不是没用了?
我觉得恰恰相反。
经验变得更加重要。
因为一个刚学编程的人使用 AI:
AI说:
“这样写就可以。”
他可能就真的这样写了。
但是一个做了二十年软件的人看到这个答案,可能马上会想到:
“这里以后会出问题。”
“这个架构扩展不了。”
“这个数据库设计不合理。”
“这个 API 以后会被卡死。”
“这里实际上存在一个业务逻辑漏洞。”
所以:
AI降低了技术实现的门槛,但是提高了判断力的价值。
这可能是我这段时间最大的感受之一。
十一、还有一个变化,我觉得更加有意思
以前做一个软件,最大的成本之一是:
“做出来。”
所以很多想法停留在脑子里面。
因为你会想:
找设计师。
找程序员。
做 UI。
做后端。
做服务器。
测试。
上线。
可能半年过去了。
最后发现:
这个产品没人用。
但现在不一样了。
AI把“做出来”的成本大幅降低。
所以现在最大的瓶颈正在发生变化:
过去:
想法 → 很贵 → 很难实现。
现在:
想法 → 很容易实现。
于是新的问题来了:
什么东西值得做?
十二、所以我现在越来越关心的不是“AI能不能做”
而是:
这个东西有没有价值?
这也是为什么最近我自己做项目的时候,经常会先问:
有没有用户?
用户为什么需要?
愿不愿意付钱?
解决的是不是一个真实问题?
市场是不是足够大?
这个产品是不是值得长期维护?
因为:
AI已经把“生产软件”变得越来越容易。
接下来真正稀缺的可能是:
发现需求、选择需求、理解用户和获得用户。
十三、这也是我认为普通人最大的机会
过去一个人创业,非常难。
你需要资金。
需要团队。
需要技术。
需要设计。
需要运营。
需要市场。
现在至少在“生产”这一端,发生了巨大的变化。
一个人借助 AI,可以完成过去一个小团队才能完成的很多事情。
所以我现在很看好一个模式:
OPC——One Person Company
一个人就是一家公司。
不是说这个人什么都亲自干。
而是:
一个人负责判断、决策和创造,AI负责大量执行。
必要的时候,再调用外部的人和服务。
我觉得这种模式未来会越来越普遍。
十四、但是我也想提醒大家
AI不是魔法。
我自己也经历过很多失败。
我做过产品。
有些产品真的上线了。
服务器也跑起来了。
网站也能访问。
App也能安装。
但是:
没人付钱。
这其实是一个非常重要的教训。
因为以前我们很容易把:
“产品做出来”
当成一个很大的成就。
但 AI 时代可能完全不是这样。
因为做出来越来越容易。
真正困难的是:
有人使用。
有人留下。
有人愿意付钱。
所以以后一个人的核心能力可能不是:
“我能不能开发一个 App。”
而是:
“我能不能找到一个值得解决的问题,然后用 AI 在很短时间里把它验证出来。”
十五、如果让我重新学习编程,我可能会换一种方式
如果今天有一个年轻人问我:
“现在 AI 都能写代码了,我还要不要学编程?”
我的答案是:
要。
但是学习重点可能已经不同。
我不会让他花大量时间去背语法。
而是让他真正理解:
什么是程序?
什么是数据?
什么是网络?
什么是数据库?
什么是 API?
什么是操作系统?
什么是架构?
什么是算法?
更重要的是:
学会把现实世界的问题抽象成计算机可以解决的问题。
然后:
让 AI 帮你实现。
所以我甚至觉得:
未来的编程教育可能会发生一次很大的变化。
过去是:
老师教你怎么写代码。
未来可能是:
AI陪你从一个想法开始,带着你把一个真正的产品做出来。
学生不是为了考试写一个 Demo。
而是真的做一个东西出来。
十六、这也是我现在特别感兴趣的一件事情
我一直在思考:
能不能让一个没有编程基础的人,也能够借助 AI 做出真正的软件?
不是让他学三年编程以后再做。
而是:
他先有一个想法。
AI帮助他理解需求。
然后帮助他设计。
帮助他开发。
帮助他测试。
帮助他部署。
最终:
真的上线一个产品。
我觉得这件事情非常有意思。
因为它改变的不只是软件开发效率。
它可能改变的是:
普通人的创造能力。
十七、所以,如果让我总结我这段时间使用 AI 最大的三个心得
第一:
不要把 AI 当搜索引擎。
AI不是一个“问一个问题,得到一个答案”的工具。
要把它当成:
一个可以参与工作的伙伴。
第二:
不要只学习 Prompt,要学习怎么设计流程。
优秀的 AI 使用者,不一定是最会写 Prompt 的人。
而是能够告诉 AI:
你是谁。
你要完成什么目标。
按照什么规则完成。
完成以后怎么检查。
这实际上是在设计一个 AI 工作系统。
第三,也是我认为最重要的一点:
AI时代,人的价值正在从“执行”转向“判断”。
过去:
我会不会写代码?
现在:
我知不知道应该做什么?
过去:
我能不能把这个功能实现?
现在:
这个功能到底值不值得做?
过去:
我能不能一个人完成?
现在:
我能不能利用 AI,让一个人完成过去一个团队才能完成的事情?
最后,我想说一句
我做了二十年程序员。
如果在十年前有人告诉我:
“未来有一天,你做软件的时候,大部分代码都不是你亲手写的。”
我可能会觉得:
那还叫程序员吗?
但是现在我真的进入了这个时代。
而我的感受不是:
“程序员没用了。”
反而是:
“程序员终于可以把更多时间用在真正重要的事情上。”
代码只是工具。
产品才是目的。
技术只是手段。
解决问题才是价值。
而 AI 给我们最大的礼物,也许不是:
让一个人写代码快十倍。
而是:
让一个人的能力边界,第一次可以被机器大规模地扩展。
以前,一个人的想法,受限于:
时间。
技术。
精力。
团队。
资金。
而现在:
AI正在把其中很大一部分限制逐渐打破。
所以我觉得,我们真正应该问的已经不是:
“AI会不会取代我?”
而应该问:
“如果我真正学会使用 AI,我一个人究竟可以创造出什么?”