feat(delegation): delegate_task model/provider routing by fixed tier set#34650
Open
loicnico96 wants to merge 9 commits into
Open
feat(delegation): delegate_task model/provider routing by fixed tier set#34650loicnico96 wants to merge 9 commits into
loicnico96 wants to merge 9 commits into
Conversation
13 tasks
b3d2270 to
0a07279
Compare
loicnico96
added a commit
to loicnico96/hermes-agent
that referenced
this pull request
Jun 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Another one?What does this PR do?Add a tier-based delegation config which overrides model/provider for easier/harder tasks. Critical design choices:
Why tier-based? Virtually all open issues request for per-task model overrides.
I believe these 3 tiers should cover most reasonable use cases fairly well (I want one task to be cheaper/faster than my normal agent = "small", I want one task to use the fanciest model = "large"). User is free to make small/large as small/large as they want, or to leave some to be silently equivalent (e.g. only want smaller, not bigger). Adding more is trivial, removing is not, better to start small.
To minimize schema growth, I also explicitly kept tier top-level-only (all tasks in a batch use the same tier), as I believe the likelyhood of several tasks in a same batch requiring different tiers to be very low. This should be trivial to extend if truly desired.
Related Issue
Plenty of related issues/PRs: #34489, #18591, #17685, #32555, #31537, etc.
But no PR currently addresses a fixed tier set as proposed here.
Interesting ones:
Type of Change
How to Test
delegate_taskwith tier, and report what model was used.Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/AFor New Skills
hermes --toolsets skills -q "Use the X skill to do Y"Screenshots / Logs
POC of model-only override and backcompat:

POC of provider override:

POC of agent being able to use tier intuitively (fresh new session, no extra skill, just tool schema):
