Post

Which Copilot Feature for Which Task — A Decision Framework

Inline completion, Copilot Chat, Copilot Workspace, agent mode — four distinct tools with different costs and capabilities. A practical decision framework so engineers reach for the right tool instead of defaulting to the most expensive one.

Which Copilot Feature for Which Task — A Decision Framework

One of the clearest cost-control wins in the new Copilot pricing model is matching the tool to the task. Using Copilot Workspace for a task that inline completion handles is like hiring a senior consultant to do data entry — it’s not that the consultant can’t do it, it’s that it’s the wrong tool and you’re paying the wrong rate.

Here’s a decision framework for the four main Copilot modalities.


The Four Modalities

Inline completion — autocomplete suggestions as you type, accepted with Tab. Free under base subscription. Fast, low-friction, no explicit interaction required.

Copilot Chat — conversational AI in the IDE sidebar or inline. Premium requests. You ask questions, give instructions, get explanations. Includes /explain, /fix, /test, /doc slash commands.

Copilot Workspace — agentic multi-file editing. High cost. You describe a task; Copilot plans and implements changes across multiple files. Requires review before applying.

Agent mode (in VS Code) — Copilot operates autonomously, makes edits, runs terminal commands, iterates based on results. Highest cost per task. For complex, multi-step work.


The Decision Tree

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Is the task a single line or block completion?
  → YES: Use inline completion. Don't open Chat.

Is the task about understanding existing code?
  → YES: Use Chat with the code selected.
      Is the question simple ("what does this do")?
        → Use /explain. One request.
      Is the question complex ("why is this designed this way")?
        → Use Chat with context. One focused question.

Is the task generating new code for a clearly specified purpose?
  → Is it a standard pattern you've done before?
      → YES: Use inline completion or a one-shot Chat prompt.
      → NO (novel logic): Use Chat with constraints and format specified.

Does the task require changes across multiple files?
  → Are the changes mechanical and well-defined (rename, restructure)?
      → YES: Use Copilot Workspace.
  → Are the changes complex and require judgment at each step?
      → YES: Use agent mode — but consider whether a senior engineer
              should own this rather than delegating to AI.

Does the task require running code, testing, and iterating?
  → YES: Agent mode is appropriate. Set clear acceptance criteria first.

The Matrix Version

TaskRight toolWhy
Complete a method signatureInlineTab to accept, zero cost
Complete a standard pattern (loop, LINQ, async/await)InlineAI knows the pattern; no need for Chat
Write a simple unit test for an obvious caseInline or /testLow complexity, standard pattern
Explain what a complex function does/explainSingle request, scoped to selection
Fix a compiler error/fix with error selectedTargeted, one-request fix
Generate a full test suite for a serviceChat with specPremium request, but worth it for thoroughness
Write a PR descriptionPR summaryBuilt-in, moderate cost, high value
Refactor a single classChat with constraintsModerate cost, single file
Add a feature across 3+ filesCopilot WorkspaceMulti-file justified; review output
Implement a complete user storyAgent modeHigh cost — ensure task is well-defined first
Debug a subtle production issueChat (diagnostic)Not agent — you want to understand, not delegate

The Common Mismatches (Where Cost Gets Wasted)

Using Chat when inline would have done it. Opening Chat to ask “write a null check for this variable” when pressing Tab would have produced the same result. If you’re not sure whether inline will handle it, try Tab first.

Using Workspace for single-file changes. Copilot Workspace is optimised for multi-file, and its overhead (planning, review) isn’t worth it for a change that’s logically contained in one file. Chat with the file open is faster and cheaper.

Using agent mode for well-defined simple tasks. Agent mode shines for open-ended tasks where the AI needs to figure out the steps. For tasks where you know exactly what you want, a direct Chat prompt with constraints is faster, cheaper, and gives you more control.

Using Chat without slash commands when a slash command applies. /explain, /fix, /test, and /doc are optimised for their specific tasks. “Can you explain this code?” is a general prompt; /explain with code selected is a scoped, efficient request. Use the purpose-built commands when they apply.


Making the Framework Stick

A framework only helps if engineers use it under the natural time pressure of the workday.

The practical implementation: put a short version (the table above, or the decision tree) in your team’s wiki or Copilot prompt library. Reference it during onboarding. Mention it in code review when you see a mismatch — “this looks like it could have been an inline completion; let’s discuss”.

The goal isn’t rigid rule-following — it’s building intuition about tool appropriateness. Engineers who’ve thought through the framework once apply it instinctively.


Day 4 of the Copilot pricing series. Previous: Prompt Patterns That Cut Copilot Costs Without Cutting Value

This post is licensed under CC BY 4.0 by the author.