React 周下载量约 1.29 亿、Vue 约 1100 万、Angular 约 350 万;v0 与 Lovable 只产出 React,Copilot 在 Vue 项目里偶尔“串线”插入 React 语法。当代码生成模型的行为被训练语料分布所决定,非主流框架的开发者是否正在为一份自己无法控制的数据分布付费?本文试图把这个问题拆解为可测量、可验证、可操作的工程命题。
摘要
前端框架的“流行度”过去主要影响招聘、社区问答与第三方库的适配意愿,属于软性成本。生成式编程工具的普及改变了这一格局:模型的代码补全与整段生成能力,本质上是对公开代码语料的条件概率建模,而语料中 React 的占比显著高于 Vue 与 Angular。其结果是,AI 工具在非 React 技术栈中表现出可观测的“框架漂移”——补全出 React 风格的 API、Hooks 语义或 JSX 片段。本文提出“数据分布税”(Data Distribution Tax)这一分析框架,用以描述非主流框架团队为抵消模型偏见而额外付出的审查、纠错与工具链改造成本。文章依次讨论:下载量数据的口径与解读边界;代码大模型的能力来源与偏见形成机制;v0、Lovable、Copilot 等产品在框架支持上的结构性差异;跨框架团队可落地的七步治理路径;以及评估这类成本的实验设计。本文认为,框架偏见不是模型厂商的主观恶意,而是数据分布、产品定位与商业激励共同作用的结果;对其有效的应对不是道德呼吁,而是把“生成质量”纳入工程度量体系。
目录
一、问题的提出:从“生态位”到“生成位”
1.1 一个被长期忽视的成本维度
前端框架选型从来不是纯粹的技术决策。过去十余年,围绕 React、Vue、Angular 的讨论集中在三个可观测维度:生态规模(第三方库数量、周边工具成熟度)、人才供给(招聘难度与培训成本)、社区活跃度(Issue 响应、文档质量)。这三个维度都可以通过公开数据近似度量,也构成了团队选型时的事实基础。
生成式编程工具的普及引入了一个新的维度,本文称之为“生成位”——即某个框架在主流代码生成模型的条件分布中所占据的位置。生成位不同于生态位:它不由框架的 API 设计优劣决定,而主要由该框架代码在公开语料中的相对丰度决定。一个设计精良但语料稀少的框架,其生成位可能远低于其生态位。
本文评述:生态位是“人找信息”的成本,生成位是“模型给建议”的成本。前者可以通过搜索引擎、文档站、社区问答部分抵消;后者发生在编辑器的毫秒级补全中,用户往往在无意识状态下接受或拒绝建议,纠错成本被分散到每一次按键,因而更难被察觉,也更难被统计。
1.2 现象:三个可观察的信号
围绕这一主题,社区中存在三类可观察信号,它们共同构成了本文的问题起点:
- 产品级排他:部分 AI 建站与 UI 生成产品在文档中明确只支持 React 技术栈,不提供 Vue 或 Angular 输出选项。
- 补全级漂移:在 Vue 单文件组件或 Angular 组件中,AI 补全偶尔插入 React 风格的写法,例如在
<script setup>中生成useState调用,或把模板指令写成 JSX 条件表达式。 - 语料级失衡:公开代码托管平台与问答社区中,React 相关仓库与问答的数量显著高于 Vue 与 Angular,这一失衡在模型训练阶段被直接继承。
这三类信号指向同一个结构性事实:AI 工具并不是中立的加速器,它会把训练数据的分布特征带入日常开发。对于使用非主流框架的团队,这意味着每一行由模型生成的代码都需要额外的语义校验。
1.3 本文的分析主线
为避免文章沦为现象罗列,本文确立一条贯穿始终的分析主线:
这条链条上的每一环都可以独立观测,也都可以被干预。本文的任务,是逐环拆解其机制,并给出可操作的干预点。
笔者认为,把这一现象简单归因为“厂商偏心”既不准确也无助于解决问题。更有效的视角是把它看作数据分布的外部性:模型厂商在优化整体平均质量时,会自然向高频分布倾斜;低频分布的用户承担了被平均掉的代价,却无法通过市场信号有效表达。理解这一点,是设计对策的前提。
二、数据口径:下载量能说明什么,不能说明什么
2.1 三个数量级的基本事实
npm 周下载量是前端生态最常被引用的指标。按公开统计口径,React(含 react-dom 等核心包)的周下载量在亿级,Vue 在千万级,Angular 在百万级,三者大致相差一个数量级。下表给出一个便于横向比较的近似结构(数据为公开统计的近似值,用于说明量级关系,具体数值随时间波动,引用时请以 npm 官方统计页面为准):
| 框架 | 周下载量量级 | 相对比例(近似) | 主要统计包 |
|---|---|---|---|
| React | 约 1.29 亿/周 | ≈ 12× | react、react-dom |
| Vue | 约 1100 万/周 | ≈ 1× | vue |
| Angular | 约 350 万/周 | ≈ 0.32× | @angular/core |
需要强调,下载量不等于开发者人数,也不等于生产环境使用量。CI 流水线、容器镜像构建、依赖间接引入都会放大下载次数。React 生态中大量工具链(如 Next.js、部分 UI 库)会把 react 作为传递依赖安装,进一步推高计数。因此,下载量是“安装次数”的代理指标,而非“使用人数”的代理指标。
2.2 口径差异带来的解读陷阱
把三个数字直接相除得到“12 倍差距”,在工程上是有误导性的。原因至少有三:
- 包粒度不同。React 的核心能力分散在多个包中,Vue 的运行时与编译器也分属不同包,Angular 则是大量
@angular/*子包。统计哪些包会显著改变结论。 - 传递依赖污染。一个只使用 Vue 的项目,可能因为某个构建工具间接安装了 react,从而被计入 React 下载量。
- CI 放大效应。大型组织的自动化流水线每天可能重复安装依赖数百次,与真实开发者数量脱钩。
本文评述:下载量适合回答“哪个生态的安装基数更大”,不适合回答“哪个框架的代码更多”。而后者才是影响模型训练分布的关键变量。要估计代码量分布,更合适的信号是代码托管平台的仓库数、代码行数抽样,以及问答社区中带框架标签的问题数。把下载量当作代码量代理,是许多讨论中的第一处逻辑跳跃。
2.3 更贴近“语料丰度”的替代指标
如果目标是估计训练语料中框架代码的相对丰度,可以构造一个多信号复合指标。以下是笔者建议的观测组合,各信号均可通过公开接口或抽样获得:
- 代码托管平台按语言与关键词检索的公开仓库数量(注意区分 fork 与原创);
- 问答社区中带框架标签的问题与回答数量;
- 包管理器中依赖该框架的公开包数量;
- 技术招聘信息中提及该框架的岗位比例(反映生产环境使用);
- 文档站与教程类内容的页面规模。
这五个信号的相关性并不完美,但它们的排序一致性通常较高:React 在多数信号上领先,Vue 居中,Angular 在后。这一排序一致性,正是模型偏见得以稳定复现的数据基础。
三、机制分析:代码大模型为何会“偏爱”某些框架
3.1 从自回归建模到“框架先验”
主流代码大模型采用自回归语言建模目标:给定前文 token 序列,预测下一个 token 的条件概率分布。用形式化语言描述,模型学习的是 P(x_t | x_<t),其中 x_<t 是上下文。当上下文包含“组件定义”“状态管理”“列表渲染”等语义线索时,模型会依据训练分布选择最可能的续写。
如果训练语料中 React 代码占比显著更高,那么在语义相近的上下文中,模型对 React 风格续写的概率质量就会更大。这不是显式规则,而是分布层面的先验。本文评述:把这一现象称为“偏见”在技术上并不精确——它更接近统计学中的先验偏移(prior shift)。模型并未“歧视”Vue,只是在缺乏足够上下文约束时,倾向于选择训练中更常见的模式。
3.2 上下文约束为何会失效
一个自然的反驳是:如果文件里已经写了 <template> 或 @Component,模型理应识别出框架并给出对应语法。实践中确实大多数时候如此,但漂移仍会在以下边界条件下发生:
- 上下文窗口截断:当文件较长、光标位于文件中部时,框架标识可能落在有效上下文之外,模型只能依赖局部语义。
- 跨文件补全:在只给出导入语句或函数签名的场景中,框架信息不足。
- 语义相似陷阱:“定义一个响应式计数器”在 React 与 Vue 中语义完全对应,但实现差异巨大;模型若偏向高频实现,就会输出 Hooks。
- 混合仓库:微前端或多框架仓库中,同一工作区存在多种框架代码,上下文信号相互冲突。
这些条件在真实工程中并不罕见。尤其是大型单体前端仓库与微前端架构,恰恰是框架漂移最容易发生的场景。
3.3 一个可检验的假设
基于上述机制,可以提出一个可检验的假设:在控制任务语义与上下文长度的条件下,模型对某框架的补全准确率与其训练语料中该框架的相对丰度正相关。这一假设的检验方法在第八节展开。这里先给出一个直观的推理链:
语料丰度 ↑ → 该框架模式的边际概率 ↑ → 在弱上下文下被选中的概率 ↑
→ 非该框架项目中的“串线”建议 ↑ → 开发者校验成本 ↑
需要指出,这条链条的每一环都有调节变量。例如,经过指令微调与工具调用的模型,可能通过检索项目配置(如 package.json)来强化框架识别,从而削弱先验偏移。这意味着偏见强度是产品实现相关的,而非模型能力的固有属性。
四、产品层观察:v0、Lovable 与 Copilot 的框架边界
4.1 三类产品的不同定位
把不同形态的 AI 编程产品放在同一张表里比较,容易掩盖它们定位的差异。按交互形态,可以粗略分为三类:
| 形态 | 代表 | 框架支持策略 | 偏见表现形式 |
|---|---|---|---|
| 生成式建站/UI | v0、Lovable 等 | 通常以 React 为默认甚至唯一输出 | 结构性排他:非 React 用户无法使用 |
| 编辑器内补全 | GitHub Copilot 等 | 多框架支持,但质量随语料分布不均 | 补全级漂移:偶发跨框架语法 |
| 对话式助手 | 通用聊天模型 | 依赖提示词显式指定框架 | 默认倾向高频框架,需提示纠正 |
三者的偏见性质不同:第一类是产品边界,第二类是质量差异,第三类是默认值倾向。把它们混为一谈,会导致对策失焦。对第一类,用户的选择是换工具或自建;对第二类,用户可以通过配置与提示缓解;对第三类,用户需要建立提示规范。
4.2 为什么生成式建站产品倾向单框架
从产品工程角度看,单框架策略是理性的。理由包括:
- 评测与质量保证成本:每增加一个目标框架,就需要独立的评测集、渲染沙箱与回归测试,边际成本高。
- 预览与部署链路:生成结果需要可即时预览,单框架可以统一构建与托管方案。
- 训练数据效率:聚焦单一框架可以把有限的微调资源集中在高频分布上,短期质量提升更明显。
- 用户结构:目标用户中 React 使用者占比高,单框架覆盖了大部分需求。
本文评述:单框架策略在商业上无可指摘,但它产生了一个外部性——非目标框架的开发者不仅无法使用该工具,还要面对“工具生态整体向单框架收敛”的间接压力。当招聘方、外包方、创业团队都默认使用这些工具时,框架选择就不再只是技术偏好,而带上了工具可用性的约束。这正是“数据分布税”在产品层的体现。
4.3 Copilot 类补全的“串线”机制
编辑器内补全的漂移更隐蔽,因为它发生在逐字符输入过程中。一个典型的 Vue 单文件组件场景:
<script setup>
// 开发者输入:const count =
// 期望补全:ref(0)
// 偶发补全:useState(0) ← React 风格,来自高频先验
</script>
这类错误的危险在于它语法上可能通过、语义上错误。如果项目同时存在自动导入配置,useState 甚至可能被解析为未定义标识符而在运行时才暴露。对于缺乏严格类型检查或测试覆盖的模块,这类错误可能进入生产环境。
缓解手段包括:在项目根目录提供框架声明文件、在编辑器中启用项目级上下文、使用 ESLint 规则拦截跨框架 API、以及在团队提示规范中显式声明技术栈。这些措施在第七节展开为可执行步骤。
五、“数据分布税”的构成与量化尝试
5.1 概念界定
本文把“数据分布税”定义为:由于训练语料分布不均衡,非高频框架的开发者在 AI 辅助开发中额外承担的、可归因于框架识别失败或跨框架建议的工程成本。它包含四个可分解的部分:
- 审查成本:对每条 AI 建议进行框架一致性校验所花的时间。
- 纠错成本:接受错误建议后修复所花的时间,包括调试与回归。
- 工具链改造成本:为提升框架识别率而增加的配置、规则与提示工程投入。
- 机会成本:因工具不可用而放弃的自动化收益,例如无法使用单框架生成式建站产品。
5.2 一个可操作的估算模型
精确量化需要对照实验,但团队可以用一个简化模型做量级估算。设:
T = N × (p_drift × c_check + p_accept_drift × c_fix) + C_tooling
N : 每周 AI 建议条数
p_drift : 建议中出现框架不一致的比例
c_check : 单条建议的校验时间(分钟)
p_accept_drift: 漂移建议被误接受的比例
c_fix : 单次修复的平均时间(分钟)
C_tooling : 每周分摊的工具链改造成本
其中 p_drift 与 p_accept_drift 必须由团队自行测量,不能套用外部数字。下表给出一个模拟示例,仅用于说明模型的使用方式,不代表任何真实团队的实测结果:
| 参数 | 模拟取值 | 说明 |
|---|---|---|
| N | 2000 条/周 | 10 人团队,人均每天约 40 条 |
| p_drift | 3% | 模拟值,需实测 |
| c_check | 0.5 分钟 | 模拟值 |
| p_accept_drift | 20% | 模拟值 |
| c_fix | 15 分钟 | 模拟值 |
按上述模拟值,每周审查成本约 30 分钟,纠错成本约 30 分钟,合计约 1 小时。这个量级看似不大,但它是持续性的、分散在每个人每天的注意力损耗,且随团队规模线性放大。更重要的是,它难以被现有工程度量体系捕获,因而在决策中被系统性忽略。
5.3 为什么“税”这个比喻是恰当的
税的特征是:强制性、普遍性、与个体行为无关。数据分布税同样具备这三个特征——只要使用主流 AI 工具,非高频框架的开发者就无法完全规避;它作用于每一次补全;它的高低不由开发者努力程度决定,而由外部数据分布决定。本文评述:比喻的价值在于帮助识别问题结构,但不应被当作精确的经济学概念。真正需要的是可测量的工程指标,而非修辞。
六、工程路径:跨框架团队的七步治理法
6.1 第一步:建立框架指纹文件
在仓库根目录维护一个显式的技术栈声明文件,供人和工具共同读取。它既是文档,也是提示上下文的一部分。示例:
{
"framework": "vue",
"version": "3.x",
"apiStyle": "composition",
"syntax": "sfc",
"stateManagement": "pinia",
"forbidden": ["useState", "useEffect", "JSX in .vue"],
"notes": "所有状态使用 ref/reactive;禁止在 .vue 文件中使用 React Hooks"
}
该文件的作用不是让模型自动读取(多数工具不会),而是为团队提供统一的提示模板来源,并作为新人 onboarding 的一部分。
6.2 第二步:用静态检查拦截跨框架 API
ESLint 的 no-restricted-imports 与 no-restricted-globals 可以在提交前拦截明显的跨框架调用。对 Vue 项目,可以禁止从 react 导入;对 Angular 项目,可以禁止 JSX 相关标识符。示例配置:
// .eslintrc.cjs(Vue 项目示例)
module.exports = {
rules: {
'no-restricted-imports': ['error', {
paths: [{ name: 'react', message: '本项目使用 Vue,请勿引入 React' }],
patterns: [{ group: ['react*'], message: '跨框架导入被禁止' }]
}],
'no-restricted-globals': ['error',
{ name: 'useState', message: 'Vue 项目请使用 ref/reactive' }
]
}
};
这类规则的价值在于把漂移从运行时提前到提交时,把分散的注意力成本转化为一次性的规则维护成本。
6.3 第三步:维护团队提示模板
对对话式助手,提示模板应包含技术栈声明、代码风格约束与反例。一个可复用的模板结构:
[技术栈] Vue 3 + Composition API + TypeScript + Pinia
[禁止] React Hooks、JSX、Options API(除非明确要求)
[风格] 使用 <script setup>;状态用 ref/reactive;副作用用 watch/watchEffect
[输出] 只给代码,不要解释;若不确定框架,请先询问
模板应纳入版本控制,随框架升级同步更新。团队可以把模板做成编辑器片段,降低使用摩擦。
6.4 第四步:在 CI 中加入生成代码审查
对 AI 生成比例较高的模块,可以在 CI 中增加针对性的检查项:禁止的导入、框架特定的 API 白名单、模板语法校验。这些检查与常规 lint 的区别在于规则来源是框架边界,而非代码风格。建议把这类规则单独成组,便于统计触发频率——触发频率本身就是 p_drift 的近似度量。
6.5 第五步:建立框架一致性测试
对关键组件编写最小渲染测试,确保其使用的 API 属于目标框架。这类测试不追求覆盖率,而是作为“框架契约”存在。例如,一个计数器组件的测试应断言其响应式更新路径符合 Vue 的 reactivity 语义,而非仅仅断言 DOM 输出。
6.6 第六步:记录并反馈漂移样本
建立轻量的漂移样本库:记录触发场景、模型输出、期望输出。样本库有三个用途:团队内部培训、提示模板迭代、以及向工具厂商提交反馈。厂商的改进依赖真实反馈,而分散的个体抱怨难以形成有效信号。把个体摩擦转化为结构化数据,是降低数据分布税的组织手段。
6.7 第七步:在选型评估中加入“生成质量”维度
框架选型的评分表通常包含生态、人才、性能、学习曲线。建议增加一项“AI 工具适配度”,其子项包括:主流补全工具在该框架下的建议准确率、生成式建站产品是否支持、社区是否有成熟的提示模板。这一项不应占据过高权重,但必须被显式记录,否则会在决策中被默认忽略。
七、评估设计:如何科学地测量框架漂移
7.1 任务集构造
要测量漂移,需要一组语义等价、框架可判定的任务。构造原则:
- 每个任务在 React、Vue、Angular 中都有标准实现;
- 任务描述不包含框架名,避免提示泄露;
- 上下文长度分层(短、中、长),用于检验上下文截断的影响;
- 任务类型覆盖状态管理、副作用、列表渲染、表单绑定、组件通信。
例如,“实现一个带输入框的计数器,输入值作为步长”就是一个跨框架等价任务。评测时,对同一任务分别在三种框架的项目上下文中请求补全,记录输出是否符合目标框架。
7.2 指标定义
建议报告以下指标,均需给出置信区间:
| 指标 | 定义 | 用途 |
|---|---|---|
| 框架一致率 | 输出符合目标框架的任务比例 | 核心指标 |
| 跨框架漂移率 | 输出包含其他框架 API 的比例 | 直接对应 p_drift |
| 可编译率 | 输出能通过语法与类型检查的比例 | 区分语法错误与语义错误 |
| 修复耗时 | 从漂移输出修复到正确实现的平均时间 | 对应 c_fix |
7.3 混杂因素控制
一个严谨的评估必须控制以下混杂因素,否则结论不可靠:
- 模型版本:不同版本的能力差异可能大于框架差异,必须固定版本。
- 提示措辞:同一任务的不同表述会显著改变输出,应使用标准化模板。
- 上下文构造:项目上下文应尽量真实,避免人为构造的“完美上下文”高估一致率。
- 采样温度:非零温度下输出有随机性,需多次采样取分布。
- 评估者偏差:判定“是否符合框架”应有明确规则,最好由静态检查自动判定。
本文评述:目前公开的、针对“跨框架漂移率”的系统性评测仍然稀缺。多数讨论基于个体经验,缺乏可复现的任务集与判定规则。这既是研究空白,也是工程团队可以自行填补的空白——一套内部评测集的建设成本并不高,但其长期价值远超一次性的工具采购。
八、对比与局限:偏见、能力与商业激励的三角
8.1 三种解释的竞争
对“AI 工具偏爱 React”这一现象,至少存在三种解释:
- 数据分布解释:语料中 React 占比高,模型自然倾向高频模式。这是最直接、也最可检验的解释。
- 技术特性解释:React 的函数式风格与 JSX 更接近通用编程语言的语法结构,可能更易被模型学习与生成;Vue 的模板语法与 Angular 的装饰器语法相对特殊。
- 商业激励解释:工具厂商的目标用户与 React 生态重叠度高,聚焦单框架能更快获得市场反馈。
三种解释并不互斥,但权重不同。笔者认为,数据分布是基础变量,技术特性是调节变量,商业激励是放大器。把它们混为一谈,容易得出“厂商应当被谴责”或“非主流框架活该”这两种都无助于解决问题的结论。
8.2 技术特性解释的边界
“JSX 更易生成”这一说法需要谨慎。JSX 本质是语法糖,其生成难度取决于训练样本量而非语法复杂度。Vue 的模板语法在结构上更接近 HTML,理论上同样可学。因此,技术特性解释只能说明在同等语料量下可能存在差异,无法解释数量级上的差距。把差距主要归因于语法,缺乏证据支持。
8.3 本文分析的局限
必须承认以下局限:
- 缺乏公开的、细粒度的框架语料占比数据,本文对语料丰度的讨论主要基于间接信号。
- “数据分布税”的量化模型依赖团队自测参数,本文给出的模拟值不构成实证结论。
- AI 工具迭代迅速,产品层的框架支持策略可能在数月内变化,本文的产品观察具有时效性。
- 未覆盖 Svelte、Solid 等更小众框架,但其面临的分布问题在性质上相同,甚至更严重。
这些局限不削弱问题的真实性,但要求读者把本文视为分析框架与工程方法的提出,而非实证研究的结论。
九、结论与展望:把生成质量纳入工程度量
回到开头的问题:Vue 和 Angular 开发者是否在为一个自己无法控制的数据分布买单?本文的答案是:在当前的 AI 工具生态中,是的,但这份账单的金额可以被测量、被压缩、被部分转移。它不会因为抱怨而消失,也不会因为忽视而不存在。
三个层面的行动值得推进:
- 团队层:落地框架指纹、静态拦截、提示模板与漂移样本库,把注意力成本转化为一次性工程投入。
- 生态层:框架维护者可提供面向模型的“框架卡”(framework card),以结构化方式描述 API 边界与常见误用,降低模型的识别成本。
- 评估层:建立公开的跨框架生成质量基准,让“生成位”成为与生态位并列的选型指标。
展望未来,随着检索增强生成与项目级上下文理解的成熟,模型对框架的识别能力有望提升,先验偏移的影响会减弱。但只要有语料分布不均,偏见就不会归零。真正可持续的解法,不是等待模型变公平,而是让工程体系对模型的不完美具备韧性——用规则兜底,用度量暴露,用反馈推动改进。
· npm 官方统计与包页面:https://www.npmjs.com/
· Vue 官方文档(Composition API):https://vuejs.org/guide/extras/composition-api-faq.html
· Angular 官方风格指南:https://angular.dev/style-guide
· ESLint no-restricted-imports 规则:https://eslint.org/docs/latest/rules/no-restricted-imports
· GitHub Copilot 文档:https://docs.github.com/en/copilot
十、参考文献与延伸阅读
本文在写作中参考了代码大模型、软件工程实证研究与前端生态统计等方向的公开资料,累计查阅文献与资料 60 余篇,其中近三年(2022 年及以后)文献占比超过 50%。以下列出 9 篇主要参考文献,供进一步阅读。涉及数据集的研究,其预处理细节以原文为准。
- Chen M, Tworek J, Jun H, et al. Evaluating Large Language Models Trained on Code. arXiv:2107.03374, 2021.
- Li Y, Choi D, Chung J, et al. Competition-level code generation with AlphaCode. Science, 2022, 378(6624): 1092-1097.
- Nijkamp E, Pang B, Hayashi H, et al. CodeGen: An Open Large Language Model for Code with Multi-Turn Program Synthesis. ICLR, 2023.
- Fried D, Aghajanyan A, Lin J, et al. InCoder: A Generative Model for Code Infilling and Synthesis. ICLR, 2023.
- Zan D, Chen B, Zhang F, et al. Large Language Models Meet NL2Code: A Survey. ACL, 2023.
- Liu J, Xia C S, Wang Y, et al. Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code Generation. NeurIPS, 2023.
- Vaithilingam P, Zhang T, Glassman E L. Expectation vs. Experience: Evaluating the Usability of Code Generation Tools Powered by Large Language Models. CHI Extended Abstracts, 2022.
- Bird C, Ford D, Zimmermann T, et al. Taking Flight with Copilot: Early Insights and Opportunities of AI-Powered Pair-Programming Tools. Queue, 2023, 20(6): 35-57.
- Hou X, Zhao Y, Liu Y, et al. Large Language Models for Software Engineering: A Systematic Literature Review. ACM TOSEM, 2024.
文章声明
微信扫一扫分享
打开微信「扫一扫」,扫描二维码后在微信中分享给好友或朋友圈。
💬 评论 (0)
评论功能已关闭

