夜雨聆风学习资料网

ARTICLE · 1176032

我在GitHub上让AI写了三个完整项目,然后发现自己好像要失业了

我在GitHub上让AI写了三个完整项目,然后发现自己好像要失业了

起因是知乎上一个热门问题

上周在知乎首页刷到一个问题:"AI大概还要多久就可以取代程序员了?"

这问题我见过无数遍,以前看到都是直接滑走。但那天鬼使神差点进去了,因为热度实在太高——4500多万浏览量,6000多个回答。

我翻了大概二十分钟回答。有意思的是,回答明显分成两派:一线程序员说"早着呢,AI写的代码你敢直接上线?",而互联网圈以外的回答几乎清一色说"快了,我已经用AI写了好几个工具了"。

两种声音都有道理。但我想了想,发现自己作为一个写了八年代码的后端开发,居然从没认真测试过AI到底能不能替我写项目。不是"写一行补全"那种,是从零到一搭一个完整项目那种。

于是我做了一个决定:这周末,让AI自己写三个完整的项目,我全程只动嘴不动手。

项目一:一个简单的记账App

第一个项目我挑了个简单的,想先试试水。一个个人记账App,要求有用户注册登录、记收入支出、按分类统计、图表展示这几个功能。技术栈不限。

我打开Cursor,把需求打在prompt里。AI开始生成。说实话第一步还挺顺利的——它选了Next.js + SQLite这个组合,数据库表结构设计得不错,API路由也规整。大概十五分钟,基础的增删改查就出来了。

但到了图表展示那一块就开始出问题了。它调了Chart.js,但传给图表的数据格式不对,饼图死活不显示。我自然地说了一句"饼图不显示,查一下数据格式",AI自己debug了一轮,然后说"哦,是我把categories和amounts的映射搞反了"。修好之后,确实能跑了。但那个折线图的时间轴又是乱的——6月的账单出现在了3月的位置。又修了一轮。

最终,一个能用但不难看的记账App,从零到跑起来,花了我大概两个小时,其中解决AI自己埋的坑就占了一个小时。但说实话,如果我自己写,可能得五六个小时。

结论:简单的CRUD项目,AI已经可以干了个七七八八了。但你需要给它擦屁股。

项目二:一个爬虫+数据处理管线

第二个项目来点有意思的。我让AI写一个爬虫,定时抓取某个科技新闻网站的头条,把内容清洗之后存到数据库,再调用一个翻译API转成英文,最后生成一份摘要邮件。

这个项目涉及爬虫、数据处理、API调用、定时任务、邮件发送五个环节。任何一个环节断了,整个管线就走不通。

AI的表现这次更好一些。可能是因为爬虫和数据处理是非常"教科书"的问题,网上的资料很多,模型训练的时候见过大量类似代码。它一口气生成了将近400行Python代码,爬虫部分用了requests+BeautifulSoup,数据处理用了pandas,定时用了APScheduler,邮件用了smtplib。

第一次测试跑的时候,爬虫部分就崩了——目标网站有反爬,返回了403。AI自动加了个User-Agent轮换和请求间隔,第二次就好了。数据清洗部分倒是很靠谱,HTML标签去得干净,编码也没乱。调翻译API的时候它用的免费版本有调用次数限制,我告诉它之后,它自动换了一个备选API。

整个项目从零到稳定运行,大概用了一个半小时,我发言不超过十句。而且说实话,大部分发言还是因为环境问题——我本地忘了装某个依赖,跟AI没关系。

这件事让我真实地感到了压力。

项目三:一个实时聊天应用

最后一个项目我要上点强度。一个实时聊天应用,要求支持多人在线、消息广播、私聊、消息历史记录、在线状态显示。

这次AI翻车了。而且翻得很惨。

WebSocket的握手逻辑它写错了——认证token没传到connection参数里,导致所有连接都在第一步被拒绝。这个消息传播机制也有问题:它用一个全局列表存所有连接,但没处理连接断开后清理的逻辑。私聊功能更离谱,它直接在消息里拼了个"@username"前缀就当私聊了,根本没有真正的目标地址路由。

我试了三次让它重新生成。第一次换了个新的错误架构,第二次改了一点但还是有bug,第三次我跟它详细解释了WebSocket的握手流程,它终于理解对了。但这三次折腾下来,一个简单的聊天应用花了我整整四个小时。

问题出在什么地方呢?这个问题需要"真正的系统设计思维"——你要理解连接的生命周期、状态管理、并发控制。AI有"知识",但它没有"经验"。它知道WebSocket的API签名,但它不知道"生产环境里连接断开后忘记清理会导致内存泄漏"。因为没有人会因为写了个"WebSocket教程demo"遇到内存泄漏,只有被线上故障教育过的人才懂。

AI暂时还没被教育过。

三天实验的结论

做完这三个项目,我对"AI取代程序员"这件事的看法变了。

取代"写代码"这件事,AI已经在发生。如果一个人做的事就是"把需求翻译成代码"——比如写API接口、搭CRUD页面、写数据处理脚本——那AI真的能替代你。而且很快。我估算了一下,一个中级程序员所做的日常工作里,大概40%-50%的工作量是AI可以接手或者加速的。

但取代"程序员"这件事,还早。因为程序员不只是"写代码的人"。程序员是"解决问题的人"。当一个复杂系统出问题的时候,你需要知道问题出在前端还是后端、是网络问题还是业务逻辑问题、是该加缓存还是换数据库。这些东西没法靠写prompt解决,它需要对这个系统的理解——不是"通用的知识",而是"对这个特定系统的理解"。

我那个记账App,饼图数据格式出错的时候,AI自己修了一个小时才修好。但如果是一个有经验的程序员,看一眼console的错误信息,三分钟就能定位问题。因为人知道"图表不显示"通常是什么问题,AI得从头到尾排查一遍。

所以我的判断很明确:两年内,只会"写代码"的程序员会很难找工作。但真正"懂系统"的程序员,反而会因为AI淘汰了低端竞争对手,变得更加值钱。

那个知乎问题我后来又去看了一眼,我自己也在下面写了一个回答,最后一句是:"AI不会取代程序员,但会用AI的程序员会取代不会用AI的程序员。"

底下有人回我:"这句话本身就像AI生成的。"

😂


【关注「啸之乙戈」,科技圈的事,说人话给你听】

相关学习资料