Welcome to the starter code repository for the Munder Difflin Paper Company Multi-Agent System Project! This repository contains the starter code and tools you will need to design, build, and test a multi-agent system that supports core business operations at a fictional paper manufacturing company.
You’ve been hired as an AI consultant by Munder Difflin Paper Company, a fictional enterprise looking to modernize their workflows. They need a smart, modular multi-agent system to automate:
- Inventory checks and restocking decisions
- Quote generation for incoming sales inquiries
- Order fulfillment including supplier logistics and transactions
Your solution must use a maximum of 5 agents and process inputs and outputs entirely via text-based communication.
This project challenges your ability to orchestrate agents using modern Python frameworks like smolagents, pydantic-ai, or npcsh, and combine that with real data tools like sqlite3, pandas, and LLM prompt engineering.
From the project.zip starter archive, you will find:
project_starter.py: The main Python script you will modify to implement your agent systemquotes.csv: Historical quote data used for reference by quoting agentsquote_requests.csv: Incoming customer requests used to build quoting logicquote_requests_sample.csv: A set of simulated test cases to evaluate your system
All the files have been provided in the VS Code workspace on the Udacity platform. Please install the agent orchestration framework of your choice.
- Install dependencies
Make sure you have Python 3.8+ installed.
You can install all required packages using the provided requirements.txt file:
pip install -r requirements.txt
If you're using smolagents, install it separately:
pip install smolagents
For other options like pydantic-ai or npcsh[lite], refer to their documentation.
- Create .env File
Add your OpenAI-compatible API key:
UDACITY_OPENAI_API_KEY=your_openai_key_here
This project uses a custom OpenAI-compatible proxy hosted at https://openai.vocareum.com/v1.
Start by defining your agents in the "YOUR MULTI AGENT STARTS HERE" section inside template.py. Once your agent team is ready:
- Run the
run_test_scenarios()function at the bottom of the script. - This will simulate a series of customer requests.
- Your system should respond by coordinating inventory checks, generating quotes, and processing orders.
Output will include:
- Agent responses
- Cash and inventory updates
- Final financial report
- A
test_results.csvfile with all interaction logs
- Start by sketching a flow diagram to visualize agent responsibilities and interactions.
- Test individual agent tools before full orchestration.
- Always include dates in customer requests when passing data between agents.
- Ensure every quote includes bulk discounts and uses past data when available.
- Use the exact item names from the database to avoid transaction failures.
Make sure to submit the following files:
- Your completed
template.pyorproject_starter.pywith all agent logic - A workflow diagram describing your agent architecture and data flow
- A
README.txtordesign_notes.txtexplaining how your system works - Outputs from your test run (like
test_results.csv)