Ask, Edit, & Agent - In-depth Overview of GitHub Copilot Chat Modes

The video provides a detailed overview of GitHub Copilot Chat modes—Ask, Edit, and Agent—highlighting their unique functions for coding assistance, collaboration, and automation within Visual Studio Code. It emphasizes understanding each mode’s strengths and best practices to enhance productivity, from quick guidance and iterative development to complex automation tasks.

The video provides an in-depth overview of the different chat modes available in GitHub Copilot within Visual Studio Code, focusing on Ask, Edit, and Agent modes. The hosts, James and Burke Holland, explain that these modes serve distinct purposes and are useful in various development scenarios. Ask mode functions as a standard chat where developers can brainstorm, ask questions about their code or project, and receive guidance without making any changes directly. Burke demonstrates how Ask mode can be used to inquire about best practices, understand code snippets, or get suggestions, all while maintaining full control over the changes and how they are applied.

In Ask mode, users can reference their project files, add context, and even include entire folders or problems to help the AI provide more accurate and relevant responses. Burke highlights features like smart apply, which allows code suggestions to be inserted directly into files with minimal effort, and the ability to review diffs in real-time. The mode is particularly useful for learning, troubleshooting, and making incremental improvements, as it offers a safe environment where the AI’s suggestions are in memory until explicitly saved. The interface also includes options for managing multiple models, with various options tailored for specific tasks, from general questions to tool calling, depending on the complexity of the task.

Moving beyond Ask mode, Burke introduces Edit mode as a more interactive, sandbox-like environment where developers can work alongside Copilot to implement changes. Unlike Ask mode, which is purely consultative, Edit mode allows for iterative development, where the AI can make multiple adjustments, create new files, or modify existing ones based on the developer’s instructions. Burke emphasizes that Edit mode is ideal for more hands-on tasks, such as refactoring, UI improvements, or implementing features, with the AI acting as a collaborative partner that can self-review and even fix its own mistakes, leading to more refined results.

Agent mode is described as the most autonomous and powerful of the three, functioning like a virtual developer that can perform complex tasks independently. Burke explains that in Agent mode, the AI can run commands, install dependencies, modify multiple files, and even chain tasks together, such as creating issues, triaging bugs, or implementing features across the codebase. The AI can call external tools and MCP servers to interact with databases, GitHub, or other services, making it suitable for large-scale automation and project management. Burke demonstrates how Agent mode can handle tasks like fixing bugs, adding new components, or even implementing entire features with minimal input from the developer.

Throughout the video, Burke emphasizes the importance of understanding the strengths and limitations of each mode to maximize productivity. He advocates for using Ask mode for learning and quick guidance, Edit mode for collaborative development, and Agent mode for automation and complex tasks. Burke also discusses best practices, such as running Agent mode in a dev container for safety, chaining tools for multi-step workflows, and providing clear, specific instructions to get the best results. The hosts encourage viewers to experiment with all modes, leverage the different models, and provide feedback to improve the experience, ultimately aiming to make coding more efficient, enjoyable, and innovative.