Technical Details

Dive deep into the architecture and implementation of Universal Automation Wiki

System Overview

The Universal Automation Wiki is designed to provide a comprehensive mapping of automation workflows across various domains. At its core is the Iterative AI technology, which breaks down complex tasks into manageable steps using a bottom-up approach.

Rather than relying on a traditional database, we use a file system-based hierarchy to represent and manage our automation trees. This approach allows for flexibility, ease of maintenance, and transparent version control.

Bottom-Up Implementation

Our system employs a bottom-up approach to building automation trees. This means we start with existing automation technologies and components, identifying what's already possible, and then build up more complex solutions from these foundational elements.

The bottom-up methodology allows us to:

  • Ground our automation trees in real-world capabilities
  • Provide accurate predictions about when full automation will be possible
  • Identify gaps in current technology that require innovation
  • Create practical, achievable automation pathways

Tree Structure & File System Implementation

Instead of storing automation trees in a database, we use a file system-based hierarchy where each node in the tree is represented as a folder. This approach offers several advantages:

  • Simplicity in implementation and maintenance
  • Easy version control with standard tools like Git
  • Human-readable structure for debugging and manual inspection
  • Scalability for large automation trees

Directory Structure

/tree_root/
│── bake_bread/  # A node (task)
│   │── 1a2b3c.json  # First alternative
│   │── 4d5e6f.json  # Second alternative
│── build_computer/
│   │── 7g8h9i.json  
│   │── j0k1l2.json

JSON File Format

Each folder (node) contains multiple JSON files, representing different possible steps (alternatives). JSON file contents include:

{
  "step": "Mix the dough by hand, kneading for 10-15 minutes until elastic",
  "uuid": "1a2b3c",
  "parent_uuid": "9a02dc13"
}

Potential Routines

The project uses small Python scripts (routines) to manage and expand the automation tree. These routines provide the core functionality of our system:

Initial Tree Hallucination

A script that generates an initial task tree from a high-level goal using AI.

Example: "Bake a loaf of bread" → Generates a tree with steps like "Gather ingredients," "Mix dough," etc.

python hallucinate_tree.py ./input/ht.json ./output/ht-out

Node Expansion

Expands specific nodes, generating alternative breakdowns for a given step.

Example: Expanding "Mix dough" might generate different techniques (hand kneading vs. using a mixer).

python expand_node.py --node ./tree_root/bake_bread/mix_dough --alternatives 3

User Feedback Integration

A voting system that allows users to select the best steps. The top-voted step becomes the primary "best" path shown in the main wiki view.

python process_votes.py --node ./tree_root/bake_bread/mix_dough

Prediction System

Using collected data, this script estimates when full automation for a given task might be possible.

Example: If robotics can already knead dough, we predict when an entire bread-making process can be fully automated.

python predict_automation.py --task "bake_bread" --output predictions.json

AI-Driven Tree Generation

Iterative AI is central to our bottom-up approach. It analyses existing automation capabilities and builds a hierarchical representation of how these components can be combined to achieve more complex tasks.

How Iterative AI Works

  1. Capability Scanning: The AI identifies existing automation technologies and their capabilities.
  2. Component Analysis: It breaks down complex tasks into potentially automatable components.
  3. Path Building: It constructs potential paths to automation by combining available components.
  4. Gap Identification: Where automation is not yet possible, it identifies technological gaps.
  5. Timeline Prediction: Based on technology trends, it predicts when gaps might be filled.

This process allows for continuous improvement and adaptation of workflows based on user feedback and evolving technologies.

Community-Driven Refinement

User feedback is integral to our platform's evolution. Through targeted questionnaires, users help refine our automation trees:

Future Improvements

We aim to enhance the system by:

  • Incorporating more advanced AI models for better identification of automation components
  • Expanding our catalogue of existing automation technologies
  • Creating more sophisticated prediction algorithms for automation timelines
  • Developing visualisation tools that make complex automation trees more accessible
  • Adding integration with real-world automation systems for validation

Community input will play a crucial role in shaping these developments and prioritising our roadmap.