AI features¶
AI is a teaching assistant, never the final examiner. This page explains what the AI does, how it stays trustworthy, and how its cost is controlled.
What the AI does¶
| Feature | What it produces | Where it runs |
|---|---|---|
| Writing grading | Band per IELTS criterion (Task, Coherence, Lexis, Grammar) + in-essay feedback + an AI-writing/integrity signal | Cloudflare Workers AI |
| Speaking feedback | Transcription + fluency/criteria estimate + improvement points | Workers AI (transcription + grading) |
| Pronunciation (read-aloud only) | Real per-phoneme accuracy, fluency, completeness | Azure Speech (optional, capped) |
| AI Tutor | Chat that explains grammar/vocab/answers, personalized to the student's band and common errors | Workers AI |
| Test extraction (OCR) | Turns an image/PDF of a test into a structured draft | PaddleOCR container + Workers AI structuring |
| Teaching insights | Per-attempt suggestions for the teacher, from a compact stat sheet | Workers AI |
The product rule on model names
Users never see model names. Every AI surface says "AI" — never "Whisper", "Gemma", "Azure", etc. This is a deliberate product decision and applies to all user-facing copy, including manager reports.
The trust guarantee: AI bands are never final¶
This is the most important thing to understand about the platform.
graph LR
S[Student submits Writing/Speaking] --> AI[AI grades]
AI --> P["Status: provisional<br/>(shown as a suggestion, not a score)"]
P --> Q[Teacher review queue]
Q --> T{Teacher}
T -- edits + approves --> F["Status: approved<br/>(now a real band)"]
T -- low AI confidence --> Q
- Reading & Listening are objective → auto-graded → final immediately.
- Writing & Speaking are subjective → the AI band is provisional and clearly labeled as such → it becomes a real band only when a teacher approves it.
- If the AI is unsure (low confidence, or it failed), the essay is routed to the teacher's queue rather than being stamped with a fake band.
- Manager-facing surfaces (reports, profiles, dashboards) must not present a provisional band as a final score.
Why it matters for the product: it means the center can safely put AI in front of students without risking a wrong "official" score. The teacher stays in control; the AI just does the first pass and saves time.
How Writing grading stays consistent¶
The Writing grader is a calibrated pipeline, not a single AI guess:
- Each criterion is scored independently; the AI is forbidden to emit an overall band.
- The overall band is computed in code from the four criteria (with Task 2 weighted double for combined assignments) — not taken from the model.
- Each criterion is graded three times and the median taken, to smooth out run-to-run variance.
- Confidence is derived from how much the passes disagree and whether the AI's quoted evidence actually appears in the essay; low confidence → teacher review.
- In-essay highlights are validated word-for-word against the student's text; anything the AI invents is dropped.
Budgets & quotas¶
The center pays a flat monthly budget. To stop one student (or a runaway loop) from draining it for everyone, usage is metered and hard-capped before the paid call, and the caps fail closed (if usage can't be confirmed, the call is skipped, not run).
| Feature | Monthly cap | What happens at the cap |
|---|---|---|
| Writing gradings | 1,000 | New essays go to the teacher queue instead of AI grading |
| Speaking feedback | 6,000 | Falls back to the built-in heuristic score |
| AI Tutor turns | 6,000 | Returns a "monthly limit reached" message |
| Pronunciation (Azure) | manager-set minutes | Falls back to the in-app recognition estimate |
Fixed in 2026
Writing grading previously counted its 3 internal median passes as 3 gradings, burning the 1,000/month budget ~3× too fast and throttling teachers at a third of the intended volume. It now counts one grading = one unit, so metering and the quota agree.
The manager watches all of this on the Reports → AI usage panel (labeled "Sử dụng AI"), which shows monthly usage per feature against the caps — so the budget is visible before it's exceeded.
Honest limits¶
- Pronunciation is only measured on the read-aloud tool (known target text). In open-ended Part 2/3 speaking, pronunciation and intonation are band-derived estimates, clearly labeled as such — the transcription model is accent-robust and can't reliably measure mispronunciation.
- Absolute AI band accuracy is unvalidated against human labels, which is exactly why teacher approval is mandatory. The AI is consistent, not certified.
- AI never reads test content in OCR extraction — real OCR extracts the text faithfully; the AI only structures it into a draft the teacher reviews.