1 of 25

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.

2 of 25

Multi-agents systems

3 of 25

Adrien Maret

Fondateur

Core Team Member

4 of 25

What is an Agent anyway?

5 of 25

What is an Agent anyway?

LLM and tools use

Autonomy

Planification

State

Pick 2-4

6 of 25

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

7 of 25

Why multi-agent

Specialization

Testability

Modularity

Collaboration

Scalability

SRE Agent

Planification module

Memory module

Github Agent

Notion Agent

Slack Agent

8 of 25

How to organize a multi-agent system?

9 of 25

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 = …

10 of 25

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)

11 of 25

Oriented graphs

Github Agent

Node

Transition

State

12 of 25

Oriented graphs execution

Current

Node

State

stateless execution

13 of 25

14 of 25

Open Network Topology

15 of 25

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

16 of 25

Open Network

High hallucination potential

High autonomy

High risk of infinite loops

Low testability

High debug complexity

17 of 25

Hierarchical Topology

18 of 25

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”

19 of 25

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

20 of 25

Hierarchical Agents

SRE

Agent

Log

Agent

Code

Agent

Code Analyser Agent

Code Search Agent

list_logs

search_code

get_last_changes

21 of 25

Hierarchical Agents

SRE

Agent

Code

Agent

Log

Agent

High hallucination potential

Medium debug complexity

Medium autonomy

Medium risk of infinite loops

Medium testability

22 of 25

Custom Topology

23 of 25

Custom

Low autonomy

Low debug complexity

Medium hallucination potential

Low risk of infinite loops

High testability

24 of 25

Merci !

25 of 25

Custom

Use an hybrid system for agents collaboration

  • oriented graph
  • not everything is an agent
    • router prompt
    • structured generation

Example of SRE (?)

Example of Juliia

  • less autonomy
  • more specialized on a task
  • less hallucinations
  • very testable (no looping