Agents represent the main functionality of the AI system. They are responsible for processing user input, collecting information from the environment, invoking and processing LLM responses, and providing the final response to the user while recording their actions in the AI history.

Agents are meant to cover all use cases, from specialized scenarios to general purpose chat bots.

Agents are encouraged to provide a detailed description of their functionality and their processed inputs. They can also declare their used prompt templates, which makes them configurable for the user.

interface Agent {
    agentSpecificVariables: AgentSpecificVariables[];
    description: string;
    functions: string[];
    id: string;
    languageModelRequirements: LanguageModelRequirement[];
    name: string;
    promptTemplates: PromptTemplate[];
    tags?: string[];
    variables: string[];
}

Properties

agentSpecificVariables: AgentSpecificVariables[]

The list of local variable identifiers this agent needs to clarify its context requirements.

description: string

A markdown description of its functionality and its privacy-relevant requirements, including function call handlers that access some data autonomously.

functions: string[]

The list of global function identifiers this agent needs to clarify its context requirements.

id: string

Used to identify an agent, e.g. when it is requesting language models, etc.

Note

This parameter might be removed in favor of name. Therefore, it is recommended to set id to the same value as name for now.

languageModelRequirements: LanguageModelRequirement[]

Required language models. This includes the purpose and optional language model selector arguments. See #47.

name: string

Human-readable name shown to users to identify the agent. Must be unique. Use short names without "Agent" or "Chat" (see tags for adding further properties).

promptTemplates: PromptTemplate[]

The prompt templates introduced and used by this agent.

tags?: string[]

A list of tags to filter agents and to display capabilities in the UI

variables: string[]

The list of global variable identifiers this agent needs to clarify its context requirements. See #39.