Appearance
Copilot CLI 的 Autopilot 模式让 AI 在收到初始指令后自动执行多个步骤直到任务完成,无需你在每步后手动确认。适合运行测试、修复 CI 失败、批量重构等有明确目标的任务。与 Claude Code 的 --autorun 模式类似,核心逻辑都是"给目标、放手让 AI 跑"。
GitHub Copilot CLI Autopilot 模式:让 AI 自动完成多步骤任务
什么是 Autopilot 模式
Autopilot(自动驾驶)模式下,Copilot CLI 收到你的初始指令后,会自主执行多个步骤直到任务完成或遇到无法解决的阻塞——整个过程不需要你在每一步手动批准。
普通模式 vs Autopilot 模式:
| 模式 | 每步确认 | 适合场景 |
|---|---|---|
| 普通交互模式 | 需要,逐步确认 | 不确定目标、需要随时介入调整 |
| Autopilot 模式 | 不需要 | 目标明确的批量任务、CI 修复、自动化脚本 |
启用 Autopilot
交互模式中切换:
按 Shift+Tab 进入 Autopilot 模式,然后输入你的指令。再次按 Shift+Tab 可切换回普通模式。
命令行直接启用:
bash
# 直接以 Autopilot 模式运行
copilot --autopilot -p "修复所有失败的单元测试"
# 推荐:同时开放权限,避免 AI 在执行过程中被权限拦截
copilot --autopilot --yolo -p "修复所有失败的单元测试"
# 限制最大自动执行步数(防止失控)
copilot --autopilot --yolo --max-autopilot-continues 10 -p "优化 utils/ 目录下所有函数的类型注解"权限配置与安全
启动 Autopilot 时,会出现权限确认提示:
- Enable all permissions(推荐):相当于
/allow-all/--yolo,开放所有工具和路径权限 - Continue with limited permissions:保持当前权限配置
- Cancel:取消
重要:权限是累加的,不是开关。开启
/allow-all后,无法在会话中再次运行同一命令来"关闭"它。
--allow-all 和 --autopilot 的关系
容易混淆的两个参数:
| 参数 | 作用 |
|---|---|
--allow-all / --yolo | 开放所有工具权限,但不跳过决策点 |
--autopilot | 让 AI 自主执行多步,跳过手动确认 |
--no-ask-user | 跳过 AI 向你提问,但不自主执行多步 |
Autopilot 的完整自主模式 = --autopilot + --allow-all(--yolo)。
典型使用场景
修复 CI 失败
bash
copilot --autopilot --yolo -p "查看最新 CI 失败日志,找到根因并修复"批量重构
bash
copilot --autopilot --yolo --max-autopilot-continues 20 \
-p "把 src/ 目录下所有 CommonJS require() 改成 ES Module import"编写测试
bash
copilot --autopilot --yolo -p "为 lib/ 目录下所有没有对应 .test.ts 文件的模块补写单元测试"在交互模式中用 Autopilot
- 先以普通模式和 Copilot 沟通,制定计划(Plan Mode)
- 确认计划没问题后,切到 Autopilot 模式
- 接受计划并让 Copilot 自动执行
这样能在"人工把关计划"和"AI 自动执行"之间取得平衡,是比较推荐的工作流。
成本注意事项
Autopilot 模式中每个自主步骤都会消耗 Premium Request 额度,且可能触发更高的模型乘数。
建议:
- 使用
--max-autopilot-continues限制最大步数,防止额度意外消耗 - 查看
/context命令监控上下文和请求使用情况 - 对于长时间任务,定期用
/compact压缩上下文节省 token
与 Claude Code --autorun 的对比
如果你同时在用 Claude Code,两者的 Autopilot 概念类似:
| 工具 | 自动执行命令 | 权限控制 |
|---|---|---|
| Copilot CLI Autopilot | --autopilot --yolo | 会话级 --allow-all |
| Claude Code | --autorun | 会话级 --allowedTools |
Copilot CLI 的 snapshot/rollback 机制(Esc 键回滚)在 Autopilot 模式下尤其有用,出问题随时可以回滚到之前状态。
常见问题
Q: Autopilot 模式下 AI 如果遇到问题会怎样?
A: 遇到无法独立解决的问题时,Copilot 会暂停并向你提问。你可以回答后让它继续,或手动介入。
Q: --max-autopilot-continues 设多少合适?
A: 一般任务 5-10 步够用;复杂重构可以设 20-30。如果 AI 在很多步内还没完成,通常说明任务描述需要更精确,或任务本身太复杂,应该拆分。
Q: 可以在 CI/CD 流程中用 Autopilot 吗?
A: 可以。配合 COPILOT_GITHUB_TOKEN 环境变量认证,--autopilot --yolo -p "..." 可以在无人值守的 CI 环境中运行。注意设置 --max-autopilot-continues 防止无限循环。