![]()
微软Azure首席技术官Mark Russinovich和开发者社区副总裁Scott Hanselman撰写了一份论文,呼吁资深软件工程师必须指导初级开发者,以防止AI编程智能体掏空该行业未来的技能基础。
这份名为《重新定义AI时代的工程职业》的论文基于几个假设,首先是智能体编程助手"为高级工程师提供AI助力,同时对职业生涯早期(EiC)开发者造成AI拖累,需要他们引导、验证和整合AI输出"。
在此前关于这个话题的播客中,Russinovich表示这个基本观点——AI只提高了高级开发者的生产力,同时降低了初级开发者的生产力——是"我们所有客户交流中的热门话题……他们都说在自己公司看到了这种现象"。
问题在于AI智能体可能声称成功,但实际上代码存在问题,比如:
论文举例说明了一个竞态条件,智能体试图通过在代码中插入Thread.Sleep延迟来修复,这最多只能掩盖问题。只有熟悉同步代码的工程师才有信心"指出智能体的错误",论文指出。
困境在于,观察到这个问题的组织的自然反应是减少雇用EiC开发者。Russinovich和Hanselman引用的哈佛大学研究显示,"与未采用者相比,采用生成式AI的公司初级员工大幅减少,而高级员工基本保持不变"。
逻辑结果是"如果组织只关注短期效率——雇用那些已经能够指导AI的人员——他们就有掏空下一代技术领导者的风险",Russinovich和Hanselman在论文中表示。
两位高管认为大公司必须继续雇用EiC开发者,接受他们最初会降低生产力的现实,并将指导和培训他们作为明确目标。在"导师制组织"中,资深工程师与EiC开发者配对指导AI编程智能体。
另一个建议是编程助手可以有"EiC模式",由智能体进行指导——尽管考虑到Russinovich和Hanselman识别的智能体错误类型,这可能并不总是按预期工作。
在播客中,两位高管还表示大学没有正确的计算机科学本科教学模式。"你需要一些将使用AI视为作弊的课程",Russinovich说。
这份论文是Russinovich和Hanselman的个人观点,而非微软官方研究。"虽然AI正在推动软件开发,但前沿编程智能体表现出实习生般行为的例子证明了它们的局限性",两人表示,这反映了比他们公司对AI无情推广更为细致的观点。
目前尚不清楚微软本身是否跟上了这些建议。去年5月,公司透露了减员计划,软件工程遭受最大裁员,在播客中,Russinovich提到"我们正在微软启动这方面的试点"。当被问及资深工程师现在是否会根据他们对人员和产品的影响进行评估时,Hanselman在LinkedIn上回复:"这是我们的目标"。
与此同时,这个领域发展迅速。AI编程智能体可能会改进,根据Thoughtworks最近举办的AI开发研讨会,初级开发者在使用AI时有一些优势,因为他们对编程应该如何进行的先入之见较少。
Q&A
Q1:为什么AI编程助手对初级开发者不利?
A:AI编程助手给高级工程师提供AI助力,但对职业生涯早期开发者造成AI拖累。因为初级开发者需要花时间引导、验证和整合AI输出,而他们缺乏经验来识别AI代码中的错误,比如竞态条件等问题。
Q2:微软高管建议如何解决这个问题?
A:微软高管建议采用"导师制组织",让资深工程师与初级开发者配对,共同指导AI编程智能体。大公司应该继续雇用初级开发者,将指导培训作为明确目标,而不是只追求短期效率。
Q3:大学计算机科学教育需要做出什么改变?
A:微软高管认为大学没有正确的计算机科学本科教学模式,建议设置一些将使用AI视为作弊的课程,让学生掌握基础编程技能,而不是过度依赖AI工具。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.