In this project, we want to create an AI Agent that can be used to create personalized learning experiences, adapting to individual needs and preferences based on their inputs. With this agent, we can see the importance of user interaction and creating a structured output, as well as how a multi-agent configuration can quickly intake the request, process it, and share it back with the end-user. Here are some key considerations:
- User Interaction for Assessment: This agent scenario requires interactive input from the user for the skill assessment.
- Consideration of Learning Style: The learning plan generator takes into account the user's preferred learning style.
- Focus on a Structured Output: The learning plan has a specific structure (topics, resources, activities, timeline).
Let's begin.
1. Project Creation:
- Name: "Learning Plan Generator"
- Description: "Generates personalized learning plans based on user input."
2. Knowledge Base (Optional):
- Name: "Learning Resources"
- Content: A curated list of learning resources (courses, books, articles, websites) categorized by topic and skill level. This could be populated manually or even by scraping relevant data from the web.
3. Agent 1: "Skill Assessor"
- Purpose: Assess the user's current skill level in a given subject. This could be done through multiple-choice questions, self-assessment, or even by analyzing the user's past experience (if available). It's important to include some type of request for information from the user in your AI App.
- Prompt:
You are a skill assessor. You will receive information about a user's experience and self-assessment in a particular subject. Based on this information, determine their skill level (Beginner, Intermediate, Advanced). Provide a brief justification for your assessment.
Subject:
{{ subject }}
User Experience:
{{ userExperience }}
Self-Assessment:
{{ selfAssessment }}
- Inputs:
subject
(User Input)userExperience
(User Input)selfAssessment
(User Input)
- Outputs:
Generated Text Stream | Process
skillLevel
(Text - e.g., "Intermediate")assessmentJustification
(Text)
- Example
4. Agent 2: "Learning Plan Generator"
Now, let's set up agent #2.
- Purpose: Generates a personalized learning plan based on the user's inputs which included their skill level and learning goals.
- Prompt:
You are a learning plan generator. You will receive the user's skill level, learning goals, and preferred learning style. Based on this information, create a personalized learning plan that includes specific resources and activities.
Skill Level:
{{ skillLevel }}
Learning Goals:
{{ learningGoals }}
Preferred Learning Style:
{{ learningStyle }} (e.g., visual, auditory, kinesthetic)
Learning Resources (Optional):
{{ learningResources }} (If a knowledge base is used)
The learning plan should be structured, including:
* A list of topics to cover.
* Recommended learning resources (courses, books, articles, etc.) with links if available.
* Suggested activities or exercises to reinforce learning.
* A timeline or schedule for completing the plan.
Consider the user's learning style when recommending resources and activities. For example, if the user prefers visual learning, suggest videos or diagrams.
- Inputs:
skillLevel
(From Agent 1)learningGoals
(User Input)learningStyle
(User Input)learningResources
(From Knowledge Base "Learning Resources" - optional)
- Outputs:
Generated Text Stream | Process
learningPlan | Process | Text
- Example:
5. Entry Agent: "Learning Plan Interface"
Now, let's setup our entry agent to handle the UI and flow of our Learning Plan Generator.
- Purpose: Provides the user interface. This agent gathers the necessary information from the user (subject, experience, self-assessment, learning goals, learning style) and displays the generated learning plan.
- Prompt: (no prompt)
- Inputs:
Question | User input | Text
- Outputs:
Generated Text Stream | Process
learningPlan | Call Learning Plan Generator
- Example:
5. Test and debug your agent
Now, let's test our agent. Select "Debug" and input a sample learning scenario.
- Sample text: "I am a wanna be developer who has not technical background. I want to learn how to do some basic coding to build a food ingredients phone app that returns health information to end users. I like to learn through reading and am a professional swimmer when I need to be."
Based on the input, you can see the text-based plan that gives me a range of learning steps, plus the JSON output confirming the plan's details.
- Deploy your AI app and let the fun begin.
If you are ready to try another one, check out our guide on how to build a Meeting Summarizer agent that can take a meeting transcript and summarize it and share action items.