Trying out Auto-GPT: AGI with an Agent Model


There is an emerging trend in AI: getting AI to work with itself. It’s a form of perpetual self-improvement. The Agent model allows delegation, which can chunk each work into smaller pieces.

The flow looks something like this: tasks are generated based on the user-provided requirements, then passed on to the Queue Manager. Tasks are reorganized and reprioritized. Workers are then spawned on-demand to work on individual tasks.

The real kicker in some of these frameworks is that they have added access to external data sources such as:

  • browsing google
  • accessing databases
  • submitting tasks to external services
  • writing to files

Meeseeks Agents

These spawned agents all work together, hopefully without any conflicts… I hope.

Agent Model

There are 3 actors – Manager, Executor, and Queue Manager, then there is a centralized storage to store the “thought process”.

 flowchart
    User([User])-- 1. Provide objective & task -->Queue[(Task Queue)];
    Queue-- 2. Complete task -->Execution(Execution Agent);
    Execution-- 3. Send task result -->Creation(Task Creation Agent);
    Creation-- 4. Add new task -->Queue;
    Queue-- 5. Prioritize task -->Prioritize(Task Prioritization Agent);
    Prioritize-- 6. Create task list -->Queue;

    Memory[(Memory Storage)]-- Context -->Execution;
    Memory[(Memory Storage)]-- Context -->Creation;

    Execution-- Store task+result -->Memory;
    Execution-- Queue memory for context -->Memory;

    Creation-- Queue memory for context -->Memory;

Adapted from @yoheinakajima

There are multiple variants of this flow, and notably, there are these repos available for experimentation: Auto-GPT, and BabyAGI

Auto-GPT

This new repo skyrocketed in popularity because it’s so easy to set up. You just need to get an API key from OpenAI and Pinecone; install Python and you’re ready to go.

The interface is still a little clunky because you need to provide exactly 5 Goals for your task.

There are also persisting problems when the application fails to communicate with OpenAI API and goes into an infinite failure loop. I tried updating the repo from upstream at some point, but it stopped working altogether. It’s safe to say that it’s only a beta demo, and the project is in its infancy.

However, seeing the “thought process” of this AI machine is very intriguing and interesting.

The missing piece, the validator

I would be interested to see a new type of agent added to the stack – the “validator”.

Since we never got to a solid conclusion, I think it’d be interesting to have a worker that validates some chunk of work against the prompt. It’d be a form of an automated self-reflection mechanism. By doing so we could eliminate pieces of work that do not correspond to expectations.

This was evident when my friends and I tried to generate an itinerary for a trip abroad from Tokyo, somehow AI kept getting stuck at trips from Tokyo, but within Japan. If there was a validator to check the outcome, this mistake probably would’ve been prevented.

I’ve been somewhat on top of crypto for a while now. Well, I thought following crypto was hard – but following AI is getting harder and harder. But hopefully, both of these problems will be solved by AI soon.