假如你有自己的专属“程序员”
- 来源:《第一财经》YiMagazine smarty:if $article.tag?>
- 关键字:专属,程序员,开发 smarty:/if?>
- 发布时间:2025-02-14 20:05
2024年11月28日,一款名为“小猫补光灯Pro”的App登上了苹果App Store中国区付费榜第一名。这成了行业内的热点话题,因为它出自个人开发者之手,其开发者陈云飞也并非程序员—他此前在互联网公司从事用户研究工作,“完全不会写代码”,这款App是他借助AI编程工具开发的。
陈云飞使用的AI编程工具叫Cursor。过去这两个月,AI编程工具的发展可谓突飞猛进,在Cursor的基础上至少往前进化了两代:2024年11月,Cursor的竞争对手Windsurf发布,大幅降低了上手门槛,Cursor很快跟进了类似功能;正当Cursur和Windsurf你追我赶之际,12月初,一个叫Devin的产品开放注册,又将这个赛道推向了新的层次。
先来介绍一下Devin。它的自我介绍很简单:“一名AI软件工程师”。没错,它根本不希望你把它看成和Cursor、Windsurf同类的开发工具,而是希望你将它看作团队的一员,直接给它分配任务,由它自主完成工作。
“聘用”Devin的过程和招聘一名远程员工很像。它不提供免费试用,每个月需要向它支付500美元“基本工资”,换取它为你工作250“工时”。“工时”用完后,如果你想让AI“加班”,对不起,你需要支付每“工时”2美元的“加班费”,和“基本工资”的单价一样。
交了500美元后,Devin就来“入职”了。和人类员工入职的过程类似,你需要给Devin做入职培训,例如告诉它团队的代码仓库在哪里,有什么工作规范,等等。有意思的是,它会自带一台电脑来上班,但你需要帮Devin在它的电脑上安装好各种工作要用到的软件,帮它开通各种权限、账号等。
完成“入职”后,Devin就可以正式开始工作了。如前面所说,Devin可以全自动地完成你交代的工作。团队里的每个人都可以给Devin分配工作,它“接单”后会先拆解任务,告诉你它打算怎么完成这项工作,得到批准后再去逐项完成。
这时,你就可以去忙别的事情了。Devin会自己去Google查资料、浏览网页,写代码,然后测试自己写的代码,找出里面的错误并纠正。如果遇到了意料之外的情况,Devin会调整工作计划并向你请示。如果你希望展示充分授权的管理风格,可以告诉它不必大事小事都请示,自己作主就好,这样Devin只会在遇到实在绕不过去的难关时才来找你。
当然,如果你很闲,也可以在Devin工作时一直盯着它的屏幕,随时发号施令,甚至抢过它的电脑来操作,就像喜欢站在你身后对着屏幕指指点点的讨人嫌的老板一样。
我尝试让Devin做了以下工作:为正在开发的产品增加几个功能,再修复几个问题;为代码库编写自动测试方案;帮编辑团队整理已有的文章库、打上标签;抓取其他网站上的数据供分析;做一个浏览器扩展插件,根据网页内容向用户提出启发式的问题,等等。Devin的工作自主性很强,开始我会给出具体任务,后来我就让它去翻团队的待办事项,自己挑活干了。最后,我也提出了一些“非分”的要求,扮演了一个无知又自大的老板,比如要求Devin开发一个“能彻底颠覆微信的超级微信”。
这些它都照做了。简单的功能、重复的工作,可以说就像勤勤恳恳的新手工程师一样,做得又快又好,消耗的“工时”比人类少得多。工作完成后,它还会写好文档和工作小结,并提交代码供你审核。
复杂一些的工作,你则需要像对待一位人类实习生一样,拆解成它在能力范围内可以顺利完成的小项目,纠正它的错误,并在它遇到问题时提供必要的指导。否则,AI虽然可以自己完成90%的工作,但特别容易在余下的10%中走入死胡同,在一些无关紧要的事情上纠结,“工时”呈数量级地增加,却一无所获。例如,完成整理文章库的任务时,它把大部分时间花在了尝试以各种方法下载我们放在Notion上的文章库,直到我发现这个问题,直接导出了一个表格给它。
这时候你会意识到,它仍然是一个工具。
至于“微信”,Devin瑟瑟发抖地问我,您希望在哪些方面超越微信?我说,方方面面!在花费了16个“工时”后,Devin给了我一个在网页内的聊天界面,只是没有添加好友的功能。它也生成了iOS客户端和安卓客户端,但它告诉我,它不知道怎么运行它们。
看来,微信的上千工程师还是有一些工作量的。
如果你知道“AI agent”这个概念,那Devin毫无疑问就是一个agent。Cursor、Windsurf等AI编程工具不管自动化程度多高,设计的出发点是“帮你写代码”,就好像你使用ChatGPT的感受一样,你的注意力需要一直在它身上“陪”着它。Devin则是“为你写代码”,它可以独立工作数小时之久,你只需要检查结果。前者的优点是你对过程有更多掌控,就像是辅助驾驶和全自动驾驶的区别。
尽管仍然有许多局限,但Devin已经非常形象地向我们展示,AI已经能取代初级工程师的很多工作。这不是某种对未来的想象,而是今天的现实—软件工程师竟然是最容易被AI取代的职业之一,真是大水冲了龙王庙。
但思考背后的原因,又会觉得这并不奇怪。今天AI在很多领域的应用瓶颈,不在于其智能程度,而在于缺乏数据和行动。ChatGPT推出每日200美元的“专业模式”后,我邀请各行各业的朋友来测试,普遍反馈其脑力相当于博士生的水平,或者是有两三年工作经验的知识工作者。人类需要反过来充当AI的眼睛和手脚,为它收集数据,然后执行它提出的方案。
而软件开发这个行当,大量的数据本来就存放在电脑中,大部分工作在电脑上就可以完成,不需要和真实世界交互,工作是否完成也可以由程序来判断—这个完整的闭环,确实很适合让AI来接管。
Devin正在努力完成这一闭环,即使只是其中的一小部分,有大量的工作仍然需要人类充当它的“机械臂”不断复制粘贴,它也已经带来了颠覆式的感受。其他的应用场景,只要能实现类似的闭环,也一定可以让AI大放异彩。
总的来说,如果你在管理一个工程团队,或者你自己就是一名工程师,有许多简单、琐碎或重复的工作要完成,的确可以尝试将这些工作外包给Devin,让自己专注于更具创造性、更难的工作。“雇用”Devin的成本按国内的标准来看可能并不比雇一个实习生便宜,但我还是建议你认真考虑并评估这个可能性。
当然,本文的大多数读者估计既不是工程师,也不管理工程师。那Devin这类AI编程工具跟你有什么关系呢?
比较容易想到的,是你可以像陈云飞一样,即使不会写代码,也能做出一个登顶App Store的应用。我的产品经理朋友们对此都跃跃欲试,确实,AI永远充满耐心,也不会拒绝你。如果人人都有一个自己的程序员,那么人人就真的都是产品经理了,那些数不清的“就差一个程序员了”的主意都可以变成现实。那时候,软件分发的模式也一定会改变,可能像短视频一样。
但如果你没有那么旺盛的创造力想和全人类分享呢?我在使用AI编程的过程中得到的另一个启发是,日常生活和工作中可以通过写程序来完成的工作,远比你想象的多。我前几个月有一次写专栏时,想知道我保存在待读列表中的文章总共有多少字。这么无聊的问题过去我肯定是不会花时间去算的,但当我知道花几分钟让AI写个程序就能知道答案,那何乐而不为呢?有了这个意识后,留心日常生活和工作中的各种琐碎、重复、每一项单独拿出来看也不是那么重要的小任务,都可以让AI写个“一次性”的程序来完成:整理电脑文件夹、导出下载数据、分析数据、处理邮件、教孩子学东西时写一个对应的小游戏……等等。有了这样一个贴身服务的“程序员”朋友,许多不可能就会变得可能。
最后,不管是用Devin还是其他AI编程工具,零基础、“完全不会写代码”肯定可以开始—但这不意味着你什么都不用学就可以坐享其成。正如前面说的,它们本质是工具,你至少需要理解它在做什么,才能指导它们工作。只是说,你可以先开始,遇到问题再解决问题,在这个过程中学习。
最重要的,是不要害怕代码。我认为,这是普通人使用AI编程的唯一门槛。
