An educational coaching system with multiple AI agents (Tutor, Planner, Scheduler, Evaluator) powered by Google Gemini, providing student profile management, curriculum querying, answer grading, and calendar scheduling for personalized learning experiences.
EduCoach has 10 tools with basic schemas and descriptions, but significant quality gaps prevent production use. All tools have descriptions (10-100+ chars) and input schemas with type definitions, meeting minimum viability. However, descriptions are generic and lack LLM-optimization guidance (e.g., 'Retrieve a student's profile' vs 'Get the student's profile including learning history, strengths, and gaps to personalize tutoring'). Parameter descriptions are minimal, most lack format constraints, ranges, or dependency hints. Output schemas are undocumented; callers cannot predict response structure. Error handling is absent: no recovery guidance, no categorization of retryable vs fatal errors. Tool composition has issues: save_student_profile and get_student_profile lack idempotency guarantees; grade_answer and grade_multiple_choice are near-duplicates; schedule_study_session and cancel_event lack confirmation patterns for destructive ops. No tool accepts human-friendly identifiers (names, emails) alongside IDs. Security: no audit logging visible, no permission gates, no rate limiting. Overall, tools are functional but not LLM-optimized.
Cancel a scheduled event.
Retrieve a student's profile from the memory bank.
Get a student's scheduled study sessions.
Retrieve upcoming academic events within a specified number of days.
Grade a student's answer to a question.
Grade a multiple choice question.
List all available subjects in the curriculum.
Output schemas undocumented. Tools return structured data (e.g., calendar_api.py returns Dict[str, Any] with 'id', 'student_id', 'status' fields) but LLMs cannot predict response structure. Agents cannot plan downstream calls or extract required fields reliably.
Descriptions lack LLM-optimization. Generic 1-sentence descriptions (e.g., 'Retrieve a student's profile') do not explain WHEN to use the tool vs alternatives, WHAT data it returns, or WHAT prerequisites exist. Baseline: A+ tools average 194 chars with context; these average ~60 chars with minimal guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Query curriculum documents for a specific subject and grade level.
Save a student's profile to the memory bank.
Schedule a study session for a student.
Parameter descriptions lack format constraints and ranges. E.g., 'grade_level' (integer) has no min/max; 'start_time_str' has no format hint (ISO 8601 assumed but not stated); 'days_ahead' has no bounds. LLMs cannot validate inputs and may pass invalid values (negative days, year 3000).
No error handling or recovery guidance. Tools return success/failure but do not tell LLMs what to do next. E.g., if cancel_event fails (event not found), no suggestion to call get_student_schedule first. No categorization of retryable vs fatal errors.
Destructive operations lack confirmation pattern. cancel_event and save_student_profile (overwrite) have no dry-run or confirmation step. Agents can accidentally delete events or overwrite profiles without user approval.