Connect with us

思想领袖

API 爆发是真实的 – Vibe 编码正在点燃火焰

mm
AI 热潮带来了很多东西:生产力提升、新创作工作流程,以及最近,API 的雪崩。如果您觉得公司内部和外部 API 的数量在一夜之间翻倍,您并没有想象力。我们正在经历 API 爆发,生成性 AI 是主要的加速器。

就在几年前,在成熟的代码库中创建新的 API 端点是一项高摩擦的任务。您需要导航多个代码域的所有权,应对易怒的架构师的签字,并进行可能持续数周或数月的审查。这种摩擦很痛苦,但它确保每个新 API 都带有一定的审查和制度记忆。

现在?AI 驱动的开发工具已经消除了这个瓶颈。

GenAI 代理可以消耗大量的上下文数据,并在几秒钟内在数百个文件中生成代码更改。这使得创建 API 的能力民主化 – 不仅仅是针对工程师,还包括非技术角色(令人震惊),如产品经理和支持团队,他们可能现在感到有权将实验直接发布到生产环境中。

这是软件开发过程中权力平衡的重大转变。并且这不一定是坏事,特别是在优先考虑速度和迭代的商业环境中。但是结果是一个野火般的快速部署 API:许多被推出为“实验性”或隐藏在功能标志后面,但很快成为必不可少的基础设施,因为业务需求在不断演变。最初的快速原型变成了关键集成。现在已经太晚了,无法撤销。

“Vibe 编码”的崛起

这种新型的 AI 生成 API 通常带有很少的架构、文档或测试。我们称这种现象为“vibe 编码”– 根据粗略的直觉、松散的提示和一般的“应该有效”的感觉编写软件,而不是对系统或设计模式有深入的理解。

不幸的是,以这种方式创建的 API 通常遵循不一致的约定、缺乏强大的验证,并且经常忽略既定的内部标准。更糟糕的是,它们可能引入严重的安全或监管风险,特别是当连接到敏感数据或外部端点时。AI 不了解贵公司的治理模型 – 或您的合规性要求。除非明确告知,否则它不会以这些为目标编写代码。

问题迅速加剧。AI 也越来越多地被用于生成测试。当有缺陷的代码使用 AI 生成的验证进行测试时,测试仅仅确认有缺陷的行为。开发人员不愿意为他们没有编写的代码编写测试,甚至更不愿意为机器生成的代码编写测试,因此 AI 填补了空白。结果?一个低质量代码的递归反馈循环,由同样摇晃的脚手架测试和“验证”。

补丁 API 和所有权危机

所有这些导致了大多数组织内部 API 层的蔓延和分裂。API 现在跨越重叠的域,执行类似的功能,但方式略有不同,并且通常缺乏明确的所有权。许多 API 都是在没有对底层数据模型、服务边界或团队章程有深入理解的情况下编写的。因此,维护变得噩梦般。谁拥有这个端点?谁可以修改它?谁甚至知道它的存在?

AI 工具优先考虑实用性和速度。如果不受控制,它们将创建最短的交付路径,无论是否符合您的架构愿景。随着时间的推移,这种技术债务的重量可能会使进展停滞不前。

一些实用的步骤

1. 可见性

答案不是减慢一切的速度或禁止 AI。这不是现实的,而且会留下巨大的价值。相反,我们必须在生成性开发的时代进化软件管理方式。

基础的第一步是可见性。你无法治理你看不到的东西。组织需要持续的 API 发现,而不是静态的文档,一旦发布就会过时。

监视 API 的工具 – 在运行时和代码中 – 正在变得必不可少。一旦你可以映射你的真实 API 景观,你就可以评估风险,识别重复,并开始在此基础上构建可靠的治理。

具有讽刺意味的是,AI 本身可以帮助这个过程。使用提示的 AI 模型来分析和审计 API 地图有助于发现异常、风险的暴露和整合的机会。这是 AI 协助的,不是构建更多,而是在清理我们已经拥有的东西。

2. 在组织范围内标准化提示工程和工具

更好地控制 AI 工具的输出和输入可以在保持对生成代码的控制方面起到很大作用。简单的步骤,例如在组织内部对批准使用的 AI 驱动 IDE 和模型保持一致,可以帮助减少变化。这也有助于更容易地推出新模型,并使提示在工程师的工作站上更容易重现。

更强大的方法是对特定的 rules.md 类型文件进行对齐,这些文件是您要求 AI 编码器提供给其代理的上下文。代码库越复杂,所有工程师使用相同的规则集提供给 AI 代理的上下文就越有帮助,以便正确地生成与现有结构一起工作的代码。

我们无法将生成性精灵放回瓶中。但我们可以引导它,限制爆炸半径,并利用它来推动负责任的创新。这种工作的开始不是代码,而是清晰度。

简介:Benji Kalman,VP of Engineering 和 Root 的联合创始人,在网络安全和 DevTools 领域拥有十多年的研究和开发经验。作为 8200 校友,Benji 专攻网络操作,他是 Snyk 的早期成员,在那里他花了五年时间担任 Snyk 安全研发团队的负责人,负责公司安全知识库的策划和创建。