目前基于大模型有各种各样的应用,比如自然语言对话(写文案、解答问题),画图(midjunery、sd),制作视频等等,其中编程能力是大模型各项能力的天花板
原因有三点:
- 训练数据质量高
- 结果可衡量
- 编程语言无二义性
AI编程的工作原理
模型层:底层还是基于大模型的能力,最初使用OpenAI Codex模型,它也是GTP-3.5、GTP-4的一部分
应用层:prompt engineering(提示词工程)
1. 组织上下文:光标前和光标后的代码片段
2. 获取代码片段:其他相关代码片段。当前文件和其他打开的tab里的代码被切成每个60行的片段,用Jaccard相似度评分,取高分的
3. 修饰相关上下文:被取用的代码片段的路径
4. 优先级:根据一些代码常识判断补全输入内容的优先级
补全格式:在函数定义、类定义、if-else等之后,会补全整段代码,其他时候只补当前行
当前市面上的编程工具:
- GitHub Copilot --最强
- Bito --比Copilot多些创新
- Amazon CodeWhisperer --免费,AWS相关编程能力卓越
- Cursor
- Tabnine
- Tongyi Lingma --阿