OpenHands / OpenHands/software-agent-sdk
[Feature]: Intelligent Model Selection
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 539
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 137
Description
Goal
Route every task to its best available model automatically, without requiring the user to be a model expert.
LLM Profiles give OpenHands users a selection of models, however it requires the user to memorize each model's cost, performance, and benefits.
A dynamic "Decide for Me" model selection feature is a special LLM profile that acts as an intelligent dispatcher. When selected, it inspects the user's initial prompt, classifies the task type (e.g. information gathering, issue resolution, greenfield development, etc), and selects the highest-scoring available model for that category — drawing on scores from the OpenHands Index.
This could ship as a first-class SDK-level primitive (perhaps making it a differentiator for the SDK), or a skill.
"I Can" Statements'
As an end user:
- I can select "Decide for Me" once and trust that every task is routed to the right model — no model expertise required.
- I can see which model was chosen and why before the agent runs, so routing decisions are never a black box.
- I can override the routing decision mid-session without losing conversation context (using
/modelslash command)
Feedback received from community
The agent should only switch models once during a conversation.
I think biggest thing to avoid is having an agent switch between different LLMs mid-conversation
Why It Matters
- Unlocks the full value of LLM Profiles.
- Makes the OpenHands Index a product moat.
- Unique positioning in the SDK market.
- Measurable ROI for enterprise customers.
Implementation Options
Option 1: as a primitive in the SDK, which can then be exposed via the UI
Option 2: as a Skill, which can then be invoked through slash commands
Related
AI Model Benchmarking, LLM Evaluation, Model Drift Analysis, Leaderboards, AI Comparison Tools: https://huggingface.co/AIStupidLevel
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Start by resolving whether this belongs as an SDK primitive or a Skill, then define the routing inputs, model-selection explanation, one-switch-per-conversation rule, and /model override behavior. Done means the selected model and reason are visible, overrides preserve context, and the feature routes tasks according to the agreed OpenHands Index scores.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ai
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100