Agents

Your project can contain one or many agents.
An agent is simply an entity that allows you to communicate with a user through a Conversation in the Chat UI.
When a user starts a new conversation, all available agents of your project will be able to handle and send messages to the user through our SDK.
UI-wise, a good way to think about an agent is to imagine them as the Sender of a message. Every agent can programmatically send a message from your backend using our SDK.

Technical implications

The agents can receive every user's real-time input through a socket connection.
They can also send real-time and asynchronous message times to the conversation.
This means your backend must persist a real-time connection with the frontend UI.
No worries, with our SDK, persisting a real-time connection is as simple as writing project.connect().
Moreover, AgentLabs will handle the persistent of every conversation for you so you don't have to worry about your user being offline for example.
Schema of a peristent connection between your backend and the frontend

Creating agents

You can create as many agents as you need from your admin console.
Creating an agent from the console allows you to attribute helpful metadata such as a name, an avatar, and many other things.

How many agents should I create?

It depends on what you want to achieve. If you want to build something as simple as ChatGPT, then you only need to create one agent that will represent ChatGPT.
If you want to handle more complex multi-agent conversations or plug systems like AutoGen, then you may want to create more agents.