AI 编程下的舒适区不能一直呆着

上周和 GZ 大佬在群里吹水,聊到 AI 编程,其中他所在的大厂已经全面推行 Cursor,他提到在 AI 时代下依赖 AI 会导致程序员失去思考力和代码能力。

虽然 GZ 的观点有些尖锐,但其核心表述的:过度依赖这类 AI 工具,可能会导致程序员的独立思考能力和实际编码能力下降。 是有道理的,人都是有惰性的,由简入奢易,由奢入简难

AI 给编程带来了「捷径」和「舒适区」。有即时的满足感,有认知负载的降低,还有我好像什么都会了的错觉。

  • 即时满足感: AI工具能迅速生成代码、解答疑问,这种即时满足感是非常诱人的。就像以前需要自己做饭(从买菜、洗菜、切菜到烹饪),现在可以直接点外卖,省时省力,结果直接呈现。
  • 认知负荷降低: 思考是耗能的。AI 工具在很多时候替我们完成了初步的思考和构建工作,大大降低了认知负荷。大脑天然倾向于节能,所以会不自觉地依赖这种轻松模式。
  • 我好像什么都会了的错觉: 有了AI的辅助,很多以前觉得困难或耗时的任务变得简单,这容易让人产生一种「能力快速提升」的错觉,从而更愿意待在这个由AI构建的「舒适区」里。

美国心理学家 NoelTichy 提出的理论人类对外部世界的认识可分为三个区域:舒适区,学习区,恐慌区。

参考下面这张图:

图片来源:即梦 AI 生成

我们天生是喜欢舒适区的,有在 AI 的加持下慢慢滑向依赖的自然趋势。

  • 习惯的养成: 一旦习惯了 AI 带来的便利,就很难再回到过去那种凡事亲力亲为的「简朴」状态。第一次用 AI 生成复杂函数可能还会仔细研究,第十次可能就直接 Accepted 了。惰性会让我们不自觉地选择最省力的方式。
  • 「温水煮青蛙」效应: 思考能力和编码能力的退化,往往不是一蹴而就的,而是像温水煮青蛙一样,在不知不觉中慢慢发生的。每次都依赖一点点,每次都少思考一点点,日积月累,当真正需要独立面对复杂问题时,才发现「内功」已经荒废了。
  • 对「不便」的容忍度降低: 习惯了 AI 的「秒回」和「全能」,一旦遇到 AI 无法解决或需要自己深入研究的问题,可能会更容易感到沮丧、不耐烦,甚至选择回避。

当我们真的养成了这种依赖的习惯,适应了这种舒服区,就会面对能力退化后的困境

  • 核心技能的生疏: 长期依赖 AI 完成编码和调试,会导致对编程语言特性、底层原理、算法数据结构、系统设计等核心技能的生疏。就像长期开车的人,突然让他走一段远路,可能会觉得非常吃力。
  • 问题解决能力的下降: 独立分析问题、定位问题、解决问题的能力,是在一次次「啃硬骨头」的过程中锻炼出来的。如果这个过程被 AI 替代,那么这种宝贵的实战经验就会缺失。当 AI 「失灵」或给出错误方案时,便会束手无策。
  • 创新能力的抑制: 真正的创新往往源于对问题的深刻理解和多角度的尝试。如果满足于AI给出的「标准答案」,就可能失去探索更优解或全新解决方案的动力和能力。
  • 学习动力的削弱: 「反正有AI」,这种心态可能会削弱一些人主动学习新知识、钻研深层技术的动力。因为「奢华」的生活方式似乎唾手可得,何必再去「简朴」地刻苦修炼呢?

就像我们家包包公主说的,这算不算「没苦硬吃」呢?

小朋友的视角不一样,也很形象。我们再深入思考一下:

从某种程度上说,如果 AI 已经能完美、高效地解决一些重复性的、模式化的、或者我们已经非常熟悉且没有太多新学习价值的问题,我们还非要「绕过」AI,坚持用原始的、低效的方式去「硬磕」,那确实有点「没苦硬吃」的味道。这就像明明有洗衣机,还非要每一件衣服都手洗,只为了「体验劳动的艰辛」,效率上肯定是不划算的。

但是,这里面有个核心的思考:我们「吃苦」的目的是什么?

比如,AI 能快速生成一个标准的 CRUD 代码框架,我们非要一行一行手动敲,而且这个过程对我们来说已经没有新的知识增量了,那这种「苦」可能就真的是「没必要硬吃」。时间应该花在更有价值的地方。

如果是为了「锻炼核心能力」、「深化理解」、「探索未知」而吃苦:

  • 打地基的苦: 对于初学者,或者在学习新技术、新领域时,有些基础的「苦」是必须吃的。比如,亲手搭建环境、理解底层原理、调试简单的错误。这个过程 AI 可以辅助,但不能完全替代,因为这是建立认知框架和培养解决问题直觉的过程。直接跳过,地基不牢。
  • 理解「所以然」的苦: AI 给出了一个方案,我们不满足于「知其然」,而是要去深究「所以然」------它为什么这么写?有没有其他方案?优劣何在?这个思考和验证的过程,可能需要查阅资料、动手实验,是「苦」的,但这种「苦」能让我们真正掌握知识,而不是停留在表面。
  • 攻坚克难的苦: 面对复杂的、AI 也难以完美解决的、或者需要创新性思维的问题时,我们需要自己去分析、设计、试错。这个过程无疑是「苦」的,但正是这种「苦」孕育了核心竞争力和真正的技术突破。
  • 保持「手感」和「警惕性」的苦: 就像运动员需要日常训练来保持状态一样,程序员偶尔也需要「刻意练习」一些基础技能,或者对AI的输出进行严格的审视和重构,以保持对代码的敏感度和对潜在问题的警惕性。这种「苦」是为了防止能力退化。

明明有更优解(AI能完美胜任且无损学习),却固执地选择低效、重复且对能力提升帮助不大的方式。这是一种低效的勤奋 ,属于没苦硬吃。为了掌握核心技能、深化理解、培养批判性思维、解决复杂问题而进行的有目的的、高价值的努力 。这是一种战略性的投入。不是没苦硬吃。

回到「由简入奢易,由奢入简难」和「人的惰性」

正是因为惰性的存在,我们很容易滑向完全依赖 AI 的「奢华」生活,从而不自觉地回避了那些必要的、能提升核心能力的「苦」 。这时候,有意识地去「吃一些必要的苦」,就不是「没苦硬吃」,而是对抗惰性、保持清醒、主动投资未来的表现。

举个例子:

  • AI能帮我们写单元测试。如果我们只是为了应付覆盖率,让 AI 生成然后看都不看,那可能会错过很多理解代码逻辑和边界情况的机会。
  • 但如果我们让 AI 生成初步的测试用例,然后再仔细分析这些用例是否覆盖了所有关键逻辑、边界条件、异常情况,并在此基础上进行补充和优化,甚至思考如何设计更健壮的被测试代码------这个过程虽然也「苦」,但价值巨大。

那如何对抗这种「人性」?

正因为「惰性」和「由简入奢易,由奢入简难」是人性的一部分,所以对抗它需要刻意的练习

1.保持警惕意识: 时刻提醒自己,AI 是工具,不是替代品。享受便利的同时,要警惕能力滑坡的风险。

2.刻意练习:

  • 主动「脱离」 AI : 对于一些核心模块或自己希望提升的领域,尝试不使用或少使用 AI,强迫自己独立思考和编码。
  • 深究 AI 的答案: 不满足于AI给出的结果,而是去理解它为什么这么做,它的原理是什么,有没有更好的方式。把 AI 的输出当成学习材料,而不是最终答案。
  • 复盘与总结: 即使使用了 AI,也要对过程和结果进行复盘,总结学到的东西和 AI 的局限性。

3.设定更高的目标: 将 AI 视为达到更高目标的「杠杆」,而不是满足于现有水平的「安乐椅」。比如,利用 AI 节省下来的时间去学习新的架构知识、去钻研更复杂的算法、去思考更有创造性的解决方案。让 AI 帮助我们去追求一种更高层次的、更依赖人类智慧的「奢华」。

4.强化元认知: 思考自己是如何思考的,学习自己是如何学习的。意识到自己可能陷入了惰性思维,并主动调整策略。

5.对「思考能力」和「代码能力」的重新定义

  • 思考能力: 可能从「如何从零开始解决问题」更多地转向「如何清晰地描述问题」、「如何将大问题分解给 AI」、「如何评估和整合 AI 提供的方案」、「如何在更高层面进行架构设计和技术决策」。
  • 代码能力: 可能从「熟练编写每一行具体代码」更多地转向「快速理解和修改 AI 生成的代码」、「保证代码质量、可维护性和安全性」、「进行有效的Code Review(即使是AI生成的代码)」。

AI 编程工具,确实像一把双刃剑。它带来的「即时满足感」和「认知负荷降低」,很容易就把我们拽进那个诱人的「舒适区」。毕竟,谁不爱走捷径呢?可问题也随之而来,长期依赖这种「外挂」,我们自己的「内功」------独立思考和编码能力,真可能在「温水煮青蛙」般的日常中,不知不觉就打了折扣。

当然,这也不是说我们就得跟 AI 划清界限,放着高效的工具不用,非得事事躬亲,那确实有点「低效勤奋」,甚至真成了「没苦硬吃」。关键在于,我们得想明白,哪些「苦」是值得吃的,是能真正提升我们核心竞争力的「战略性投入」。

  • 那些AI能完美胜任、重复性高且对我们知识增量有限的活儿,大胆交给 AI,这叫明智地利用工具,解放生产力
  • 但那些关乎「打地基」、深究「所以然」、需要「攻坚克难」的硬骨头,以及为了保持「手感」和「警惕性」的刻意练习------这些「苦」,恰恰是 AI 时代我们安身立命的本钱。它们能帮助我们构建真正的理解,培养批判性思维,并最终驾驭 AI,而不是被 AI 所定义

所以,面对AI,我们不能简单地「躺平」享受,也不能盲目地「排斥对抗」。更重要的是,要保持那份警惕意识,用刻意的练习去对抗人性的惰性

这不仅仅是关于代码怎么写得更快,更是关于我们如何重新定义自己的「思考能力」和「代码能力」,如何在 AI 的浪潮中,通过主动学习和深度思考,完成一次自我进化。说到底,AI 是工具,方向盘始终还是握在我们自己手里,是选择成为更智慧的「驾驶员」,还是满足于当一个「乘客」,这道题,得我们自己用心作答。

相关推荐
counterxing1 天前
Agent 跑起来之后,难的是复用、观测和评测
node.js·agent·ai编程
uccs1 天前
大模型底层机制与Agent开发
agent·ai编程·claude
counterxing1 天前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
夜雪闻竹1 天前
vectra 向量索引文件损坏怎么办
ai编程·向量·vectra
ZzT1 天前
Harness 到底指什么
openai·ai编程·claude
宅小年1 天前
AI 创业最危险的地方:太容易做出来
openai·ai编程·claude
麦客奥德彪1 天前
Android Skills
架构·ai编程
言萧凡_CookieBoty1 天前
一文讲清 RAG:让 AI 读懂业务知识库的核心方法
ai编程
kyriewen1 天前
产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住
前端·ai编程·cursor
Patrick_Wilson1 天前
知识沉淀的四层模型:从个人笔记到企业资产,让文档真正长出复利
面试·程序员·ai编程