AI赋能编程实践:大模型辅助、精准提问与代码托管实战

以下这篇文章来自24智能制造的黄锦洋同学。黄锦洋同学以敏锐的洞察力和扎实的实践能力,为我们带来了这篇兼具深度与实用性的经验总结。文章不仅梳理了AI辅助编程的热门工具和高效提问的实操技巧,更结合个人经历,详尽介绍了代码管理与远程仓库的关键要点。强烈推荐大家认真阅读,相信你会收获新的思路与实用的方法。

写在前面

本篇分享我在学习编程过程中总结的一些经验,对我来说能提高学习效率。包括vscode配置大模型辅助、如何向AI提问-程序常用prompt(提示词)、远程仓库。如有错误,敬请指正。

vscode中配置大模型辅助编程

大模型的代码补全、注释生成、单元测试等功能能为开发进行强大的辅助。目前在vscode扩展商店中有多款辅助编程插件,包括GitHub Copilot、通义灵码、MarsCode AI(豆包)、CodeGeeX(智谱)等。此处仅介绍两个我个人常用的插件。

GitHub Copilot - 注册账户后国内稳定使用 有免费额度

由于众所周知的原因,GitHub在国内访问时好时坏。此方法仅供参考,网络因素请自行解决。

优点: 免费版目前可以选择Claude 3.5 Sonnet或GPT-4o模型,每月可以调用 2000 次生成和补全代码,以及 50 次聊天信息。免费额度已经足够日常学习使用,请不要过度使用AI。 在编程过程中Copilot不会进行过多干预,可以按照提示的代码手动输入,推荐学习使用。

缺点:需要GitHub账号

使用方式:
1.在扩展商店中安装GitHub Copilot
2.注册GitHub账户(最难的部分)
3.点击vscode上方的搜索框右方的按钮,登录
4.开始对话

通义灵码 - 国内网络环境推荐

通义灵码是一款阿里巴巴开发的插件,需要登录。可选模型有 qwen-2.5、qwen2.5-max(beta)、deepseekR1、deepseekV3(slow response)。

优点:完全免费。国内网络可以正常访问。可以使用deepseekR1和V3,当做deepseek启动器使用。deepseekR1的深度思考模式在生成复杂代码时虽用时长,但效果极佳。我在编写个人网页时也使用deepseekR1和V3进行辅助,V3模型应对简单问题,R1模型则可以生成我没有学习的JS代码。

缺点:编写代码过程中干预性强。(可在设置中关闭)

使用方式:
1.在扩展商店中安装TONGYI Lingma
2.在左侧快捷栏中找到通义灵码标签并点击
3.登录并使用

关闭自动代码补全:
1.点击通义灵码对话框上方的齿轮⚙️(Settings)
2.找到 Lingma: Cloud Model Auto Trigger Generate Length
3.设置为 Disable

如何向AI提问-程序常用prompt(提示词)

现在我们已经配置好了辅助模型,你可以选择deepseekV3这种”快语言模型”来解决确定性强的小问题,而用R1这种”推理模型”来解决较为复杂的、需要模型自由发挥的问题。

对于R1,我以一个实例,带你明白如何想大模型提问。

背景:我在编写个人网页时想要添加一个”音乐播放器”卡片,但我没有学过JavaScript,我就让AI帮我生成了一个。这里是一个复杂任务,交给R1更合适。

基本使用技巧:

  1. 讲清楚目标

核心思想:不需要给模型详细的步骤,只需定义清晰的目标。

“ 提问:我现在想要写一个音乐播放卡片,目的能够实现<播放> <暂停> <切换上下曲> <展示歌曲信息(包括封面 歌曲名 歌手名)>这些功能。

接下来的模型回复将略去代码部分。

“回复:

“效果:

此时我们只需要阅读AI提供的代码,将路径改为真实存在的,就能得到这样的效果:

追问

还不好看?功能不行?让模型帮忙改进一下吧!

“ 提问:我觉得小卡片的背景有点单调,而且进度条也不能拖动,帮我改改?

在追问的时候如果懒得按照模型提供的片段代码进行修改,也可以在提问的时候加上”请提供完整代码,我想直接复制粘贴。”

这样它就会给我们输出整个程序了。

“回复:

“效果:

很棒对吧!

修改

这个排版是否有点单调了?想让它横着排?专辑封面用圆角矩形?也可以啊。你想干什么,直接告诉模型就好了。

“ 提问:我感觉把这些信息横着排会更好,而且专辑封面我想用圆角矩形。请提供完整代码,我想直接复制粘贴。

“回复:

“效果:

  1. 提供背景信息 规定知识状态

核心:避免让模型猜测,明确任务背景以获得更精准的解决方案。

“ 提问:我是一个C语言编程初学者,请你作为我的老师,用通俗易懂的方法为我讲解C语言中指针是什么以及指针的应用。

“回复:

可以看到模型先是举了一个生活例子,帮助用户形成对指针的初步理解;然后再讲解指针的知识;最后还给出了练习建议。说明背景,让模型角色扮演,可以让模型成为亦师亦友的角色。

  1. 重新开始对话

核心:当模型给出的代码不符合我们的要求时,开始新一轮对话,重新描述是一个好的解决方法。此处不给实例。

  1. 批判性提问

核心:和第二点相似,让模型扮演批判家,让它指出你所写代码的不足之处,给出改进意见。

这里我让模型对我的个人主页进行建议。

“ 提问:请你扮演一位资深的<网站设计师>及<我的上司>,用<批判性的语言>指出这份网站改版方案的潜在风险和不足之处,并针对每个方面给出具体的改进建议。语言可以犀利一点。

“回复:

这样就可以针对模型给出的问题进行代码修改啦。你也可以试试让模型扮演“毒舌的XX设计师/程序员”,会有意想不到的结果。

远程仓库

我个人经历过电脑故障导致硬盘格式化,数据丢失。经过那次我就尝试把编程学习过程中产出的代码保存到远程仓库(git push)。此处介绍两个比较知名的仓库,且不深入介绍Git,仅介绍代码存储功能,如需使用Git请自行学习。

Gitee 与 GitHub 的对比

特性 Gitee GitHub
服务器位置 中国境内,访问速度快 全球分布,国内访问可能较慢
语言支持 中文界面,更适合中国用户 多语言支持,但以英文为主
开源社区 中国开源社区为主 全球最大的开源社区
访问稳定性 国内访问稳定 国内访问可能受网络限制

如有条件,我个人推荐GitHub。下面我以GitHub为例展示如何将代码托管到仓库。

创建GitHub账户并登录

在左上角找到 Repositories

找到绿色New按钮并点击创建

修改必要参数后点击绿色按钮创建仓库

提交代码 可选Upload files上传本地代码

提交完就可以看到文件了,支持直接提交文件夹。

写在最后

感谢大家读到这里。在编写本文的时候我也学到了很多,希望我的一点经验能对大家有所帮助。本文参考了“秋芝2046知识库”,使用deepseekR1和V3辅助生成文章。科技改变生活,希望看到这里的你能善用科技,学有所成。

另外,这里是我的个人网页 https://dzuisk.github.io/,欢迎来玩。