Les Agents c’est le buzzword hype du moment qui fait lever des millions et à juste titre car les promesses d’automatisation sont sans limites !
Mais voilà, à peine le temps de comprendre le fonctionnement d’un Agent et ses “Tools” que l’on parle déjà de systèmes multi-agents.
Pourquoi sont-ils nécessaires? Les réponses sont à chercher du côté de la spécialisation, de la testabilité et de la scalabilité.
Nous verrons ensemble les avantages et le fonctionnement de différents types de systèmes multi-agents avec des cas d’usage concrets et accessibles à tous.
Multi-agents systems
Adrien Maret
Fondateur
Core Team Member
What is an Agent anyway?
What is an Agent anyway?
LLM and tools use
Autonomy
Planification
State
Pick 2-4
Why multi-agent
SRE Agent
Github API
Notion API
Datadog API
Slack API
Planification module
Memory module
Prompt growing a lot during iterations
Noisy tools output
No instruction specialization
Why multi-agent
Specialization
Testability
Modularity
Collaboration
Scalability
SRE Agent
Planification module
Memory module
Github Agent
Notion Agent
Slack Agent
How to organize a multi-agent system?
Oriented graphs
SRE Agent
Log Agent
Github Agent
Analyst Agent
START
“10% of requests are failing”
END
“Does it looks like the root cause?”
No
Yes
No
Yes
“Do I know which services to look at?”
Yes
No
if (state.files && state.logs)
state.files = …
state.logs = …
Oriented graphs
SRE Agent
Log Agent
Github Agent
Analyst Agent
START
“10% of requests are failing”
END
“Does it looks like the root cause?”
No
Yes
No
Yes
“Do I know which services to look at?”
Yes
No
if (state.files && state.logs)
Oriented graphs
Github Agent
Node
Transition
State
Oriented graphs execution
Current
Node
State
stateless execution
Open Network Topology
Product Owner
Agent
Designer
Agent
Developer
Agent
START
“Create a todo list app”
Define user journeys
Access internet
Maintain task list
Ask for interface development
Send simpler UI
Feedback on difficult UI
Mark task as complete
Ask for UI design
Create interfaces
Run application server
Access internet
Design interfaces
Features validation
UI
validation
Open Network
High hallucination potential
High autonomy
High risk of infinite loops
Low testability
High debug complexity
Hierarchical Topology
Hierarchical Agents
SRE
Agent
list_recent_changes
list_logs
10K lines
2000 LoC
args(since: “d-1”)
args(since: “d-1”)
START
“p95 latency
> 500ms”
Hierarchical Agents
SRE
Agent
START
“p95 latency
> 500ms”
Log
Agent
list_logs
“Latency is increasing, search for something unusual in the logs”
“Logs shows Redis is evicting keys for new data”
Code
Agent
“Redis is evicting keys, search potentials causes in recent changes”
search_code
get_last_changes
“Search for files using Redis”
“Get last changes for fileX, fileY”
2000 LoC
“RedisService was modified yesterday for a new cache, without expiration policy”
“list logs of last 15 minutes”
10K lines
Orchestrator
Hierarchical Agents
SRE
Agent
Log
Agent
Code
Agent
Code Analyser Agent
Code Search Agent
list_logs
search_code
get_last_changes
Hierarchical Agents
SRE
Agent
Code
Agent
Log
Agent
High hallucination potential
Medium debug complexity
Medium autonomy
Medium risk of infinite loops
Medium testability
Custom Topology
Custom
Low autonomy
Low debug complexity
Medium hallucination potential
Low risk of infinite loops
High testability
Merci !
Custom
Use an hybrid system for agents collaboration
Example of SRE (?)
Example of Juliia