每当我在社交媒体上浏览那些 AI 发布的内容,就越发察觉到,越来越多和我一样的网页开发者都在焦虑 —— 担心不出一年,自己就会丢掉饭碗。
这让我想起几年前看到的一条软件开发黄金法则:
无论遇到什么问题,答案几乎都可以用 “这要看情况而定……” 来开头每当有开发者问我,是否担心会被 AI 取代时,我总会这样回答:“嗯,这得看情况……”

我们正站在网页开发革命的门槛上
在我看来,当下 AI 技术的发展轨迹,和人类发明第一辆蒸汽动力汽车(也就是我们如今所说的汽车)的历程如出一辙。
19 世纪中叶的英国,人们曾忧心忡忡:和马车相比,这些蒸汽动力车辆会堵塞道路、威胁公共安全,甚至引发致命事故。
这种担忧催生了一系列议会法案,对蒸汽动力车辆的上路行驶施以严苛限制。其中最苛刻的当属 1865 年颁布的《机车法案》:要求蒸汽车辆在乡村地区的最高时速不得超过 4 英里(约 6.4 公里),在城市中更是要降至 2 英里(约 3.2 公里);此外,凡是牵引多节车厢的蒸汽车辆,前方必须有专人举着红旗引路。这些法案的出台,直接导致英国的汽车工业在 19 世纪的大部分时间里陷入停滞。
尽管人们对汽车的恐惧并非毫无道理 —— 这些隐患后来也确实暴露过 —— 但随着汽车日益普及、触手可及,大众最终还是接纳了这项发明。简而言之,汽车让商品运输变得更加便捷高效。诚然,我们都得承认,在某些地方尤其是城市里,车辆过多确实会造成负面影响;但同样不可否认的是,汽车深刻改变了人类社会,让我们日常生活的诸多方面都变得更加便利。
AI 大多时候都很靠谱
早在 2021 年初,我就开始尝试用各类 AI 工具辅助工作,算是赶上了早班车。当时 OpenAI 刚推出 GPT-3,我正从事技术文档撰写工作,便频繁用它来写博客、编教程、整理技术文档。同年晚些时候,GitHub 发布了 Copilot,我申请到了开源项目维护者专属授权,从此就一直用它生成代码。自那以后,我经手的几乎所有项目,都有 AI 在一旁助攻。总体而言,这段体验相当不错。
借助 AI 的帮助,我成功开发了不少东西:从各类插件到网页小游戏,甚至还有几款个人桌面实用程序。我最近的一次成功尝试,是仅用约 2 小时就搭建好了WordPress.com的内容日历 —— 整个过程中,我用 Perplexity 做调研,用 Cursor 写代码。
AI 掉链子的时候,真的让人头疼
不过,AI 也不是万能的,时不时就会 “在线翻车”。
我听过不少这样的故事:有人靠着 “凭感觉写代码” 的方式开发出 SaaS 应用,结果因为程序存在多处安全漏洞遭黑客攻击,导致客户信息泄露;前不久,还有一则新闻说,某公司在代码冻结期间,一个 AI 智能体居然把整个生产数据库都删掉了。想必大家也都听过类似的事:AI 聊天机器人或智能体信誓旦旦地说代码已经修复、可以正常运行了,可实际测试时,问题依然存在。
今年早些时候,我用 Cursor 开发了一款名叫 WP Debug 的小型 Electron 桌面应用,它能帮助用户更清晰地读取和展示 WordPress 的 debug.log 文件。后来有人提交需求,希望在应用的 “关于” 窗口里添加 GitHub 仓库的链接。由于我完全没有 Electron 开发经验,为了实现这个小功能,我足足花了将近两天时间 —— 而对于一个经验丰富的 Electron 开发者来说,这活儿大概一小时就能搞定。期间,Cursor 智能体每次都信心满满地告诉我,“关于” 窗口的功能已经完美实现了,可我每次测试,结果都一塌糊涂。
上周,我用 Perplexity 帮忙制作一份关于生产数据匿名化处理的教程。我仔细审阅生成的内容,前面都没什么问题,直到看到 “匿名化策略” 这一部分,简直让我哭笑不得。Perplexity 给出的方案是这样的:
WordPress 提供了多个内置的清理函数,可在自定义匿名化脚本中加以利用:
// Sanitize email addresses
$sanitized_email = sanitize_email( $raw_email );
// Sanitize text fields
$sanitized_text = sanitize_text_field( $raw_text );
// Sanitize file names
$sanitized_filename = sanitize_file_name( $raw_filename );
// Sanitize HTML content
$sanitized_html = wp_kses_post( $raw_html );
要是你想见识一下 “凭感觉写代码” 的项目能离谱到什么程度,可以去看看我第一次尝试开发的那款浏览器端 3D 射击游戏。友情提示:除非你的电脑内存足够大,否则千万别轻易尝试打开它。
懂得变通的开发者,绝不会被 AI 取代
几年前,我还是一名自由开发者时,曾服务过一位经营美食博客的客户。她自己维护着几款单一功能的插件,这些插件能实现一些特定操作,比如添加食谱自定义文章类型,以及完成她需要的其他一些任务。只有在需要给插件新增功能时,她才会联系我。这位客户很清楚自己想要什么,但缺乏编程能力;不过,她特别擅长提出明确的需求,并且会对每一项新增功能进行全面细致的测试。我敢打包票,放到今天,她完全可以不找开发者,自己就能搞定所有插件的开发工作。
就像当年的蒸汽动力汽车一样,AI 辅助下的网页开发技术,正把原本需要数小时才能完成的工作压缩到几分钟内。和所有新兴技术一样,人们对 AI 用于软件开发的担忧在所难免 —— 比如它对环境的影响、生成代码的安全性,以及对人类程序员技能水平的冲击。但无论如何,AI 的普及已是大势所趋。要想让这个充满 AI 的未来变得高效且积极,关键在于开发者群体能否与时俱进,与 AI 技术共同成长。
当下你应该做的事
面对任何一项新技术,我们都需要牢记两个关键点。首先,既要关注行业内的各种炒作,更要学会去伪存真,提炼出背后的事实真相。
如今的社交媒体上,到处都有人在兜售一种 “未来愿景”—— 一个不需要人类参与的纯 AI 时代。我们必须清醒地认识到,这些言论其实和 21 世纪初深夜电视购物频道里的导购广告没什么两样。有时候,那些被大肆宣传的东西确实能派上用场,但更多的最终都会被扫进数字垃圾堆。
AI 和其他任何软件一样,都需要人类去迭代优化。它同样会出现需要修复的漏洞,需要有人去为新增功能编写文档,操作它也需要一定的培训和学习成本。
其次,要去了解 AI 的工作原理,搞清楚它擅长什么、不擅长什么。学习提示词编写技巧、上下文设置方法、配套工具使用等所有与 AI 编程相关的知识。只有这样,你才能准确判断:什么时候该用 AI 来简化工作流程,什么时候又该亲自动手、埋头苦干。
AI 软件领域的专家建议,开发者应当遵循良好的软件开发规范:比如清晰界定项目范围、规划好开发的每一个步骤、尽早编写测试用例、持续审查和验证 AI 生成的代码、开展严格的安全审计,同时还要不断加强开发者的教育培训,以避免技能退化。
AI 开发工具的最佳定位是提升生产力的辅助工具,而绝非人类专业知识和监督审查的替代品。网页开发的未来,终将由这样一群人塑造:他们以理性的怀疑态度接纳 AI 工具,深入理解其本质,并始终保持着主动学习的意愿。
