也许阿里云可以多雇佣AI,少雇佣程序员
前几天看到一个让我哭笑不得的新闻:一名外部贡献者在阿里巴巴开源项目里写入了API密钥,然后堂而皇之地提交到了GitHub上,让全世界都能看到。
这个密钥在网上公开了好几个小时才被发现。说来也巧,就在昨天,我刚用AI编程工具Cursor解决了一个困扰我好几天的小问题。对比这两件事,我突然意识到:也许AI真的比人类程序员更细心。
我的小麻烦和30分钟的解决方案
先说说我遇到的问题。我在开发“AI小编”应用时,经常需要调用微信的接口。但微信有个要求:只有在白名单里的IP地址才能调用接口获取Token。问题是我在家办公,网络IP经常变,每次都要去微信后台重新设置白名单,特别麻烦。
虽然我会编程,但要写一个代理服务器,从零开始搭建项目结构、处理HTTP转发、配置HTTPS证书、编写测试代码,最快怎么也得花大半天时间。而且还要考虑各种边界情况和错误处理,一不小心就容易出bug。
我之前也想过找个现成的代理服务器来部署,但要么功能太复杂,要么配置太麻烦,总是不够理想。最后,我把这个需求丢给了Cursor。
我只是很简单地描述了我的需求:"用Go写一个轻量级API代理服务器,解决动态IP环境下调用微信API获取Token需要设置IP白名单的问题"
然后,神奇的事情发生了。
Cursor自动添加的完善测试
最让我印象深刻的不是功能本身,而是Cursor自动为这个项目配置了完整的测试体系。
我看了一下生成的测试文件,发现Cursor不仅写了基本的功能测试,还考虑了各种边界情况:代理服务器的启动和关闭测试、HTTP请求转发的正确性验证、HTTPS加密连接的处理、错误情况下的响应测试、并发请求的处理能力测试。
更让我惊喜的是,它还自动配置了GitHub Actions的CI流水线。每次我提交代码,系统都会自动运行所有测试,确保功能正常。这个CI配置包括了多个Go版本的兼容性测试、在不同操作系统上的运行测试,甚至还有代码质量检查。
这意味着什么?意味着即使我后续修改代码,只要测试通过,就能保证功能不会出问题。这种自动化的质量保障机制,是我之前想都不敢想的。
阿里开源项目的"低级"错误
说到质量保障,就不得不提阿里那个事故了。我看了下具体情况,程序员直接在配置文件里写了这样的代码:
api-key: 89c78da27b4d4fdfaa052020252704后来修复的时候改成了:
api-key: ${WEATHER_API_KEY}这是什么概念呢?就好比你把家里的钥匙直接粘在门上,还写个牌子说"这是我家钥匙"。任何人都能拿到你的钥匙进你家。
更讽刺的是,这种明显的安全漏洞竟然通过了所有的测试,顺利合并到了主分支。这说明他们的质量检查环节也有问题。
AI为什么更靠谱
对比我的体验和阿里的事故,我发现了一个有趣的现象:AI似乎比专业程序员更细心。
这不是因为AI更聪明,而是因为AI的工作方式不一样。
人类程序员往往专注于"把功能做出来",在时间压力下,很容易忽略安全规范和测试细节。就像开车时专注于到达目的地,可能会忘记系安全带。
但AI工具不一样。它在解决问题的同时,会自动应用最佳实践。就像一个永远不会疲劳、永远不会急躁的助手,每次都会提醒你:记得系安全带,记得检查后视镜,记得遵守交通规则。
我的微信代理项目自动包含了完整的安全配置、详细的使用说明、规范的项目结构,甚至还有自动化测试。这些在传统开发中经常被忽略的环节,AI都帮我想到了。
测试和质量检查的重要性
阿里那个事故最大的问题不是程序员写错了代码,而是没有相应的检查机制。如果有自动化测试检查"代码里不能包含真实密钥",这种错误根本不可能提交成功。
这就像工厂的质检流程。如果只靠工人的经验和责任心,总会有疏漏。但如果有完善的质检机制,很多问题都能在出厂前发现。
AI编程的优势就在于,它自带"质检流程"。我的项目虽然简单,但AI自动生成了各种测试场景:正常情况的测试、异常情况的测试、安全性的测试、性能的测试。
更重要的是,AI还帮我配置了自动化检查流程,每次代码变更都会自动运行这些测试。如果有问题,系统会自动阻止代码提交。
质量革命正在发生
这次体验让我看到了编程质量革命的到来。以前,解决技术问题需要专业的程序员,普通人只能求人帮忙。但现在,AI工具让技术门槛大大降低了。
我不需要理解Go语言的语法,不需要学习复杂的网络编程知识,只需要能清楚地描述我的需求,AI就能帮我实现。而且,AI生成的代码质量往往比人工编写的更规范、更安全。
美团的数据很说明问题:他们内部AI编程工具的使用率已经达到50%,也就是说,一半的代码都是AI写的。更重要的是,使用AI工具后,代码质量不仅没有下降,反而有所提升。
想象一下,如果每个人都能像我一样,用AI轻松解决自己遇到的技术问题,那将是一个多么美好的世界。不再需要为了一个小功能求人帮忙,不再需要因为技术门槛而放弃好想法。
写在最后
阿里那个事故给了我们一个重要启示:在技术快速发展的今天,单纯依靠人的经验和责任心已经不够了。我们需要更系统、更自动化的质量保障机制。
而AI编程恰恰提供了这种可能。它不仅能帮我们写代码,更重要的是,它能帮我们建立更好的开发习惯和质量标准。
也许在不久的将来,专业程序员的工作重心会从"写代码"转向"设计系统"和"解决复杂问题",而普通人也能用AI处理日常的技术需求。
这样的质量革命,正在快速走向我们。你准备好了吗?
参考资料
我的微信代理项目(完全用AI创建)
https://github.com/wootile/wechat-proxy-go
阿里spring-ai-alibaba硬编码密钥事故
https://github.com/alibaba/spring-ai-alibaba/commit/3941921
美团AI编程工具相关报道
https://mp.weixin.qq.com/s/U2tz5Kn_1yFjFjcVLfN48w