Skip to content

Conversation

@michaelneale
Copy link
Collaborator

"Autopilot" was an experiment in using heuristics to switch models, but it hasn't been widely used, nor has it been that successful.

some limitations:

  • config is complex
  • rules are complex for when models kick in
  • doesn't manage context appropriately for different models
  • different models can behave radically different if you switch around without managing the context

I think a better approach in future would be:

  1. similar to lead/worker, a virtual provider that routes requests to appropriate model based on accumulated context and user signals
  2. use a tool based approach to consult models when specific skills or advice are needed
  3. have a sub-agent use a specialised model when needed (with its own context, as it does now, only reporting back results)
  4. a new modality where session start/stop/continue with different contexts and different models but with common goal (eg a planner/executor or coach/player) more autonimously, where there is a natural point to swith models

1 above can be done today with virtual providers like openrouter

2 to 4 are natural places to switch providers or models to get best effect (and in 3, can even be in parallel)

Copilot AI review requested due to automatic review settings November 18, 2025 00:44
@michaelneale michaelneale requested a review from a team as a code owner November 18, 2025 00:44
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR removes the experimental AutoPilot feature, which provided context-aware automatic model switching based on conversation content, complexity, and tool usage patterns. The feature proved too complex with limitations around configuration complexity, unclear switching rules, and poor context management across different models.

  • Complete removal of AutoPilot implementation code (~1,366 lines)
  • Deletion of all AutoPilot configuration files and documentation
  • Clean removal of AutoPilot integration from Agent class

Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
documentation/docs/tutorials/lead-worker.md Removed AutoPilot promotional tip that referenced the now-deleted feature
documentation/docs/guides/multi-model/creating-plans.md Updated multi-model alternatives section to only mention Lead/Worker mode, removed AutoPilot reference
documentation/docs/guides/multi-model/autopilot.md Complete deletion of AutoPilot documentation (127 lines)
crates/goose/src/agents/model_selector/premade_roles.yaml Deleted pre-made AutoPilot role configurations (181 lines)
crates/goose/src/agents/model_selector/mod.rs Deleted module declaration for autopilot
crates/goose/src/agents/model_selector/autopilot.rs Deleted complete AutoPilot implementation (1,366 lines including tests)
crates/goose/src/agents/model_selector/README.md Deleted AutoPilot feature README
crates/goose/src/agents/mod.rs Removed model_selector module from agents
crates/goose/src/agents/agent.rs Removed AutoPilot field from Agent struct, removed AutoPilot import and initialization, removed model switching logic from reply loop

Note: There are some stale AutoPilot references in documentation files that are not part of this PR (experimental/index.md, config-files.md, and environment-variables.md). These should be addressed in a follow-up to ensure complete removal of AutoPilot references from the documentation.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 18, 2025

PR Preview Action v1.6.0
Preview removed because the pull request was closed.
2025-11-19 00:49 UTC

@michaelneale michaelneale requested a review from jamadeo November 18, 2025 00:54
@taniandjerry
Copy link
Contributor

Autopilot used has been referenced from us in conjunction with lead/worker model as a solution to tokens being eaten up, namely for folks who can't use OpenRouter.

As long as as the proposed solution we give community members doesn't solely depend on OpenRouter, then it's okay to remove Autopilot.

I haven't seen much mention of Autopilot explicitly by community members, but I have seen mentions of concerns with tokens being eaten up and how to best manage that.

@michaelneale
Copy link
Collaborator Author

michaelneale commented Nov 18, 2025

@taniandjerry yeah - I wouldn't recommend it for low cost reasons as it may not end up saving (could end up costing more if it moves around, less caching) - lead worker is a little better, as you can have lead as the pricey one and worker as low cost grinding one. Am curious what combo of models people use for cost when that is a case, and token use, as that seems a separate thing to address (and I know @DOsinga has been thinking about it - likely a lot of things that can massively reduce the token use coming).

I could also see an approach which has fallback providers - ie use them in order (low cost first), but this doesn't do that.

and no future solution would depend on it, no.

@michaelneale
Copy link
Collaborator Author

@taniandjerry so youok with removing this (and docs) in that case?

Copy link
Contributor

@blackgirlbytes blackgirlbytes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

im okay with removing this. chatted with my team..and yes let's remove the documentation around this.

@michaelneale michaelneale merged commit f8bb866 into main Nov 19, 2025
21 of 22 checks passed
katzdave added a commit that referenced this pull request Nov 19, 2025
…xt-test

* 'main' of github.com:block/goose:
  chore: Add Adrian Cole to Maintainers (#5815)
  [MCP-UI] Proxy and Better Message Handling (#5487)
  Release 1.15.0
  Document New Window menu in macOS dock (#5811)
  Catch cron errors (#5707)
  feat/fix Re-enabled WAL with commit transaction management (Linux Verification Requested) (#5793)
  chore: remove autopilot experimental feature (#5781)
  Read paths from an interactive & login shell (#5774)
  docs: acp clients (#5800)
michaelneale added a commit that referenced this pull request Nov 19, 2025
* main:
  feat/fix Re-enabled WAL with commit transaction management (Linux Verification Requested) (#5793)
  chore: remove autopilot experimental feature (#5781)
  Read paths from an interactive & login shell (#5774)
  docs: acp clients (#5800)
  Provider error proxy for simulating various types of errors (#5091)
  chore: Add links to maintainer profiles (#5788)
  Quick fix for community all stars script (#5798)
  Document Mistral AI provider (#5799)
  docs: Add Community Stars recipe script and txt file (#5776)
wpfleger96 added a commit that referenced this pull request Nov 20, 2025
* main: (33 commits)
  fix: support Gemini 3's thought signatures (#5806)
  chore: Add Adrian Cole to Maintainers (#5815)
  [MCP-UI] Proxy and Better Message Handling (#5487)
  Release 1.15.0
  Document New Window menu in macOS dock (#5811)
  Catch cron errors (#5707)
  feat/fix Re-enabled WAL with commit transaction management (Linux Verification Requested) (#5793)
  chore: remove autopilot experimental feature (#5781)
  Read paths from an interactive & login shell (#5774)
  docs: acp clients (#5800)
  Provider error proxy for simulating various types of errors (#5091)
  chore: Add links to maintainer profiles (#5788)
  Quick fix for community all stars script (#5798)
  Document Mistral AI provider (#5799)
  docs: Add Community Stars recipe script and txt file (#5776)
  chore: incorporate LF feedback (#5787)
  docs: quick launcher (#5779)
  Bump auto scroll threshold (#5738)
  fix: add one-time cleanup for linux hermit locking issues (#5742)
  Don't show update tray icon if GOOSE_VERSION is set (#5750)
  ...
BlairAllan pushed a commit to BlairAllan/goose that referenced this pull request Nov 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants