Repository navigation
Replies: 3 comments
|
Independent confirmation on Windows Desktop 0.2.2-rc.1 — same root cause, and the seam below the two hops already works. Where the route is dropped (2 hops, not 3):
So no new durability or route-resolution machinery is needed — hops 1–2 just need to carry the field. Minimal backward-compatible shape:
Two smaller notes from this install:
Worth converging with the complete implementation already offered in #8324 ( Happy to test a patch on Windows Desktop 0.2.2-rc.1. |
|
That third-party plugin workaround now exists: https://github.com/Sicaduj/dsh-agent-soul
It's a stopgap that replaces the |
|
Optional model selection also needs an observable dispatch record. If a requested route becomes unavailable after a provider-catalog change, silently inheriting the Lead would change the teammate's cost and evaluation conditions. In our work on Sinaps Studio at SinapsData, model comparison makes that distinction important. Could each attempt record the requested route, actual route and any fallback reason, with an unavailable explicit selection failing visibly unless fallback was separately authorized? |
Uh oh!
There was an error while loading. Please reload this page.
Summary.
spawn_teammate(Agent Teams) has no way to choose the member's LLM route. The child always inherits the Lead's latest request header, so one team cannot mix models — for example a cheap Flash worker next to a stronger Lead.Why it happens (0.2.2-rc.1).
SpawnTeammateRequestis{ name, description, prompt, context, provider, signal }.provideris the subagent backend (spawn/fork), not an LLM route, and there is noagentOptionsor model field.dsh-experimental-tool-agent-teampasses that request through unchanged; its Config only hasinterrupt,freshProvider,forkProvider.ctx.subagents.startActivationthen callsresolveChildAgentOptions(parent, request.agentOptions, depth), which starts from the parent's latest request header. With noagentOptions, the child inherits the Lead's provider/model.Contrast.
dsh-tool-subagent(the legacysubagent/subagent_forktools) already supports this:modelSelection: trueexposesprovider/model/reasoning_effort, and itsagentOptionsconfig sets child defaults. The team tool never got the same treatment.Impact. Teams are the place where heterogeneous models matter most (cheap parallel workers, a strong reviewer). Today the only workarounds are switching the Lead's model before spawning, or having a third-party plugin patch the registered
spawn_teammatedefinition in place.Proposed change. Add optional model selection to the team creation path, mirroring
tool-subagent:SpawnTeammateRequestwith optionalagentOptions: { provider, model, reasoningEffort?, maxTokens? };modelSelection/agentOptionsconfig todsh-experimental-tool-agent-team, or always expose optionalprovider/model/reasoning_effortparameters onspawn_teammate;startActivation, and validate explicit routes against the Session'ssubagentModelSelectionPolicythe wayassertAllowedModelSelectiondoes.Note that a route change on a
context: "fork"member breaks provider-side prefix reuse, so it should stay opt-in.Environment. DSH 0.2.2-rc.1 (Desktop), macOS. Happy to test a patch.
All reactions