Kẻ Độc Hành: you teach, the AI asks why
A voice tutor that makes the learner teach the material back.


- 2ndplace at the Vingroup AI Talent Program hackathon
- 23 / 26golden-set cases passing on real providers
- $0.008estimated API cost per session
Overview
A learner picks part of a lecture slide and explains it out loud. The slide is covered, and an AI playing the student asks back wherever the explanation is thin, vague or wrong. The session only ends when the explanation holds up against the source.
We started from the course's own tutor logs. Across 13,494 turns from 1,617 learners, the tutor explained 89.9% of the time and asked a probing question 0.2% of the time. When learners offered their own understanding to be checked, it lectured them again 87% of the time.
I owned the technical side: a deterministic LangGraph workflow rather than a ReAct loop, a cheap talker model that answers within about 400 ms while the grader thinks in parallel, string-matching checks that catch a learner reading the slide back before any LLM is called, prompts ordered so the stable prefix stays cached, the React frontend and the deployment.
Built in 47.5 hours on a $5 API budget: an estimated $0.008 per session, and 23 of 26 golden-set cases passing the automatic checks on real providers.
Highlights
- Talker (gpt-5-nano) and reasoner (gpt-5-mini) run in parallel; the talker is forbidden from judging, because when it speaks nobody knows the verdict yet.
- Ports and adapters: speech, TTS, LLM and slide sources are swappable, and the whole flow runs on mocks without spending credit.
- A 26-case golden set with automatic checks, re-run after every prompt change.
Two real golden-set turns
- Learner
Model đoán từ tiếp theo có xác suất cao nhất, thế là ra câu trả lời.
The model guesses the most likely next word, and that's the answer.
- AI student incomplete
Mình chưa nối được bước tiếp theo: sau khi model chọn một từ thì chuyện gì diễn ra với đoạn văn đã có sao cho câu tiếp tục được sinh ra?
I can't connect the next step: after the model picks a word, what happens to the text so far so the sentence keeps going?
Cases N02 and N01 from the golden set, graded by gpt-5-mini on real providers. The learner's words are the test input; the student's reply is the model's output, unedited. English glosses added for this page.