Trần Đại Nhân
CV
Back to the CV

Kẻ Độc Hành: you teach, the AI asks why

A voice tutor that makes the learner teach the material back.

Role
Tech lead
Context
Mini AI Hackathon, Vingroup AI Talent Program
When
Sep 2026
Team
4 people
Kẻ Độc Hành session: the AI student asks the learner to explain 'Token là gì?', the learner's explanation, and the AI's follow-up question, with the slide's source text covered.
Running locally in mock mode with a demo deck. The part of the slide being explained stays covered until the session ends.

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

  1. 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.

  2. 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.

Built with

  • LangGraph
  • FastAPI
  • WebSocket audio
  • OpenAI
  • Speechmatics
  • React
  • PyMuPDF