Most LLM-based agent systems today rely on fixed structures: a predefined set of agents, roles, and interaction patterns.
This works well for many tasks, but it feels somewhat limiting when the task itself is highly variable.
For example, in scenarios like root cause analysis over logs, metrics, and traces:
- some problems are simple and require minimal reasoning
- others require multi-step exploration, hypothesis testing, and cross-signal correlation
Using a fixed agent setup in both cases can lead to:
- under-exploration (missing complex causes)
- or over-exploration (wasting tokens and time)
So I’ve been thinking about an alternative: instead of defining agents upfront, dynamically generate them at runtime based on the task and intermediate results.
In that setup:
- agents are instantiated only when needed
- their specialization emerges from the context
- coordination evolves during execution
This shifts the problem from "design the right agent system" to "let the system construct the right agent system"
I’ve been experimenting with this idea in a research prototype, and it seems promising in terms of adaptability, but it raises a lot of open questions:
- Is this fundamentally different from planning / tool-use chains?
- How do you control cost vs exploration in such systems?
- What are good stopping criteria for dynamic agent expansion?
- Does this scale, or does coordination overhead dominate?
Curious to hear how people here think about this.