Rubber Duck AI | Multiagent Learning App
First Place and Best Project at the Amazon Competition, Bilkent University, September 2024
Rubber Duck AI - Multi-Agent Learning Tool Powered by Knowledge Graphs
- First Place Winner at the Amazon Competition, earning a Gen AI Scholarship ($4,000) and mentorship from Amazon.
- Developed a multi-agent LLM learning tool designed to help users master topics through teaching, inspired by Richard Feynman’s techniques and the Rubber Duck method from software development.
- Built with LangChain and Langgraph for agent orchestration, using Neo4j for knowledge graphs, Flask for the backend, React for the frontend, and deployed on AWS using Docker and Nginx.
-
Featured in Bilkent News
In September 2024, we won First Place in the prestigious Amazon competition at Bilkent University for our project, Rubber Duck AI. Our innovative system earned us the Best Project title, a Gen AI Scholarship valued at $4,000, and invaluable mentorship and referrals from Amazon.
The Idea Behind Rubber Duck AI
Inspired by Richard Feynman’s learning principles and the Rubber Duck debugging technique, Rubber Duck AI helps users internalize complex topics by teaching them to a “rubber duck” (an LLM). If the user struggles, a teacher LLM steps in, and an assistant LLM retrieves relevant documents to aid the learning process.
How it Works
Users upload documents related to the topic they want to learn. The system parses the document to build a knowledge graph, extracting relationships between nodes. The Rubber Duck LLM then asks questions based on these relationships. Users answer, and the system checks their answers with the help of a coverage check agent (LLM) using Retrieval-Augmented Generation (RAG) to ensure accuracy and avoid hallucinations.
If an answer is incorrect, the teacher LLM provides an explanation, and if it’s partially correct, the assistant LLM prompts follow-up questions. This interactive process continues until the user has fully learned the topic.
Technologies Used
- LangChain and Langgraph for agent orchestration
- Neo4j for building and managing knowledge graphs
- Flask for backend development
- React for frontend interface
- Amazon Web Services (AWS), Nginx, and Docker for deployment
Acknowledgements
We owe our success to our incredible teammate Yusuf Kesmen, and the invaluable support of our mentors Arjan Hoogenboom and Mehmet Emin Pamuk. Special thanks to Alba Mustafaj for organizing the competition and to the entire Amazon team for their guidance. We also want to thank our department head Selim Aksoy and judges Onur Ağın, Dmytro Kosmakov, and Adam Kościński for their feedback.
This project marks a significant achievement for the Bilkent AI Society, which we co-founded a year ago. We’re excited to keep building and sharing more innovations in the future, stay tuned for updates!