Key Features

  • Conversable: Agents can send and receive messages to initiate or continue a conversation.
  • Customizable: Agents can integrate LLMs, humans, tools, or a combination of these.

Agents

  • ConversableAgent: A generic class for conversable agents. These agents can exchange messages to complete tasks collaboratively and can communicate with other agents to perform specific actions. Variability in behavior is allowed as different subclasses can perform different actions based on the messages received.

  • AssistantAgent (Subclass of ConversableAgent): Acts as an AI assistant, utilizing LLMs like GPT-4 by default. It can generate Python code based on task descriptions and also has a feedback loop for code execution results. Its behavior and LLM inference can be customized via system messages and llm_config.

  • UserProxyAgent (Subclass of ConversableAgent): Serves as a proxy for human users and seeks human input for interactions by default. It can execute code and invoke functions, running code automatically if no human input is provided. Code execution can be toggled with code_execution_config, and LLM usage can be enabled via llm_config.