Elemental

Multi-agent framework for dynamic tasks solving made simple.

Elemental is a multi-agent framework designed with a focus on the modularity of agentic workflow stages. It enables the creation and management of single-agent or multi-agent systems with ease. The core functionality revolves around dynamically planning how to solve assigned tasks and executing those plans with the help of an agent team. Elemental supports the programmatic creation of flexible and custom workflows and includes a no-code interface for easy management of agents and tasks. To get started with Elemental, simply create a configuration file and run the framework with a single command.
Designed with KISS principle for flexible multi-agent systems .
Elemental offers a comprehensive collection of components to build a wide range of agentic workflows. With its versatility and modularity, Elemental is an excellent choice for applications ranging from experimenting with new agentic patterns to managing stable production workloads.

Easily create multi-agent workflows.

Start by creating and running your agent team with a simple configuration file. Define the workflow, select agents and their parameters, and solve your tasks, or delve into creating your own specialized agentic patterns.

Assign language model for a specific role.

We keep agents model-agnostic and support multiple language model serving frameworks. Agent teams can utilize various models, allowing you to always select the most appropriate model for each agent's role.

Use tools and bring your own.

Elemental comes with a basic set of tools for agents and provides a straightforward interface for creating new tools and integrating them into your workflow. Transform any function into an agent tool and unlock new capabilities.

Designed for small and large models.

Elemental can utilize both large and small language models or combine them within a single agent team. Designed to run fully offline, it allows you to use small models locally for privacy-sensitive workloads.

Dynamic planning starting from simple config file.

The default agentic pattern in Elemental is based on the Plan-Execute-Verify model with dynamic planning. The planning stage accommodates a broad range of situations, often unforeseen during design. Try it using Elemental command-line driver and a simple configuration file.

Automation for every use case.

Create agent workflows that automate tasks challenging for traditional RPA methods. Integrate Elemental workflows into your application and leverage automation with advanced reasoning capabilities.

Elemental Automation Workflow Example
Make custom automation workflows for your tasks.
Traditional Robotic Process Automation (RPA) workflows are often limited to simple tasks and require significant manual effort to create and maintain. Elemental enables the creation of custom automation workflows that can handle complex tasks and adapt to evolving requirements. With Elemental, you can build agent teams that collaborate to solve tasks in a conversational manner. Define custom agents, tools, and workflows to automate tasks that are difficult for traditional RPA methods.
Start right away and get your tasks done !
Elemental is designed to be both easy to use and highly flexible. You can get started with a simple configuration file and run the framework with a single command. Elemental provides a command-line interface that parses the configuration file to create the specified agent team. You can use the default driver, which operates on the Plan-Execute-Verify model, or design your own agent drivers to function in the way you prefer. Elemental is built to be easily customizable, enabling you to create tailored workflows that automate tasks in the way that works best for you.
Elemental Config Example
AttoAgents
Automate your work with ease .
Elemental enables you to automate complex tasks using multi-agent reasoning and processing. Its default workflow is based on the Plan-Execute-Verify model but can be easily customized to implement predefined agentic patterns. Dynamic planning makes it more flexible, allowing it to handle a much broader range of tasks. Elemental is designed for adaptability, supporting both local and cloud-based language models. Additionally, it lets you define custom tools to interact with your applications and services.
Frequently asked questions .
  • What makes Elemental different from other multi-agent frameworks?
Elemental shares many features with other multi-agent frameworks but is designed to be more flexible and customizable. Its focus is on providing a structure that facilitates the rapid development of multi-agent systems, incorporating new types of agents, well-defined tool specifications, and an easy-to-use interface for complex workflows, including dynamic planning. While Elemental is designed with multi-agent workflows in mind, it also supports the creation of single-agent systems and chained operations using language models.
  • Who can use Elemental?
Elemental is released under the MIT license and is available for anyone to use. As a Python library, it requires a basic knowledge of the Python programming language to fully utilize its features. Elemental also includes a no-code command-line interface, allowing you to run the framework with a single command after creating a simple configuration file.
  • Can I use Elemental for my organization?
Yes, Elemental can be used for personal and commercial projects, as well as by organizations, under the MIT license.
  • What are the main features of Elemental?
Elemental shares many features with other multi-agent frameworks and includes all the essential components of an agentic environment, such as:
  • Agent creation with various prompting strategies, including Simple, ReAct, PlanReAct, and function calling.
  • Short and long-term memory with dynamic memory retrieval during task solving.
  • Tools with specifications that enable the creation of additional functionalities.
  • Dynamic planning workflow featuring planning, execution, and verification stages.
  • Multi-agent execution module that facilitates task solving in a conversational manner.
  • Flexible language model integration, allowing the use of multiple language model serving frameworks with a unified interface.
  • No-code interface for the easy creation of agent teams and task solving.
  • Can I create custom workflows with Elemental?
Elemental is highly flexible and provides all the building blocks needed to create custom workflows. It allows you to create custom agents, tools, and their orchestration, whether for simple task execution or dynamic task decomposition and execution. The default driver provided by Elemental operates on the Plan-Execute-Verify model; however, this is not exclusive, and other agent drivers can be created to operate in the desired manner.
  • How to start with Elemental?
Start with installing Elemental using pip:
pip install elemental-agents
Prepare .env file with your options and create a simple configuration file and run the framework with a single command. Elemental provides a command-line interface that parses the configuration file and creates the agent team specified within it.

Several examples can be found in the examples folder in the source code. After adjusting the .env file with parameters (such as API keys or other default values), you can run Elemental using the following command:
python -m elemental_agents.main.main --config config.yaml --instruction "Your task for the agent team"
  • What language models are supported by Elemental?
Elemental supports several language model serving frameworks and providers, all accessible through the same interface. Language models are selected using the framework|model syntax. For example, ollama|llama:3.3 represents the local Llama 3.3 model served with Ollama, while openai|gpt-4o-mini refers to the OpenAI GPT-4o-mini model served through the OpenAI API. The exact list of models available depends on the models you have access to within a given framework.

Currently, Elemental supports the following frameworks:
  • Is there an example I can follow to start with Elemental?
Several examples are provided in the source code within the examples folder. These examples demonstrate how to create agent teams, assign tasks, and solve them using Elemental. They are straightforward and can be used without programming experience. Visit the AttoAgents website for more examples and tutorials.
  • Is there a no-code interface for Elemental?
Yes, Elemental includes a command-line interface that can be used without programming experience. However, since the command-line interface is text-based, it may not be suitable for everyone. Alchemist, Elemental sister project, offers a comprehensive no-code interface for working with agents.
  • How do I make agents interact with my application?
Agents within Elemental can interact with the environment using tools. These tools provide a standardized interface for execution, input, and output. Elemental includes a set of tools for tasks such as reading and writing files and performing basic internet searches. Additional tools can be created and provided to agents to enable interaction with external systems as needed.