目前我们在尝试Copilot时,有如下问题或者疑问,可在准备经验分享时参考

  1. 生成的代码和注释经常有错误,需要开发者人工修复。

    1. 代码和注释错误需要人工修复 - 这是目前AI助手的局限性,仍需要人工仔细review。建议把AI助手更多地作为编程辅助工具,而不是完全依赖。
  2. 请求响应速度较慢,得不到提示时不确定Copilot是否存在。

    1. Minna Liu正在优化Copilot网络问题,可以咨询他

    2. 网络连通并且已经登录,Copilot就一直存在

    3. 可以打开logs查看,右下角也有对应的loading图标

      Untitled

  3. 不支持整个代码仓库的分析和问答,只能以小范围代码作为上下文进行分析和问答

    1. 上下文有限,无法读取全部文件
      1. 现在可以读取多个文件
    2. 可以自己使用脚本将代码压缩到一个文件中,供ai读取
  4. 提示的代码比较老旧,不适用于新版本的运行时

    1. 在上下文中为copilot提供依赖版本信息
    2. 人工指定使用依赖的版本
  5. 在不指定技术栈的情况下,AI助手给出的解决方案往往不会使用最合适的技术。未来可能需要通过某种方式为AI助手建立上下文,说明团队的技术偏好

    1. 如果项目没有过往代码,需要将语言偏好提供给ai助手
    2. 如果有过往代码,目前没有发现提供不符合当前项目语言偏好的回答
  6. 生成测试代码时,有时AI助手没有考虑当前项目适用的测试框架和文件夹结构,开发者仍需要根据生成的代码做一些调整

    1. 提供更多上下文,包含层级信息
    2. 目前可能无法生成完全不需要修改的代码,所以是copilot ⇒ 副驾驶,它是效率提升工具
  7. 由于AI助手生成的测试针对的上下文有限,反而会引导开发者编写的组件代码更加“单元”一些。

    1. 引导编写更加"单元"的组件代码 - 这其实是件好事,促进了更加模块化、可测试的代码。但AI助手生成的测试仍需结合人工分析进行补充
  8. PyCharm的Copilot插件能比VSCode的多读取一些文件上下文,VSCode目前只能读取当前文件,甚至仅选中的行。VSCode是否能有配置也多读取几个文件?

    1. 建议使用copilot chat

总的来说,AI编程助手大有可为,但目前仍处于早期阶段,离完全替代人工还有不小差距。建议以开放、谨慎的态度去使用,把其视为效率工具,而不是银弹。未来随着自然语言处理、知识表示、少样本学习等AI技术的进步,编程助手的能力必将不断提升。