GitHub Copilot CLI’s Default Agents for Spring Boot Developers

GitHub Copilot CLI brings the Copilot coding agent into your terminal. Like Claude Code, it does not run as one monolithic assistant. It ships with a set of built-in agents and delegates work to them in separate context windows, so your main session stays focused instead of filling with file dumps and test output.

There are six default agents, not the three or four you may have seen quoted elsewhere. Here is the accurate set, what each does, and where it earns its keep on a multi-module Spring Boot codebase.

The six default agents

Agent What it does You reach it by
Explore Quick codebase analysis so you can ask about your code without adding to the main context A read prompt; delegated automatically
Task Runs commands like tests and builds, brief summary on success, full output on failure Delegated automatically when a command runs
General purpose Complex multi-step tasks needing the full toolset, in a separate context Delegated automatically
Code review Reviews changes, surfacing only genuine issues with minimal noise /review, or delegated
Research Deep research across your code, related repos, and the web, with a cited report A research prompt
Rubber duck A constructive critic that gives feedback on non-trivial work Used automatically; you never call it

Two of these you never invoke. Rubber duck is consulted on your behalf and will not appear when you run /agent, though Copilot may mention it as it works. The rest the model delegates to automatically based on the task, or you can steer explicitly.

How delegation actually works

The model running the CLI can hand a task to a subsidiary subagent if it judges the work will complete more effectively, or it can handle the work itself in the main agent. The subagent runs in its own context window, so the verbose middle of a task stays out of your main conversation and only the result comes back.

You also have two explicit, user-controlled modes:

  • Autopilot runs multi-step tasks locally without approving each step. Cycle into it with Shift+Tab.
  • /delegate hands the task to the Copilot cloud agent: it commits a checkpoint to a new branch, opens a draft PR, works in the background, and requests your review. Good for long-running work you want off your machine.

Which agent handles which Spring Boot layer

A request rarely lives in one layer. Here is how the work splits across a typical Spring Boot request path, what you type, and why that agent fits.

Layer What you prompt Agent Why that agent
@RestController endpoint “Explain the request flow for OrderController” then “Add a GET /orders/{id} endpoint with DTO and test” Explore, then General purpose Explore reads the call graph without bloating context; General purpose reads and writes the new code
Service facade “Show what OrderService orchestrates” then “Add a cancelOrder method” Explore, then General purpose The orchestration spans many beans, so Explore surveys them; the build needs read plus write
DAO / repository “List every query and @Transactional use in OrderRepository” then “Add findByStatusAndRegion Explore, then General purpose A read-heavy scan suits Explore; adding a query needs read plus write
Kafka consumer / producer “Find every consumer of order-events” then “Add a @KafkaListener for order-cancelled Explore, then General purpose Topic usage is spread across files; wiring a listener is a build task
External / stream API call “Where do we call the payment client?” then “Add a 2s timeout and fallback” Explore, then General purpose Explore finds the call sites; General purpose implements the handling
Spring Batch job “Trace the reader, processor, writer in ReconJob” then “Add a nightly reconciliation job” Explore, then General purpose The step graph is read-only discovery; new job config is read plus write
Run the test suite “Run the integration tests and report failures” Task Task runs the command and returns only the failures, keeping the @SpringBootTest wall of output out of your context
Review a change “Review my changes to the order flow” via /review Code review Independent review surfaces real issues with minimal noise
Evaluate an approach “Research how to migrate this module to Spring Boot 3 and cite sources” Research Pulls from your code, related repos, and the web, with a cited report you can act on
@Transactional / @Service / @Component boundary move Use plan mode (Shift+Tab) to plan moving the boundary, then approve Plan mode, then build A boundary move is expensive to get wrong, so plan and approve before edits

You never name most agents. The verb in your prompt and the nature of the task do the routing. Reach for /review, plan mode, or a research prompt when you want a specific one.

Seeing cost, tokens, and time

Copilot CLI has built-in usage reporting, which matters because delegation multiplies token spend:

  • /usage shows GitHub AI Credits used this session, session duration, lines of code edited, and a per-model token breakdown.
  • /context gives a visual overview of how full your context window is.
  • /compact manually compresses history to free up space; the CLI also auto-compresses near 95% of the token limit.

A note on the model: Copilot CLI runs Claude Sonnet by default, with /model to switch to others including GPT-5. So the same Anthropic model family you may use directly is doing the work underneath.

The takeaway for a Spring developer

The pattern mirrors good engineering discipline. Let Explore and Research do the reading so your main thread stays clean. Let Task absorb noisy test output. Use plan mode before boundary moves and migrations. Reserve /review for an independent pass on your diff. On a deep service layer with a heavy integration suite, that division of labor is what keeps the tool useful for hours instead of degrading after twenty minutes.

If you also work in Claude Code, the parallels are close: Explore, a planning step, and a general worker show up in both, and both expose token usage so you can watch what delegation costs. Knowing the default roster in each tool is what lets you steer instead of guess.