OpenHands / OpenHands/software-agent-sdk

[Feature]: Intelligent Model Selection

Open
#3,442 12 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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 /model slash 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.