Inspiration
Inspired by the friction of gathering rapid customer feedback, Snorkel was built to simulate realistic user reactions and validate Product-Market Fit using the MiroFish swarm intelligence engine. To orchestrate this multi-agent environment, we developed a full-stack application featuring a fast Vue frontend and a Python Flask backend. We gave the AI personas persistent, long-term memory across simulation rounds by integrating an Agent Memory Server backed by Redis. With how expensive multi-agent systems can get, we leveraged The Token Company's compression middleware to save precious tokens and cost. We also integrated Browserbase's software so that our agents can use any web tools necessary throughout he simulation. Due to our complex backend and bunch of API routes proxying for agents, we use Sentry to observe these endpoints. The entire architecture is containerize with Docker to ensure easy deployment of the Python, Node.js, and Redis services.
Challenges
Building this system presented complex challenges, specifically around configuring the persistent memory database and managing the orchestration of multiple AI personas. We also had to carefully manage environment configurations to ensure smooth communication between the Vite proxy, the backend API, and the background workers. Getting everything setup like Redis locally was a pain especially, so a lot of time was spent debugging this.
Conclusion
Ultimately, developing Snorkel deepened our understanding of chaining LLMs to create realistic multi-agent interactions. It also improved our ability to jump into new codebases and start coding right away, as we integrated various sponsors.
Built With
- ams
- api
- devops
- docker
- flask
- javascript
- llm
- machine-learning
- mirofish
- node.js
- python
- redis
- vite
Log in or sign up for Devpost to join the conversation.