Spaces:
Sleeping
Sleeping
@startuml | |
!include style.puml | |
' left to right direction | |
' Hide the class indicators (C) | |
hide circle | |
hide empty members | |
' Agent Definitions (Use class notation for agents with tools as fields) | |
class "Assistant" as Assistant <<M>> { | |
} | |
class "Manager" as Manager <<M>> { | |
- Solver() {trivial task} | |
- Manager() {complex task} | |
} | |
class "Solver" as Solver { | |
- Researcher() | |
- EncryptionExpert() | |
- MathExpert() | |
- Reasoner() | |
- ImageHandler() | |
- VideoHandler() | |
} | |
class "Researcher" as Researcher { | |
+ DuckDuckGoSearchToolSpec | |
} | |
class "EncryptionExpert" as EncryptionExpert { | |
+ ASCII Encode | |
+ ASCII Decode | |
+ ChrToInt Encode | |
+ ChrToInt Decode | |
+ Base64 Encode | |
+ Base64 Decode | |
+ Caesar Cipher Encode | |
+ Caesar Cipher Decode | |
+ Caesar Cipher Brute Force | |
+ Reverse String | |
- MathExpert() | |
- Reasoner() | |
} | |
class "MathExpert" as MathExpert { | |
+ Symbolic Math Calculator | |
+ Unit Converter | |
- Reasoner() | |
} | |
class "Reasoner" as Reasoner { | |
} | |
class "ImageHandler" as ImageHandler { | |
} | |
class "VideoHandler" as VideoHandler { | |
} | |
' Agent-to-Agent Connections | |
Query --> Assistant | |
Assistant --> Manager : request | |
Manager --> Assistant : solution | |
Assistant --> Final_Answer : problem solved | |
Manager ..> Manager : complex task | |
Manager ..> Solver : trivial task | |
Solver ..> Manager : solution | |
Solver .. Researcher : query | |
Solver .. EncryptionExpert : query | |
Solver .. MathExpert : query | |
Solver .. Reasoner : query | |
Solver .. ImageHandler : query | |
Solver .. VideoHandler : query | |
EncryptionExpert .. MathExpert : query | |
EncryptionExpert .. Reasoner : query | |
MathExpert .. Reasoner : query | |
@enduml | |