有关何时使用 Autopilot 模式以及移交任务前要考虑的内容的概述,请参阅 允许GitHub Copilot自主工作。
启动或切换到 Autopilot 模式
可以从交互式 Copilot CLI 会话启动 Autopilot 模式。
-
在终端中,启动 CLI:
Shell copilot
copilot -
按 Shift+Tab ,直到状态行显示 Autopilot 模式。
-
如果 CLI 询问如何处理权限,请选择是启用所有权限、对会话使用手动审批还是取消。
-
输入包含结果以及您期望的检查项的特定提示。 例如:
Add pagination to the users API. Preserve the existing response fields, add tests for the first and final pages, and run the API test suite.
还可以使用 /autopilot 斜杠命令启动或重新聚焦 Autopilot 模式:
/autopilot Fix the failing API tests and verify the full test suite
若要离开 Autopilot 模式,请按 Shift+Tab 以切换到另一种模式。
从计划迁移到 Autopilot 模式
对于复杂的工作,请在允许自主执行之前创建和审查计划。
- 在交互式会话中,按 Shift+Tab ,直到状态行显示计划模式。
- 输入描述更改、约束和所需验证的提示。
- 查看计划并要求 Copilot 对其进行修改,直到它符合你的要求。
- 选择 “接受计划”,然后在 Autopilot 执行模式下继续。
- 如果出现提示,请选择适合该任务的权限。
- 监视实现,然后查看生成的更改和测试输出。
若要从命令行启动 plan-then-Autopilot 会话,请输入:
copilot --plan --mode autopilot
copilot --plan --mode autopilot
当计划准备就绪时,此命令会自动从规划模式切换到 Autopilot 模式。 它不会等待交互式计划审批。 有关确切的行为和兼容选项,请参阅 GitHub Copilot CLI 命令参考。
配置权限
进入 Autopilot 模式时,如果尚未授予 Copilot 所有权限,则会显示一条消息,提示你在三个选项之间进行选择:
1. Enable all permissions (recommended)
2. Use Manual Approval for this session
3. Cancel (Esc)
如果启用所有权限,你将从 Autopilot 模式获得最佳结果。 如果选择手动审批, Copilot 将自动拒绝需要审批的任何工具请求,这可能会阻止其完成某些任务。 稍后可以在 Autopilot 会话期间使用命令 /yolo(或其别名 /allow-all)更改主意并授予完全权限。
在授予 Copilot 各种权限之前,请考虑使用本地沙盒或在云沙盒中运行会话,以限制可以访问的内容 Copilot 。
如果在使用 Autopilot 模式时启用本地沙盒,Copilot 会在不受中断的情况下完成其在沙盒内能够执行的任何操作。 但是,任何需要逃逸沙盒的步骤——例如向当前工作目录之外的文件写入内容——都会被拒绝。 有关本地沙盒的更多信息,请参阅 关于 GitHub Copilot 的本地沙盒。
比较 Autopilot 模式、--allow-all 和 --no-ask-user
这些控件会影响 Copilot CLI 如何工作的各个独立方面:
- 自动驾驶模式控制继续运行。 代理可以执行后续步骤,这些步骤需要与 AI 模型进行额外的交互,而无需等待其他提示。
- **
--allow-all**及其别名--yolo控制审批。 它们允许代理无需请求权限即可使用所有工具、路径和 URL,但不启用自主继续执行。 在交互模式下,代理在需要进一步指示时仍会停止。 --no-ask-user抑制提出澄清性问题。 除非还启用了 Autopilot 模式,否则代理会做出决策,而不是请求输入,但不会在连续的模型交互中继续进行。
在交互式会话期间,可以使用 /allow-all 或 /yolo 启用所有权限。
注意
/allow-all 和 /yolo 命令为当前会话启用所有权限。 再次输入任一命令不会禁用权限。
有关权限的可用命令选项的更多详细信息,请参阅 GitHub Copilot CLI 命令参考。
限制自主运行的任务
使用限制来防止任务持续更长时间或消耗比您预期更多的 AI credits。
- 使用
--max-autopilot-continues=COUNT为自动延续消息设置上限。 - 使用
--max-ai-credits=CREDITS设置软 AI credit 限制,以供编程方式使用。 - 在交互式会话中,使用
/limits检查或更改 AI credit 限制。
有关当前默认值和接受的值,请参阅 GitHub Copilot CLI 命令参考。 有关AI credit限制的操作步骤,请参阅在 AI credit 中设置 GitHub Copilot CLI 会话限制。
停止和审阅工作
-
若要中断正在运行的轮次,请按 Esc 两次。
-
若要防止下一次提示在 Autopilot 模式下运行,请按 Shift+Tab 键以选择另一种模式。
-
查看代理更改的文件。 在 CLI 中,可以使用以下命令打开差异视图:
/diff -
在提交或推送更改之前,先运行相关的测试、linters 和安全检查。
有关所有中断和评审控件,请参阅 GitHub Copilot CLI 命令参考。
选择下一个任务的模式
默认情况下,Autopilot 模式是粘滞模式:一旦 Copilot 确定任务已完成,Copilot CLI 将保留在 Autopilot 模式下,因此你输入的下一个提示也会在 Autopilot 模式下处理。 可以通过按 Shift+Tab 随时切换回标准交互模式。
如果希望Copilot CLI在每个任务完成后自动切换回交互模式,可以通过设置为 “stayInAutopilot``false禁用此行为”。 可以通过以下任一方式来进行:
- 在交互式会话期间,输入
/settings stayInAutopilot false。 - 将
"stayInAutopilot": false添加到你的用户配置文件(~/.copilot/settings.json)中。 有关详细信息,请参阅“GitHub Copilot CLI 配置目录”。
禁用此设置后,任务完成后 Copilot 会自动切换回标准交互模式。 若要在 Autopilot 模式下运行另一个任务,请按 Shift+Tab 并循环浏览可用模式,直到重新进入 Autopilot 模式,然后输入下一个提示。
注意
此设置仅控制任务完成后处于哪个模式。__ 它不会导致 Copilot 在其判定任务已完成后继续工作。 当任务完成、出现问题、按 Ctrl+C 或达到延续限制时,Autopilot 仍会停止。
以编程方式运行 Autopilot 模式
对脚本或其他非交互式工作流使用程序化 Autopilot 模式,其中 CLI 必须在初始提示后继续。
-
确定任务所需的权限。
-
设置适合任务的续写限制或 AI credit 限制。
-
使用
-p和--autopilot运行提示。 例如:Shell copilot --autopilot --yolo --max-autopilot-continues 10 -p“你的提示在这里”
copilot --autopilot --yolo --max-autopilot-continues 10 -p“你的提示在这里”将
YOUR PROMPT HERE替换为特定任务。 此示例授予所有权限,并将自动延续的最大数目设为10。
有关编程选项的完整列表,请参阅 GitHub Copilot 命令行界面编程参考 和 GitHub Copilot CLI 命令参考。