multica-ai / multica-ai/multica

[Feature]: Horizontal scaling of agents with runtime pools

Open
#1,981 4 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
50k
Forks
6.5k
Avg merge
1d 36m
Merged PRs (30d)
500

Description

### Deployment type

Self-hosted

### What do you want and why?

Currently, agents are binded to a single runtime and tasks enqueue with a concrete runtime decided up front up. This means there's no way to horizontally scale a single agent.

Imagine I have a couple dozen developers in my team opening up tasks using the "Developer" agent. Some legacy apps may require a lot of CPU and RAM when building and running tests, so even if I vertically scale the machine, I'll get to a limit.

### Proposed solution (optional)

I don't know the internals that well, but I would explore something like:

- **Required:** Change the agents -> runtime model to agent -> runtime pool. This way, we can add more runtimes to the pool of that agent whenever needed.
- In a v1, we could still decide how to assign a task to a runtime upfront, but with some simple balancing algorithm. In a v2, ideally, we'd assign the task to the truly next available runtime.

### Screenshots / mockups (optional)

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by tracing how agents bind to runtimes and how tasks are assigned or enqueued with a concrete runtime. Define the runtime-pool model and balancing behavior before locating the affected Go entry points; done should include horizontally scalable agent runtimes with a clear assignment strategy and validation for concurrent tasks.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.