大家好,我是 同学小张,+v: jasper_8017 一起交流,持续学习C++进阶、OpenGL、WebGL知识和AI大模型应用实战案例,持续分享,欢迎大家点赞+关注,共同学习和进步。
目前市面上辅助编程的工具很多,也已经逐步进入了程序员们的工作当中,为程序员编程提供了便利。其中以 GitHub Copilot 工具为最,即使要付费使用,也吸引了大量的用户,可见AI辅助编程深受大家的喜爱和期待。
本文以 GitHub Copilot 为例,探索其背后的实现原理。
文章目录
1. 背后模型
GitHub Copilot 最初使用 OpenAI Codex 模型,它也是 GPT-3.5、GPT-4 的一部分。最新版本支持使用模型 GTP-4o。
2021年,OpenAI发布了与GitHub合作构建的多语言Codex模型。这个模型是GPT-3的一个分支,其原始功能是根据文本提示生成自然语言。但Codex模型的不同之处在于,它经过了数十亿行公共代码的训练——因此,除了自然语言输出外,它还产生了代码建议。
了解其背后使用的模型即可,不必深入。下面我们重点来看,GitHub Copilot 在模型之上的应用层做了什么逻辑,经过了什么处理,让这个应用如此火爆。
2. 模型之上的应用层逻辑 - 提示词工程
先说结论:目前为止,在模型之上的应用层,GitHub Copilot 主要是做的 Prompt Engineering,也就是想方设法给大模型喂最相关最正确的提示词和文本,以此来获取比较优质的结果。这也符合当前大模型应用开发的核心,我认为目前大模型应用开发最重要的还是提示词工程,其它的一些容错、逻辑处理、工具调用等都依赖提示词的准确性。
那么,这个提示词应该如何构建,应该包含哪些内容呢?众所周知,所有大模型都有一个上下文长度的限制,所以这就需要我们对提示词中包含的内容作筛选、排序,筛选和排序出与当前代码最相关的上下文。
2.1 提示词构建的时机
提示词的组建由后台算法在编码的任何阶段生成,所以在使用 GitHub Cop
订阅专栏 解锁全文
682

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



