趋势洞察 2 months ago 151 Views 6 Comments

a16z圆桌洞察:软件开发的第四次革命,当AI成为基础设施的新支柱

人人都是产品经理

Published 1172 Articles

a16z最新圆桌抛出震撼判断:AI正成为继计算、存储、网络之后的第四大基础设施支柱——它不仅吞噬重复劳动,更在让软件“自己写自己”。从 Prompt Engineering 到 Context Engineering,从 Coding Agent 到自然语言编程,5000 万开发者边界被击碎,软件业第一次遭遇“自我革命”。这篇文章带你穿透技术狂欢,看懂范式转移后的新分工、新工具与新机会。

你有没有想过,我们正在见证软件史上最深刻的一次变革?不是什么渐进式的改进,而是一场颠覆性的革命。在最近a16z的一次圆桌讨论中,Erik Torenberg与Martin Casado、Jennifer Li和Matt Bornstein三位合伙人深入探讨了一个让我深思的话题:AI是否已经成为基础设施的第四根支柱?当我听完这场讨论后,我意识到我们可能正处在一个历史性的转折点。这不仅仅是技术的进步,而是对”什么是编程”、”什么是软件”这些最基本概念的重新定义。

在这场长达一小时的深度对话中,几位投资人分享了他们对基础设施演进的观察和思考。Martin Casado作为网络基础设施领域的资深专家,Jennifer Li专注于开发工具和AI基础设施投资,Matt Bornstein则在基础设施和开发者工具方面有着丰富经验。他们的讨论让我重新思考了一个根本性问题:当AI开始承担应用程序的核心逻辑时,软件开发的本质是否发生了不可逆转的改变?更重要的是,这种改变对我们所有人意味着什么?

AI成为基础设施第四根支柱的深层含义

传统上,我们把基础设施理解为三个基本组成部分:计算(compute)、存储(storage)和网络(networking)。这三根支柱支撑着整个数字世界的运转,就像现实世界中的水电煤一样不可或缺。但在这次讨论中,Martin Casado提出了一个令我深受震撼的观点:AI模型正在成为基础设施的第四根支柱。这不是一个简单的技术分类问题,而是对计算机科学本质的重新认识。

为什么AI模型能够成为基础设施的新支柱?Martin在讨论中解释得很清楚:每一个新的基础设施层都会改变我们编程的方式,改变围绕它构建的技术栈。AI模型确实具备了这样的特征。它需要不同的内存要求、不同的延迟要求,迫使我们重新思考如何构建软件和基础设施。但更深层的原因是,AI模型带来了一个前所未有的改变:从应用程序的角度来看,我们放弃了逻辑控制权。

这个观察让我感到震撼。在计算机科学的历史上,我们曾经放弃过资源控制权,比如我们不再直接管理内存,不再手动分配CPU时间,我们把这些交给了操作系统和虚拟化层。但应用程序的核心逻辑,那些”是”或”否”的决策,那些定义软件行为的关键判断,始终是由程序员编写的代码来控制的。现在,我们第一次把这种逻辑控制权也交给了AI模型,我们告诉它”请为我想出答案”,而不是精确地定义每一个步骤。

这种变化的影响是深远的。它不仅仅是技术实现方式的改变,更是对程序员角色和软件本质的重新定义。当我们开始依赖AI来做出核心决策时,我们实际上是在构建一种全新的软件范式。在这种范式下,确定性和可预测性不再是软件的基本特征,取而代之的是概率性和适应性。这要求我们重新学习如何设计、测试、部署和维护软件系统。

Jennifer Li在讨论中强调,AI基础设施的重要性还体现在它对其他三根支柱的深度依赖上。AI模型需要大量的计算资源进行训练和推理,产生和处理海量数据,对网络的延迟和带宽也有严格要求。但AI不仅仅是消费者,它更是一个赋能者,为我们构建和使用的软件提供了智能化能力。这种双重角色使得AI成为了一个真正的基础设施组件,而不仅仅是运行在基础设施之上的应用。

我认为,理解AI作为第四根支柱的意义,关键在于认识到基础设施的本质特征:它们改变编程模式,创造新的可能性,同时也带来新的约束和挑战。正如关系型数据库改变了我们处理数据的方式,分布式系统改变了我们思考状态一致性的方式,AI模型正在改变我们思考应用程序逻辑的方式。这不是渐进式的优化,而是范式级别的转变。

软件正在被软件本身颠覆

在讨论中,有一个观点让我印象特别深刻。Martin Casado说:”软件一直是颠覆者。我们颠覆出租车行业,颠覆销售,颠覆后台办公,颠覆一切。但AI浪潮最令人兴奋的地方在于,软件正在被颠覆——我们正在被颠覆。这就像软件在吞噬软件。”这个观察揭示了当前变革的独特性和深刻性。

作为一个长期关注技术发展的人,我见证过很多次行业变革。从PC到互联网,从移动互联网到云计算,每一次变革都让某些行业被颠覆,但技术行业本身通常是颠覆者而不是被颠覆者。我们习惯了站在变革的主导地位,创造工具去改变其他行业。但这一次不同,我们发现自己成了被改变的对象。这种角色的转换带来了前所未有的挑战和机遇。

这种”软件吞噬软件”的现象体现在很多具体的场景中。传统的软件开发流程正在被AI辅助工具重塑,代码编写、测试、部署的方式都在发生根本性改变。更重要的是,软件的定义本身也在模糊。当一个AI模型可以根据自然语言描述生成代码、修复bug、甚至设计架构时,传统意义上的”编程”还意味着什么?

Matt Bornstein在讨论中提到,他们正在”构建系统来构建其他系统”。这个表述特别准确地描述了当前的状况。我们不再仅仅是在编写应用程序,而是在构建能够自动生成应用程序的系统。这种递归式的创造过程正在改变软件开发的整个生态系统。

我觉得这种被颠覆的感受对技术从业者来说既是挑战也是机遇。挑战在于我们需要重新学习很多基础概念,重新思考我们的工作方式和价值创造模式。但机遇在于,我们正处在一个全新领域的起点,有机会定义这个领域的规则和最佳实践。正如Martin在讨论中提到的,虽然可能会有恐惧情绪,但关键是要拥抱新事物,保持开放心态。

这种颠覆还体现在商业模式的变化上。传统的软件销售模式、用户培训模式、技术支持模式都在发生改变。当软件可以通过自然语言交互时,用户不再需要学习复杂的界面操作,这将大大降低软件的使用门槛,同时也改变了软件公司的竞争优势来源。过去,复杂但功能强大的软件可以通过高学习门槛建立护城河,但在AI时代,易用性和智能化程度将成为新的竞争焦点。

从Prompt Engineering到Context Engineering的演进

在讨论的后半段,几位嘉宾谈到了Andrej Karpathy关于context engineering(上下文工程)的观点,这个概念让我深受启发。Karpathy认为,我们现在讨论的prompt engineering(提示词工程)实际上应该被更准确地称为context engineering。这不仅仅是术语的变化,而是对AI应用开发本质的更深层理解。

Prompt engineering关注的是如何更好地与AI模型对话,如何设计提示词来获得期望的输出。但context engineering的视角更加宏观和系统化。它强调的是如何为AI模型提供正确的上下文信息,包括如何选择相关数据、如何构建知识图谱、如何设计工具链来支持AI的决策过程。这种思维转变反映了我们对AI应用开发理解的成熟。

Martin Casado在讨论中指出,要真正发挥AI模型的最佳性能,我们需要确保输入的上下文是正确的。这就需要使用传统的计算机科学方法,比如索引、优先级排序等技术。虽然我们可以使用其他AI模型来协助处理上下文,但在某些环节,我们仍然需要依赖经过验证的传统技术。这种新旧技术的结合正在创造新的软件开发模式。

从我的角度来看,context engineering代表了一种更加工程化和系统化的AI应用开发方法。它不再把AI模型视为黑盒,而是把它作为一个需要精心设计输入和输出的系统组件。这要求开发者不仅要理解AI模型的能力和局限性,还要深入理解应用领域的知识结构和数据特征。

这种演进对基础设施的需求也在发生变化。Jennifer Li在讨论中提到,这就回到了数据管道的重要性。如何将正确的数据和上下文输入到模型中,如何让AI agent使用工具或基础设施来提供发现、保证和可观察性,这些都是经典的基础设施问题,但在AI时代有了新的复杂性和紧迫性。

我认为,context engineering的兴起标志着AI应用开发正在从实验阶段向工程化阶段转变。早期的AI应用更多依赖于直觉和试错,但随着我们对AI模型行为理解的加深,我们需要更加科学和系统的方法来构建可靠、可扩展的AI应用。这种转变将催生新的工具、框架和最佳实践,为AI基础设施的发展创造更多机会。

五年后回望,我相信我们会看到一套全新的软件构建形式化方法,这些方法将具有强大的保证机制,我们会理解它们,会有相应的工具支持。Context engineering可能就是这套新方法的核心组成部分。它不仅仅是技术层面的进步,更是我们思维方式的进化,代表着从”如何与AI对话”向”如何构建智能系统”的转变。

开发者生态的深刻变革

在整个讨论中,有一个话题让我特别感兴趣,那就是开发者角色和开发者生态的变化。Jennifer Li提到了一个有趣的现象:开发者的数量正在快速增长,从早期的几千万增长到现在超过5000万,而且还在继续增长。更重要的是,随着自然语言成为一种编程语言,这个数字可能会继续大幅增长。

这种增长不仅仅是数量上的,更是质量和多样性的提升。传统上,编程需要深厚的计算机科学背景和长期的技能训练。但AI工具的出现正在降低这个门槛。我观察到,越来越多的非技术背景人员开始能够创建复杂的应用程序,他们可能是领域专家、产品经理、甚至是终端用户,但通过AI辅助工具,他们可以将自己的想法快速转化为可工作的软件。

Matt Bornstein在讨论中强调了一个重要观点:我们不会看到开发团队规模的缩减,相反,我们会看到更多的开发者。这与历史上其他生产力工具的发展模式是一致的。当新工具提高了生产效率时,通常的结果不是减少工作岗位,而是创造更多的可能性和机会。正如他所说,我们将创造如此多的优秀软件,这些软件将对更多人开放,无论是大公司的员工还是周末的业余开发者。

从商业角度来看,开发者正在从技术买家转变为类似消费者的买家。这个观察特别深刻。传统上,企业软件的销售是通过复杂的B2B流程,涉及采购、IT部门审批等多个环节。但现在,开发者个人的选择和偏好在技术采购决策中发挥着越来越重要的作用。这种变化正在重塑整个企业软件市场的营销和销售模式。

我特别认同Jennifer关于开发者体验的描述。她说现在的开发者就像”去迪士尼乐园一样”,因为有太多优秀的工具可以帮助他们更快地构建他们一直想要创建的东西。这种兴奋感和创造力的释放是真实的。我身边的开发者朋友们都在谈论AI工具如何改变了他们的工作方式,让他们能够在更短的时间内实现更复杂的想法。

但这种变化也带来了新的挑战。开发者需要学习如何有效地与AI工具协作,如何设计好的提示词,如何验证AI生成的代码质量,如何在AI辅助下维护代码的可读性和可维护性。这些都是新的技能要求,需要时间来培养和完善。

从长远来看,我认为我们正在见证开发者概念的扩大化。未来的”开发者”可能包括传统的程序员、产品经理、业务分析师、甚至是领域专家。他们都有能力通过AI工具创建软件解决方案。这种民主化的趋势将释放大量的创新潜能,但也需要新的治理机制和质量控制体系来确保软件的可靠性和安全性。

Coding Agent的现实与前景

在讨论AI agent时,Matt Bornstein分享了一个特别务实的观察。他说自己是”反agent派”的,认为agent更多是一个营销概念。但同时,他对coding agent(编程AI agent)的表现表示了认可。这种看似矛盾的态度实际上反映了当前AI agent发展的真实状况:在某些特定领域表现出色,但在其他领域仍然存在局限性。

Matt提出了一个简单但深刻的思考框架:agent本质上是一个在循环中运行的大语言模型,而错误会在这个循环中传播。如果初始有一个小错误,它会变得越来越严重。这就是为什么很多通用web浏览agent目前表现不佳的原因。但在编程领域,情况有所不同,因为我们有多种方式来纠正循环中的错误:可以进行语法检查(lint)、解释执行、甚至尝试编译。这种错误纠正机制使得编程agent能够通过迭代方法逐步改进性能。

这个观察让我重新思考了AI agent的适用场景。不是所有的任务都适合agent方法,关键在于任务是否具备有效的反馈和纠错机制。编程任务天然具备这样的特征:代码要么能运行要么不能,编译器和测试工具提供了即时的反馈。这种反馈机制使得agent能够在错误的方向上及时调整,避免错误的积累和放大。

Matt还提到了一个具体的观察:他订阅了很多投资组合公司的GitHub邮件列表,最近一周内看到了大量来自Cursor等AI工具的agent提交。甚至在讨论的前24小时内,他还在Slack集成中看到了这样的提交。这表明coding agent已经开始在实际的生产环境中发挥作用,这不再是实验室里的概念验证,而是真正的产品功能。

从我的观察来看,coding agent的成功有几个关键因素。首先是任务的明确性和边界性。编程任务通常有明确的输入输出要求,有具体的成功标准。其次是反馈的即时性和客观性。代码的正确性可以通过编译、测试等方式快速验证,不依赖主观判断。最后是错误的可修复性。即使agent犯了错误,通常也可以通过追加代码或修改来纠正,而不需要重新开始。

但我也意识到,当前的coding agent仍然更适合处理”咬得动的、定义良好的任务”,正如Matt所说。对于那些需要深度创造性思考、复杂架构设计或跨系统集成的高级任务,agent还需要更多的发展时间。这种限制并不是技术缺陷,而是反映了当前AI技术的成熟度水平。

展望未来,我认为coding agent将会继续进化,从处理简单的代码生成任务,逐步扩展到更复杂的软件工程任务。随着反馈机制的改进和错误纠正能力的增强,agent的适用范围将会持续扩大。但这个过程需要时间,需要在实际应用中不断学习和改进。

基础设施投资的新逻辑

在讨论基础设施投资策略时,Martin Casado分享了一个我认为特别重要的观点:基础设施从不消失,它只是被层层叠加。这个观察为理解当前AI基础设施的发展提供了重要的历史视角。我们现在使用的所有传统基础设施——计算、存储、网络——仍然高度相关,只是在它们之上增加了AI这个第四根支柱。

这种层叠式的发展模式对投资决策有重要影响。它意味着我们不需要担心新技术会完全替代现有技术,而是要思考如何在现有基础上构建新的价值层。AI不会消除对传统基础设施的需求,相反,它对计算、存储和网络的需求更加巨大。但同时,AI也为这些传统领域创造了新的机会和挑战。

在讨论防御能力(defensibility)时,几位嘉宾提到了一个有趣的现象:虽然理论上AI堆栈的每一层都缺乏防御能力,但实际上每一层的公司都表现得非常好。这种理论与现实的差距揭示了一个重要事实:我们正处在一个扩张阶段,用零和思维来分析是有害的,因为整个市场都在增长。

Martin对扩张和收缩阶段的分析特别有洞察力。在扩张阶段,如我们现在所处的阶段,重要的是要激进地投资,因为有更多的市场可以获得。只要看看Nvidia的芯片销售、云平台的持续增长就能明白,整个生态都在快速扩张。但最终会进入收缩阶段,那时会发生合并,但最终状态总是寡头垄断或垄断,而这些状态下的公司仍然能够维持利润率。

我特别认同他们关于层与层之间竞争的观察。传统意义上的”商品化”和”无防御能力”往往发生在堆栈的不同层之间的竞争,但要做到这一点需要向下移动到其他人的层,这是非常困难的。我们确实看到了这样的例子,比如Google构建自己的芯片,向下移动到硬件层,但这是一种非常不同的竞争策略,需要完全不同的能力和资源。

从投资角度来看,这种分析提醒我们要避免过早地担心竞争和防御能力问题。在技术快速发展的早期阶段,更重要的是识别和支持那些能够创造新价值、解决真实问题的公司。防御能力会随着时间和市场成熟度的发展而演化,但在扩张阶段,增长和创新是更重要的考量因素。

Jennifer关于切换成本的观察也很重要。即使是API业务,虽然表面上看起来容易切换,但实际的切换成本比人们想象的要高得多。软件中嵌入了大量调用API的逻辑,这些逻辑与特定API的特性和行为紧密耦合。这种技术锁定效应在基础设施层面更加明显,因为你实际上是在集成系统,而不是简单的用户偏好选择。

从长远来看,我认为AI基础设施投资的关键在于理解哪些是真正的基础设施组件,哪些是应用层的功能。真正的基础设施具有通用性、必需性和难以替代的特征。AI模型本身、训练和推理平台、数据处理管道、开发者工具等,都有可能成为这样的基础设施组件。但这需要时间来验证,需要在实际应用中证明其价值和不可替代性。

对专业化与通用化的深度思考

在讨论AI模型的发展方向时,几位嘉宾触及了一个核心问题:通用模型与专用模型谁将占据主导地位?这个问题的答案对整个AI生态系统的发展方向有着深远影响。Jennifer Li提到,两年前他们就在讨论这个问题,当时的争论是通用模型和最强能力模型是否会统治一切,还是会有很多在特定任务上表现优秀的中小型模型。现在看来,答案是两者都是对的。

这个结论让我重新思考了复杂系统的本质。当我们面对复杂的系统时,不能仅仅依赖一个模型来驱动所有功能,至少在当前的技术水平下是这样。相反,我们需要组合使用非常强大和能力突出的模型来承担特定任务,同时训练整个处理流程,从文档处理到模型推理,再到给出结构化数据供应用程序使用。这是一个复杂的系统,需要多次模型调用,而不是一个大型通用模型。

从我的角度来看,这种多模型组合的方法实际上更符合现实世界的复杂性。在企业应用中,我们很少遇到单一、孤立的任务。大多数业务流程都涉及多个步骤、多种数据类型、多个决策点。用一个通用模型来处理所有这些复杂性,即使技术上可行,也可能不是最高效或最可靠的方法。

但这种专业化趋势也带来了新的挑战。如何设计和管理由多个专用模型组成的系统?如何确保这些模型之间的协调和一致性?如何处理模型之间的依赖关系和故障传播?这些都是新的工程问题,需要新的工具和方法来解决。

Martin Casado对通用化能力的质疑也很有道理。他指出,在pre-training(预训练)阶段,通用化确实表现得很好,一个模型可以在代码生成和诗歌创作上表现得同样出色。但当进入RL(强化学习)阶段时,我们开始面临权衡。如果我针对代码进行强化学习优化,这个模型在其他任务上的表现可能就不如专门为那些任务优化的模型。

这个观察对AI应用开发有重要意义。它暗示着在不同的发展阶段,我们可能需要不同的策略。在早期阶段,通用模型可能更有价值,因为它们能够处理广泛的任务,帮助我们快速探索可能性。但随着应用的成熟和对性能要求的提高,专用模型可能会变得更有吸引力。

我认为,这种专业化与通用化的并存将推动AI生态系统向更加丰富和多样化的方向发展。我们会看到大型通用模型继续发展,为广泛的应用提供基础能力。同时,我们也会看到越来越多的专用模型,针对特定领域、特定任务进行优化。这种多样性将为不同类型的应用提供更好的选择,也为基础设施层面的创新创造更多机会。

从商业角度来看,这种趋势也意味着不同的商业模式将并存。通用模型提供商可能采用平台式的商业模式,通过API和开发者生态来获得规模效应。专用模型提供商可能更专注于特定垂直领域,通过深度定制和优化来创造价值。这种多样化的生态系统对整个行业的健康发展是有益的。

重新定义”程序员”这个职业

在讨论的最后部分,关于程序员未来的话题让我产生了深刻的思考。Matt Bornstein提出了一个关键观点:程序员的工作本质上是创造性的,你在最严格意义上创造软件,这种软件之前并不存在,这是只有人才能做到的抽象层次的工作。这个观察触及了程序员职业的核心价值。

我完全同意他的判断。虽然AI工具可以生成代码、修复bug、甚至设计算法,但创造软件的核心——理解需求、设计解决方案、做出架构决策——仍然需要人类的创造力和判断力。AI模型本质上是一个存储在计算机硬盘上的文件,当你运行Python脚本时,它只是将一种数据转换为另一种数据。真正的创造过程,那种从无到有的设计和构建过程,仍然需要人类的参与。

但我也认识到,程序员这个职业正在经历深刻的变化。我们不再需要从头编写每一行代码,不再需要记住所有的API细节,不再需要手动处理很多重复性的编程任务。AI工具正在承担越来越多的”编码”工作,让程序员能够专注于更高层次的设计和决策。这种变化要求程序员发展新的技能:如何有效地与AI工具协作,如何设计良好的提示词,如何验证和改进AI生成的代码。

Aaron Levie(Box的CEO)的观察特别有启发性。人们购买软件不是因为构建软件很困难——大多数SaaS工具本质上都是CRUD(创建、读取、更新、删除)操作,技术上并不复杂。人们购买软件是因为有人已经做出了关于工作流程应该是什么样子、操作逻辑应该如何设计、哪些数据重要以及如何使用这些数据的决策。创建产品很大程度上是理解用户需求并引导用户沿着正确方向前进的过程。

这个观察点出了程序员工作中最有价值的部分:不是编写代码本身,而是理解问题域、设计解决方案、做出权衡决策。即使AI可以自动生成代码,我们仍然需要有人来收集需求、定义规格、设计架构、选择技术栈、优化性能、确保安全性。这些高层次的决策和设计工作目前还远超出AI的能力范围。

Matt提到的一个统计数据特别有意思:行业中PR(Pull Request)的平均修改行数的中位数是2行。这个数据揭示了软件开发的现实:大部分时间不是在写新代码,而是在理解业务需求,理解用户需求,然后做出小的调整。这种工作的复杂性不在于技术实现,而在于需求理解和问题解决。

从长远来看,我认为程序员这个职业会向两个方向分化。一部分程序员会向更高层次发展,成为系统架构师、技术决策者、问题解决专家。他们的价值在于能够理解复杂的业务需求,设计优雅的解决方案,做出正确的技术选择。另一部分程序员会更深入地与AI工具协作,成为”AI增强的开发者”,能够高效地利用AI工具快速实现复杂的功能。

我也注意到,编程正在变得更加民主化。Jennifer在讨论中提到的观点很重要:AI使得拥有好想法但可能没有传统计算机科学教育背景的人也能够构建应用程序。这意味着”程序员”这个概念本身正在扩大,包括产品经理、业务分析师、领域专家等各种角色。

这种民主化趋势对程序员职业既是挑战也是机遇。挑战在于传统的编程技能门槛正在降低,更多人能够参与软件开发。但机遇在于,随着更多人能够创建软件,对专业级软件开发的需求也会增加。专业程序员的价值将更多体现在处理复杂性、确保质量、优化性能、保证安全等方面。

我相信,未来的程序员将更像是软件系统的设计师和指挥者,而不是代码的搬运工。他们需要具备更强的系统思维能力、更深的领域知识、更好的沟通协作技能。技术技能仍然重要,但会更多体现在架构设计、性能优化、安全防护等高级领域,而不是基础的编码工作。

新技术采用曲线的独特性

当我们回顾技术发展的历史时,会发现每一次重大技术变革都遵循着相似的模式:TAM(Total Addressable Market,总潜在市场)扩展、新用户行为的出现、以及现有公司的适应挑战。但AI带来的变革在某些方面显示出了独特的特征,这些特征值得我们深入思考。

Martin Casado在讨论中提到,当新技术降低某种资源的边际成本时,通常会带来TAM的大幅扩展。互联网降低了信息分发的成本,云计算降低了计算资源的成本,AI正在降低认知劳动的成本。每一次这样的成本降低都创造了巨大的新市场机会,也催生了新的用户行为。

但AI的独特之处在于它影响的不仅仅是特定的行业或应用领域,而是整个软件开发过程本身。当互联网兴起时,它主要影响的是信息传播和商业模式;当移动互联网普及时,它主要改变的是用户接入方式和使用场景。但AI正在改变软件的本质定义——什么是程序,什么是编程,什么是应用逻辑。

这种根本性的改变带来了前所未有的挑战和机遇。在早期的技术周期中,新技术和应用之间的界限相对清晰。但在AI时代,这种界限变得模糊。正如讨论中提到的,像Midjourney这样的公司,你很难说它到底是基础设施公司还是应用公司——它既构建模型(基础设施),也提供直接的用户体验(应用)。

Jennifer Li关于开发者数量增长的观察也反映了这种独特性。过去的技术变革主要是为现有的专业群体提供更好的工具,但AI正在扩大专业群体本身的定义。当自然语言成为编程语言时,传统意义上的”开发者”概念就被大大扩展了。这种扩展的速度和规模都是前所未有的。

从投资和创业的角度来看,这种独特性创造了新的机会,也带来了新的风险。机会在于市场的快速扩张为新公司创造了大量的白空间,风险在于很难预测哪些公司和商业模式能够在这种快速变化中生存下来。传统的竞争优势可能会迅速失效,新的护城河还没有完全建立起来。

我特别认同Matt关于当前阶段的判断:我们正处在一个很难对什么有效、什么无效、价值会在哪里积累等问题做出明确判断的阶段。这是一个”动态竞争”的阶段,所有层面的公司都表现得很好,但最终的格局还远未确定。

这种不确定性对所有参与者都提出了挑战。对于创业者来说,需要在快速变化的环境中保持敏捷和适应性;对于投资者来说,需要在不确定性中识别真正的长期价值;对于现有公司来说,需要在保持现有业务的同时积极拥抱新技术。

从历史的角度来看,我们现在可能正处在类似于互联网早期的阶段。那时候,没有人能够完全预测到Google、Amazon、Facebook这样的公司会如何发展,也没有人能够预见到电子商务、社交网络、云计算等商业模式的兴起。但正是这种不确定性中蕴含着巨大的机遇。

我相信,AI技术采用曲线的独特性将继续展现,我们会看到更多出乎意料的发展。关键是要保持开放的心态,既要学习历史的经验,也要准备迎接完全新颖的变化模式。这种平衡需要深度的技术理解、敏锐的市场洞察,以及对不确定性的容忍度。

对未来软件开发形态的预测

基于这次深度讨论的内容,结合我自己的观察和思考,我想分享一些对未来软件开发形态的预测。虽然预测本身充满不确定性,但通过系统性的分析,我们可以识别出一些可能的发展方向。

第一个重要趋势是软件开发的层次化。未来的软件系统将更多地采用分层架构,每一层都有专门的AI模型和工具来处理特定类型的任务。底层可能是专门处理数据和计算的AI引擎,中间层是处理业务逻辑的推理模型,上层是处理用户交互的对话AI。这种分层不仅仅是技术架构的分层,更是职责和能力的分层。

第二个趋势是软件开发流程的重新设计。传统的”需求分析-设计-编码-测试-部署”的瀑布式流程,以及”快速迭代-持续集成-持续部署”的敏捷流程,都将被新的AI增强流程所补充或替代。在新的流程中,AI将参与每一个环节:需求理解、架构设计、代码生成、自动测试、智能部署。但人类的作用不会消失,而是转向更高层次的决策和创意工作。

第三个趋势是软件质量保证方式的演进。当AI开始大量参与代码生成时,传统的代码审查、测试方法可能不再足够。我们需要新的方法来确保AI生成代码的质量、安全性和可维护性。这可能包括AI对AI的审查、新型的自动化测试工具、基于形式化验证的质量保证等。

第四个趋势是开发者工具生态的重构。未来的IDE不再仅仅是文本编辑器加上一些开发工具,而是集成了多种AI能力的智能开发环境。它能够理解开发者的意图,提供智能建议,自动处理重复性任务,甚至主动发现和解决潜在问题。这种工具的智能化程度将大大超出我们当前的想象。

第五个趋势是软件交付模式的变化。当软件开发变得更加容易和快速时,用户对软件的期望也会相应提高。他们会期望更快的响应速度、更个性化的体验、更智能的功能。这将推动软件从标准化产品向定制化服务转变,从一次性交付向持续演进转变。

从商业模式的角度来看,我预期会出现新的价值创造和分配机制。传统的软件许可证模式、SaaS订阅模式可能会被新的基于使用量、基于效果、基于智能化程度的计费模式所补充。软件公司的核心竞争力将从功能的丰富性转向服务的智能化和个性化程度。

从人才需求的角度来看,我认为会出现新的职业角色。除了传统的程序员、产品经理、测试工程师等,我们可能会看到AI训练师、模型架构师、智能化体验设计师、AI伦理专家等新职位。这些新角色将需要跨学科的知识背景,既要理解技术,也要理解业务和用户需求。

但我也要强调,这些预测都是基于当前的技术发展趋势,实际的发展可能会出现意想不到的转折。历史告诉我们,技术发展往往会朝着我们最初没有预料到的方向演进。关键是要保持敏感性和适应性,随时准备迎接新的变化。

最终,我相信我们正在见证的不仅仅是技术的进步,更是人类与技术关系的重新定义。在这个过程中,我们需要思考的不仅仅是技术能做什么,更要思考我们希望技术为我们做什么,以及我们如何在保持人类创造力和判断力的同时,充分利用AI的能力。这种平衡将决定未来软件开发的最终形态。

结语:拥抱不确定性中的确定性

在写完这篇长文后,我发现自己对软件开发的未来既充满期待又保持谨慎。这次a16z的圆桌讨论给了我很多启发,让我重新思考了很多基本问题。但更重要的是,它让我意识到我们正处在一个历史性的变革时刻,这种变革的深度和广度可能远超我们的想象。

我最大的感受是,虽然充满不确定性,但有一些趋势是相对确定的。AI确实正在成为基础设施的第四根支柱,软件确实正在被软件本身颠覆,开发者生态确实正在经历深刻变革。这些变化不是渐进式的优化,而是范式级别的转换。

对于从业者来说,我认为最重要的是保持学习的心态和适应的能力。技术在快速发展,工具在不断更新,工作方式在持续演进。那些能够拥抱变化、持续学习、快速适应的人将在这次变革中获得最大的机遇。

对于企业来说,关键是要在投资新技术和维护现有系统之间找到平衡。不能因为AI的出现就完全抛弃传统技术,也不能因为现有投资就拒绝新技术。正如讨论中提到的,基础设施从不消失,只是被层层叠加。

对于整个行业来说,我们需要在创新和稳定之间、效率和质量之间、自动化和人工控制之间找到合适的平衡点。AI带来了巨大的机遇,但也带来了新的挑战和风险。如何管理这些挑战和风险,将决定我们能否真正从AI革命中受益。

最后,我想说的是,虽然技术在快速变化,但软件开发的核心价值——解决实际问题、创造用户价值、推动社会进步——并没有改变。无论工具如何演进,方法如何变化,这个核心价值都应该是我们的指导原则。

未来五到十年,我们将见证软件开发领域的彻底重塑。这将是一个充满挑战但也充满机遇的时代。对于那些准备好拥抱变化的人来说,这将是一个创造历史的时代。让我们一起期待这个激动人心的未来。

本文由人人都是产品经理作者【深思圈】,微信公众号:【深思圈】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。

人人都是产品经理

人人都是产品经理

1172 Articles 171938 Views 58654 Fans

Comment (6)

User avatar

别太兴奋,AI只是工具,人类的创造力才是王道!

User avatar

嘿嘿,AI统治软件开发,这事儿我感觉很符合逻辑!

User avatar

挺有意思的,但AI能写出真正好用的东西吗?还不好说。

User avatar

感觉未来世界,程序员都要被AI取代了,有点吓人啊!

User avatar

软件开发要被AI搞定,这波操作我支持!

User avatar

这玩意儿,简直是神来之笔!

睡觉动画