用户平台前端团队·双周技术见闻 2023-03-15

简介: 本期关键词:GPT-4、RSPack、Copilot CLI、TypeScript 5.0 rc。GPT-4AI 再进化,“他”越来越聪明了。在 3.15 凌晨,OpenAI 发布了生成式预训练模型的第四代:GPT-4,它带来了「多模态」、「逻辑能力显著提升」以及「输入输出上限提高」这三个非常重要的能力:多模态,现在你可以为模型输入图片了,GPT-4 能理解梗图并分析笑点,同时使用人类的逻辑来检查

本期关键词:GPT-4、RSPack、Copilot CLI、TypeScript 5.0 rc。

GPT-4

AI 再进化,“他”越来越聪明了。

在 3.15 凌晨,OpenAI 发布了生成式预训练模型的第四代:GPT-4,它带来了「多模态」、「逻辑能力显著提升」以及「输入输出上限提高」这三个非常重要的能力:

  • 多模态,现在你可以为模型输入图片了,GPT-4 能理解梗图并分析笑点,同时使用人类的逻辑来检查图片是否是安全/正常/健康的,在发布会上,OpenAI 总裁甚至演示了从一张手绘草稿生成工整的 HTML 代码(后背一凉)。但图片输入目前并未全量开放,仍处于 alpha 阶段。
  • 逻辑能力显著提升,GPT-4 在地狱难度的美国司法考试中取得了前 10% 的成绩,而它的上一代,即已经被神话的 ChatGPT 背后的 GPT-3.5 取得的成绩排在倒数 10%。同时在 SAT(美国高考,满分 800 分)中,它也取得了 700 分的数学成绩与 710 分的阅读写作成绩。这也是此前的版本表现最差的部分,即理科+复杂漫长的逻辑推导。另外,GPT-4 现在能在 LeetCode Easy 中取得接近 80% 的通过率。
  • 输入输出上限提高,现在模型输入可以达到四万个 token(0.8w 个上下文 token + 3.2w 个有限访问 token),也就是说配合多模态带来的识图能力,你可以将一篇完整的论文输入给 GPT-4,让它帮助你归纳全文的核心内容以及图表信息,一天读完两百篇论文不再是科幻故事了。

目前 ChatGPT 已经能够支持使用 GPT-4,OpenAI 提供了三种访问方式:

  • 订阅 ChatGPT Plus(氪金玩家)
  • 加入 API Waitlist: GPT-4 API waitlist(等等党永远不亏)
  • OpenAI 此次还开源了  OpenAI Evals ,一个用于自动化测试模型性能的框架,你可以通过它报告模型中的缺点(打工)。

回想一下,其实 GPT 的发展比我们想象的要快很多。2018 年第一代模型 GPT-1 发布,随后 19 年 GPT-2、20 年 GPT-3 以及 22 年底的 ChatGPT/NewBing/NotionAI 与它们背后的 GPT-3.5,而实际上其实 GPT-4 在 22 年 8 月就已经训练完成,到今天的 6 个月实际上 OpenAI 只是在完善其安全性。

而从笔者个人视角来说,AI 相关的能力正在慢慢变成日常工作的重要助力,编写代码时有 GitHub Copilot 的智能提示,一次 Tab 敲击可能就能减少五分钟的编码或思考。遇到问题时可以召唤 ChatGPT,而不是在 Google / StackOverflow 上一边大海捞针一边不断修改自己的问题。写技术文章想不到题目和懒得写总结时,可以让 Notion AI 帮忙生成。甚至,懒得详细描述 commit 信息时,也可以使用 aicommits自动生成。一方面我在享受着 AI 带来的便利,另一方面,我也在震撼于它将对人类社会带来的影响,举例来说,贫困山区能得到的教育资源,基本不可能超过 GPT-4,更遑论未来的 5/6/7/... 了,如果能由 GPT-4 为每一位学生提供教学与辅导,成本之低,效果之好应该都超过你我的想象(当然,由于特殊原因,这一幕不太可能实现)。

RSPack

前端构建圈,够胆你就来。

不知道你是否看过 Rust 是 JavaScript 基础设施的未来这篇文章,但你应该或多或少感受到了 Rust 在前端正在一点点支棱起来,swc 为 Deno、NextJs、Parcel 带来的优化你可能已经听倦了,但是现在社区又出现了一位炙手可热的选手。字节跳动 Web Infra 团队在这个月开源了 RSPack,一个基于 Rust 编写,与 Webpack 生态系统兼容的新的构建引擎。目前,RSPack 已经兼容了 Webpack 的主要配置与 Loader 架构,并在内部业务落地了生产环境。

相较于一位新的构建器领域参赛选手登场,我更惊讶于社区对它的支持程度,从它诞生一开始,现代 Monorepo 框架 Nx 就为其提供了官方插件与博客,参考 Getting up to speed with Rspack & Nx!。Gatsby 发布了使用 RSPack 替换 Webpack 的实验性版本,参考 #37732,甚至 Netlify 也表示,哎呀妈这速度,真是杠杠的。

此时,另一位基于 Rust 编写,旨在取代 Webpack 的构建引擎 Turbopack 留下了羡慕的泪水。实际上,Vercel 在开源 Turbopack 与 Turborepo(类似 Nx 的 Monorepo 方案)后不久,就宣布将其合并为品牌 Turbo,也就是说 Vercel 的野望在于将本地开发工作流与自己强大的 PaaS 能力完全整合起来,实现前端框架-本地开发-团队协作-云端缓存-云端部署。而 RSPack 在文档中有这么一句话:目前 Rspack 对缓存支持还比较简单,仅支持了内存级别的缓存,未来我们会建设更强的缓存能力,包括可迁移的持久化缓存,这将带来更大的想象空间,如在 monorepo 里不同的机器上都可以复用 Rspack 的云端缓存,提升大型项目的缓存命中率。这其实就是在牵手 Nx 喊话 Vercel,咱们走着瞧儿。

GitHub Copilot CLI

怎么又是 AI!

Copilot 是 GitHub 推出的代码编写辅助工具,可以实现按照注释与函数名生成代码,或者按照一定规则自动补全重复代码段等操作,但它缺少了在命令行上的能力,比如我们无法实现“请给我一个能列出所有 TS 文件的命令”,“稍等,这些 TS 命令还需要按照大小降序排序下”,“再帮我过滤掉小于 1k 的文件”这样对话式的命令生成,而这正是 ChatGPT 最擅长的。

可能是看到此前 ChatGPT 在程序员群体中的火热,近期 Copilot 推出了 Copilot CLI ,来支持在命令行中将自然语言转化为命令+支持多次对话式修改的能力:

相比于 ChatGPT,Copilot CLI 的优势在于其专用于命令行操作,用于训练的数据集也将有所倾向,同时你还省了一步复制命令的过程。

TypeScript 5.0 RC

别担心,这个版本没有什么需要你重头学起的。

TypeScript 5.0 rc发布,基本这就是你会看到的 TS 5.0 正式版了。相比 5.0 beta 版本,rc 主要的改动在于调整了新版装饰器和导出语句的位置,现在你可以在 export / export default 的之前或者之后放置装饰器:

@deco export class Foo {}
@deco export default class Foo {}

export @deco class Foo {}
export default @deco class Foo {}

其它方面与 beta 版本基本保持一致,推荐阅读 TypeScript 5.0 beta 发布:新版 ES 装饰器、泛型参数的常量修饰、枚举增强等

而在 TypeScript 5.0 版本中,还有一个相对重要的改变,那就是 TS 将自己的代码库迁移到了 ECMAScript Module,最直观的数据就是 TypeScript 的 npm 体积缩小了接近一半,TS 的构建时间缩短了 10-25%。但这对开发者的影响不大,主要体现在依赖安装时能减少一点点时间,另外 TS 的 API 仍然是 CJS 格式(摊手)。

你可能会觉得,都 2023 年了,TS 5.0 了,怎么才开始迁移 ESM ?这是因为 ESM 直到 2015 年才标准化,而 TS 上一次重构在 2014 年,那时 ESM 与 CJS 的兼容程度与替代性还未被验证,所以 TS 选择使用 namespace来替代 ESM 。这个故事告诉我们,无论在当下写下如何精巧华丽的前端代码,在时代的滚滚浪潮下,都是迟早会过时的。

我们下期见闻见:)

相关文章
|
3天前
|
机器学习/深度学习 前端开发 算法
利用深度学习技术提升前端图像处理性能
本文将探讨如何利用深度学习技术在前端图像处理中提升性能。通过结合深度学习算法和前端技术,我们可以实现更高效的图像处理功能,提升用户体验和系统性能。
|
5天前
|
前端开发 JavaScript UED
前端技术:引领数字时代的交互之美
前端技术:引领数字时代的交互之美
|
5天前
|
XML 前端开发 JavaScript
前端技术的演变与实战应用
前端技术的演变与实战应用
|
21天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
4天前
|
机器学习/深度学习 人工智能 前端开发
探索未来:2024年前端技术趋势解读
探索未来:2024年前端技术趋势解读
20 4
|
5天前
|
前端开发 JavaScript UED
Web前端开发:探索技术与艺术的交融
Web前端开发:探索技术与艺术的交融
8 1
|
17天前
|
前端开发 算法 JavaScript
如何优化前端性能:探索图片压缩与延迟加载技术
本文深入探讨了前端性能优化中的关键问题:图片压缩与延迟加载技术。通过介绍图片压缩的原理和方法,并结合实例说明了如何有效减少图片大小、提升加载速度;同时,详细解析了延迟加载技术的实现原理及其在提高页面加载性能中的作用,为前端开发者提供了实用的优化方案。
|
1月前
|
编解码 前端开发 JavaScript
探索前端开发中的新趋势:WebAssembly 技术应用与展望
本文将深入探讨前端开发中的新趋势——WebAssembly 技术,介绍其在前端领域的应用场景和优势,并展望未来在前端开发中的潜在影响。通过对 WebAssembly 技术的原理解析和实际案例分析,帮助读者更好地了解并应用这一新兴技术。
|
1月前
|
前端开发 JavaScript NoSQL
从前端到后端:构建全栈应用的技术挑战与解决方案
在当今互联网时代,全栈开发成为越来越受欢迎的技术趋势。本文将深入探讨从前端到后端的全栈开发过程中所面临的技术挑战,并提出相应的解决方案,涵盖前端框架选择、后端技术架构、数据库设计以及跨平台兼容性等关键问题。
|
1月前
|
前端开发 JavaScript NoSQL
从前端到后端:构建全栈开发的技术生态
本文将探讨如何在全栈开发中构建完整的技术生态,从前端到后端各个层面进行深入剖析,讨论不同技术之间的协作与整合,为开发人员提供全面的指导与启示。