Admin Guide

Innovation Agents

The Innovation Agents system uses AI (or rule-based fallback) to analyze your platform data and generate actionable suggestions for content improvement and student engagement.

Agent Workflow

Admin Trigger POST /run/{type} Gather Data Platform stats Analyze LLM or rules Generate Suggestions Prioritized list Save to Database innovation_suggestions ADMIN REVIEW WORKFLOW Review Suggestion Accept Reject Implement STATUS VALUES new | reviewing accepted | rejected implemented

Figure 6: Innovation Agent Workflow -- Trigger to Implementation

Content Innovation Agent

The Content Agent analyzes your educational content and identifies gaps, quality issues, and opportunities for new material.

What It Analyzes

  • Content density -- Videos per channel, episodes per series
  • Homework/test coverage -- Episodes without assignments
  • Video duration patterns -- Too long (>60min) or too short (<5min)
  • Content diversity -- Tag variety across episodes
  • Test performance -- Pass rates that are too low or too high
  • Overall content health score

Suggestion Types Generated

TypeDescription
new_seriesSuggest creating a new series to fill content gaps
new_episodeRecommend adding episodes to sparse series
content_updateUpdate existing content that may be outdated
content_gapIdentify missing homework or test coverage
prerequisiteSuggest adding prerequisite relationships

Engagement Innovation Agent

The Engagement Agent focuses on student behavior, retention, and learning outcomes.

What It Analyzes

  • Enrollment patterns -- Churn rate and active vs total
  • Watch completion rates -- Abandonment points
  • Homework submission rates -- Engagement with assignments
  • Test pass rates and scores
  • Grade distribution -- Failure rates
  • Enrollment-to-activity ratio -- Students who enroll but do not engage

Suggestion Types Generated

TypeDescription
retentionStrategies to reduce student churn
gamificationAdd badges, streaks, or leaderboards
ux_improvementUI/UX changes to improve experience
learning_pathPersonalized content recommendations
interventionFlag struggling students for outreach
notificationPush notification strategies

LLM Configuration

Innovation Agents work with or without an LLM. When an LLM is configured, agents use AI for deeper analysis. Without it, they fall back to rule-based logic.

ProviderConfig KeyDefault ModelTimeout
Claudellm_provider=claudeclaude-sonnet-4-5-2025092960s
OpenAIllm_provider=openaigpt-4o60s
Ollamallm_provider=ollamallama3120s
Nonellm_provider=none----
Check the current LLM configuration status via GET /api/innovation/status. It returns the provider, model, and whether the LLM is properly configured.

Running and Reviewing Suggestions

  1. Navigate to Innovation Hub

    Go to /innovation from the sidebar.

  2. Trigger an Agent

    Click Run Content Agent or Run Engagement Agent. The agent gathers platform data, runs analysis, and generates suggestions. This may take 10-60 seconds depending on LLM availability.

  3. Review Suggestions

    Generated suggestions appear as cards with title, description, rationale, priority (low/medium/high), and status. Each suggestion includes its source data and analysis context.

  4. Take Action

    For each suggestion, you can set the status to: reviewing, accepted, rejected, or implemented.

Admin Only: Running agents and reviewing suggestions requires Admin role. The POST /api/innovation/run/{agent_type} and PUT /api/innovation/suggestions/{id} endpoints use the require_admin dependency.
bash
# Run the content agent
curl -X POST http://localhost:8065/api/innovation/run/content \
  -H "Authorization: Bearer YOUR_ADMIN_JWT_TOKEN"

# List suggestions (filtered by agent type)
curl http://localhost:8065/api/innovation/suggestions?agent_type=content \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

# Review a suggestion
curl -X PUT http://localhost:8065/api/innovation/suggestions/{id} \
  -H "Authorization: Bearer YOUR_ADMIN_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "accepted", "notes": "Will implement in next sprint"}'