Guide: Adding a New Industry¶
This guide provides a step-by-step process for adding a new industry to the MultiAgentEval.
Step 1: Create the Directory Structure¶
- Navigate to the
industries/directory in the root of the project. - Create a new folder for your industry. The name should be lowercase and use underscores instead of spaces (e.g.,
real_estate, notReal Estate). - Inside your new industry folder, create two sub-folders:
scenariosdatasets
Step 2: Add Your First Scenario¶
- Inside the
scenariosfolder, you may want to create sub-folders for different use cases (e.g.,crop_managementin theagricultureindustry). - Create your first scenario
.jsonfile. The name should be numbered and descriptive (e.g.,01_mortgage_application_check.json). - Populate the JSON file using the structure defined in the Evaluation Guide. Use existing scenarios as a reference.
Step 3: Add The Core Functions Description to the Core Functions Guide¶
- Locate the alphabetic spot for your industry (e.g.,
aerospaceindustry resides betweenaccountingindustry andagricultureindustry). - Add your new industry, its use cases and core functions, by following the markdown format of the other industries. These constructs relate to the
industry,use_case, andcore_functionfields in your JSON files. - Define the core functions to document their scope.
Step 4: Include Synthetic Datasets¶
Realistic environments require data. If your scenarios require data (e.g. a CSV of customer transactions), you should link them via the dataset attribute.
To easily generate highly realistic dummy data for your new industry, use the builtin generation script:
records.csv with industry-specific schemas (e.g., policy numbers for insurance, flight routes for airlines) and places it directly in your datasets/ folder for immediate use.
All scenarios are validated at load time against schemas/scenario.schema.json. Your scenario must include these required fields:
Scenario level:
- scenario_id, title, description, use_case, core_function, industry, tasks
- (Optional) initial_state, policies
Task level (each item in tasks):
- task_id, description, expected_outcome, success_criteria
- (Optional) expected_state_changes
Run schema validation locally:
python -c "from eval_runner.loader import load_scenario; from pathlib import Path; load_scenario(Path('industries/YOUR_INDUSTRY/scenarios/YOUR_SCENARIO.json'))"
Step 5: Verify in Visual Debugger¶
Launch the dashboard to ensure your new industry and scenarios are appearing correctly in the library:
Navigate to the Library tab to view your JSON structure and trigger a test run visually.
Step 6: Submit a Pull Request¶
Once you have created the directory structure and added at least one complete scenario, please submit a Pull Request. In the description, briefly explain the industry and the use cases you are starting to build out.
Thank you for helping expand the reach of this project!