Overview of waggle-dance Project
waggle-dance.ai is an experimental application designed to achieve user-specified goals by building agent-based systems. The application is focused on explainability, observability, concurrent generation, and exploration, offering a unique and opinionated user interface. The project is currently in its pre-alpha stage, which means that it prioritizes experimentation over stability as the fields of goal-solving and agent systems rapidly evolve.
Key Features
- Concurrent Execution: The application begins its process by formulating a highly concurrent execution graph. It identifies sub-task branches that can run simultaneously to save time.
- Review Mechanism: Adversarial agents review the results to ensure accuracy and prevent misconceptions.
- Long-term Memory: Incorporates a vector database for maintaining long-term memory.
- User Interface: Provides a responsive UI with features like a graph visualizer, sub-task (agent) results display, and logs of agent activities.
System Architecture
waggle-dance.ai employs a multi-agent architecture to realize its operations:
- Planner Agent: Tasks are first handed over to a Planner Agent, which streams an execution path for various subtasks.
- Execution Agents: These agents work on executing the subtasks as concurrently as possible.
- Criticism Agents: Their role is to review the sub-results to minimize errors.
The intended feature is for human users to interact with individual agents to provide guidance if necessary.
The project has drawn inspiration from pioneering platforms like Auto-GPT and gpt-researcher which are known for their impressive concurrency features. Additionally, in contrast to many agentic systems that are grounded in Python, waggle-dance helps JavaScript developers by providing an accessible platform in that language.
Technology Stack
The technological framework of waggle-dance.ai comprises:
- TypeScript and Langchain.js: For building the core functionalities.
- T3 and Prisma: Employed for managing application logic and database.
- tRPC: Facilitates the API generation.
- Weaviate and Postgres: For vector database and standard relational database operations respectively.
- OpenAI API: Helps in further agent development.
- MUI Joy: For the application’s user interface design.
Roadmap and Community Involvement
The project encourages community involvement and offers various ways to contribute, such as documentation enhancement, example additions, and sharing user stories. There is a lively Discord community where developers and non-developers can join the discussions.
Running waggle-dance Locally
The application can be run locally via Docker or Node.js following configuration of environment variables. Using a local or cloud-hosted PostgreSQL instance is necessary, with Docker being the recommended setup. Once everything is in place, specific commands can help set up the database and initiate the application.
Open Source Contribution
waggle-dance.ai is open source under the MIT license, allowing developers to engage in its development freely. In the future, there may be extensions created for commercial licensing to expand its reach and functionality.
This overview encapsulates what the waggle-dance project aims to achieve, how it is structured, and the technology it employs, along with avenues for community involvement and future development prospects.