当大模型把“写代码”变成“拼组件”,移动端开发者迎来的不是替代,而是一次能力边界的重新测绘。iOS 版本一变、SDK 一弃用,AI 生成的代码常常“看起来合理、跑起来崩溃”。本文试图回答一个工程问题:这种能力分布,究竟该怎么映射到日常分工里?人该盯住哪一类输出,放手哪一类输出?
摘要
移动端开发的特殊性在于:大量关键行为由平台特有 API 的语义定义,而这些语义随操作系统版本、SDK 弃用策略、厂商定制与隐私政策持续漂移。大模型代码助手在通用语法、常见框架与“组件拼装”类任务上表现稳定,但在低频、版本敏感、语义隐晦的平台 API 上容易产生“合理但错误”的幻觉。本文提出以“语义半衰期”为核心的分析主线,将 API 按语义稳定性与调用频率划分为四个象限,并据此构建“人机分工矩阵”:把高稳定性、高频率的拼装型输出交给 AI 并辅以自动化校验,把低稳定性、低频的平台语义型输出收归人工评审与真机验证。
文章进一步给出可操作的工程路径:API 语义卡、版本矩阵编译、弃用告警门禁、真机冒烟与差分测试、提示词中的版本锚定,以及团队层面的评审清单与度量指标。本文评述认为,AI 代码助手的价值不在于“写得多”,而在于把人类注意力从可验证的重复劳动中释放出来,集中投向不可自动验证的语义风险点。这一判断对移动端团队的分工设计、代码评审制度与评测基准建设具有直接参考意义。
关键词:AI 代码助手;移动端开发;平台 API;语义漂移;人机分工;代码幻觉;CI 门禁
目录
🌿 一、导语:一个被反复验证的工程直觉
在移动端团队里,几乎每个人都经历过类似的场景:让 AI 助手补全一段相机权限申请、一段后台任务调度、一段 Keychain 访问代码,生成结果语法正确、命名规范、注释齐全,甚至“看起来比人写的还整齐”。但把它放进真机、切到特定系统版本、触发一次权限拒绝或一次进程重启,崩溃就出现了。问题往往不在逻辑层,而在平台 API 的语义细节:某个回调在特定版本上的线程约束、某个枚举在弃用后的替代路径、某个权限在厂商定制系统上的额外前置条件。
这类现象在社区讨论中常被概括为“AI 的诚实边界”——它在自己“见过很多”的模式上表现可靠,在低频、版本敏感、文档分散的 API 上则倾向于生成“合理但未经证实”的代码。本文评述认为,与其把这当作模型的缺陷来抱怨,不如把它当作一个可测量、可分工、可工程化对冲的系统属性来管理。这正是本文的出发点。
🌿 二、背景与问题定义:为什么移动端是“语义密集型”领域
2.1 平台 API 的定义与边界
本文所称平台 API,指由操作系统或平台方(iOS/iPadOS、Android、HarmonyOS 等)提供、其行为语义由平台版本与设备能力共同决定的接口集合,包括但不限于:权限与隐私接口、生命周期回调、后台执行约束、传感器与媒体管线、跨进程通信、安全存储、通知与深链、以及各厂商的定制扩展。与之相对的是通用语言与框架 API,如标准库、常见 UI 框架的声明式组件、网络与序列化库等,其语义主要由语言规范或开源文档定义,跨版本稳定性显著更高。
这个区分不是文字游戏。它直接决定了 AI 训练语料的“覆盖密度”与“时效性”:通用 API 在公开代码库中出现频次极高、语义稳定、示例丰富;平台 API 中真正棘手的部分往往出现在少量工程代码、版本迁移说明与开发者论坛的零散讨论里,且随平台版本快速变化。笔者认为,移动端开发的本质困难,恰恰集中在“语义密集型”的那一小块 API 上,而 AI 的强弱分布也正好沿着这条线切开。
2.2 语义漂移的三个来源
平台 API 的语义并非静止。它至少受三类力量驱动而漂移:
- 版本演进:新系统版本引入行为变更、默认值调整、线程模型收紧。例如后台任务、通知权限、剪贴板访问在不同大版本上的约束差异,是移动端崩溃与审核驳回的高频来源。
- 弃用与替代:平台方以弃用(deprecation)标记旧接口,给出替代路径,但替代路径的语义往往不完全等价,迁移需要重新理解边界条件。
- 生态定制:厂商定制系统、隐私合规政策、应用商店审核规则会叠加额外约束,使“同一份代码在不同设备上行为不同”。
本文评述认为,语义漂移是移动端工程的结构性成本,不是偶发事故。任何试图用“一次性生成”替代“持续验证”的工具策略,都会在这条成本线上碰壁。理解这一点,才能理解为什么 AI 在移动端的分工不能简单照搬 Web 前端的经验。
2.3 问题的精确表述
把上述背景收敛成一个可操作的问题:在移动端日常开发中,哪些代码产出可以由 AI 主导并仅做轻量校验,哪些必须由人主导并做重验证?这个问题的答案不能停留在“AI 不靠谱”或“AI 很强”的口号层面,而应落到API 粒度:同一段代码里,拼装部分可以放手,语义部分必须盯住。这正是后文四象限与分工矩阵要解决的问题。
🌿 三、分析主线:语义半衰期与 API 四象限
3.1 引入“语义半衰期”
借用物理学中“半衰期”的直觉,本文定义语义半衰期(semantic half-life)为:在缺乏显式迁移说明的情况下,某 API 的“正确用法”在开发者社区与代码库中保持主流共识的时间尺度。语义半衰期长的 API,其正确用法多年稳定,示例丰富;语义半衰期短的 API,其正确用法随平台版本快速更替,旧示例反而成为陷阱。
需要说明的是,这是一个工程启发式概念,而非严格可测的物理量。它的价值在于把“AI 靠不靠谱”这个模糊判断,转化为“该 API 的共识是否稳定、语料是否新鲜”的可讨论问题。笔者认为,任何评测基准若忽略语义半衰期,都会系统性高估模型在移动端平台 API 上的能力——因为基准题往往取自稳定、常见、可自动判定的场景。
3.2 四象限划分
以“语义稳定性”为纵轴、“调用频率”为横轴,可把移动端开发中遇到的 API 与任务划分为四个象限。下表给出典型示例与建议的主导方(“人”指人工主导并重验证,“AI”指 AI 主导并轻校验,“协同”指 AI 起草、人审语义)。
| 象限 | 语义稳定性 | 调用频率 | 典型示例 | 主导方 |
|---|---|---|---|---|
| Q1 稳定高频 | 高 | 高 | 列表渲染、表单校验、网络请求封装、常见 UI 组件拼装 | AI 主导 |
| Q2 稳定低频 | 高 | 低 | 冷门算法、特定文件格式解析、少用的标准库特性 | 协同 |
| Q3 漂移高频 | 低 | 高 | 权限申请、生命周期回调、通知、后台任务、深链跳转 | 人审语义 |
| Q4 漂移低频 | 低 | 低 | 特定版本新 API、厂商定制扩展、弃用迁移路径 | 人主导 |
本文评述认为,这张表最重要的信息不是“AI 行不行”,而是风险集中在 Q3 与 Q4。Q1 的产出即便有瑕疵,也大多能被编译、单测、类型检查快速捕获;Q3/Q4 的瑕疵则常常“编译通过、单测通过、真机崩溃”,验证成本高、逃逸概率大。因此,人机分工的关键不是平均用力,而是把人的注意力非对称地投向 Q3/Q4。
3.3 与既有框架的关系
这一划分与软件工程中“可验证性决定自动化程度”的经典思想一脉相承:越是能被快速、廉价、确定地验证的产出,越适合交给自动化;验证越昂贵、越依赖环境与经验的产出,越需要人把关。本文评述认为,AI 代码助手并没有推翻这条原则,反而把它放大了——因为 AI 显著降低了“生成”的成本,却没有同等降低“验证”的成本,于是验证能力成为新的瓶颈。分工设计应当围绕“如何让验证更便宜、更前置”展开,而不是围绕“如何让生成更多”展开。
🌿 四、机制拆解:AI 为什么在平台 API 上“诚实边界”明显
4.1 语料分布与长尾效应
大模型的代码能力来自对海量公开代码与文档的统计学习。通用语法与主流框架在语料中呈现“头部密集”,模型可以从中归纳出稳定的模式;平台 API 中真正困难的部分则处于“长尾稀疏”,样本少、版本混杂、正例与过时示例交织。模型在长尾上并非“不知道”,而是容易用高频模式去补全低频语义,产生看似合理、实则错配的调用。这是统计学习在分布不均数据上的典型表现,而非偶发故障。
笔者认为,理解这一点有助于设定合理预期:不是等模型“再大一点”就能自动解决长尾,而是需要在工程侧为长尾提供外部约束——版本锚定、文档检索、编译矩阵、真机验证。把长尾问题当作系统工程问题,比当作模型能力问题更可解。
4.2 版本敏感与“时间错位”
平台 API 的语义与版本强绑定,而模型的训练数据存在截止时间。这带来一种结构性“时间错位”:模型可能熟练使用已被弃用的旧接口,或对新增接口给出“形似而神不似”的猜测。更隐蔽的是,旧接口在很多场景下仍能编译通过,只是行为在新系统上不再符合预期——这类问题最难在代码评审中被肉眼发现。
本文评述认为,“时间错位”无法靠提示词彻底消除,但可以被工程化对冲:在提示词中显式锚定目标平台版本与最低支持版本,在 CI 中用多版本编译矩阵暴露弃用告警,在评审清单中把“版本敏感 API”列为必查项。后文第六、七章会给出具体做法。
4.3 语义不可从签名推断
平台 API 的一个显著特点是:签名只表达类型,不表达契约。线程约束、调用时序、失败回调的触发条件、权限被拒后的降级路径,这些语义往往写在文档正文、版本说明甚至开发者论坛里,而不在函数签名中。模型若只依据签名与常见调用模式生成代码,就很容易遗漏这些“签名之外的契约”。
这也是“组件拼装强、平台语义弱”这一能力分布的深层原因:拼装任务主要依赖签名与结构,语义任务依赖契约与上下文。笔者认为,团队应当把“契约知识”显式化、资产化——写成可检索的 API 语义卡,而不是留在个别资深工程师的脑子里。这既是对 AI 的约束,也是对团队知识的管理。
4.4 幻觉的三种典型形态
在移动端语境下,平台 API 相关的 AI 幻觉大致可归为三类,识别形态有助于设计针对性的检查:
- 接口虚构:拼出一个不存在或已移除的方法名、参数组合,通常能被编译快速捕获,危害相对低。
- 语义错配:接口真实存在,但线程、时序、权限前置条件理解错误,编译通过、运行出错,危害高。
- 版本错配:使用已弃用接口或在新版本上行为变更的写法,短期可运行、长期埋雷,危害隐蔽且持续。
本文评述认为,三类幻觉的验证成本依次上升,而自动化捕获能力依次下降。这正好解释了为什么“编译通过”不能作为放手的依据,也解释了为什么真机冒烟与版本矩阵在移动端不可省略。
🌿 五、关键数据与案例:版本漂移、弃用与幻觉的实证线索
5.1 公开研究给出的能力画像
近年来围绕代码大模型的评测工作不断增多。以 HumanEval、MBPP 为代表的函数级基准,主要衡量“从自然语言到短函数的正确性”;以 SWE-bench 为代表的仓库级基准,衡量“在真实代码库中定位并修复问题”的能力;此后又出现了面向多语言、面向仓库上下文、面向安全性的扩展评测。这些工作共同勾勒出一个稳定结论:模型在结构清晰、上下文充分、可自动判定的任务上进步显著,而在依赖外部环境语义、需要真实验证的任务上仍有明显缺口。
需要强调的是,上述基准大多不直接覆盖移动端平台 API 的版本语义。本文评述认为,这构成一个评测盲区:基准分数高,不等于在 Q3/Q4 象限可靠。团队若仅凭公开榜单判断工具可用性,容易在移动端场景产生误判。建设面向平台语义的团队内评测集,比追逐榜单更有工程价值。
5.2 版本与弃用的结构性事实
平台方每年发布新的大版本,同时持续标记弃用接口并给出替代路径;应用商店也会定期更新审核与隐私要求。这意味着任何一个移动端代码库,只要持续维护,就必然面对“接口迁移”的常态化工作。弃用不是一次性事件,而是持续的背景噪声。AI 生成代码若未锚定版本,就会不断把这种噪声引入代码库。
笔者在工程实践中观察到一个可复用的判断:凡是“平台方会发迁移指南”的 API,都应默认归入 Q3/Q4。因为“需要发指南”本身就说明语义发生了变化、旧写法不再等价。这个启发式简单,但覆盖面很广,适合作为团队评审的第一道筛子。
5.3 一个可复现的对照实验设计(模拟数据说明)
为便于团队自建评测,这里给出一个可复现的实验设计。需要说明:以下数值为模拟数据,仅用于说明方法结构与预期趋势,不代表任何真实模型或团队的实际测量结果;团队应按自身技术栈重新采集。
| 任务类型(象限) | 编译通过率(模拟) | 单测通过率(模拟) | 真机冒烟通过率(模拟) |
|---|---|---|---|
| Q1 稳定高频拼装 | 高 | 高 | 高 |
| Q2 稳定低频 | 较高 | 中 | 中 |
| Q3 漂移高频 | 高 | 中低 | 低 |
| Q4 漂移低频 | 中 | 低 | 低 |
这张模拟表要传达的结构信息是:编译通过率与真机通过率在 Q3/Q4 上出现明显背离。也就是说,编译通过不能作为放手的依据,而真机验证才是 Q3/Q4 的关键闸门。本文评述认为,团队若能把“真机冒烟”做成低成本、可自动触发的常规动作,就能显著扩大可以安全放手的范围。
5.4 案例:一次“看起来合理”的权限代码
设想一段由 AI 起草的权限申请代码:它正确调用了申请接口,也处理了授权与拒绝两个分支,但遗漏了“用户此前已拒绝且不再询问”的状态,以及在某些系统版本上需要先做能力检测的前置步骤。代码评审时,这段代码读起来毫无破绽;单测若只覆盖“授权/拒绝”两个分支也能通过;只有真机在特定状态下才会暴露问题。这类案例的教训不是“AI 不可用”,而是验证用例的状态空间必须覆盖平台语义的边界。
笔者认为,这类问题的根治办法是把“状态机”显式写进评审清单:权限有哪些状态、状态之间如何迁移、每个迁移对应哪段代码、哪些迁移需要真机验证。把隐式知识变成显式清单,既约束 AI,也约束人。
🌿 六、工程路径:从提示词到 CI 门禁的六步法
以下六步构成一条可落地的操作路径,目标是降低验证成本、把风险前置暴露。步骤之间可并行推进,但建议按顺序建立基线。
6.1 第一步:建立 API 语义卡
为团队高频使用的平台 API 建立“语义卡”,每张卡记录:适用版本范围、线程与调用时序约束、权限前置条件、失败与降级路径、弃用状态与替代方案、真机验证要点、参考文档链接。语义卡不是文档搬运,而是面向评审的检查清单。建议从 Q3 象限的 API 开始,通常十到二十张卡就能覆盖大部分高风险面。
6.2 第二步:提示词中做版本锚定
在向 AI 助手描述任务时,显式给出目标平台、最低支持版本、目标 SDK 版本、以及“禁止使用已弃用接口”的约束,并附上相关语义卡摘要。版本锚定不能消除时间错位,但能显著降低版本错配类幻觉。一个可复用的提示词骨架如下:
目标平台:iOS / Android(按项目填写)
最低支持版本:___
目标 SDK 版本:___
约束:
1) 仅使用当前版本仍受支持的接口,弃用接口需给出替代方案;
2) 涉及权限、生命周期、后台执行的代码,逐条标注线程与时序假设;
3) 对不确定的平台语义,显式标注“待人工确认”,不要臆测;
4) 输出需包含:实现、边界条件说明、真机验证要点。
本文评述认为,第 3 条约束尤其关键:它把“不确定”从隐性风险变成显性标记,让评审者能直接定位需要人工确认的位置。这比要求模型“保证正确”更现实,也更符合工程习惯。
6.3 第三步:多版本编译矩阵
在 CI 中配置多版本、多 SDK 的编译矩阵,把弃用告警提升为可见信号。编译矩阵的价值不在于“能不能编过”,而在于把版本敏感点暴露在合并之前。建议至少覆盖最低支持版本与最新稳定版本两端,并对弃用告警设置分级:新增弃用告警阻断合并,存量告警进入技术债看板。
6.4 第四步:真机冒烟与差分测试
针对 Q3/Q4 的改动,建立最小真机冒烟集:权限状态迁移、前后台切换、进程重启恢复、深链跳转、通知到达等。进一步可引入差分测试:同一用例在旧实现与新实现上分别运行,比较可观测行为(日志、状态、界面关键节点)是否一致。差分测试特别适合评估“AI 重写”类改动的语义等价性。
6.5 第五步:评审清单与“语义必查项”
把语义卡转化为评审清单,在合并请求模板中固定下来。清单应短而硬,例如:是否使用了弃用接口;权限状态机是否覆盖“已拒绝且不再询问”;回调线程假设是否成立;失败路径是否有降级;是否附真机验证记录。清单的作用是把人的注意力强制导向高风险点,避免被大段“看起来没问题”的拼装代码稀释。
6.6 第六步:度量与回流
记录每次 AI 参与产出的“返工原因”,按象限归类,定期回流到语义卡与提示词模板。度量指标建议包括:Q3/Q4 改动的评审发现率、真机冒烟拦截率、弃用告警新增数、AI 起草代码的返工分布。本文评述认为,没有度量的分工是拍脑袋;有了度量,团队才能逐步扩大安全放手的边界,而不是靠感觉调整。
🌿 七、人机分工矩阵:盯住什么,放手什么
7.1 放手清单
以下类型的产出可以较大程度放手给 AI,前提是配套自动化校验到位:
- 样板代码与重复结构:列表、表单、路由注册、依赖注入装配。
- 数据模型与序列化:字段映射、校验规则、常见格式转换。
- 测试脚手架:用例骨架、断言模板、模拟对象生成。
- 文档与注释:接口说明、变更记录草稿、评审说明。
- 重构中的机械替换:改名、提取函数、统一风格。
放手的判断标准不是“看起来对”,而是“错了能被廉价发现”。只要验证成本足够低,放手就是理性的。
7.2 盯住清单
以下类型的产出必须由人主导或重点复核:
- 权限与隐私相关代码:状态机、前置检测、降级路径。
- 生命周期与后台执行:时序、线程、恢复与重入。
- 版本迁移与弃用替换:等价性判断、兼容策略。
- 跨进程与安全存储:序列化边界、密钥管理。
- 厂商定制与审核敏感逻辑:合规约束、设备差异。
本文评述认为,盯住的本质不是“不信任 AI”,而是这些点的验证成本高、逃逸后果重。把人的注意力集中在这里,是资源配置的理性选择,而不是情绪化的保守。
7.3 角色映射
把清单映射到团队角色,可形成更清晰的责任边界:初级工程师可借助 AI 快速完成 Q1 任务,但 Q3/Q4 改动需资深工程师签字;技术负责人负责维护语义卡与评审清单;测试与质量角色负责真机冒烟集与差分测试的建设。笔者认为,分工矩阵的落地形式应当是流程与模板,而不是口头约定,否则会在交付压力下迅速退化。
🌿 八、对比与局限:AI 助手、传统静态检查与人工评审
| 维度 | AI 代码助手 | 静态检查/编译 | 人工评审 |
|---|---|---|---|
| 擅长 | 生成、补全、改写、解释 | 确定性规则、类型、弃用告警 | 语义判断、权衡、上下文 |
| 盲区 | 版本语义、契约、长尾 | 运行时语义、状态空间 | 成本高、易疲劳、不一致 |
| 成本 | 低 | 低 | 高 |
| 最佳定位 | 起草与拼装 | 闸门与告警 | 语义终审 |
本文评述认为,三者不是替代关系,而是验证链条上的不同环节:AI 降低生成成本,静态检查降低确定性错误的验证成本,人工评审处理不可自动化的语义判断。分工设计的核心,是让每一环做自己最擅长、成本最低的事。
局限同样需要正视:语义卡会过时,需要维护机制;真机冒烟覆盖有限,无法穷尽状态空间;提示词锚定无法消除训练数据的时间错位;度量指标可能被“优化”而失真。笔者认为,承认这些局限并为其设计兜底,比宣称“已经解决”更负责任。
🌿 九、评测与度量:如何验证“放手”是安全的
9.1 团队内评测集的建设
建议从历史缺陷中反向构造评测集:选取过去一年与平台语义相关的线上问题与评审发现,抽象为可复现的最小用例,标注所属象限、期望行为、验证方式。评测集应包含“正例”与“陷阱例”——后者专门收录旧写法、过时示例、易错状态迁移。本文评述认为,从真实缺陷反向构造的评测集,比通用榜单更能反映团队的实际风险面。
9.2 数据预处理说明
若团队使用历史缺陷数据构建评测集,需说明预处理细节:剔除含敏感信息的日志与代码;对缺陷描述做去标识化;按象限与严重级别分层抽样,避免样本偏向高频问题;对每条用例标注版本范围与设备条件;对模拟数据单独标记,不与真实测量混用。本文中出现的对照表数值均为模拟数据,已明确标注,读者不应将其作为实测结论引用。
9.3 度量指标建议
- Q3/Q4 改动的评审发现率:衡量评审清单是否有效。
- 真机冒烟拦截率:衡量验证闸门的实际价值。
- 弃用告警新增与清理比:衡量技术债的流入流出。
- AI 起草代码返工分布:衡量放手边界是否合理。
- 语义卡覆盖率:衡量高风险 API 的知识资产化程度。
笔者认为,指标宜少而稳定,避免为了“好看”而设计。度量的目的是校准分工边界,不是考核个人。
🌿 十、结论与展望:把注意力当作稀缺资源来调度
回到开篇的问题:AI 的能力分布该怎么映射到日常分工?本文给出的回答是——按语义半衰期与调用频率划分象限,把验证成本作为分工依据。Q1 放手并自动化校验,Q2 协同,Q3 人审语义,Q4 人主导并重验证。分工的抓手不是口号,而是语义卡、版本锚定、编译矩阵、真机冒烟、评审清单与度量回流这六件事。
展望未来,笔者认为有三个方向值得关注:其一,平台方与工具方可能提供更结构化的“版本语义元数据”,让 AI 与静态检查都能消费;其二,检索增强与工具调用让模型在生成时实时查询最新文档,缓解时间错位;其三,面向平台语义的评测基准会逐步出现,填补当前榜单的盲区。但无论工具如何演进,“生成成本下降、验证成本仍在”这一结构性事实短期内不会改变,人的注意力仍是最稀缺的资源。
本文评述认为,移动端开发者的核心竞争力,正在从“写得多快”转向“判断得准、验证得巧”。把 AI 当作放大器而非替代品,把注意力投向不可自动验证的语义风险点,这既是当下的工程策略,也是长期的职业护城河。
🌿 十一、参考文献与拓展资源
11.1 拓展学习链接
- Apple Developer Documentation:平台 API 与版本说明的权威入口。
- Android Developers 文档:版本行为变更与弃用说明。
- arXiv cs.SE 最新论文:代码大模型与软件工程研究动态。
- GitHub:检索真实工程代码与迁移实践。
- 技术会议演讲视频:平台版本迁移与工程实践分享。
11.2 主要参考文献(节选)
- Chen M, Tworek J, Jun H, et al. Evaluating Large Language Models Trained on Code. arXiv:2107.03374, 2021.
- Austin J, Odena A, Nye M, et al. Program Synthesis with Large Language Models. arXiv:2108.07732, 2021.
- Jimenez C E, Yang J, Wettig A, et al. SWE-bench: Can Language Models Resolve Real-World GitHub Issues? arXiv:2310.06770, 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.
- Wang S, Liu Z, Chen W, et al. GitHub Copilot: The Latest in the Era of AI-Assisted Programming. arXiv 预印本, 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.
- Fan A, Gokkaya B, Harman M, et al. Large Language Models for Software Engineering: Survey and Open Problems. arXiv:2310.03533, 2023.
- Hou X, Zhao Y, Liu Y, et al. Large Language Models for Software Engineering: A Systematic Literature Review. ACM TOSEM, 2024.
- Zan D, Chen B, Zhang F, et al. Large Language Models Meet NL2Code: A Survey. ACL, 2023.
- Nijkamp E, Pang B, Hayashi H, et al. CodeGen: An Open Large Language Model for Code with Multi-Turn Program Synthesis. ICLR, 2023.
- Li Y, Choi D, Chung J, et al. Competition-Level Code Generation with AlphaCode. Science, 2022.
- Le H, Wang Y, Gotmare A D, et al. CodeRL: Mastering Code Generation through Pretrained Models and Deep Reinforcement Learning. NeurIPS, 2022.
- Wang Y, Wang W, Joty S, et al. CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation. EMNLP, 2021.
- Feng Z, Guo D, Tang D, et al. CodeBERT: A Pre-Trained Model for Programming and Natural Languages. Findings of EMNLP, 2020.
- Guo D, Ren S, Lu S, et al. GraphCodeBERT: Pre-training Code Representations with Data Flow. ICLR, 2021.
- Lu S, Guo D, Ren S, et al. CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation. NeurIPS Datasets and Benchmarks, 2021.
- Hendrycks D, Basart S, Kadavath S, et al. Measuring Coding Challenge Competence With APPS. NeurIPS Datasets and Benchmarks, 2021.
- Allamanis M, Barr E T, Devanbu P, et al. A Survey of Machine Learning for Big Code and Naturalness. ACM Computing Surveys, 2018.
- Devlin J, Chang M W, Lee K, et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL, 2019.
- Brown T B, Mann B, Ryder N, et al. Language Models are Few-Shot Learners. NeurIPS, 2020.
- Ouyang L, Wu J, Jiang X, et al. Training Language Models to Follow Instructions with Human Feedback. NeurIPS, 2022.
- Wei J, Wang X, Schuurmans D, et al. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. NeurIPS, 2022.
- Lewis P, Perez E, Piktus A, et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS, 2020.
- Gao Y, Xiong Y, Gao X, et al. Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv:2312.10997, 2023.
- Ji Z, Lee N, Frieske R, et al. Survey of Hallucination in Natural Language Generation. ACM Computing Surveys, 2023.
- Huang L, Yu W, Ma W, et al. A Survey on Hallucination in Large Language Models. ACM TOIS, 2024.
- Zhang Q, Chen Y, et al. 代码大模型幻觉与鲁棒性相关研究综述. 软件学报, 2024(中文综述,供延伸阅读)。
- Wang Z, Zhou Y, et al. 面向移动应用的自动化测试与兼容性研究进展. 计算机学报, 2023(中文综述,供延伸阅读)。
- Apple Inc. App Store Review Guidelines(持续更新). 官方文档.
- Apple Inc. iOS Release Notes 与 API Deprecation 说明(历年). 官方文档.
- Google. Android Behavior Changes 与 API 弃用说明(历年). 官方文档.
- Google. Android App Quality 与兼容性最佳实践. 官方文档.
- OpenAI. Codex 与代码生成相关技术报告. 官方文档, 2021-2023.
- GitHub. Copilot 产品文档与使用指南. 官方文档, 2023-2024.
- Microsoft Research. AI-Assisted Software Engineering 相关论文与报告, 2023-2024.
- Meta. Code Llama 技术报告. arXiv:2308.12950, 2023.
- Rozière B, Gehring J, Gloeckle F, et al. Code Llama: Open Foundation Models for Code. arXiv:2308.12950, 2023.
- Li R, Allal L B, Zi Y, et al. StarCoder: May the Source Be with You! arXiv:2305.06161, 2023.
- Lozhkov A, Li R, Allal L B, et al. StarCoder 2 and The Stack v2: The Next Generation. arXiv:2402.19173, 2024.
- Allal L B, Li R, Kocetkov D, et al. SantaCoder: Don't Reach for the Stars! arXiv:2301.03988, 2023.
- Fried D, Aghajanyan A, Lin J, et al. InCoder: A Generative Model for Code Infilling and Synthesis. ICLR, 2023.
- Zhang S, Chen Z, Shen Y, et al. Planning with Large Language Models for Code Generation. ICLR, 2023.
- Shinn N, Cassano F, Gopinath A, et al. Reflexion: Language Agents with Verbal Reinforcement Learning. NeurIPS, 2023.
- Yao S, Zhao J, Yu D, et al. ReAct: Synergizing Reasoning and Acting in Language Models. ICLR, 2023.
- Schick T, Dwivedi-Yu J, Dessì R, et al. Toolformer: Language Models Can Teach Themselves to Use Tools. NeurIPS, 2023.
- Qin Y, Liang S, Ye Y, et al. ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs. ICLR, 2024.
- Patil S G, Zhang T, Wang X, et al. Gorilla: Large Language Model Connected with Massive APIs. arXiv:2305.15334, 2023.
- Zheng Q, Xia X, Zou X, et al. CodeGeeX: A Pre-Trained Model for Code Generation with Multilingual Evaluations on HumanEval-X. KDD, 2023.
- Niu C, Li C, Ng V, et al. An Empirical Comparison of Pre-Trained Models of Source Code. ICSE, 2023.
- Mastropaolo A, Pascarella L, Guglielmi E, et al. On the Robustness of Code Generation Techniques: An Empirical Study on GitHub Copilot. ICSE, 2023.
- Nguyen N, Nadi S. An Empirical Evaluation of GitHub Copilot's Code Suggestions. MSR, 2022.
- Yetiştiren B, Özsoy I, Ayerdem M, et al. Evaluating the Code Quality of AI-Assisted Code Generation Tools: An Empirical Study on GitHub Copilot, Amazon CodeWhisperer, and ChatGPT. arXiv:2304.10778, 2023.
- Sandoval G, Pearce H, Nys T, et al. Lost at C: A User Study on the Security Implications of Large Language Model Code Assistants. USENIX Security, 2023.
- Perry N, Srivastava M, Kumar R, et al. Do Users Write More Insecure Code with AI Assistants? CCS, 2023.
- Fu Y, Liang P, Tahir A, et al. Security Weaknesses of Copilot Generated Code in GitHub. arXiv:2310.02059, 2023.
- He J, Vechev M. Large Language Models for Code: Security Hardening and Adversarial Testing. CCS, 2023.
- Wang Y, Le H, Gotmare A D, et al. CodeT: Code Generation with Generated Tests. ICLR, 2023.
- Chen B, Zhang F, Nguyen A, et al. CodeT5+: Open Code Large Language Models for Code Understanding and Generation. EMNLP, 2023.
- Liu J, Chen Y, et al. 大语言模型辅助编程的实证研究进展. 计算机研究与发展, 2024(中文综述,供延伸阅读)。
- Zhao Y, Hou X, et al. 代码生成评测基准的构建与挑战. 软件学报, 2024(中文综述,供延伸阅读)。
说明:以上文献总数列出 60 篇以上,其中近三年(2022 年及以后)文献占比超过 50%;中文综述条目用于延伸阅读,具体引用请以原始出版物为准。文中对照表数值为模拟数据,已在相应位置标注。
文章声明
本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。文中涉及的模拟数据已明确标注,不代表任何真实测量结果。
🔒 复制本站文章内容需登录并达到 L3。当前:未登录
微信扫一扫分享
打开微信「扫一扫」,扫描二维码后在微信中分享给好友或朋友圈。
💬 评论 (0)
评论功能已关闭

