“带逻辑的组件会给 AI 带来额外的训练、理解 的开销” 我一直在想为什么 Shadcn / Radix UI 这一类在 ai 时代这么风靡 新开一个项目,在不限制 AI 使用 UI 组件的前提下,基本就在这两个来回选,为什么不是 antd 是首选呢? 1. 新 api 理解的困惑 假设 antd 对某个组件上了个新的功能,现在我和 ai 说要使用这个能力。 --- 1. 因为 AI 的数据里面根本不存在这个数据(AI 数据更新没那么及时) --- 2. 所以 AI 想要获取这个内容,要么从别的组件库去参考类似的用法、要么就是联网搜索,调用 tools 之类的去拿最新的文档、readme 甚至是最新的源码。 不管用什么方法,这都是一个额外的开销,还没考虑到,联网搜索搜到的文档是否是过时的,别的组件库参考的用法是否是一致的情况下,正确性也很难有保障 这点在大版本更新时候(breakchange 多)的时候更明显,你只能等待大半年,等 AI 新的训练数据给进去整好了才能理解。(早些年 gpt3.5 就经常不知道 antd 5 ,问到的都是 antd 4 的东西) 2. 上下文长度提升让准确性成为第一要义而非省 Token 不知道从什么时候开始,可能是 gemini ?也可能是 cursor?也可能是联网搜索出来的时候 现在,AI 经常会出现下面的内容 “让我帮你看看组件源码”、“我在阅读你文件夹下面的组件源码”、“好的,让我回去找找对话中你给我的源码” 好处就在于,结合了源码给出来的新功能的改造,正确性会很高,天然的用 Shadcn、Radix-ui,AI 很自然的就能读到内容,也很愿意去读。 那对于 antd 来说,因为是高度集成的,得去联网搜索拿一下,要是 antd 组件也能提供一个和 shadcn 一样的功能,把包裹 rc 的源码直接塞到项目中的 components 里面去。应该效果也差不多