A16最新发文:AI 时代九大新兴开发者模式

早报7个月前发布 小马良
246 0

开发者不再将 AI 仅视为工具,而是开始将其作为软件构建的新基础。我们长期以来认为理所当然的核心概念——版本控制、模板、文档,甚至用户的概念——在代理驱动的工作流下正在被重新思考。

随着代理成为合作者和消费者,我们预计基础开发者工具将发生转变。提示可以被视为源代码,仪表板可以变得具有对话性,文档既为人类也为机器编写。模型上下文协议(MCP)和 AI 原生 IDE 指向开发循环本身的更深层重设计:我们不仅仅是在以不同方式编码,而是在为代理全面参与软件循环的世界设计工具。

以下,我们探讨九个前瞻性的开发者模式,尽管这些模式尚处早期,但它们基于真实的痛点,并暗示了可能出现的新趋势。这些模式涵盖了从为 AI 生成代码重新思考版本控制,到基于 LLM 的用户界面和文档。

让我们深入探讨每个模式,结合示例和开发者社区的洞察。

1. AI 原生 Git:为 AI 代理重新思考版本控制

随着 AI 代理越来越多地编写或修改应用程序代码的大部分,开发者关注点开始发生变化。我们不再专注于逐行编写的代码细节,而是关心输出是否符合预期。更改是否通过了测试?应用程序是否仍按预期工作?

这颠覆了长期以来的思维模型:Git 被设计用来跟踪手工编写的代码的精确历史,但对于编码代理来说,这种粒度变得不那么重要。开发者通常不会审查每一个差异——特别是当更改是大规模或自动生成时——他们只想知道新行为是否符合预期结果。因此,Git SHA——曾经是“代码库状态”的标准参考——开始失去部分语义价值。

SHA 告诉你某些内容发生了变化,但无法说明 为什么  是否有效。在 AI 优先的工作流中,更有用的真相单位可能是生成代码的 提示 和验证其行为的 测试 的组合。在这个世界中,应用程序的“状态”可能更好地由生成输入(提示、规格、约束)和一组通过的断言来表示,而不是固定的提交哈希。实际上,我们可能最终会将 提示+测试捆绑包 作为可版本化的独立单位进行跟踪,而 Git 则被降级为跟踪这些捆绑包,而不仅仅是原始源代码。

更进一步:在代理驱动的工作流中,真相的来源可能向上游转移到提示、数据模式、API 契约和架构意图。代码成为这些输入的副产品,更像是编译后的产物,而不是手动编写的源代码。在这个世界中,Git 开始不再作为一个工作空间,而是作为一个产物日志——不仅跟踪发生了什么变化,还要记录原因和由谁更改。我们可能开始加入更丰富的元数据,例如哪个代理或模型进行了更改,哪些部分受到保护,哪里需要人工监督——或者像 Diamond 这样的 AI 审查者可以作为循环的一部分介入。

为了更具体化,以下是一个 AI 原生 Git 流程在实践中的模拟示例:

2. 仪表板 -> 综合:动态 AI 驱动界面

多年来,仪表板一直是与复杂系统交互的主要界面,例如可观测性堆栈、分析、云控制台(例如 AWS)。但它们的设计常常面临 UX 过载的问题:过多的旋钮、图表和选项卡,迫使用户既要寻找信息,又要弄清楚如何采取行动。特别是对于非高级用户或跨团队协作,这些仪表板可能变得令人望而却步或效率低下。用户知道自己想实现什么,但不知道去哪里查找或应用哪些过滤器。

最新一代 AI 模型提供了一种潜在的转变。我们不再将仪表板视为固定的画布,而是可以加入搜索和交互功能。LLM 现在可以帮助用户找到正确的控件(“我在哪里可以调整此 API 的速率限制设置?”);将屏幕范围内的数据综合为易于理解的洞察(“总结过去 24 小时内所有服务在 staging 环境的错误趋势”);并揭示未知的未知(“根据你对我的业务的了解,生成本季度我应该关注的指标列表”)。

我们已经看到像 Assistant UI 这样的技术解决方案,使代理能够利用 React 组件作为工具。就像内容变得动态和个性化一样,UI 本身也可以变得自适应和具有对话性。纯粹静态的仪表板很快可能在自然语言驱动的界面旁显得过时,这种界面会根据用户意图重新配置。例如,用户无需点击五个过滤器来隔离指标,只需说:“显示上周末欧洲的异常情况”,仪表板就会重塑视图,显示相关趋势和日志。或者更强大的例子,“为什么我们上周的 NPS 分数下降了?”,AI 可能会调出调查情绪,与产品部署相关联,并生成简短的诊断叙述。

在更大规模上,如果代理现在是软件的消费者,我们可能需要重新思考“仪表板”是什么或为谁设计。例如,仪表板可以渲染优化为 代理体验 的视图——结构化、可编程访问的表面,设计用来帮助代理感知系统状态、做出决策并采取行动。这可能导致双模界面:一个面向人类,一个面向代理,两者共享共同状态,但针对不同的消费模式进行定制。

在某种程度上,代理正在扮演曾经由警报、定时任务或基于条件的自动化所填补的角色,但具有更多的上下文和灵活性。代理不会像 如果错误率 > 阈值,则发送警报 这样预设逻辑,而是可能会说:“错误率正在上升。这是最可能的原因、受影响的服务和建议的修复方案。” 在这个世界中,仪表板不仅是观察的地方,也是人类与代理协作、综合和采取行动的地方。

3. 文档成为工具、索引和交互式知识库的组合

开发者的文档行为正在发生变化。用户不再通过浏览目录或自上而下扫描,而是从一个问题开始。思维模型不再是“让我研究这个规格”,而是“为我重新整理这些信息,以我喜欢的方式呈现。” 这种从被动阅读到主动查询的微妙转变正在改变文档的本质。它们不再只是静态的 HTML 或 markdown 页面,而是成为由索引、嵌入和工具感知代理支持的交互式知识系统。

因此,我们看到像 Mintlify 这样的产品兴起,它们不仅将文档结构化为语义可搜索的数据库,还作为跨平台的编码代理的上下文来源。Mintlify 页面现在经常被 AI 编码代理引用——无论是在 AI IDE、VS Code 扩展还是终端代理中——因为编码代理使用最新的文档作为生成的基础上下文。

这改变了文档的目的:它们不再仅为人类读者服务,也为代理消费者服务。在这种新动态中,文档界面变得像是 AI 代理的指令。它不仅仅暴露原始内容,还解释如何正确使用系统。

4. 从模板到生成:氛围编码取代 create-react-app

过去,开始一个项目意味着选择一个静态模板,例如 GitHub 上的样板仓库或像 create-react-appnext init  rails new 这样的 CLI。这些模板为新应用提供了脚手架,提供了一致性但缺乏定制化。开发者需要适应框架提供的默认设置,或进行大量的手动重构。

现在,随着像 Replit、Same.dev、Loveable、Chef by Convex 和 Bolt 这样的文本到应用平台以及像 Cursor 这样的 AI IDE 的出现,这种动态正在改变。开发者可以描述他们想要的内容(例如,“一个使用 Supabase、Clerk 和 Stripe 的 TypeScript API 服务器”),并在几秒钟内获得一个定制的项目脚手架。结果不是通用的,而是个性化和有目的的,反映了开发者的意图和所选技术栈。

这开启了生态系统中的新分发模型。不是少数框架占据长尾的头部,我们可能会看到更广泛的可组合、特定于堆栈的生成,工具和架构被动态混合和匹配。选择框架变得不那么重要,更多是描述一个结果,AI 可以围绕它构建技术栈。一位工程师可能用 Next.js 和 tRPC 创建一个应用,而另一位用 Vite 和 React,但两人都能立即获得可用的脚手架。

当然,这也有权衡。标准技术栈带来真正的优势,包括提高团队生产力、改善新人入职以及跨组织简化故障排查。跨框架重构不仅是技术工作,还常与产品决策、基础设施限制和团队专长纠缠在一起。但正在变化的是 切换框架或不使用框架的成本。有了理解项目意图并能半自主执行大规模重构的 AI 代理,实验变得更加可行——如果需要,也可以轻松撤回。

这意味着 框架决策变得更加可逆。开发者可能以 Next.js 开始,但后来决定迁移到 Remix 和 Vite,并要求代理处理大部分重构工作。这减少了框架曾经施加的锁定,鼓励在项目早期进行更多实验。它还降低了尝试固有技术栈的门槛,因为后续切换不再需要巨大的投入。

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

几十年来,.env 文件一直是开发者在本地管理秘密(如 API 密钥、数据库 URL 和服务令牌)的默认方式。它们简单、便携且对开发者友好。但在代理驱动的世界中,这种范式开始瓦解。当 AI IDE 或代理代表我们编写代码、部署服务和编排环境时,.env 的归属不再明确。

我们看到了一些可能的趋势。例如,最新的 MCP 规范包括基于 OAuth 2.1 的授权框架,暗示可能向为 AI 代理提供有范围、可撤销的令牌而非原始秘密的方向发展。可以想象一个场景,AI 代理不会获得你的实际 AWS 密钥,而是获得一个短期的凭证或能力令牌,允许它执行 narrowly 定义的操作。

另一种可能的发展是本地秘密代理的兴起——在你的机器上或与应用一起运行的服务,作为代理与敏感凭证之间的中介。代理不再将秘密注入 .env 文件或硬编码到脚手架中,而是可以请求访问某个能力(“部署到 staging”或“将日志发送到 Sentry”),由代理决定是否授予——即时且完全可审计。这将秘密访问与静态文件系统解耦,使秘密管理更像是 API 授权而非环境配置。

6. 无障碍作为通用界面:通过 LLM 的视角看应用

我们开始看到一类新应用(例如 Granola  Highlight),它们请求访问 macOS 上的无障碍设置,不是为了传统的无障碍用例,而是为了让 AI 代理能够观察和交互界面。然而,这不是一种临时解决方案:它预示着更深层次的转变。

无障碍 API 最初是为帮助视力或运动障碍的用户导航数字系统而设计的。但如果经过深思熟虑的扩展,这些 API 可能成为代理的通用界面层。代理不再点击像素位置或抓取 DOM,而是可以像辅助技术一样以语义方式观察应用程序。无障碍树已经暴露了按钮、标题和输入等结构化元素。如果扩展元数据(例如意图、角色和可供性),这可能成为代理的首选界面,让它们以目的性和精确性感知和操作应用。

可能的方向包括:

  • 上下文提取:为使用无障碍或语义 API 的 LLM 代理提供标准方式,以查询屏幕上的内容、可交互的对象以及用户正在做什么。
  • 意图执行:不是期望代理手动链接多个 API 调用,而是暴露一个高级端点,代理可以声明目标(“将商品添加到购物车,选择最快配送”),让后端处理步骤。
  • LLM 的备用 UI:无障碍功能为 LLM 提供备用 UI。任何暴露屏幕的应用都可被代理使用,即使没有公共 API。对开发者来说,这暗示了一种新的“渲染表面”——不仅是视觉或 DOM 层,还有代理可访问的上下文,可能通过结构化注释或无障碍优先组件定义。

7. 异步代理工作的兴起

随着开发者与编码代理的协作越来越流畅,我们看到向异步工作流的自然转变,代理在后台运行,追求并行工作线程,并在取得进展时报告。这不再像结对编程,而是更像任务编排:你委派一个目标,让代理运行,稍后检查。

关键在于,这不仅是卸载工作,还压缩了协调。开发者不再需要跨团队更新配置文件、排查错误或重构组件,而是可以直接将任务分配给根据意图在后台执行的代理。曾经需要同步会议、跨职能交接或长时间审查周期的工作,可能变成一个 请求、生成、验证 的环境循环。

代理交互的表面也在扩展。开发者不再总是通过 IDE 或 CLI 提示,而是可以通过以下方式与代理交互:

  • 在 Slack 上发送消息。
  • 在 Figma 模型上评论。
  • 在代码差异或 PR 上创建内联注释(例如 Graphite 的审查助手)。
  • 根据部署的应用预览添加反馈。
  • 使用语音或电话界面,开发者可以口头描述更改。

这创建了一个代理贯穿开发全生命周期的模型。它们不仅编写代码,还解释设计、响应反馈并跨平台排查错误。开发者成为决定追求、丢弃或合并哪个线程的编排者。

或许这种分支和委派给代理的模型成为新的 Git 分支——不再是代码的静态分叉,而是动态的意图线程,异步运行直到准备合并。

8. MCP 更接近成为通用标准

我们最近发布了对 MCP 的深入探讨。此后,势头加速:OpenAI 公开采用 MCP,规范的几个新功能被合并,工具制造商开始围绕它作为代理与现实世界之间的默认接口趋同。

MCP 核心解决了两个大问题:

  • 它为 LLM 提供完成从未见过任务的正确上下文集。
  • 它用干净的模块化模型取代了 N×M 的定制集成,工具暴露标准接口(服务器),可被任何代理(客户端)使用。

我们预计随着远程 MCP 和事实上的注册表上线,MCP 将获得更广泛的采用。随着时间推移,应用可能默认附带 MCP 表面

想想 API 如何使 SaaS 产品相互连接并跨工具组合工作流。MCP 可以为 AI 代理实现类似功能,将独立工具变成可互操作的构建块。内置 MCP 客户端的平台不仅是“AI 就绪”,还是更大生态系统的一部分,能够即时接入不断增长的代理可访问能力网络。

此外,MCP 客户端和服务器是逻辑屏障,而非物理边界。这意味着任何客户端也可以作为服务器,反之亦然。这可能理论上解锁强大的组合性,代理通过 MCP 客户端消费上下文,同时通过服务器接口暴露自身能力。例如,编码代理可以作为客户端获取 GitHub 问题,同时注册为服务器,向其他代理暴露测试覆盖率或代码分析结果。

9. 抽象原语:每个 AI 代理都需要认证、计费和持久存储

随着氛围编码代理变得更强大,一件事变得清晰:代理可以生成大量代码,但仍需坚实的服务插入。就像人类开发者依赖 Stripe 进行支付、Clerk 进行认证或 Supabase 进行数据库功能一样,代理需要同样干净、可组合的服务原语来搭建可靠的应用。

在许多方面,这些服务——具有清晰边界、符合人体工程学的 SDK 和减少失败机会的合理默认值——越来越成为代理的运行时接口。如果你在构建一个生成 SaaS 应用的工具,你不希望代理从头构建认证系统或编写计费逻辑;你希望它使用像 Clerk 和 Stripe 这样的提供商。

随着这一模式成熟,我们可能看到服务为代理消费优化自身,不仅暴露 API,还包括模式、能力元数据和示例流程,帮助代理更可靠地集成它们。

一些服务甚至可能默认附带 MCP 服务器,将每个核心原语变成代理可以立即安全推理和使用的组件。想象 Clerk 暴露一个 MCP 服务器,让代理查询可用产品、创建新的计费计划或更新客户订阅——所有这些都预先定义了权限范围和约束。代理无需手动编写 API 调用或翻阅文档,只需说:“创建每月 49 美元的‘Pro’计划,包含基于使用的超额费用”,Clerk 的 MCP 服务器将暴露该能力,验证参数并安全处理编排。

就像早期网络时代需要 Rails 生成器和 rails new 来快速行动,代理时代需要可信的原语——即插即用的身份、用量跟踪、计费逻辑和访问控制——抽象程度足以生成,同时表达力足以随应用成长。

结论

这些模式指向一个更广泛的转变,新开发者行为随着更强大的基础模型而出现。作为回应,我们看到像 MCP 这样的新工具链和协议正在成形。这不仅是将 AI 叠加到旧工作流上,而是重新定义了以代理、上下文和意图为核心的软件构建方式。许多开发者工具层正在发生根本性变化,我们很兴奋能构建并投资于下一代工具。(来源

© 版权声明

相关文章

暂无评论

none
暂无评论...