Skip to main content

Agents

Agents are the core of Witty. Agentic AI systems operate by processing unstructured inputs — text, video, or audio — applying decision-making logic, and executing relevant actions. These agents interact with tools, which function like callable software components.

Agent manifesto

An agent is composed of these fields:

  • name: a unique name within the platform to identify each of them;
  • description: specific description of what the agent will do. It's important to write a good description, since the supervisor will use it to choose if the agent is appropriate for the user task. The limit of description is 1024 characters;
  • endpoint: specific URL or IP address that allows Witty to interact with the agent;
  • payload: the payload structure. It will be used by the supervisor as schema to create the body of the POST request;
  • need_authentication: a boolean that tells Witty if the supervisor has to send a valid Witboost token;
  • active: a boolean that tells Witty if the agent is currently active.

Here's an example of an agent manifesto

{
"name": "witboost_helper",
"description": "The agent is an expert of Witboost product. The agent is an expert in the Witboost product and answers general questions about its documentation. The documentation is composed of: User Manual – Guides data product creation, handling, and access, with detailed instructions on data contracts.Architecture – Explains the platform’s design, components, and interactions.Platform – Covers installation, configuration, and customizations for platform teams.API Reference – Lists APIs for customization and integration.",
"endpoint": "http://localhost:5003/documentation_agent/v1/chat",
"payload": {
"query": "str"
},
"need_authentication": true,
"active": true
}

The Agent Manifesto will be stored in the Agents Catalog of witty.

Interacting with Agents Catalog

Currently, there are the following APIs to interact with the Agents Catalog:

  • GET /witty/v1/agentCatalog: retrieve the current list of agents;
  • GET /witty/v1/agentCatalog/:id: retrieve a specific agent;
  • POST /witty/v1/agentCatalog: add an agent. The body is a json with the agent manifesto;
  • PATCH /witty/v1/agentCatalog/:id: edit an agent. The body is a json with the fields that we want to edit;
  • DELETE /witty/v1/agentCatalog/:id: delete an agent

The OpenAPI specification is available in the Platform API section.