打开网易新闻 查看精彩图片

每个人都说AI需要护栏。SkipLabs创始人Julien Verlaguet想知道,究竟谁在真正构建它们。

过去一年里,Verlaguet一直在追问这个问题,但他始终对得到的答案感到失望。"每次我仔细审视那些声称在为AI构建护栏的人,看到的都是同一套东西,"他告诉The New Stack,"更多的是提示词工程——我没有看到任何人真正尝试从零开始构建真正的护栏和工具链。"

他对此的解释是:"这需要大量的工作,所以做出那些宏大承诺要容易得多,但最终什么也没落地。"

Verlaguet决定亲自来做这件事。SkipLabs开发了Skipper——一款专门用于生成和维护后端服务的编程智能体。它不是GitHub Copilot那种代码生成器,而是AI辅助开发体系之下的结构性基础层,旨在让AI生成的代码具备可读性、可维护性,并能快速部署。

"首先要明确的是,Skipper不是一个模型,"Verlaguet说,"我们本身不做AI,我们把模型当作一种通用资源来使用。我们会使用不同的模型,主要是Anthropic的,但不仅限于此。对我们来说,模型只是一个API,我们传入上下文,它返回结果。"

Verlaguet的核心论点从一个延迟问题说起。

"未来几年,等CircleCI花半小时到一小时来验证一个代码变更集,将变得完全不可接受,"他说,"AI的速度越来越快,因此你需要能够约束AI的工具链,而这套工具链必须是增量式的。"

增量开发的理念贯穿了Verlaguet整个职业生涯。在Facebook时,他创建了Hack——一种逐步类型化的PHP方言,在TypeScript让这种做法流行起来之前,就已经为动态语言引入了类型系统。

SkipLabs软件工程师Hugo Venturini在一篇博文中写道:"当Verlaguet和Facebook团队创建Hack时,他们面对的是一个具体问题:PHP是支撑整个Facebook代码库的语言,但它在类型安全方面存在根本性缺陷。"

Venturini补充说:"在Facebook的运营规模下,这不只是代码风格的问题,而是一项真实存在的工程隐患。"

"于是,Verlaguet构建了Hack:一种逐步类型化、经过严格注解的替代方案,写起来比PHP更繁琐,更冗长,要求更加精确,要求你准确表达自己的意图。然后他们让Facebook的每一位工程师完成了迁移。"

此后,Verlaguet构建了Skip——一套完整的响应式编程环境,其核心原则是:当输入发生变化时,不应该从头重新计算所有内容。在意识到Meta之外没有类似框架存在之后,他与团队共同创立了SkipLabs,致力于将响应式能力带给下一个百万级别的软件工程师群体。

SkipLabs软件工程师Lucas Hosseini在博文中对响应式编程给出了他的定义:"从实践角度来说,响应式编程是一种声明式的计算表达方式:你不需要手动处理状态转换,只需将状态描述为多个输入的函数即可。"

Verlaguet于2020年离开Meta,围绕响应式技术创办了自己的公司;Skipper正是这一系列工作的落地成果。

Skipper由两个组件构成。第一个是开发环境,基于全新的、严格且增量式的TypeScript实现构建。Verlaguet选择TypeScript有其深思熟虑的理由。

"AI非常擅长TypeScript和Python,"他说,"我认为从这两种语言之一入手,可能会得到最好的效果。"类型系统的严格性在技术层面至关重要:存在漏洞的类型系统无法支持可达性分析——即代码变更对程序状态影响的调用图映射——而这正是Skipper的核心所在。

"如果类型系统不严格,你就无法确定类型,无法确定调用关系,也就无法构建调用图,"Verlaguet说。其上层运行着一个响应式运行时,在代码发生变化时实时更新状态,让程序无需从头重新启动。

第二个组件是执行框架——即智能体编排层。其结构较为经典(规划、生成测试、生成代码),但同样构建在增量式框架之上,使得代码生成和错误修复能够在独立模块上并行进行,而非串行处理整个代码库。得益于这种组合,Skipper可以快速消化代码变更集,只重新运行受变更影响的测试,并在不停服的情况下更新正在运行的服务。

在内部基准测试中,Verlaguet表示Skipper在其后端服务提示词测试集上的通过率超过90%,而Claude Code在同一测试集上的通过率仅为20%。不过他对这一对比的范围保持审慎态度。

"Claude Code能做的事情要多得多,"他说,"我们只是在我们专注的领域做得更好。"他们专注的领域是生成后端服务——通用型的,而非预定义模板的目录。"所有代码都是从头生成的,"他说。

Verlaguet认为,AI将推动越来越多的软件转向服务架构,这并非因为当前就是这样构建的,而是因为有状态的服务才能让迭代式AI开发变得可行。他以编译器为例进行说明。

"五年后,我确信你会希望这个编译器由AI来构建。这意味着什么?意味着每次AI想要迭代这个编译器,都要等上半小时。这根本说不通。"他说,将编译器转化为一个有状态的服务,向其发送请求,AI就可以在没有额外开销的情况下持续迭代。

Skipper目前仍处于早期阶段,但Verlaguet表示公司将在未来一个月内发布重要公告。他将目前的用户群描述为"我们自己和我们的朋友"。

Verlaguet将SkipLabs定位为专业编程智能体公司,并预计这一赛道将日趋拥挤。"我认为我们将看到不同的智能体配备不同的工具和工具链,各自在特定领域表现突出,"他说。

他认为,护栏问题将是区分真正有实力者与跟风者的关键。

"这是一家真正为AI生成代码构建了护栏的公司,"Verlaguet说。

这一技术雄心也引起了业界观察人士的关注。

Futurum Group分析师Brad Shimmin对SkipLabs的技术创造给出了评价:"这非常令人着迷,反映出软件在当今这个非确定性世界中正在发生的变化。这套框架和后端服务不是使用传统的、有时网络开销较大的声明式框架来实现实时响应,而是基本上采用了一种声明式机制来推理代码块应当完成的功能,并在计算图中追踪所有依赖关系。"

AI安全平台提供商Arcjet的CEO David Mytton则告诉The New Stack,Skipper无疑在解决一个正在浮现的问题。

"我最近与多位技术领导者进行了交流,整个行业仍在艰难适应代码审查走向消亡这一现实,"他说,"我们进入了一个全新的世界,旧有的安全模型正在瓦解,因为它假设代码是由人类编写的。当智能体承担实现工作时,审查根本跟不上——而它们很快就会管理从规划到部署的完整开发周期。安全性必须融入整个流程,从开发环境到运行时,无一例外。"

在其博文中,Venturini写道:"智能体受益于冗长的输出。详尽、精确、无歧义的工具输出比简短、精巧、面向人类优化的输出更易于解析。"

他认为,明确而具体的错误报告,比为了改善开发体验而被吞掉的错误更有价值。强类型系统的意义不在于充当护栏,而在于它是对代码功能意图最信息密度最高的描述方式。

这也预示着工具生态的一次分裂。Venturini在博文中指出,为人类作者设计的语言和环境将继续存在,因为"人类不会消失"。但与此同时,一代新型工具正在崛起,以智能体为主要使用者:严格、形式化、不容许模糊。

SkipLabs将Skipper定位于后者阵营。其TypeScript兼容的类型检查器SKJS在标准TypeScript不够严格的地方做到了真正的严格。这种取舍让工具对人类更难用,却对智能体更有价值。响应式运行时强制执行显式的依赖契约——对于手动编码的开发者来说这会显得过于繁琐,但对于需要推理代码库中因果关系的智能体而言,却恰到好处。

其底层逻辑在于:如果智能体正在生成大部分代码,而这些智能体所使用的工具是围绕人类可读性设计的,那么就等于人为设置了一个显著的能力上限——你在要求智能体在别人的媒介中工作。

"我们让工具变得更可读,是为了吸引更多开发者,"Venturini写道,"我们将让它们变得更不可读——更精确、更形式化、更面向机器——是为了获得更优秀的智能体。编程语言的可读性时代漫长而富有成效,但它正在走向终结。"

以下是Verlaguet在创建Skipper及产品发布前的重要里程碑时间线:

2012年,Verlaguet创建了Hack,为PHP用户社区引入了静态类型、异步编程和泛型支持。

2014年,Facebook以MIT许可证开源了Hack和HHVM。

2017年,他创建了Skiplang——一种专为响应式编程设计的编程语言。

2018年,Facebook以MIT许可证开源了Skip。

2019年,SKAI(面向AI的Skip)在Facebook内部开发,将响应式能力应用于AI领域。

2020年,Skip新增了一种语言——一个替代Facebook内部所用其他基础设施的独立运行时。

2024年,Skip框架正式发布:一个基于TypeScript的原生框架,用于编写和运行基于Skip运行时的响应式函数和服务。

2025年,SkipLabs宣布获得Amplify Partners领投的800万美元种子轮融资。

Q&A

Q1:Skipper是什么?它和普通的AI代码生成工具有什么区别?

A:Skipper是SkipLabs开发的专业编程智能体,专注于生成和维护后端服务。与GitHub Copilot等代码生成工具不同,Skipper不是一个AI模型,而是构建在增量式响应式框架之上的结构性工具层,能让AI生成的代码具备可读性、可维护性,并支持快速部署。它的核心优势在于增量处理能力——只重新运行受变更影响的测试,无需从头计算整个代码库。

Q2:Skipper的内部测试通过率为什么比Claude Code高这么多?

A:根据SkipLabs的内部基准测试,Skipper在后端服务提示词测试集上的通过率超过90%,而Claude Code在同一测试集上仅为20%。创始人Verlaguet解释这是因为两者定位不同:Claude Code是通用工具,能做更多事情;而Skipper高度专注于后端服务生成这一垂直场景,所有代码均从零生成,并非调用预定义模板,因此在特定领域表现更突出。

Q3:SkipLabs提出的"可读性时代正在终结"是什么意思?

A:SkipLabs工程师Venturini认为,过去编程语言和工具的设计以人类可读性为核心目标,推动了开发者规模的扩张。但随着智能体承担越来越多的代码编写工作,工具设计的主要受众正在从人类转向智能体。面向智能体的工具应当更严格、更形式化、更精确,即使对人类来说更难理解。Skipper的SKJS类型检查器和响应式运行时正是这一理念的体现——为智能体优化,而非为开发者体验优化。