Building a Socratic AI tutor
The best human tutors rarely hand over answers — they ask the question that lets you find it yourself. A good AI tutor app reproduces that Socratic loop: it poses one problem at a time, judges your attempt, and offers escalating hints rather than the solution. Remarkably, almost all of this behaviour comes from the system prompt, not from any special model. This guide covers the prompt, the question-and-hint loop, and progress tracking — and the builder below generates the tutor system prompt for any subject and level.
How the tutor loop works
There are three moving parts. The system prompt defines the tutor: teach by asking, one question at a time, never reveal the full answer, adapt to the learner’s level and goal. The turn loop sends each learner answer plus the running history back to the model and asks it to do three things — judge the answer, respond with a graded hint if wrong or move on if right, and pose the next step. The hint ladder is the heart of it: the model gives the smallest nudge first and escalates only when the learner is still stuck, so the learner keeps doing the thinking.
Layer misconception tagging on top: ask the model to classify each wrong answer as a slip, a missing prerequisite, or a known misconception, and store that tag. Over many turns this gives you a map of what the learner has and has not mastered, which you can render as a progress view and use to revisit weak concepts.
Tips and pitfalls
The single hardest part is stopping the model from being too helpful — its default is to answer, so you must explicitly and repeatedly forbid revealing the solution, and then test by trying to extract the answer yourself. Always inject the learner’s level so difficulty calibrates. For course-specific material, add retrieval over the syllabus rather than fine-tuning. And render the generated questions and hints, not a canned answer key, so the learner experiences a real conversation. Use the builder below to produce a tutor prompt you can paste into any model API and start from there.