Problem Generation
NEW in v0.2.2: Generate complete physics problems from ideas using natural language!
Overview
VBAgent can now generate complete problems from scratch using Agent 5 (Idea Generator) with full pipeline integration:
- Problem statement + solution + alternate solution
- TikZ diagrams from description
- Classification metadata
- Difficulty assessment
- Standard output format
Using Chat Interface
The easiest way to generate problems:
Example 1: Minimal Input
You: "Create a problem on friction"
Agent: "What topic is this for? (e.g., Mechanics, Dynamics)"
You: "Mechanics"
Agent: "What type of question? (mcq_sc, passage, subjective)"
You: "passage"
Agent: "How many questions?"
You: "3"
Agent: "Should I include diagrams?"
You: "yes"
Agent: *generates complete problem*
Example 2: Full Details Upfront
You: "Generate a passage problem on double block friction system in
Mechanics with 3 questions, medium difficulty, with diagrams"
Agent: *directly generates without asking*
What You Get
Complete problem with:
- ✅ Generated LaTeX (problem + solution + ideas)
- ✅ TikZ diagram (auto-generated from description)
- ✅ Classification metadata (Agent 4)
- ✅ Diagram analysis (Agent 2)
- ✅ Difficulty assessment (Agent 3)
- ✅ All metadata merged into LaTeX
Output structure:
agentic/
├── generated/
│ ├── problem_1.tex (with metadata comments)
│ ├── problem_1_solution.tex
│ └── problem_1_idea.tex
├── classifications/problem_1.json
├── diagrams/problem_1.json
├── difficulty/problem_1.json
└── tikz/problem_1.tex
Same format as image/tex processing!
Parameters
When generating problems, you can specify:
- idea (required): What the problem is about
-
Example: "double block friction system"
-
topic (required): Physics topic
-
Example: "Mechanics", "Thermodynamics", "Kinematics"
-
question_type (optional): Type of question
- Options:
mcq_sc,mcq_mc,passage,subjective,assertion_reason,match -
Default:
passage -
num_questions (optional): Number of questions (for passage)
- Range: 1-10
-
Default: 2
-
difficulty (optional): Target difficulty
- Options:
easy,medium,hard -
Default:
medium -
with_diagram (optional): Include diagrams
-
Default:
true -
concepts (optional): Specific concepts to cover
- Example: ["friction", "normal force", "energy conservation"]
Example Conversations
Physics Problem
You: "I want to create a problem on projectile motion"
Agent: "What topic?"
You: "Kinematics"
Agent: "What type of question?"
You: "mcq_sc"
Agent: "Difficulty level?"
You: "hard"
Agent: "Include diagrams?"
You: "yes"
Agent: *generates MCQ with trajectory diagram*
Chemistry Problem
You: "Generate a passage on chemical equilibrium in Physical Chemistry,
4 questions, medium difficulty"
Agent: *generates complete passage with reactions and diagrams*
Mathematics Problem
You: "Create a calculus problem on integration by parts"
Agent: "What difficulty?"
You: "medium"
Agent: *generates problem with step-by-step solution*
Tips
-
Be specific about the concept: "double block friction" is better than just "friction"
-
Mention key concepts: Helps generate focused problems
-
Specify diagram needs: If you want specific diagram elements
-
Use natural language: The agent understands conversational input
Workflow
- Generate → Problem created by Agent 5
- TikZ → Diagram generated from description
- Classify → Agent 4 analyzes the problem
- Analyze → Agent 2 analyzes diagram
- Assess → Agent 3 assesses difficulty
- Merge → All metadata added to LaTeX
- Save → Standard format output
Time Estimates
- Problem generation: ~30-40 seconds
- TikZ generation: ~5-10 minutes (complex diagrams)
- Classification: ~1-2 seconds
- Diagram analysis: ~10 seconds
- Difficulty assessment: ~15-20 seconds
Total: ~6-12 minutes for complete problem with diagram