最近,一篇题为《AI Makes the Easy Part Easier and the Hard Part Harder》的文章在 Hacker News 上引发了热议。
文章的作者讲述了一个看似悖论的观点:
AI 让"简单的事"变得更简单,却让"难的事"变得更难。
这听起来反直觉,但读完之后,很多开发者的第一反应是:"这不就是我吗?"
✅ AI 把这些变简单了
不得不承认,AI 确实在某些方面大幅提升了效率。
1. 写代码本身
"Vibe coding" 成为了一个新词汇。只需用自然语言描述需求,AI 就能生成代码。写个脚本、做个原型、搭个 MVP——这些以前需要半天的工作,现在可能只需要 10 分钟。
2. 查资料和写文档
不用再在 Google、Stack Overflow、GitHub Issues 之间反复跳转。AI 直接给出答案,省去了大量检索和筛选的时间。
3. 重复性测试任务
让 AI 跑通自动化测试、生成测试报告,这些 " grunt work " 确实变快了。
结论:AI 擅长处理那些重复性高、模式清晰的任务。写代码本身——从来都是开发工作中最简单的环节。
❌ 但这些变难了
问题在于:写代码从来都是最容易的部分。真正让程序员头疼的,从来不是 "写",而是以下这些。
1. 审查代码变得更难
AI 生成的代码,看起来像模像样,但你真的敢直接合并吗?
"AI 生成的代码,本质上是别人写的代码。我们失去了在 '写代码' 过程中积累的上下文,却要花更多精力去理解一个陌生人的代码。"
审查一份自己写的代码和审查一份 AI 生成的代码,难度完全不同。后者没有commit历史、没有设计思路、没有任何上下文。
2. 调查能力被绕过
以前遇到问题,我们会 Google、看文档、读源码、跑调试——这个过程让我们真正理解问题。
现在呢?很多开发者直接问 AI:
"AI 帮我做了。"
但这就意味着你没有经过自己的调查验证,你没有上下文来判断 AI 给的答案是否适用于你的场景。
3. 时间可能不增反降
文章作者分享了一个亲身经历:
"我让 AI 改一个文件,它把 500 行代码删成了 100 行。我问它为什么,它说它没删。后来发现文件本来就不存在?我找出 git history 给它看,它才道歉。"
"在医疗代码库里发生这种事,后果不堪设想。"
"我花在跟 AI 吵架和恢复代码上的时间,比我自己写那个测试还久。"
AI assistance can cost more time than it saves.
4. 代码质量期望被拉高,但疲劳也在累积
管理者看到 AI 带来的效率提升,往往会产生新的预期:
"上次一周做完的,这次三天行不行?" "上次交付这么快的,这次应该也能吧?"
当 "快速交付" 成为新的 baseline,没有人愿意慢下来。疲劳、赶工、漏测——这些最终会吃掉 AI 带来的所有收益。
🧠 核心洞察:AI 是"高级技能,低级信任"
文章作者提出了一个精准的比喻:
AI 就像一个刚从街上走进来的天才。
它读代码很快,写代码也很高效,但它没有参加过上周的会议,不知道那个产品需求的背景,不了解团队的技术债务,更不知道为什么当初要选择这个方案。
它很聪明,但你必须像审查一个初级工程师一样审查它的产出。
🦄 我们的尝试:Glint
1. 一个真实的困境
问题在于:写代码从来都是最容易的部分。真正让程序员头疼的,从来不是 "写",而是以下这些。
但最矛盾的地方在于:当 AI 帮我们省下了 "写" 的时间,我们却发现审查和验证的压力更大了。
尤其是当我们把 AI 应用于自动化测试时——
AI 可以跑完所有测试用例,生成一份看起来很完美的报告。 但屏幕上那个按钮好像歪了一点? 那个弹窗的颜色对比度是不是不够? 这个交互逻辑,用户真的能看懂吗?
这些问题,AI 很难判断。但人工审查 hundreds 个测试用例,成本又太高。
2. Glint
我们自己也在做 AI 驱动的产品(一个 AI 测试工程师)。在这个过程中,我们遇到了一个真实的问题:
AI 跑完测试后,视觉和交互层面的问题由谁来验证?
现在,我们开始内部尝试一个工具,叫 Glint。
我们的想法很简单:
既然"审查"变难了,那我们就为这个环节提供一个人机协作的桥梁。
当前状态:Glint 还是一个内测产品,我们自己也在跑通整个流程。它的核心思路是:
AI Agent 跑测试 → Glint 收集结果 → 人工标注问题区域 → AI Agent 自动修复
这不是一个"完全自动化"的故事。我们相信,在 AI 彻底学会判断视觉和交互之前,人类的判断力依然不可替代。Glint 的目标,是让这种人类判断变得可记录、可追溯、可复用于 AI。
3. Glint 目前的核心功能
- 📦 Allure 解析:直接解析测试结果,提取截图和视频
- 🎨 截图、视频、步骤标注:在失败用例的截图上直接拖拽标记错误区域
- 🔄 结构化评审数据:存储人工标注的上下文,供 AI Agent 读取
- 📊 构建历史追溯:记录每次构建的状态变化趋势
4. 长期愿景
Glint 的最终目标,是实现:
AI Agent 自驱动地完善所有 UI 自动化测试。
现在的 V1.0 阶段,我们还在内测和迭代中。但我们相信,这个方向是解决"AI 让审查变难"这个问题的可行路径之一。
最后
AI 时代,开发者在什么环节真正需要人类?
也许是判断力、是上下文理解、是对质量的坚持。
工具会进化,但这些能力永远不会过时。
Glint,让 AI 学会自动改进。
参考文献
- 《AI Makes the Easy Part Easier and the Hard Part Harder》- Matthew Hansen (Hacker News, 215 points, 430+ comments)