Skip to content

Agent Builder UI

DJrOf edited this page Apr 18, 2024 · 24 revisions

What we propose to build

An agent works like an algorithm divided into steps.

The steps are user programmable.

The agent starts from the first step and moves to the next one as soon as the previous step is completed.

Each step sends an event to Nostr.

Each event calls a node.

Nodes can be (extism plugin), or also prompts for the AI ​​model. AI models can run on extism plugins or can be standalone nodes.

Nodes run on nostr and are always listening for a request (job).

The agent workflow is complete once all steps have been completed and final output is returned.

Pages needed

AO Plugin Workflow (2)

How we use Nostr

Detailed presentation of the nostr integration here.

A step (node) sends a job request. The job request returns an ID, which is intercepted by the next step which, before triggering, will wait in the order:

  1. Feedback (status).

  2. A result, which will be the input of the next step.

Users authenticate themselves with the service provider. The service provider reports events for all nodes and users connected to it and takes care of the communication between nodes.

We will need a marketplace for service providers and also a way to announce service providers, with their privacy policies etc...

Intermediate (phase 1.5)

An intermediate implementation that is easy to implement and incremental compared to phase 2, would be to interpret the individual Agents that can be created from the UI of phase 1 as "steps", modifying the creation page as follows.

This would allow individual agents, trained by separate knowledge sources, to operate in sequence and return an output optimized from the point of view of input entropy.

Pages needed for an eventual phase 1.5

  • Create Agent

Screenshot 2024-04-17 alle 20 10 56

Roadmap (Team review needed)

  1. Develop the UI.

  2. Develop CRUDs for plugin registry (XTP)

  3. Integration of UI with XTP

  4. Integration with nostr system by Riccardo

  5. Implementing Agent workflow (connecting the steps via ID through nostr events etc...)

  6. Implementing Agents-in-Agents (Agent as a step/node)


scratchpad

Needed:

  • Add plugin (block)

i think i want a sidebar of available building blocks, u can search through etc

k basic sidebar w plugins

simplest is, i click on a plugin, it adds it to my main window in order

no reordering

just remove from main it go byebye, put it in there it is


k now plugins good, need some thing for handling array to string . . . loop thru array of strings

Array String Loop

Data block . . parse block


Noting I need to distinguish between PLUGINS (Extism) and other types of agent nodes we'll call BLOCKS

Like parsing . . . or other logic loop stuff


What's missing?

  • DONE: Run any individual plugin on the graph and see its output
  • DONE: A button to click to run the whole flow
  • DONE: Load the block flows
  • Nicer UI for collecting prompt / show response
  • Connect the arraystringloop
  • A way to save lock flows