当前位置: 首页 > article >正文

a16z:AI带来了全新的9种开发软件的模式

非常有启发的9条新兴模式,推荐给已经上手 vibeCoding 的读者们。

开发者正在将 AI 从简单的工具转变为构建软件的新基础。许多核心概念,如版本控制、模板、文档,甚至用户的定义,都在被重新思考。代理(Agent)正在成为协作者和消费者。

九种新兴开发者模式:

1. AI 原生 Git 

Git 变聪明,更关注结果。

  • 解释:

    以前 Git 逐行跟踪人工写的代码历史。现在 AI 代理写代码,开发者不再只盯着每一行改动,而是关心结果是否符合预期,比如测试是否通过,应用是否正常运行。项目的“状态”不再只是一个 Git 代码版本号 (SHA),而更可能是生成代码的提示词 (prompt) 加上验证行为的测试集合。Git 的角色可能从工作区变成记录产物的日志,记录变化的 原因,而不仅仅是 内容。未来可能直接版本控制“提示词+测试”组合包。

  • 潜在的新市场:

    专门为 AI 生成代码设计的版本控制系统,基于行为而非代码行的 AI 代码评审工具,能跟踪 AI 代理改动及人类 oversight 的 Git 平台增强。

2. 控制面板 -> 合成与交互

面板会说话,帮你找信息。

  • 解释:

    过去的控制面板(Dashboard)信息太多,用户难找信息和操作。现在 AI 模型加入后,可以在面板上层叠搜索和对话功能。大语言模型可以帮用户找到设置(“限流在哪调?”),综合屏幕信息提供洞察(“过去 24 小时所有服务错误趋势”),甚至指出未知问题(“我该关注哪些指标?”)。界面可以变得动态、个性化。未来,代理也需要优化的面板来理解系统状态和行动,可能出现人机双模式界面。

  • 潜在的新市场:

    AI 驱动的动态控制面板平台,现有面板的 AI 增强插件,支持自然语言交互的 UI 构建工具(如 Assistant UI),为人机双模式界面设计的框架。

3. 文档变成工具、索引和交互式知识库

文档会回答问题,给 AI 用。

  • 解释:

    开发者查文档时不再线性阅读,而是直接提问。文档不再是静态页面,而是变成可以提问的交互式知识系统,背后有索引和 AI 代理支持。文档(如 Mintlify)正成为 AI 编码代理的重要上下文来源,因为它们需要最新文档来生成准确代码。文档的目的变了,不仅给人类读者看,也给代理消费者用,成为 AI 代理使用系统的“说明书”。

  • 潜在的新市场:

    AI 原生文档平台,能将文档转化为可搜索数据库和 AI 上下文源,为 AI 代理提供文档上下文的服务,将现有文档转换为 AI 友好格式的工具。

4. 模板到生成

告诉 AI 你要啥,它直接搭框架。

  • 解释:

    以前开始新项目要选固定模板(如 create-react-app)。现在可以直接描述想要什么应用和技术栈(“一个用 Supabase, Clerk, Stripe 的 TypeScript API 服务器”)。AI 平台(如 Replit, Cursor 等)可以在几秒内生成个性化项目框架。这降低了尝试不同技术栈的门槛,因为 AI 代理可以辅助大型重构,让技术栈选择变得更易逆转。

  • 潜在的新市场:

    文本生成应用框架的平台和工具(如 Replit, Same.dev, Bolt 等),具备 AI 代码生成和重构能力的 IDE(如 Cursor),基于 AI 的跨框架迁移和重构服务。

5. 超越 .env:代理世界中的秘密管理

让 AI 安全地用你的密钥。

  • 解释:

    当 AI 代理自动写代码、部署时,.env 文件管理密钥的方式不再适用,不清楚谁拥有这些密钥。未来的趋势是给 AI 代理临时的、有限范围的访问令牌(如 MCP 中的 OAuth 2.1 授权)而不是原始密钥。本地秘密代理服务可以在代理请求时按需授权,提供审计能力,让密钥管理更像 API 授权,而不是静态文件配置。

  • 潜在的新市场:

    为 AI 代理设计的安全密钥管理系统,本地秘密代理服务,面向代理能力的授权框架(如 MCP)。

6. 无障碍性作为通用界面 

AI 通过“辅助功能”看懂应用。

  • 解释:

    AI 代理开始利用 macOS 的无障碍 API(原本为残障用户设计)来理解和操作界面。这些 API 能语义化地暴露界面元素(按钮、标题等),AI 不再是抓取像素或网页结构,而是像辅助技术一样理解应用。增强这些 API Metadata 后,它们可以成为代理感知和操作应用的主要接口,即使应用没有开放 API。

  • 潜在的新市场:

    用于暴露丰富语义化 UI 元素的开发工具/库,定义代理可访问 UI 元素标准和元数据的方案,允许 AI 代理通过高层级 API 声明目标并执行的后端系统。

7. 异步代理工作 

AI 在后台帮你干活。

  • 解释:

    开发者可以把任务(如更新配置、处理错误、重构)委托给代理,让它们在后台异步执行,完成后报告。这更像任务编排,而不是结对编程。它减少了跨团队协调的麻烦,将人工交接和评审变成了一个异步的“请求-生成-验证”循环。与代理的交互界面也扩展到 IDE/CLI 之外,包括 Slack 消息、Figma 评论、代码评审(PR)注解、语音等。

  • 潜在的新市场:

    AI 代理任务编排平台,将 AI 代理集成到现有协作工具的服务,新的基于异步代理工作的开发者流程和工具。

8. MCP 迈向通用标准

AI 代理和工具的通用语言。

  • 解释:

    模型上下文协议 (MCP) 正成为 AI 代理与外部世界交互的标准接口。它为大语言模型提供完成任务所需的上下文,并用标准模块化模型取代了大量定制集成。工具暴露标准接口(服务器),任何代理(客户端)都可以使用,增强了互操作性。任何客户端也可以作为服务器暴露自身能力。未来应用可能默认带有 MCP 接口。

  • 潜在的新市场:

    MCP 客户端和服务器实现,构建 MCP 应用的工具,MCP 注册中心,促进基于 MCP 的工具互操作性的平台。

9. 抽象化的基础服务

AI 搭应用,需要标准化的积木。

  • 解释:

    代理虽然能生成代码,但构建可靠应用仍需要成熟的、可组合的服务来实现核心功能,如认证(Clerk)、支付(Stripe)、数据库(Supabase)。这些服务正成为代理构建应用的运行时接口。未来服务提供商可能会优化自身,为代理提供更好的接口,比如暴露 Schema、能力元数据和示例流程。一些服务甚至可能直接提供 MCP 服务器接口,让代理能安全、可靠地使用它们的功能(如代理通过 MCP 让 Clerk 创建支付计划)。

  • 潜在的新市场:

    为 AI 代理消费优化的后端服务(认证、计费、存储等),提供结构化接口和 Metadata 的“代理即用”基础服务,内嵌 MCP 服务器的基础服务。

欢迎加入社群,掌握最新趋势

https://a16z.com/nine-emerging-developer-patterns-for-the-ai-era

相关文章:

a16z:AI带来了全新的9种开发软件的模式

非常有启发的9条新兴模式,推荐给已经上手 vibeCoding 的读者们。 开发者正在将 AI 从简单的工具转变为构建软件的新基础。许多核心概念,如版本控制、模板、文档,甚至用户的定义,都在被重新思考。代理(Agent&#xff09…...

20.迭代器模式:思考与解读

原文地址:迭代器模式:思考与解读 更多内容请关注:深入思考与解读设计模式 引言 在软件开发中,尤其是在处理集合数据时,你是否曾经遇到过这样的问题:你需要遍历一个集合(如数组、列表、集合等&#xff09…...

Java 学习笔记:注解、泛型与 IO 流

目录 课程目标 Java 注解(Annotation) 1. 概念与作用 2. 自定义注解示例 3. JDK 内置注解 4.注释 Java 泛型(Generics) 1. 基本语法 2. 通配符与上下限 3. 常见应用场景 Java IO 流 1. 流的分类1.File文件类 2. 字节流与字符流 3. 经典示例:文件拷贝 总结与…...

在 Excel 使用macro————仙盟创梦IDE

Dim filePath As StringDim fileContent As StringDim lines() As StringDim dataArray() As StringDim lineCount As LongDim maxCols As LongDim i As Long, j As Long 文件路径filePath "" 检查文件是否存在If Dir(filePath) "" ThenMsgBox "文件…...

【MySQL】08.视图

视图就是一个由查询到的内容定义的虚拟表。它和真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。 1. 基本使用 mysql> select * from user; -------------------- | id | age | name …...

鸿蒙devEco studio如何创建模拟器

官网原文链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-emulator-create 操作步骤 点击菜单栏的Tools > Device Manager,点击右下角的Edit设置模拟器实例的存储路径Local Emulator Location,Mac默认存储在~/…...

鸿蒙路由参数传递

页面test.ets 代码如下: import router from ohos.router Entry Component struct Test {State message: string Hello WorldState username: string huState password: string 1build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWe…...

springboot 控制层调用业务逻辑层,注入报错,无法自动装配 解决办法

报错: 解决:愿意是业务逻辑层,即service层的具体实现类没有加注解Service导致的,加上解决了!!...

MySQL:11_事务

事务 一.CURD不加控制,会有什么问题? 二.什么是事务? 事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制&#xf…...

Linux中的文件系统和软硬连接

磁盘的访问方式 CHS(柱面,磁头,扇区) 法(磁盘硬件查找): 确定柱面(C) 磁头臂移动到对应的柱面位置。例如,柱面号为 5,则磁头移动到第 5 个磁道组…...

并发容器(Collections)

一、并发安全问题根源 1. List(如ArrayList) 问题表现:多线程同时调用add、remove等方法时,可能抛出ConcurrentModificationException或导致数据不一致。根本原因: 非原子性操作:如add操作的流程&#xf…...

SPA模式下的es6如何加快宿主页的显示速度

SPA的模式下,宿主页是首先加载的页面,会需要一些主要的组件,如element-plus,easyui,devextreme,ant-design等,这些组件及其依赖组件,文件多,代码量大,可能导致…...

windows powershell 判断 进程号是否存在

在 Windows PowerShell 中,你可以使用多种方法来检查一个特定的进程号(PID)是否存在。以下是几种常用的方法: 方法1:使用 Get-Process 命令 你可以尝试获取具有特定 PID 的进程。如果该进程存在,Get-Proce…...

c# 解码 encodeURIComponent

在C#中,如果你需要解码由encodeURIComponent方法编码的URL,你可以使用System.Web命名空间中的HttpUtility.UrlDecode方法。这个方法可以处理由JavaScript的encodeURIComponent方法编码的字符串。 首先,确保你的项目中引用了System.Web命名空…...

Spring AI:Java开发者的AI开发新利器

目录 一、引言 二、Spring AI 是什么 三、核心功能与特性 3.1 统一的 API 抽象 3.2 丰富的模型支持 3.3 低代码集成 3.4 结构化数据输出 3.5 流式数据响应 四、应用场景 4.1 智能客服系统 4.2 图像识别应用 4.3 数据分析与预测 五、快速上手 5.1 环境搭建 5.2 创…...

Android System UI 深度解析:从架构演进到车载 / TV 场景的全维度定制

Android System UI 是 Android 操作系统的核心组件,负责管理设备的系统级用户界面和交互逻辑。它通过状态栏、导航栏、通知面板、快速设置等功能,为用户提供与系统功能直接交互的入口,并与硬件、应用程序深度协同,构建完整的用户体验。以下是其核心架构、功能演进及定制化能…...

Spring Cloud Sleuth与Zipkin深度整合指南:微服务链路追踪实战

上篇文章简单介绍了SpringCloud系列熔断器:Sentinel的搭建及基本用法,今天继续讲解下SpringCloud的微服务链路追踪:Zipkin的使用!在分享之前继续回顾下本次SpringCloud的专题要讲的内容: 前置知识说明 在开始本教程前…...

React从基础入门到高级实战:React 基础入门 - 列表渲染与条件渲染

列表渲染与条件渲染 在 React 开发中,列表渲染 和 条件渲染 是处理动态数据和用户交互的基础技术。通过列表渲染,你可以根据数据动态生成 UI 元素;而条件渲染则让你根据特定条件展示不同的内容。这两个技能在实际项目中非常常见,…...

在 stm32 中 volatile unsigned signed 分别有什么作用,分别在什么场景下使用?

在STM32开发中, plaintext 复制 volatile 、 plaintext 复制 unsigned 和 plaintext 复制 signed 是三个关键的关键字,它们的用途和场景如下: 1. plaintext 复制 volatile 关键字 作用: 禁止编译器优化&#xff…...

FreeBSD14.2因为爆内存而导致Xfce4视窗被卡,桌面变黑色,只能看到鼠标在窗体中心,鼠标无反应,键盘无反应

拿问题问AI pytest的时候因为内存不足导致xfce4卡住(xfce4相关进程被关闭),桌面变黑色,只能看到鼠标在窗体中心,鼠标无反应,键盘无反应,请问应该怎么办? pytest的时候因为内存不足导…...

k8s-NetworkPolicy

在 Kubernetes 中,NetworkPolicy 是一种资源对象,用于定义 Pod 之间的网络通信策略。它允许你控制哪些 Pod 可以相互通信,以及如何通信。通过使用 NetworkPolicy,可以实现更细粒度的网络访问控制,增强集群的安全性。 1…...

spring-ai 集成 mcp 之投机取巧

主旨 这篇文章主旨就一点,罗列spring-ai对mcp集成导致出现的一系列问题 分析 由于mcp未问世之前,就早就已经有了工具调用,源码如下: public interface ToolCallback {/*** Definition used by the AI model to determine when a…...

大语言模型的完整训练周期从0到1的体系化拆解

以下部分内容参考了AI。 要真正理解大语言模型(LLM)的创生过程,我们需要将其拆解为一个完整的生命周期,每个阶段的关键技术相互关联,共同支撑最终模型的涌现能力。以下是体系化的训练流程框架: 阶段一&am…...

历年北京邮电大学保研上机真题

2025北京邮电大学保研上机真题 2024北京邮电大学保研上机真题 2023北京邮电大学保研上机真题 在线测评链接:https://pgcode.cn/problem?classification1 32位二进制串加法 题目描述 输入一个32位的二进制01串,输出这个数1和3后的32位二进制串。 输入…...

elementUI 中el-date-picker和el-select的样式调整

1. el-date-picker <el-date-picker class"select1" size"small" v-model"timeRangeArr" type"daterange" align"right" unlink-panels range-separator"至" start-placeholder"开始日期" end-pla…...

《仿盒马》app开发技术分享-- 定位获取(端云一体)

开发准备 上一节我们实现了地址管理页面的数据查询和展示&#xff0c;接下来我们要实现的功能是地址添加相关的&#xff0c;我们想实现的功能是地图选点&#xff0c;那么在地图选点之前我们要做的就是先获取用户当前的定位。获取定位后我们拿到经纬度和其他信息&#xff0c;然…...

黑马点评--基于Redis实现共享session登录

集群的session共享问题分析 session共享问题&#xff1a;多台Tomcat无法共享session存储空间&#xff0c;当请求切换到不同Tomcat服务时&#xff0c;原来存储在一台Tomcat服务中的数据&#xff0c;在其他Tomcat中是看不到的&#xff0c;这就导致了导致数据丢失的问题。 虽然系…...

Mujoco 学习系列(二)基础功能与xml使用

这篇文章是 Mujoco 学习系列第二篇&#xff0c;主要介绍一些基础功能与 xmI 使用&#xff0c;重点在于如何编写与读懂 xml 文件。 运行这篇博客前请先确保正确安装 Mujoco 并通过了基本功能与GUI的验证&#xff0c;即至少完整下面这个博客的 第二章节 内容&#xff1a; Mujoc…...

比特授权云外壳加密支持Android 15!

在信息化时代&#xff0c;多数软件供应商需要适配安卓系统&#xff0c;以扩大市场、满足用户需求并提升竞争力。APK作为Android应用的安装包&#xff0c;包含代码、资源、配置文件等运行所需组件&#xff0c;用于在设备端分发和安装应用。企业在分发软件时&#xff0c;需要通过…...

uniapp使用sse连接后端,接收后端推过来的消息(app不支持!!)

小白终成大白 文章目录 小白终成大白前言一、什么是SSE呢&#xff1f;和websocket的异同点有什么&#xff1f;相同点不同点 二、直接上实现代码总结 前言 一般的请求就是前端发 后端回复 你一下我一下 如果需要有什么实时性的 后端可以主动告诉前端的技术 我首先会想到 webso…...