Building BabyAGI in Ailixr

No Coding Required

Eric Gu
4 min readDec 29, 2023

Hi, I’m Eric, and I’m thrilled to introduce you to Ailixr, an intuitive, canvas-based tool to it easy for anyone to create powerful AI solutions.

What is Ailixr?

Ailixr is a versatile platform designed for building and deploying AI pipelines and agents like you would a Miro flow chart. It features a user-friendly interface with modular design. You can easily add, connect, and rearrange modules, from basic data input types to different AI models linked to popular AI APIs like HuggingFace and OpenAI.

Ailixr enables users to develop AI systems either as linear pipelines…

Simple Image questioning pipeline

… or recursive Agentic frameworks.

BabyAGI complete Ailixr flow

Pipeline Modules: Seamless Interoperability

Ailixr enhances rapid prototyping and effortless integration into various tech environments through its unique Pipeline In and Pipeline Out modules. These modules create webhooks, facilitating real-time data exchange between Ailixr’s AI pipelines and external systems. This design allows for seamless interaction, enabling users to efficiently input data into Ailixr (via Pipeline In) and access AI-processed results from external platforms (via Pipeline Out).

Pipeline out module to download results from BabyAGI flow

Let’s build something!

I want to quickly show you how you can go from concept to deployment with Ailixr. We will prototype a popular task-driven AI agent system, called BabyAGI.

TLDR: Watch Video tutorial

What is BabyAGI?

In short, BabyAGI is one of the first AI Agent frameworks for automation through creating, prioritizing, and executing of tasks towards a particular objective. Utilizing OpenAI’s models, it operates in a continuous loop, iteratively generating and managing tasks based on previous outcomes and a predefined objective.

Link to BabyAGI Github: https://github.com/yoheinakajima/babyagi

BabyAGI is a quite simple framework, composed of 3 task-specific agents:

  1. Task_Creation_Agent: which comes up with new tasks based on a given objective, keeping in mind a list of current and completed tasks.
  2. Prioritization_Agent: that determines the order in which tasks should be tackled.
  3. Execution_Agent: This agent actively works on executing each task.

Setting an Objective

For our demo, let’s give it a simple objective:

Figure out if we live in a simulation.

Setting the Objective to “Figure out if we live in a simulation.”

Task_Creation_Agent

The Task_Creation_Agent is composed of a text node with instructions directly copied from BabyAGI’s codebase, joined with the current task list, the most recently executed task, and its result. Combined to create a comprehensive prompt that is sent via an API call to OpenAI. In this case, we select the GPT-3.5-turbo model, which processes this prompt and returns a list of newly generated tasks.

Task Completion Agent Flow

Prioritization_Agent

Following the task creation, the Prioritization_Agent steps in. Utilizing the same prompt structure from BabyAGI, it assesses the current objective alongside the current task list, makes another call to OpenAI, which returns a reordered list of tasks, prioritized based on the given objective and the context derived from the earlier tasks.

Task Prioritization Agent Flow

A Text Splitter module extracts the top task from the prioritized list and feeds it into Execution_Agent.

Execution_Agent

Execution_Agent takes the top task and attempts to generate a solution to it. The results of this task are then saved into two temporary memory nodes: one for the last task undertaken and another for the result achieved.

Task Execution Agent Flow

These agents continue iterating until either 1) all tasks are completed, 2) the Task_Creation_Agent can no longer generate new tasks, or 3) the primary objective is deemed to have been fulfilled.

There you have it — BabyAGI is seamlessly recreated within Ailixr, all without writing a single line of code!

Full BabyAGI Flow

Deploying the Agent

Having constructed the agentic loop, deploying it is streamlined by integrating a set of Pipeline In and Pipeline Out modules.

The Pipeline In module connects to the objective node, creating a webhook that allows you to give BabyAGI new objectives.

Pipeline In Module

Pipeline Out module connects to the results, allowing you to access the results from external locations. This setup ensures a smooth deployment process, enabling efficient input and output management within the Ailixr environment.

Interested in Ailixr?

Ailixr is here to do for AI what Arduino did for electronics: demystify and democratize.

Sign up for Early Access HERE!

--

--

Eric Gu
Eric Gu

Written by Eric Gu

Creative technologist and researcher exploring themes of technology, creativity, and navigating an ever more complex world.

No responses yet