Github Copilot学习笔记

(一)Prompt Engineering

  • 利用AI工具生成prompt
  • 设计好的prompt结构
  • 使用MarkDown语法,按Role, Skills, Constrains, Background, Requirements和Demo这几个维度描述需求。然后收输入提示词:作为 [Role], 拥有 [Skills], 严格遵守 [Constrains],根据[Background]和[Requirements], 参考[Demo]开始工作.

1.Specific Persona 明确Copilot的身份

  • 好的例子

1.你是一个Senior的Typescript Developer,非常注重代码质量、抽象度、稳定性和代码执行效率

2.Break Down 任务拆解

  • 原则

1.AI最了解AI自己,与AI聊天,合作完成任务的拆解

2.不要试图在一次对话或者一个文件中让AI全部扫描,让它自己做拆分逐个学习和理解,反复提问

3.Specific Requirements with Constrain 明确需求,包括输入输出和实现标准及约束条件

目的明确

确定约束条件

用什么语言或格式输出

可以提供示例

4.Keep the context Relevant保持上下文关联

  • 原则

1.让AI逐个理解你的输入,询问它的疑惑点或者询问其是否对项目有了进一步的了解,check它理解的正确性,并考察它几个重要的概念,纠正它的错误理解,并最终让它编写"学习笔记",形成Knowledge Bases的Local MD文件

2.在具体功能细节上使用注释和函数作用声明

3.在Setttings中声明Instructions,文件内包含了对Copilot的各种规范、规则、和期望

4.由于GitHub Copilot 的Search能力,除了自带的Github Search之外,得基于第三方Participant(比如Bing),所以结合ChatGPT的Search能力帮助其进行竞品分析,这也是一个获取其他相关材料来投喂的一种方式

5.可以主动询问AI一次可以分析多少条case

6.当AI无法分析PDF或DOC等文件时,可以让它提供代码,转化成文本文件,然后作为AI的输入

(二)Reviewing and Redifining Suggestions

  • 原则

1.Check and then Accept, check的过程中如果发现AI理解或者建议错误,不要盲目接受,而是直接指出错误的地方,让它重新调整后再给出建议,不断的沟通和要求其调整,直到满意后才Accept

  • 好的例子

1.明确告知AI你给的是A,而我想要B,避免机械地重复给我B

2.先对其认知,询问它对需求的理解是什么,问它有什么困惑,并给予逐一回答并再三确认,先给予再要求输出

3.直接重开一个Chat

(三)Efficient Collaboration

  • 原则

从Chat到Edit到Inline,是一个从Overview到Detail,从整体到细节的过程,从High Level的讨论 (用Chat),到执行(Edit), 再到微调(Inline Suggestion)。这个流程下来,自己不用动手写一行代码,全程在指挥(聊天)

  • 好的例子

1.GitHub Copilot其实在代码相关的功能方面表现比较有优势,比如代码、命令行、注释、数据库查询生成;API与框架设计;代码解释、Debugging;以及IaC方面的建议生成等。 结合VSCode,可以直接进行文件编辑,比如测试用例编写。
ChatGPT 则能够在代码之外给出更多更详细的建议,有趣的是,我跟ChatGPT了解该如何用好GitHub Copilot,它倒是给出了不少有效的建议。

(四)Improvement

相关推荐
小马学嵌入式~2 分钟前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
索迪迈科技5 分钟前
java后端工程师进修ing(研一版 || day40)
java·开发语言·学习·算法
hour_go20 分钟前
用户态与内核态的深度解析:安全、效率与优化之道
笔记·操作系统
武文斌771 小时前
arm启动代码总结
arm开发·嵌入式硬件·学习
我怕是好2 小时前
学习stm32 蓝牙
stm32·嵌入式硬件·学习
索迪迈科技2 小时前
STM32F103C8T6开发板入门学习——点亮LED灯2
stm32·嵌入式硬件·学习
摇滚侠2 小时前
Vue3入门到实战,最新版vue3+TypeScript前端开发教程,笔记03
javascript·笔记·typescript
Learn Beyond Limits2 小时前
The learning process of Decision Tree Model|决策树模型学习过程
人工智能·深度学习·神经网络·学习·决策树·机器学习·ai
岑梓铭3 小时前
考研408《计算机组成原理》复习笔记,第六章(1)——总线概念
笔记·考研·408·计算机组成原理·计组
Suckerbin3 小时前
digitalworld.local: TORMENT
笔记·安全·web安全·网络安全