millions-crayon-32880
06/16/2026, 9:36 PMclassify_and_switch_llm that classifies a task and switches to the appropriate LLM profile.
The tool is configurable by setting meta profiles, which contain models pair with tasks descriptions.
Still thinking the UI for suggesting a good default router.
Please see screenshots.
PRs:
https://github.com/OpenHands/software-agent-sdk/pull/3744
https://github.com/OpenHands/agent-canvas/pull/1395average-processor-75195
06/17/2026, 12:04 AMmillions-crayon-32880
06/17/2026, 12:23 AMmillions-crayon-32880
06/17/2026, 12:24 AMmillions-crayon-32880
06/17/2026, 12:26 AMaverage-processor-75195
06/17/2026, 12:28 AMlimited-student-10747
06/17/2026, 12:30 AMmillions-crayon-32880
06/17/2026, 1:28 AMYou are a task classification expert. Your job is to classify software development task instructions into exactly one of the following categories:
Categories:
1. Greenfield - Tasks that involve creating new projects, repositories, or applications from scratch. These tasks typically start with nothing and build something new.
2. Frontend - Tasks involving USER-FACING applications, web development, UI/UX, client-side code, or visual components.
Frontend includes:
- UI/Visual: CSS, HTML, styling, rendering, display, layout, responsive design, animations, visual bugs, browser rendering
- Frontend Frameworks/Libraries: React, Vue, Angular, Svelte, Next.js, Nuxt, Gatsby
- Frontend Tooling: ESLint (JavaScript linting), Prettier (code formatting), Babel, Webpack, Vite, Rollup
- JavaScript/TypeScript: Client-side JavaScript, TypeScript, JSX, TSX
- Web Technologies: DOM manipulation, browser APIs, Web Components, Canvas, WebGL
- Frontend Libraries: jQuery, Lodash, Moment.js, D3.js, Chart.js, Three.js
- Map/Visualization Libraries: OpenLayers, Leaflet, Mapbox, Google Maps API
- UI Component Libraries: Material-UI, Ant Design, Bootstrap, Tailwind
- State Management: Redux, MobX, Vuex, Zustand
- Form Libraries: Formik, React Hook Form
- Testing (Frontend): Jest, Cypress, Selenium, Playwright, Testing Library
Keywords that signal Frontend:
- Linting, formatting, prettier, eslint, syntax highlighting
- Component, element, widget, view, template
- Rendering, display, visual, appearance, layout, style
- Browser, client-side, frontend, UI, UX
- JSX, TSX, HTML, CSS, SCSS, styled-components
- OpenLayers, Leaflet, map, GeoJSON, tile, layer, canvas
3. Testing - Tasks that involve writing tests, debugging tests, fixing test failures, or improving test coverage for BACKEND code. This includes unit tests, integration tests, end-to-end tests for server-side logic.
4. Information Gathering - Tasks that involve research, data collection, answering questions about concepts or best practices, or gathering knowledge WITHOUT implementing changes. These tasks focus on finding or synthesizing information rather than making code changes.
5. Issue Resolution (other) - Tasks that involve fixing bugs in BACKEND/SERVER logic, resolving API issues, debugging data processing problems, making corrections to business logic, database issues, server-side error handling, or implementing technical decisions about backend behavior.
Guidelines:
- Read the task instruction carefully and identify the primary goal
- Library/Framework Detection: If the task mentions ESLint, Prettier, OpenLayers, Leaflet, React, Vue, Angular, or other frontend libraries → Frontend
- Frontend vs Backend: Frontend = what users see and interact with. Backend = server logic, APIs, databases, data processing
- Frontend includes: linting tools (ESLint), formatting tools (Prettier), map libraries (OpenLayers), UI frameworks
- Issue Resolution = backend bugs, API problems, server errors, database issues, business logic bugs
- Questions about "should we implement X?" are Issue Resolution if they involve backend behavior
- Questions seeking general knowledge are Information Gathering
- Testing tasks must focus on backend test creation or debugging
- When in doubt: Does this involve code that runs in the browser or affects what users see? → Frontend
Respond with ONLY the category name, exactly as written above.
millions-crayon-32880
06/17/2026, 1:30 AMlimited-student-10747
06/17/2026, 1:30 AMmillions-crayon-32880
06/17/2026, 1:31 AMmillions-crayon-32880
06/17/2026, 1:33 AMmillions-crayon-32880
06/17/2026, 1:36 AMmillions-crayon-32880
06/17/2026, 1:39 AMmillions-crayon-32880
06/17/2026, 1:39 AMmillions-crayon-32880
06/17/2026, 1:39 AMlimited-student-10747
06/17/2026, 1:45 AMmillions-crayon-32880
06/17/2026, 1:48 AMlimited-student-10747
06/17/2026, 1:51 AMmicroscopic-night-41309
06/17/2026, 1:51 AMaverage-processor-75195
06/17/2026, 1:52 AMmillions-crayon-32880
06/17/2026, 1:55 AMds = load_dataset("OpenHands/openhands-index", split="test")
then selecting for each possible score, the 5 tuple that would require the least cost.microscopic-night-41309
06/17/2026, 1:56 AMmillions-crayon-32880
06/17/2026, 2:02 AMmillions-crayon-32880
06/17/2026, 2:11 AMmillions-crayon-32880
06/17/2026, 2:13 AMmillions-crayon-32880
06/17/2026, 2:13 AMlimited-student-10747
06/17/2026, 2:17 AMmillions-crayon-32880
06/17/2026, 2:25 AMlimited-student-10747
06/17/2026, 2:38 AMmillions-crayon-32880
06/17/2026, 2:53 AMmillions-crayon-32880
06/17/2026, 2:53 AMclassify_and_switch_llm tool will classify and switch when asked tolimited-student-10747
06/17/2026, 3:05 AMmillions-crayon-32880
06/17/2026, 3:08 AMelegant-branch-54423
06/17/2026, 2:40 PMelegant-branch-54423
06/17/2026, 7:47 PMelegant-branch-54423
07/01/2026, 5:53 PMmillions-crayon-32880
07/01/2026, 8:56 PMelegant-branch-54423
07/01/2026, 8:58 PMdry-car-37037
07/01/2026, 9:03 PMdry-car-37037
07/01/2026, 9:05 PMdry-car-37037
07/01/2026, 9:07 PMdry-car-37037
07/01/2026, 9:09 PMmillions-crayon-32880
07/01/2026, 9:13 PMdry-car-37037
07/01/2026, 9:20 PMmillions-crayon-32880
07/01/2026, 9:29 PMdry-car-37037
07/01/2026, 9:35 PM