I just fell Claude "there's an LLM server on this port serving this model, use it as a subagent"
Claude will write some scripts to call the LLM API and use it like any other tool.
I haven't found a pressing need for anything more complex than that. My multi-agent setups tend to be a pile of bespoke scripts per project anyway, an MCP server is only gonna get in the way. But I suppose this is because I self-host the models, if you're using OpenRouter or whatever it may need more complexity than a curl call to an unauthenticated port
So I use Google Gemini to plan or review; otherwise same loop so brain dumping how I get Gemini to Qwen/Gemma/Meta's model I forget the codename for; local agent reads the AI Studio log locally via Google Drive where they store the logs by default in a JSON format
So with the gdrive app for my OS it just looks like a local file path. Had the local agent learn to parse it.
I still prompt in AI studio direct as needed; local agents see the log change but cannot push back to Gemini their result.
Few reasons:
AI Studio is available where ever via browser, no VS Code or my usual vim setup to miss. I can switch between projects there as an idea hits and the agent switches up the local repo path and session history.
AI studio can search web, etc, etc already so my agent is less complicated with addons in general
Also using AI Studio between local agent turns has been my "human in the middle" approach; to have an explicit gap in the process and check each turn.
I only have a 24GB 3090 most models also take longer locally and I never hit the free tier limits with Gemini :D
Though the latest Meta model is twice as fast at 30B for me as other similar size models. 1-2 hour code gen and QA of build errors is now 30-50 minutes to parse latest changes from Gemini and get a successful build. The Meta model is pretty great at "fill in the middle" from a well structured plan.
Overall this loop feels like a normal workday pace. I freelance so I have a lot more say over that.
Custom MCP with a variety of functions, I have different Qwen profiles with a variety of subagent numbers and cache pools, my default is 192k pool with 64k initial context that can grow 32k at a time up to 128k, allowing 3x64k, 2x96k or 1x128k and 1x64k subagents. Qwen uses Pi harness. Model I use specifically is ukisai/Swift-1.5-Qwen3.8-27B-GSQ-RCO-GGUF
What hardware and inference engine do you use? On my Radeon R9700, at least with llama.cpp and some others, the GPU provides as many tok/sec with a single stream as with concurrent ones, so it's just as fast and supports longer contexts to swap contexts to RAM on turn boundaries.
I've experienced the same. Are you saying you're using different context sizes with parallel invocations or just that it's possible to have longer contexts? I've been setting my config to ensure I don't blow out context server side but have not tried to manage it client side.
Why not using a proxy in claudecode to forward all the claude-* model to anthropic as a standard proxy forwarder and route other models to other providers (openrouter, vllm, ..)?
This way Claude's model can get all the context from other models as all in the same harness.
To use other models than claude-* you can use agents files.
Ps: as you won't use your proxy to distill or alter claudecode requests to anthropic you should be compliant with anthropic rules.
you can easily run qwen locally in a pi harness (or similar) and just tell claude code to delegate all implementation work to it. claude will even setup the harness with the local model
I just fell Claude "there's an LLM server on this port serving this model, use it as a subagent"
Claude will write some scripts to call the LLM API and use it like any other tool.
I haven't found a pressing need for anything more complex than that. My multi-agent setups tend to be a pile of bespoke scripts per project anyway, an MCP server is only gonna get in the way. But I suppose this is because I self-host the models, if you're using OpenRouter or whatever it may need more complexity than a curl call to an unauthenticated port
Nah, OpenRouter is the same API as self hosting, but you need to provide your API key. It's as easy as a URL swap
So I use Google Gemini to plan or review; otherwise same loop so brain dumping how I get Gemini to Qwen/Gemma/Meta's model I forget the codename for; local agent reads the AI Studio log locally via Google Drive where they store the logs by default in a JSON format
So with the gdrive app for my OS it just looks like a local file path. Had the local agent learn to parse it.
I still prompt in AI studio direct as needed; local agents see the log change but cannot push back to Gemini their result.
Few reasons:
AI Studio is available where ever via browser, no VS Code or my usual vim setup to miss. I can switch between projects there as an idea hits and the agent switches up the local repo path and session history.
AI studio can search web, etc, etc already so my agent is less complicated with addons in general
Also using AI Studio between local agent turns has been my "human in the middle" approach; to have an explicit gap in the process and check each turn.
I only have a 24GB 3090 most models also take longer locally and I never hit the free tier limits with Gemini :D
Though the latest Meta model is twice as fast at 30B for me as other similar size models. 1-2 hour code gen and QA of build errors is now 30-50 minutes to parse latest changes from Gemini and get a successful build. The Meta model is pretty great at "fill in the middle" from a well structured plan.
Overall this loop feels like a normal workday pace. I freelance so I have a lot more say over that.
Custom MCP with a variety of functions, I have different Qwen profiles with a variety of subagent numbers and cache pools, my default is 192k pool with 64k initial context that can grow 32k at a time up to 128k, allowing 3x64k, 2x96k or 1x128k and 1x64k subagents. Qwen uses Pi harness. Model I use specifically is ukisai/Swift-1.5-Qwen3.8-27B-GSQ-RCO-GGUF
What hardware and inference engine do you use? On my Radeon R9700, at least with llama.cpp and some others, the GPU provides as many tok/sec with a single stream as with concurrent ones, so it's just as fast and supports longer contexts to swap contexts to RAM on turn boundaries.
I've experienced the same. Are you saying you're using different context sizes with parallel invocations or just that it's possible to have longer contexts? I've been setting my config to ensure I don't blow out context server side but have not tried to manage it client side.
Why not using a proxy in claudecode to forward all the claude-* model to anthropic as a standard proxy forwarder and route other models to other providers (openrouter, vllm, ..)? This way Claude's model can get all the context from other models as all in the same harness. To use other models than claude-* you can use agents files.
Ps: as you won't use your proxy to distill or alter claudecode requests to anthropic you should be compliant with anthropic rules.
Probably depends if you're trying to treat it as "subagent(s)" or as two different models working on the same stream of thought/context.
Both are, I think, valid options. Depends on the workflow you're looking for.
Try this out
https://tysonberry-wogan.com/command-and-control-by-tyson/
Install the llm cli and tell opus to use it to prompt qwen.
you can easily run qwen locally in a pi harness (or similar) and just tell claude code to delegate all implementation work to it. claude will even setup the harness with the local model
You can have a setup like this with OpenCode agents, where you can define custom top-level agents, subagents, and assign specific models to each.
https://opencode.ai/docs/agents/
There are a lot of ways to do this if you stop using Big Ai harnesses that make it difficult to use models besides theirs.
ohmypi will spawn subagents across different providers out of the box. Opus will spawn subagents running on my local ds4 installation just fine