总结 / tl;dr
在软件开发中使用 AI 不是为了更快地编写更多代码;而是为了构建更好的软件。作为领导者,你需要定义"更好"的含义,并帮助团队实现这一目标。将 AI 视为需要指导的初级团队成员。培训团队成员不要过度依赖 AI;这可能导致技能退化。强调"信任但验证"作为 AI 生成代码的准则。领导者应该提升自己和团队的技能以应对这一时刻。
虽然 AI 提供了前所未有的机会来提高生产力和简化工作流程,但认识到其局限性和人类专业知识不断演变的角色至关重要。软件开发的困难部分——理解需求、设计可维护的系统、处理边缘情况、确保安全性和性能——仍然牢牢掌握在人类判断的领域。
技术领导力的演变角色:
与软件工程的其他部分类似,技术领导力正在经历转型。领导者必须定义"为什么",而 AI 可以协助(更多的)"如何做"。这需要:
提升团队技能: 指导工程师有效使用 GenAI(提示工程、输出验证)现在是核心领导责任。明确 AI 在代码生成和工作流程中的使用位置、方式和时机。
战略指导: 领导者必须制定 AI 集成的愿景,使其与业务目标保持一致,并确保伦理和价值考虑至关重要。
伦理与监督: 建立护栏以确保 AI 驱动的代码安全、无偏见并遵守最佳实践。在审查中保持人类参与。

在我的团队中,我们让各级管理者/总监/副总裁和技术负责人在理解、应用和构建方面提升技能,并指导 IC(个人贡献者)做同样的事情。我倾向于建议只有在实际构建 AI 功能或直接与模型团队合作时,才需要了解训练/模型专业化。
"70% 问题"的现实:
AI 工具通常在任务的初始阶段表现出色,有效处理大约 70%(例如,生成样板代码)。然而,剩余的 30% ——处理边缘情况、优化性能和整合特定领域逻辑——仍然需要人类专业知识。这突出了以下重要性:
以成长心态对待 AI 编码(保持怀疑是可以的): 将 AI 作为生产力放大器,同时积极学习其解决方案的基本原理和权衡。将 AI 视为合作伙伴而非拐杖,并定期挑战自己独立解决问题。
投资核心技能: 磨练系统设计、边缘情况思考、测试和调试等基本技能对于长期职业发展仍然至关重要。代码质量和清晰度应该是个人使命。
利用经验(高级开发者): 用有效的提示引导 AI,并仔细审查其输出。在负责任的 AI 集成中发挥带头作用,设定标准并促进知识共享。利用节省的时间处理更雄心勃勃的项目并指导初级同事。
专注于理解(初级开发者): 努力理解和改进 AI 生成的代码。通过严格的测试和反复检查建立彻底性的声誉。从每个错误和反馈中学习,发展 AI 无法复制的技能。
保持适应性: 持续更新你的技能集和工具集,以跟上不断发展的 AI 格局。扎实的基础和协作态度将确保你保持适应性。
对领导者的启示: 避免过度炒作 AI——它不会突然取代 90% 的工程工作。 相反,专注于培训团队通过批判性思维和软件开发原则的坚实基础来弥合"70% 差距"。
知识悖论:
有趣的是,AI 目前对有经验的开发者比初学者更有益。这是因为 AI 通常表现得像一个热情但缺乏经验的初级开发者——能够快速生成代码,但需要持续的监督和纠正。
高级开发者: 利用 AI 加速现有知识,快速原型化想法,生成基本实现以供改进,探索替代方法,并自动化日常任务。
初级开发者: 面临接受错误解决方案、忽视关键考虑因素、难以调试 AI 生成的代码以及构建他们不完全理解的脆弱系统的风险。
领导者的关键要点:
拥抱"信任但验证": 对所有 AI 生成的代码实施强有力的审查流程,确保人类监督和理解。
专注于技能提升: 投资培训计划,使工程师具备有效使用和验证 AI 输出的技能。
保持核心技能: 强调基本软件开发原则的持久重要性,并鼓励持续学习。
调整领导实践: 从直接代码监控转向战略指导,专注于确保正确的 AI 使用和输出质量。
解决"70% 问题": 培训团队识别和解决需要人类专业知识的最后关键 30% 的任务。
认识"知识悖论": 根据初级和高级工程师的不同需求定制 AI 采用策略和指导方法。
培养负责任的 AI 使用文化: 建立明确的指导方针,说明何时以及如何使用 AI,强调伦理考虑和代码质量。
衡量超越速度的影响: 跟踪反映长期代码质量、可维护性和知识保留的指标,而不仅仅是交付速度。
以身作则: 领导者也必须使用 AI 工具,以亲身了解其能力和局限性。
AI 是软件开发中的变革力量,为生产力和创新带来显著收益的潜力。但这其中有很多细微差别,我们将在本书的其余部分深入探讨,从适当的介绍开始。