2026-D2要点回顾

大会议程:https://www.d2conf.com/arrow-up-right

一般一个月后官方会分享 PPT,不提供直播和录屏。

一天之内几十场分享同时进行,一定会 Miss 很多内容。我选择了一些专业实力深厚的分享者,以下只是我参与的会场,并认为值得回味的。

开始前介绍一下现如今的 JS 生态,因为我发现即使是很多职业前端,对自己所处的语言生态也不是很熟悉,或者还停留在刚入行的认知。如今的主要玩家是 Vercel、VoidZero、Bun、Biome 等。我让 ChatGPT 生成了一张 ASCII 图,表达力很好,供参考。


┌──────────────────────────────────────────────────────────────────────┐
│                         JavaScript Ecosystem                         │
└──────────────────────────────────────────────────────────────────────┘

                               ┌──────────────┐
                               │   Developers │
                               └──────┬───────┘


┌──────────────────────────────────────────────────────────────────────┐
│ ① AI / Coding Entry Layer                                            │
│----------------------------------------------------------------------│
│ Cursor / Claude Code / Copilot / Windsurf / Zod                      │
│                                                                      │
│ 作用:                                                               │
│ - 代码生成                                                           │
│ - agent 工作流                                                       │
│ - IDE 内交互                                                         │
└──────────────────────────────────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────────────┐
│ ② Framework / Application Layer                                      │
│----------------------------------------------------------------------│
│ React / Vue / Svelte / Solid                                         │
│ Next.js / Nuxt / Remix / Astro                                       │
│                                                                      │
│ 代表公司 / 项目:                                                    │
│ - Vercel  → Next.js                                                  │
│ - NuxtLabs → Nuxt                                                    │
│ - Vue / Evan You ecosystem                                           │
└──────────────────────────────────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────────────┐
│ ③ Toolchain Layer  ← 现在竞争最激烈                                   │
│----------------------------------------------------------------------│
│ Bundler / Dev Server / Compiler / Linter / Formatter / Test          │
│                                                                      │
│ 主要玩家:                                                           │
│ - Vite / Rollup / Rolldown        → VoidZero 阵营                    │
│ - Turbopack                        → Vercel                          │
│ - Rspack                           → ByteDance                       │
│ - Webpack                          → 旧时代核心基础设施              │
│ - Biome                            → lint / format                   │
│ - esbuild                          → 高性能构建基础件                │
│ - SWC / OXC                        → 编译基础设施                    │
│                                                                      │
│ 这里决定:                                                           │
│ - 本地开发体验                                                        │
│ - 构建速度                                                            │
│ - 配置模型                                                            │
│ - AI 能否直接操作工程系统                                              │
└──────────────────────────────────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────────────┐
│ ④ Runtime Layer                                                      │
│----------------------------------------------------------------------│
│ Node.js / Bun / Deno / Browser / Edge Runtime                        │
│                                                                      │
│ 主要玩家:                                                           │
│ - Node.js Foundation / OpenJS                                        │
│ - Bun                                                                 │
│ - Deno                                                                 │
│ - Vercel Edge Runtime                                                 │
│ - Cloudflare Workers                                                  │
└──────────────────────────────────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────────────┐
│ ⑤ Deploy / Cloud / Delivery Layer                                    │
│----------------------------------------------------------------------│
│ Vercel / Netlify / Cloudflare / AWS / Azure / GCP                    │
│                                                                      │
│ 作用:                                                               │
│ - 部署                                                                │
│ - 托管                                                                │
│ - 边缘分发                                                            │
│ - Serverless / AI App Runtime                                        │
└──────────────────────────────────────────────────────────────────────┘

一、Vite+: 一体化 JS 工具链——尤雨溪

继续推广 Rust 重写前端工具链,Rust 写前端基础设施基本已经是行业共识了。除了 TSC。

工具类型

老一代(JavaScript)

新一代(Rust)

脚手架

Vue Cli / Create React App

Vite 8

打包工具

Webpack (编译 ts-loader) / Rollup

Rolldown

TS 构建

tsup(基于 esbuild)

tsdown

代码检查

ESLint

Oxlint

代码格式化

Prettier

Oxfmt

测试框架

Jest

Vitest

image.png

Vite+是把工具链上各种配置文件统一成一个文件,简化配置工作。

image.png

他做的工作为什么重要?为什么 AI 时代需要一个统一高效的工具链?

核心观点:写代码不是瓶颈了,AI 需要不断的检查验证自己的代码,如果你不能给 AI 提供一个干净高效的工具链,那么未来会阻碍你生产力的大幅提升。

image.png

最后提了一嘴 VoidZero 正在内测的产品。主要做自动部署,全栈的端到端类型安全。有点像要开展云服务了,和 Vercel 的方向一致。

image.png

二、Google A2UI - LLM Generated UI for Agents & A2A——Jennie

感受一下Google 的影响力:

image.pngimage.png

这个主题就是在介绍A2UI。解决的是 为用户动态生成 UI,除了 A2UI,还有很多。

维度

AG-UI

ChatKit

MCP UI

Vercel AI UI

Google A2UI

定位属性

前端状态驱动

OpenAI 专用

Agent 远程渲染

垂直栈集成

声明式通用协议

核心机制

共享客户端状态

专有组件库

沙盒 iframe

Shadcn + SDK

JSON 渲染描述

信噪比

极高 (原生性能)

中 (跨域通信开销)

高 (开发效率)

极高 (样式一致性)

安全性

高 (前端受控)

极高 (环境隔离)

极高 (禁止代码执行)

跨平台性

弱 (需重写前端)

强 (Web 优先)

弱 (Web 优先)

极强 (支持原生/Web)

Google A2UI的特点:UI 即结构化数据

与 Vercel 直接从服务器发送 React 组件片段(代码)不同,A2UI 坚持 Agent 不发送代码,只发送 JSON 描述。

  • Agent 输出一套扁平化的流式 JSON,描述 UI 的意图(如:{type: "chart", data: [...]})。客户端接收后,调用本地预设的受信任组件(Angular、Flutter 或 Lit 等)进行渲染。

  • 这种“数据与渲染分离”的架构,彻底解决了 LLM 生成恶意脚本(XSS)的风险,同时也让 Agent 的回复能在手机原生 App 和 Web 页面上呈现出完全一致的视觉风格。

AG-UI 的底层逻辑是:“Agent 只负责思考和决策,UI 逻辑必须留在前端。”

  • 状态同步机制 (Shared State):它在 Agent 与前端之间建立了一个实时的、双向同步的状态对象(State Object)。Agent 可以直接通过指令修改状态(例如:state.selectedItems = [...]),前端框架(React/Vue)监听到状态变化后,以毫秒级速度更新本地组件。

  • 动作触发 (Action System):前端开发者向 Agent 暴露一组“能力函数”(Actions)。Agent 决定什么时候调用,但如何执行完全由前端代码定义。这保证了业务逻辑的安全性。

MCP UI 的底层逻辑是:“UI 应该像 API 一样被标准化。Agent 走到哪里,UI 就跟到哪里。”

  • UI 即资源 (UI as Resource):在 MCP 协议中,UI 不再是前端预写的代码,而是由 Agent 动态提供的“资源”。Agent 通过 ui:// 协议返回一个 URI(例如 ui://analytics-dashboard/v1)。

  • 宿主中立 (Host Agnostic):你写一个 MCP Server,它提供的 UI 可以在 Claude Desktop、ChatGPT、Cursor 甚至你自己的 App 中直接渲染,无需针对每个平台重写前端。(iframe)

三、Agentic Coding 构建之路: 从模型到框架——崔泽宇(麻油)、罗长伟(山果)

阿里内部有很多个 AI Coding 工具,不同部门各搞各的,真的很像十年前的前端。

我就听了两场,Qoder 和 Qwen-Code。Qwen-Code更有意思些,fork 的 Gemini Cli,https://github.com/QwenLM/qwen-codearrow-up-right

只记了两个观点,其它都是在介绍,感兴趣可以读仓库或者下一个玩玩。

Coding 之所以重要,本质在于它是一个“高可验证性”的任务场景。在很多任务中,生成内容很容易,但验证正确性却很困难(如写文章、主观判断),而 Coding 刚好相反:虽然生成难度较高,但可以通过编译、测试用例、评测系统等方式快速验证结果。这种“生成难但验证易”的特性,使得 Coding 成为 AI 最理想的优化对象,也决定了任务价值与可验证性高度相关。

image.png

提升模型 Coding 能力的核心路径是“三个规模化”:一是数据规模(大量高比例代码数据),二是上下文规模(支持 repo 级、长链路理解,如 256K context),三是高质量数据(通过合成数据不断提升训练质量)。三者结合,使模型可以在可验证反馈的闭环中持续进化,从而在工程级复杂任务中实现质的突破。

image.png

四、从上下文工程到 Harness Engineering——周晓

周晓是众多分享者中技术见地上乘的,在用第一性原理冷静的分析。

字节的 Web Infra 公众号分享了实录,https://mp.weixin.qq.com/s/ERSjcq9YURHvlsdTUv_Pawarrow-up-right

摘要:

AI Coding 把“写代码”的效率提升了一个数量级,但交付并没加速,因为编码只占 30%,剩下 70% 是测试、排障、发布、沟通。只优化写代码,是典型的局部最优:代码更多,验证压力更大,人反而更累。

周晓用 Transformer 自回归、KV Cache、Prompt Cache、ReAct 这些“物理现实”做底座:上下文越长,Prefill 越贵、注意力越被稀释,幻觉越多;追加很便宜,中间修改很昂贵。所以上下文工程的本质,是保护前缀稳定,精心设计 Prompt 结构,而不是疯狂堆信息;把长对话过程压缩成 snapshot/AGENTS.md,外包给文件系统存储,而不是一味塞进上下文。

在这个前提下,工程师的角色要从“写代码的人”变为“设计环境和工具的人”:为 Agent 打造对它可读、延迟低、结构化输出、带痛觉反馈的工具链。传统面向人的 GUI、日志、图表,对 Agent 来说大多是噪音;好的工具应该是给 Agent 用的 API。MCP 提供原子动作,Skill 把成熟打法固化成 SOP 按需装载,Sub Agent 把长任务拆成多个独立沙盒,用结构化摘要通信,避免一个上下文里熵增到失控。

闭环上,不能停在“AI 写完我来 Review 代码”,而是让 Agent 接入 LSP、测试、沙盒 CLI,自证正确,再把变更范围、截图、测试方案打包成报告,人只审阅交付物,而不是追踪它每一步操作。Spec/Plan、人机协作、何时 AskUser,都是为了减少无谓试错,把人类的注意力留在定义目标、审查结果上。

整篇的核心结论是:模型是服从物理约束的函数,不是魔法。理解这些约束之后,工程师真正的护城河,不在于谁写更多行代码,而在于谁能设计出更好的 Harness——在有限上下文和工具能力下,让一群 Agent 和少量人组成可控、可验证、可扩展的工程系统。

最后更新于