Show HN: Get your coding agent off ~2019 JavaScript, onto modern web primitives
434 points • 2 days ago • Article Link

Modern Web Guidance 是一项旨在为代码代理(coding agents)提供最新 Web 平台专业知识与最佳实践的计划。由于许多大型语言模型都在包含大量 legacy code 的海量数据集上训练,它们往往会默认沿用过时的模式,从而在如今可由高性能的原生浏览器能力直接完成的任务上生成臃肿的 JavaScript 。该工具充当桥梁:将专家精心策划的指南直接注入到代理的上下文窗口中,确保生成的代码是现代、高效且易于访问的。

该体系覆盖数百项现代 Web 功能,从 container queries 和 subgrid 这类 CSS 布局方案,到用于性能、安全性以及内置 AI 的复杂 JavaScript API 。指南本身也经过 token-efficient 设计,会剔除模型已能很好理解的冗余内容,并将重点放在高影响领域,如性能优化、可访问性,以及对平台级回退(platform-level fallbacks)的负责任使用。借助该工具,开发者可以让 AI 生成的代码优先利用性能与原生浏览器能力,而非依赖臃肿的第三方库。

实施 Modern Web Guidance 十分便捷:提供命令行界面,允许代理在本地执行语义搜索,并通过 ID 获取特定指南,无需网络调用或 API keys 。系统还提供可选的配置文件,便于团队管理实验性特性或易变 API 的设置。该工具兼容多种开发环境与代理类型,包括 GitHub Copilot 、 Claude Code 以及各类基于 CLI 的工作流。

为检验这些指南的效果,该项目采用一套严格的评估基准(evaluation harness),对比有无指南时代码代理的表现。项目通过闭环的模拟开发任务、基于浏览器的断言(assertions)以及 Playwright 的评测(graders),持续校准其建议。结果表明,多种模型在任务通过率上都有显著提升,这为整合这些现代化指南能够产出更高质量、可直接投入生产的代码提供了实证依据。

145 comments • Comments Link

• 现代 Web 指南汇集了许多当前仅 Chrome 支持的功能,尽管该项目强调兼容性文档,并鼓励使用跨浏览器的替代方案。

• 一些开发者把这些指南看作推动 Chrome 专属 API 的尝试,但维护者澄清说,它的重点是给出能解决诸如遥测可靠性(telemetry reliability)等真实问题的专家级建议。

• 在记录最佳实践与提供可能被 AI 代理(AI agents)视为强制性死板指令之间,存在一种微妙的平衡,这也引发了人们对 Chrome 可能借助自动化开发模式进一步巩固市场主导地位的担忧。

• 为了提升可访问性(accessibility),该项目正努力把 Markdown 文件发布成更容易被发现的格式,让 AI 代理按需获取信息,而无需在本地安装软件包。

• 人们持续担心,AI 驱动的开发可能会让人忽视浏览器兼容性,从而促使开发者减少彻底的手动测试,转而依赖在各类环境中未必都能正常工作的自动化"现代"方案。

• 也有开发者认为,简洁清晰的代码优于那些引入额外复杂度、或依赖尚未被证明能长期经受考验的特定浏览器(browser-specific)瞬时 API 所谓"现代"方案。

• 这一倡议属于跨行业的协作,汇集了多家浏览器供应商的贡献者,目标是与"Baseline"标准保持一致——该标准优先关注各大浏览器引擎支持的功能。

• 随着对 AI 编码代理的依赖不断加深,人们对清晰 Web 标准指导的需求也更为迫切,尤其是为了避免采用现存训练数据集中常见的过时或低效模式。

• 代码仍然必须接受人工监督,因为 AI 代理往往缺乏对浏览器特定实现陷阱(implementation gotchas)的细致理解,而这些问题通常需要多年时间才能真正消化解决。

• 该项目计划持续迭代工具,以便更好地识别旧版模式,并扩大对 `Promise.withResolvers` 、 `Object.groupBy` 等现代 JavaScript 特性的覆盖,从而帮助开发者更高效地更新代码库。

这场讨论凸显了:一方面,自动化的 AI 辅助开发带来了便利;另一方面,维护跨浏览器兼容性始终是现实难题。支持者认为这些指南是让开发者理解不断演进的 Web 原语(web primitives)的必要资源,但批评者担心,借助 AI 把建议标准化之后,可能会形成"Chrome-first"的单一文化,进而削弱开放网络(open web)。归根结底,大家的共识是:虽然现代 API 能解决不少历史性的痛点,但要把性能与可访问性放在"先简单采纳最新且可能不稳定的浏览器功能"之上,仍需要关键的人工监督。