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
- Capability Scanning: The AI identifies existing automation technologies and their capabilities.
- Component Analysis: It breaks down complex tasks into potentially automatable components.
- Path Building: It constructs potential paths to automation by combining available components.
- Gap Identification: Where automation is not yet possible, it identifies technological gaps.
- 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:
Alternative Evaluation
Users vote on alternative implementations for specific steps, helping identify the most effective approaches.
Capability Assessment
Users report on automation technologies they're familiar with, helping us expand our knowledge base of existing capabilities.
Prediction Refinement
Expert users provide insights on timeline predictions for future automation developments.
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.