译者 | 布加迪
审校 | 重楼
无论你是软件开发新手还是领有几十年的丰盛阅历,总是须要学习新常识。TIOBE Index追踪50种最受欢迎的编程言语,许多生态系统为职业开展和横向转型提供了时机。鉴于现有技术具备的广度,抽空学习一项新技艺并有效运用技艺或者艰巨重重。
最近我不时在尝试学习Rust言语,这是一种器重性能、牢靠性和消费劲的类型安保言语。我在此环节中学到了经常使用AI编程助手的若干技巧,想与你分享,以改善你的学习体验。
文章最后列有几项基于AI的新技艺,你可以在学习环节中运用起来,放慢成功指标。我在本文所说的AI是指基于大言语模型(LLM)的AI驱动的编程助手,比如Amazon Q Developer(前身是CodeWhisperer)、GitHub Copilot和JetBrains AI Assistant。你可以将上方一切技巧运用到所选用的工具上。
对参数化常识持疑心态度
“参数化常识”是训练环节中存储在模型中的消息。编码数据是AI通常能够极速照应、提供准确消息的要素。不过,AI有时刻也会给出重大失误的答案。
这对咱们用户来说象征着什么?只管这些系统或者大有协助,但它们遭到搜集数据和训练模型所需的期间和资源的限度。比如说,OpenAI经常使用截至2023年12月的消息训练ChatGPT 4 Turbo模型,数据集的内容是未知的。从用户的角度来看,任何特定的模型中能否存在“完整”的常识、为什么有时咱们或者对其照应不感兴味都是不确定的。
只管AI通常会有所协助,但在任何学习环节中,通过验证的人类常识起源仍将是最有价值的。这倒不是说AI系一直是错的,但你须要养成质疑自己经常使用的消息能否正确的习气。另一个须要审慎的要素是,这些系统的创立者将它们训练成乐于助人的助手。有时它们或者“太乐于助人”了,生成或者不存在的想法和概念,即幻觉现象。
总而言之,只要“真正的自动”能力了解AI何时犯错。
阅读代码和揭示以解释
开源软件静止为每个学习编程的程序员提供了轻松访问消费级代码的途径。开源代码库提供了一个很好的时机,可以了解专业人员如何编写代码,并学习言语习惯用法和技巧等。然而假设没有基本的参考框架或基本的了解,阅读一门不相熟的言语或者令人生畏、一头雾水。
我不时在经常使用的一种技术是在盛行的代码共享网站GitHub上查找特定言语的代码,并将其粘贴到AI聊天会话中,一并粘贴的还有揭示“请解释该代码”和“请列出该代码块中出现的关键言语概念”。
该揭示的模板或者如下所示。
Please explain the following codeAlso list the important language concepts from the description a bulleted list so may more research
因此生成的主题列表是一种很好的模式,可以让我把学习的重点放在当下最关键的事项上,而不是试图一次性排汇整个图书馆的消息。
JetBrains AI Assistant将准许你存储揭示模板供重复经常使用,你在不同的名目之间跳转时这十分有用。
具体内嵌注释的揭示
当你还没有齐全把握一门言语的语法或语义时,一大堆代码或者让人望而生畏。经常使用揭示“为每行注释”是一种极速而便捷的方法,可以大抵了解运行程序或者在做什么。
借助JetBrains AI Assistant,你还可以在并排或一致视图中取得变卦的Diff视图。视图准许你极速检查变卦,并选用接受或拒绝变卦。
尝试不同的选项
学习任何主题都触及实验,更关键的是,触及运用学到的概念。这关于找到一种实际有效的处置打算并了解何时尝试不同的方法至关关键。有了AI,尝试不同的成功方法从未像如今这样直观便捷。
上方是我用来发现Rust言语中便于启动后续钻研的性能个性的揭示。
Given the following show me three different implementations
记住,这事关学习,所以API不必定特意复杂。尝试想法让你得以发现AI聊天会话之外的不同窗习门路。这种技术十分杰出,特意是与传统的主题搜查相比;传统的主题搜查或者因你对特定主题的了解而遭到限度。
Amazon Q Developer等一些工具提供内联选项,准许你在不退出编辑器高低文的状况下循环处置示例。按左右方向键可以让你在诸选项之间移动,直至找到一个你青睐的选项。
更多的高低文一直更好
我在上方提到了LLM的嵌入消息限度。请记住,在这些服务或者不足消息的中央,能提供消息再好不过了,但你须要用正确的模式来提供。
在现代互联网搜查体验的训练下,咱们已学会在文本框中提出基于关键字的疑问。搜查式查问是我看到许多AI新手常犯的一个失误,这或者会让他们对结果感到绝望。在经常使用AI助手时,将AI聊天会话视为“搜查”是一个坏习气,由于LLM的创立者构建它们是为了预测用户或者想要什么。
启动更准确预测的最好方法是尽或者地具体和明白。
一个很有效的方法是基于示例的揭示。你提供的示例越多,结果就越准确。这里有一个模板揭示,可以协助你在学习环节中发现新的想法。
Given the following three examples what would an implementation look likeexample example example
你在聊天会话中输入的数据提供了成功预期结果所需的高低文。别惧怕纠正或增加更多的高低文。越多越好,由于模型有更多的消息作为照应的基础。
为了坚持对话启动、削减聊天会话的高低文,Amazon Q Developer为你提供了一组人造的后续疑问,确保你在学习环节中有踊跃性。
检查代码补全
大少数AI服务提供多行代码补全性能。只管我忍不住会接受编辑器中出现的一切选项,但这通常会阻碍我的学习环节。同样,我青睐从创立标明指标的代码注释入手。
在下图中,咱们看到GitHub Copilot被动示意可以补全我的语句。乍一看很不错,但我必定停上去细想这个选项,看看它能否合乎我的用意。在按Tab键之前,我要停上去。想想为什么?
这么做的要素是为了审核我目前的技艺能否能够阅读和处置代码。假设是,那我取得停顿。假设不是,那么我应该花期间去了解我的常识短板在哪里。永远不要接受你并没有齐全了解的代码、增加到代码库中。
留意,你可以性能该性能以缩小搅扰,只按需显示补全,以减轻在编写代码和读取代码之间切换的认知累赘。
解释失误,找到处置方法
面对每个编程堆栈,你都会遇到编译和运转时失误,其中一些失误或者很费解。假设你在设法了解为什么你的运行程序失败,无妨经常使用AI助手聊天会话来解释这个疑问,找到出现疑问的中央,并提出处置打算。
What exactly is the problem here my Rust backtrace Reduce the response to the file and line and explanation the error and propose a solution
上方这个例子标明了经常使用这个揭示来了解Rust回溯中出现了什么事件。
分享想法
只管经常使用AI聊天从一个话题切换到另一个话题或者觉得很人造,但放缓节拍、将你新发现的常识与其余常识从新咨询起来总是善报。一旦我学到了新概念,并创立了实际可用的示例,我会与其余学习者和专家分享,以取得贵重的反应。记住,AI只能对你的要求有所协助,而其他人会用他们的实践阅历加以丰盛,预测你或者疏忽的潜在圈套。
社交媒体平台是分享截图、代码示例和想法并取得贵重反应的好中央,你可以将这些反应归入到未来的AI聊天会话中。
总结聊天
这里有一个倡导送给那些不长于记笔记,但或者想要回想前一天上班的那些人。在长期间的学习完结后,无妨让的聊天会话总结你的一切疑问,并为每个疑问列出一句话的答案。
Given what we’ve chatted about list all the questions and a singlesentence summary each answer
照应是杰出的极速参考指南,供你的下一次性学习会话参考。这也是一篇很好的博文,你可以练习与他人分享你的想法和学习阅历。
用AI学得更快
我宿愿当你经常使用AI工具更极速、更有效地学习时,这些技巧对你有所协助。这些工具旨在帮你成功为自己设定的指标。我觉察它们在构成新想法和探求我不知道的想法方面大有协助。
最关键的是,它们让我与社区里的其他人建设了咨询,这些人拓宽了我的常识面。
原文题目:How to learn a programming language using AI,作者:Khalid Abuhakmeh
链接: