依赖人工智能,编程专业技能将崩溃
"我们看到一个未来,智能将成为像电或水一样的公共事业,人们可以按需从我们这里购买,随意使用"——OpenAI的山姆·阿尔特曼。 在我之前的文章《代理编程是一种陷阱》中,我讨论了“熟练指挥者悖论”,即管理人工智能代理进行编码所需的技能,恰恰是通过继续使用这些人工智能代理而可能减弱的技能。专业知识在很大程度上是区分不同从业者的关键;开发者的经验越丰富,他们更不容易经历技能萎缩,因为经过多年的经验,知识有了固化的机会。如果你看看现在的情况,你会发现大多数看到这些模型带来最大好处的人,都是在这个领域工作了多年甚至几十年的专家(而且这些从业时间早于人工智能工具的出现)。任何行业老兵都会告诉你:这个知识的基础来自于实际工作。那些在大型语言模型(LLMs)出现时进入这个领域的开发者,正处于一个没有长期经验优势的境地,但他们却被引导(有时是被强制)使用需要丰富专业知识才能有效和负责任地操作的编码助手来加速他们的努力。这对这一人群来说是一个尴尬的境地,因为它创造了一个场景:新手需要专家级的技能来利用这些工具并跟上行业的步伐。 "专家新手" 目前,我们向整个行业的人发出了非常混合的信号。我们强调,如果你不使用人工智能工具,你就会被使用它们的同行"抛弃"。自2023年以来,“人工智能不会取代你,而是使用人工智能的人会”这一观点一直在重复。与此同时,我们也说,从这些模型中获得最佳结果的方法是应用更高层次的思维;“感受编码”是死胡同;你需要“向上移动”,创造鲁棒的规格,使用良好的设计模式进行架构,并始终认真审查输出,以确保你不会发布你不理解的东西。然而,具备这些技能的人是经历了时间带来的摩擦和挑战,从而培养出“良好品味”的人。这导致了另一个情境悖论:如果这些工具需要专业知识,但这些工具又可以主动规避培养专业知识的摩擦,那么一个人要如何成为专家,以便能够有效使用这些工具呢? 理解不足的自信 一个希望是,这些模型最终将促进学习,因为它们被用于代码生成。初级开发者可以像行业老兵一样,带着同样的严肃性和信心与他们的“个人AI导师”合作。了解语法的重要性日益减弱,任何知识或模糊的空白都由人工智能工具填补。由于开发者位于更高的层次,代码的更深层机制被抽象化了。JetBrains,一家重要的开发者工具公司,最近完成了一项对初级和新手开发者的研究,仔细分析了他们在现场编码会议中的个体行为,并测试了他们在不同程度的帮助下使用人工智能工具学习编码的能力。他们主要的收获是鲜明且反直觉的:"参与者认为这就像有一个私人教师。从我们研究的数据来看……我们观察到,他们实际上并没有像私人教师那样使用生成性人工智能工具。事实上,正好相反"。那些更加依赖人工智能助手的参与者:“往往跳过关键的规划阶段,发现因为他们没有自己推理出这个位置,Copilot却这样做了。” "总是以“能力幻觉”结束,而不是对真正理解的把握。" 相比之下,减少人工智能使用的参与者:“成功是因为他们发展了‘负面专业知识’——即‘忽视不正确或无助的生成性人工智能建议的能力’,使他们能够专注于编写自己的解决方案,而不是被引导错方向。” "能够利用生成性人工智能来加速,创建他们之前打算制作的代码。" 那些在AI使用上最不受限制且最有信心的新手开发者“跳过了编程问题解决过程中的关键步骤,现在却迷失了。”或许并不意外,表现最好的新手开发者是那些大大减少或完全忽视人工智能编码辅助的开发者。 倒置学习 由于大型语言模型的自主性质,经验越丰富,所提供的收益就越多,因为你能够准确地引导、审计和验证输出。知识越少,它们可能误导你得越严重。与大型语言模型互动以学习新技能采取了“倒置学习”模型的形式,一种角色逆转,学生最初引导导师,导师响应,然后学生再次引导导师。这个过程是危险的;大型语言模型对输入的敏感性极高。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡