1. 使用 GitHub Copilot(下文略称为 Copilot)生成的代码并不能保证能编译成功或者可运行,这种妥协其实直接反应了使用机器学习的 Copilot 生成代码可能先天上就与我们在编程中追求的正确性不匹配(mismatch)。和类似的 mismatch 的编程情况相类似,这将导致种种问题并且我们需要使用各种方式来弥这种缺陷。

  2. 和机翻类似。现今应有很多作品都经过了机翻,后再人工改进使我们认为这这些是正常翻译后的作品。对比和一个有良好翻译素养的人翻译的作品,在很多情况下是有很大差异的。 当我们用类似的手段(指用 Copilot 补全代码)后再改进代码的这种编写代码的新形式中,我们对于代码的实现其实被定式了。我们很有可能在编写前从未仔细思考过代码的实现或者在看到 Copilot 补全后的代码而在潜意识里排除了其他的实现,而导致未成从自我的角度重新构建出代码(甚至是你的代码世界)。你可能脑海里原本有一个更好的代码实现但是你已然不再留意它。你的代码水平变成了修缮而不是重新塑造。这也变扼杀了你的想象力和职业技能。

  3. 当你编写用于在生产环境的代码时,你在使用一种新的未经检验但是看上去取巧的方式,这很不专业。