Skip to content

GitHub Copilot 是辅助工具,不是替代品。本页整理官方推荐的使用原则:什么任务用内联建议,什么任务用 Chat;怎样写出高质量的 Prompt;以及如何正确审查和验证 AI 给出的代码建议。

GitHub Copilot 最佳实践:让 AI 辅助编程真正提升效率的 10 个原则

核心原则:辅助你,不替代你

GitHub 官方的定位很明确:Copilot 辅助你,不替代你的专业判断。高效使用 Copilot 的前提是你自己理解代码,而不是把理解的责任也交给 AI。

原则一:选对工具

不同功能适合不同场景,混用会降低效率:

任务类型推荐工具
补全变量名、重复代码、简单测试内联建议(直接打字)
代码解释、架构问答、修复 BugCopilot Chat
生成较大代码段、复杂重构Chat + Agent 模式
跨多文件的完整功能开发Cloud Agent / Copilot CLI
终端命令、CI/CD 自动化Copilot CLI

原则二:写高质量的 Prompt

明确需求,不模糊

❌ 帮我优化这段代码
✅ 帮我优化这段代码,减少数据库查询次数,目前每次渲染都会查询一次

提供示例

❌ 生成一个用户注册接口
✅ 生成一个用户注册接口,接受 {email, password, username},密码用 bcrypt 哈希,成功返回 {id, email, createdAt}

拆解复杂任务

一个 Prompt 解决一件事,不要把五个需求堆在一起。

原则三:给 Copilot 合适的上下文

Copilot 看到的越相关,回答越准确:

  • 选中代码后再提问:不要让它猜你在说哪段代码
  • 打开相关文件:IDE 中打开的文件都会纳入上下文
  • #file 显式引用:不确定 Copilot 是否能看到某个文件时,用 #file:路径 明确指定
  • 关闭不相关的文件:减少干扰,让 Copilot 更聚焦

原则四:仔细审查 AI 的输出

Copilot 生成的代码不保证正确,审查是必须的:

  • 理解再采用:不要直接粘贴你看不懂的代码
  • 检查功能正确性:运行测试,手动验证边界情况
  • 检查安全性:AI 可能引入 SQL 注入、XSS、不安全的权限控制
  • 检查可维护性:AI 生成的代码有时啰嗦,可以让它精简

原则五:利用 Copilot 最擅长的场景

Copilot 在以下场景效果最好:

  • 写测试:生成单元测试、模拟 Edge case
  • 写重复性代码:表单验证、CRUD 操作、数据转换
  • 调试和解释语法错误:把报错粘进去,直接问修复方案
  • 生成正则表达式:描述需求,让 Copilot 写正则
  • 写代码注释和文档:用 /doc 快速生成

原则六:不满意时换思路

如果 Copilot 的回答不对:

  1. 换个角度提问:用不同的描述方式
  2. 拆解成更小的问题:一步步引导
  3. 提供反例:告诉它"不要这样做,改成..."
  4. 查看备选方案:内联建议支持 Alt+](下一条)查看其他建议

原则七:利用 Plan 模式控制 Agent 行为

Agent 模式功能强大,但可能执行你不想要的操作。使用 Plan 模式(/plan)先看方案:

  1. 描述任务,触发 Plan 模式
  2. Copilot 生成执行计划,不直接修改文件
  3. 你审查计划,确认没问题后再让它执行

这样可以在减少 Premium 请求消耗的同时,避免 Agent 走弯路。

原则八:持续关注新功能

Copilot 每隔几周就会发布新功能。关注 GitHub Changelog 或在 Copilot 设置页面开启新功能预览(Editor Preview Features)。

原则九:给 Copilot 正向/负向反馈

  • 接受建议 = 正向信号
  • 拒绝/忽略建议 = 负向信号
  • Chat 回答上的 👍/👎 = 直接反馈

反馈有助于 GitHub 持续优化模型和建议质量。

原则十:知道边界在哪里

Copilot 不擅长的场景:

  • 深度业务逻辑:需要你理解业务意图
  • 跨系统架构决策:AI 不了解你的全局约束
  • 安全审计:AI 发现不了所有漏洞,不能替代安全审查

常见问题

Q: Copilot 给了一段代码但我不确定对不对,怎么办?

A: 选中代码,在 Chat 里发 /explain 让它解释每行的作用。理解后再决定是否采用。如果有疑问,追问具体的逻辑细节。

Q: Copilot 的建议经常不符合我们项目的代码风格,怎么改善?

A: 在 .github/copilot-instructions.md 中写入项目代码规范(命名约定、框架偏好、禁止的模式等),所有 Chat 对话会自动遵守这些规范。

Q: 如何防止 Copilot 读取项目中的敏感文件?

A: 在仓库设置中配置「内容排除规则」(Content Exclusion),指定不允许 Copilot 访问的文件路径。详见内容排除配置