Education
Academic Support Module
Administrative Tasks Module
Communication Module
Curriculum Development Module
Enrollment & Registration Module
Learning Module
Resource Management Module
Need a custom agent?
Build tailored AI solutions
Work with our team to develop custom AI agents for your business.
Contact usEducation
Education
Grading Assistant
You are an advanced AI grading system responsible for consistent, fair, and comprehensive assessment.
Purpose
You are an advanced AI grading system responsible for consistent, fair, and comprehensive assessment.
AI-Powered Intelligence — Advanced AI capabilities for automated processing and analysis
Enterprise Ready — Built for production with security, scalability, and reliability
Seamless Integration — Easy to integrate with your existing systems and workflows
Agent Capabilities
This agent is equipped with the following advanced capabilities:
Knowledge Base
Vector search & retrieval
Knowledge (NoneType)
Available Tools
Apply Rubric Grading
Apply a grading rubric to student work and generate detailed feedback.
Args:
assignment_data: JSON with assignment submission details
rubric: JSON rubric with criteria and point values
Returns:
Graded assessment with rubric scores and feedback
Apply Rubric Grading
Apply a grading rubric to student work and generate detailed feedback. Args: assignment_data: JSON with assignment submission details rubric: JSON rubric with criteria and point values Returns: Graded assessment with rubric scores and feedback
def apply_rubric_grading(assignment_data: str, rubric: str) -> str: """ Apply a grading rubric to student work and generate detailed feedback. Args: assignment_data: JSON with assignment submission details rubric: JSON rubric with criteria and point values Returns: Graded assessment with rubric scores and feedback """ try: if isinstance(assignment_data, str): assignment = json.loads(assignment_data) else: assignment = assignment_data if isinstance(rubric, str): rubric_data = json.loads(rubric) else: rubric_data = rubric student_name = assignment.get('student_name', 'Unknown') assignment_title = assignment.get('title', 'Assignment') criteria_scores = assignment.get('criteria_scores', {}) rubric_criteria = rubric_data.get('criteria', []) report = f"=== GRADING ASSESSMENT ===\n\n" report += f"Student: {student_name}\n" report += f"Assignment: {assignment_title}\n\n" report += f"{'Criterion':<30} {'Points':>10} {'Max Points':>12} {'Percentage':>12}\n" report += "-" * 70 + "\n" total_earned = 0 total_possible = 0 for criterion in rubric_criteria: name = criterion.get('name', 'Unknown') max_points = criterion.get('max_points', 0) earned = criteria_scores.get(name, 0) percentage = (earned / max_points * 100) if max_points > 0 else 0 total_earned += earned total_possible += max_points report += f"{name:<30} {earned:>10} {max_points:>12} {percentage:>11.1f}%\n" final_percentage = (total_earned / total_possible * 100) if total_possible > 0 else 0 report += "-" * 70 + "\n" report += f"{'TOTAL':<30} {total_earned:>10} {total_possible:>12} {final_percentage:>11.1f}%\n\n" "color: #6b7280;"># Letter grade if final_percentage >= 90: letter_grade = "A" elif final_percentage >= 80: letter_grade = "B" elif final_percentage >= 70: letter_grade = "C" elif final_percentage >= 60: letter_grade = "D" else: letter_grade = "F" report += f"=== FINAL GRADE ===\n" report += f"Score: {final_percentage:.1f}% ({letter_grade})\n\n" report += "=== FEEDBACK RECOMMENDATIONS ===\n" if final_percentage >= 90: report += "Excellent work! Consider highlighting specific strengths.\n" elif final_percentage >= 70: report += "Good effort. Provide specific suggestions for improvement in lower-scoring areas.\n" else: report += "⚠️ Below standards. Schedule student conference and provide detailed improvement plan.\n" return report except Exception as e: return f"Error applying rubric grading: {str(e)}"
Calculate Class Statistics
Calculate class-wide grade statistics and identify outliers.
Args:
grades: JSON array of student grades for an assignment or class
Example: {"assignment": "Midterm Exam", "grades": [85, 92, 78, 65, 88, 90, 72]}
Returns:
Statistical analysis report with class distribution
Calculate Class Statistics
Calculate class-wide grade statistics and identify outliers. Args: grades: JSON array of student grades for an assignment or class Example: {"assignment": "Midterm Exam", "grades": [85, 92, 78, 65, 88, 90, 72]} Returns: Statistical analysis report with class distribution
def calculate_class_statistics(grades: str) -> str: """ Calculate class-wide grade statistics and identify outliers. Args: grades: JSON array of student grades for an assignment or class Example: {"assignment": "Midterm Exam", "grades": [85, 92, 78, 65, 88, 90, 72]} Returns: Statistical analysis report with class distribution """ try: if isinstance(grades, str): data = json.loads(grades) else: data = grades assignment = data.get('assignment', 'Assignment') grade_list = data.get('grades', []) if not grade_list: return "Error: No grades provided" grade_list_sorted = sorted(grade_list) n = len(grade_list_sorted) mean = sum(grade_list) / n median = grade_list_sorted[n // 2] if n % 2 == 1 else(grade_list_sorted[n // 2 - 1] + grade_list_sorted[n // 2]) / 2 minimum = min(grade_list) maximum = max(grade_list) "color: #6b7280;"># Calculate standard deviation variance = sum((x - mean) ** 2 for x in grade_list) / n std_dev = variance ** 0.5 "color: #6b7280;"># Grade distribution distribution = {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'F': 0} for grade in grade_list: if grade >= 90: distribution['A'] += 1 elif grade >= 80: distribution['B'] += 1 elif grade >= 70: distribution['C'] += 1 elif grade >= 60: distribution['D'] += 1 else: distribution['F'] += 1 report = f"=== CLASS GRADE STATISTICS ===\n\n" report += f"Assignment: {assignment}\n" report += f"Total Students: {n}\n\n" report += "=== DESCRIPTIVE STATISTICS ===\n" report += f"Mean(Average): {mean:.2f}%\n" report += f"Median: {median:.2f}%\n" report += f"Standard Deviation: {std_dev:.2f}\n" report += f"Minimum: {minimum:.2f}%\n" report += f"Maximum: {maximum:.2f}%\n" report += f"Range: {maximum - minimum:.2f}%\n\n" report += "=== GRADE DISTRIBUTION ===\n" report += f"{'Grade':<10} {'Count':>10} {'Percentage':>12}\n" report += "-" * 35 + "\n" for grade, count in distribution.items(): percentage = (count / n * 100) bar = '█' * int(percentage / 5) report += f"{grade:<10} {count:>10} {percentage:>11.1f}% {bar}\n" report += "\n=== ANALYSIS ===\n" failing_count = distribution['F'] if failing_count > n * 0.2: report += f"⚠️ HIGH FAILURE RATE: {failing_count} students({failing_count/n*100:.1f}%)\n" report += "Recommendations:\n" report += " - Review assignment difficulty and clarity\n" report += " - Consider offering reassessment opportunity\n" report += " - Schedule review session for struggling students\n\n" if std_dev > 20: report += "⚠️ HIGH VARIABILITY in student performance\n" report += "Recommendations:\n" report += " - Differentiated instruction may be needed\n" report += " - Identify students needing additional support\n\n" if mean >= 85: report += "✓ Strong class performance overall\n" elif mean < 70: report += "⚠️ Below-target class average - instructional review recommended\n" return report except Exception as e: return f"Error calculating class statistics: {str(e)}"
Reasoning Tools
ReasoningTools from agno framework
Reasoning Tools
ReasoningTools from agno framework
Required Inputs
Generated Outputs
Business Value
• Automated processing reduces manual effort and improves accuracy
• Consistent validation logic ensures compliance and audit readiness
• Early detection of issues minimizes downstream risks and costs
Graph

Pricing
Get in touch for a tailored pricing
Contact us to discuss your specific needs and requirements and get a personalized plan.
Custom Deployment
Tailored to your organization's specific workflows and requirements.
Enterprise Support
Dedicated support team and onboarding assistance.
Continuous Updates
Regular updates and improvements based on latest AI advancements.
Contact Us
For enterprise deployments.
€Custom
one time payment
plus local taxes
Tailored solutions — Custom pricing based on your organization's size and usage requirements.