AI 辅助编程工具:机遇与挑战并存
1. AI 辅助编程工具的安全风险与训练数据问题
AI 辅助编程工具在软件开发中崭露头角,但也存在一些安全风险。部分常见的 CWE(通用弱点枚举)类别,如操作系统命令注入、使用随机性不足的值以及异常条件的不当检查或处理等,其中有 11 个 CWE 登上了 2022 年 CWE 前 25 名的榜单。不过,这并不意味着 AI 辅助编程工具是巨大的安全隐患,供应商正在不断改进相关防护措施。
1.1 训练数据的问题
AI 辅助编程工具的大语言模型(LLM)训练数据可能存在显著差距,影响其在实际场景中的性能和实用性,具体如下:
- 表示差距 :如果编程语言或库的某些领域在开源项目中没有得到充分体现,AI 可能缺乏相关知识,导致建议不准确。AI 输出的质量很大程度上取决于训练数据的质量和范围。
- 质量不一致 :开源代码的质量参差不齐,就像一盒巧克力,你永远不知道会得到什么。这可能导致 AI 辅助编程的建议质量不稳定。
- 知识截止日期 :LLM 的训练有截止日期,如同时间快照。当编程语言或库有新版本发布、更新或弃用时,会带来挑战。
- 泛化差距 :AI 在训练数据和未见过的数据上的性能差异,即泛化差距,也可能带来挑战。两者性能越接近越好。
- 上下文理解 :AI 基于以往经验给出建议,如果未见过类似场景,可能无法命中目标。因此,创建提示时不要做假设很重要。
- 偏差
超级会员免费看
订阅专栏 解锁全文
993

被折叠的 条评论
为什么被折叠?



