Agent 优先开发模式简介
编写代码的方式正在发生变化。你仍然可以亲自编写每一行代码,这在特定用例中可能是合适的。但行业内正在兴起另一种模式,即在编程中使用代理,通常称为代理式编程 (agentic programming) 或代理优先开发 (agent-first development)。
你不再需要编写每一行代码,而是指导 AI 编码代理去读取你的代码库、进行编辑、运行命令、修复自身的错误并完成工作。这些代理在一个循环中运行。你提供指令,代理执行操作,你进行纠正,如此循环直到达成目标。
本指南涵盖了在 VS Code 和 GitHub Copilot 中开启首次代理会话所需的一切知识。
开始之前,请安装 VS Code 并 设置 GitHub Copilot。
实现出色代理结果的五大支柱
代理并非魔法。出色的结果源于五个要素的协同工作。
- 底座 (Harness) - 将模型连接到你的工具和工作区的软件层。
- 模型 (Model) - 进行推理并生成代码的 AI。
- 上下文 (Context) - 帮助代理理解你的项目的文件、说明和详细信息。
- 工具 (Tools) - 代理可以执行的操作,例如读取文件、运行命令和搜索。
- 提示词 (Prompt) - 你给代理的指令。
只要这五点都做好了,代理就能取得显著的成果。如果缺失其中任何一点,结果就会变得杂乱无章。
底座 (The harness)
在 VS Code 中,GitHub Copilot Chat 面板就是你的底座。底座是包裹在模型周围的软件层,除了“思考”之外,它负责处理一切事务。
你可以将底座想象成汽车的线束。引擎负责动力输出,而线束将其连接到仪表盘、控制器和传感器,从而使动力变得可用。
底座赋予代理的能力:
- 深入你的工作区,从而读取和理解你的文件。
- 一个终端,用于运行命令和执行代码。
- 编辑功能,用于直接对你的代码库应用更改。
代理模式
底座还通过三种模式控制代理的自主程度。
| 模式 | 行为 |
|---|---|
| 询问 (Ask) | 往复式对话。无编辑,无命令。 |
| 规划 (Plan) | 概述它将要做的事情,但在采取行动前会等待批准。 |
| 代理 | 完全自主。它会规划、执行和迭代,直到任务完成。 |

如果你是初学者,“询问”或“计划”是很好的切入点。准备好实施时,再切换到“代理”模式。
模型 (The model)
GitHub Copilot 通过模型选择器为你提供多种模型选择。模型是进行推理并生成代码的 AI。
你可以通过“思考力度”级别来控制模型的思考深度。
- 低 (Low),推理较少,响应较快。最适合格式化、样板代码和简单修复。
- 中 (Medium),推理与速度平衡。适合重构、代码审查和标准实现。
- 高 (High),最大程度的推理深度。最适合架构决策、多文件重构和困难的调试。
此外还有 自动 (Auto) 模式,它会根据容量和性能选择最佳可用模型,从而减少速率限制、延迟和错误。

根据任务匹配思考力度。简单工作选低,标准编码选中,难题选高。
提示词 (The prompt)
提示词是你发送给代理的消息,包括你的指令、目标和要求。这是你控制输出质量最重要的手段。
以下是一个入门的基础提示词。
在继续之前,请确保已安装 Python 3.13 或更高版本 以及 uv。代理将使用这两者来设置和运行项目。
Using Python 3.13 and uv, implement a base62 encoder/decoder.

这可以让代理开始工作,但你越具体,结果就越好。引用现有文件,指定要遵循的模式,并清晰定义范围。我们将在后续指南中深入探讨提示词策略。
上下文
上下文是代理用来理解你的代码库、文件、对话历史、说明和搜索结果的一切信息。模型经过通用信息训练,但它们需要关于你代码库的上下文才能完成有用的工作。
代理可以通过搜索你的工作区和读取文件自动收集上下文。你也可以手动提供。
- 点击聊天输入框中的
+图标来附加特定的文件或文件夹。 - 输入
#来引用特定的上下文来源,例如#codebase、#file或#fetch。
上下文平衡是一门艺术。信息过多会使代理困惑,信息过少则缺失必要的细节。我们有专门的指南深入探讨 上下文策略。
工具
工具是代理可以执行的操作。你看到的代理采取的每一个动作(读取文件、编写代码或运行命令)都是一次工具调用。你可以通过选择聊天输入框中的工具图标查看所有可用工具。

内置工具包括:
| 工具 | 功能 |
|---|---|
| read | 读取工作区中的文件。 |
| edit | 编辑工作区中的文件。 |
| execute | 在你的机器上运行命令和执行代码。 |
| search | 在整个工作区中搜索文件和符号。 |
| browser | 打开并与网页交互。 |
| web | 从网络获取信息和文档。 |
| agent | 将任务委派给子代理。 |
| vscode | 使用 VS Code 的功能和命令。 |
| todo | 管理和跟踪待办事项以进行任务规划。 |

每个工具都有一个复选框,你可以针对每个会话启用或禁用它。工具越多意味着功能越强,但工具太多可能会让代理困惑该使用哪个。请根据手头的任务选择性地使用工具集。
你可以通过 MCP 服务器和 VS Code 扩展来扩展这个集合,我们将在以后的指南中介绍。
批准 (Approvals)
当代理第一次想要运行终端命令时,它会暂停并请求许可。在没有事先询问的情况下,代理不会在你的机器上运行命令。

审查命令,如果没问题,请选择 允许 (Allow)。如果看起来不对劲,请选择 跳过 (Skip) 并修正方向。
接下来是什么
现在你已经掌握了驱动出色代理结果的核心概念:底座、模型、上下文、工具和提示词。代理已经能够构建真实的东西了——现在关键在于学习如何很好地指导它。
在 下一篇指南 中,我们将深入介绍批准系统,看看如何控制代理的自主性,并了解如何在会话运行过程中监控你的上下文预算。