AI 编码:人类工程师比以住任何时候都重要
November 8, 2024 | News | No Comments
当我们读完这句话的时间里,人工智能编码助手已经可以能生成 100 多行工作代码了。 这对人类程序员来说很可怕吗?可以确定的说,一点也不。 正因为生产力飞跃的原因,而让人类工程师变得越来越重要。而人工智能颠覆编码,对开发人员来说正是福音。 软件开发之格局演变 在过去的一年半中,我尝试了结合大型语言模型 (LLM) 的编码工作流程,用于代码生成和基于聊天的助手。 我们目睹的最深刻变化是通过自然语言描述创建代码的效率提高了。 开发人员现在可以向 LLM 描述他们想要的功能,而不用通过输入代码手动实现它。这种转变在将 LLM 集成到开发环境中的工具中尤其明显,这些工具扩展了 VS Code、Jetbrains等IDE,将人类语言做为软件开发过程的主要输入。 比如,GitHub Copilot 是一个扩展助手,可以帮助自动完成你正在编辑的代码并提供基于聊天式的帮助,而从一开始就设计了一类全新的工具,使开发人员能够讨论代码并通过聊天请求编辑和更新。 软件开发的细节正在逐渐淡出人们的视线。开发者不再需要花费数小时仔细研究库文档、费力地使用命令行标志或与 CSS 框架搏斗才能开始工作。 相反,这个过程正在演变为开发人员和 LLM 之间的反复对话。比如: 通过人工智能辅助头脑风暴进行初步架构与功能定义。 快速代码生成和人工审查和反馈周期。 持续引导人工智能与总体愿景和目标保持一致。 在本地和预览环境中定期测试和验证。 这种新的工作流程使经验丰富的开发者能够专注于高级设计和解决问题,同时使用 AI 来处理实施细节。 然而,这并不意味着就不再需要编程技能。 虽然人工智能可以生成代码片段,但也会犯错,开发者仍然要负责一些关键方面,例如确保代码安全、优化性能、验证功能和打造出色的用户体验等“灵魂级”层面。 钢铁侠悖论:人工智能是增强剂,而非替代品 回想《钢铁侠》中贾维斯(J.A.R.V.I.S)和托尼·斯塔克之间的互动。 钢铁侠的人工智能助手贾维斯可以完成斯塔克无法完成的计算。贾维斯可以完美地回忆起最模糊的事实和数据,并能对他的创造者进行编码。他可以在几毫秒内执行复杂的任务,而不会感到恐惧或自我怀疑。 那么,为什么托尼·斯塔克是英雄? 正像 Meta 首席人工智能科学家 Yann LeCun 所指出的,智力和动机是两码事。 我们现在和未来的人工智能系统不会主动追求目标,而需要由真正有目标和欲望的人类来指挥。人工智能没有取代我们的欲望,因为它没有欲望。 斯塔克之所以成为英雄,是因为他的意志力和解决问题的远见推动了整个故事的发展,对于当前一代人工智能工具及其人类操作者来说也是如此。 这个悖论说明了编码如何变化的几个关键点: 知识广博、处理迅速:人工智能的记忆能力和计算能力超越人类。 人类是英雄:尽管人工智能拥有非凡的能力,但人类凭借其雄心、创造力和道德决策仍然是核心驱动力。 人工智能作为延伸:人工智能辅助编码工具扩展了开发人员的能力,使他们能够更高效地工作并应对更复杂的挑战。 目标导向行动:开发人员提供方向和目的,使用 AI 工具实现他们的愿景并完成项目目标。 开发者的福利和持续责任 作为经验丰富的程序员、工程师,我意识到的主要优点之一是,我们对于处理大型或雄心勃勃的项目会更加兴奋。在着手新项目时,我们可以根据需要利用强大的辅助功能,这会让自己感到更加大胆与强大。 将 […]