Reasoning

Socratic Questioning Agent

Drive the agent toward its goal by asking the user a sequence of strategic, open-ended questions that surface the user's own latent knowledge, goal, or context — rather than producing an answer directly.

Problem

Default agent shape — receive prompt, return answer — fits poorly when the answer must come from the user's own context or learning process. Princeton NLP's SocraticAI demonstration and Anthropic-style tutoring evaluations both find that a question-first agent produces materially better outcomes than a fact-first agent on these workloads. But the shape is not just 'ask a question' (that is disambiguation) and not 'ask yourself' (that is self-ask): it is a deliberately staged sequence of probing questions, calibrated to the user's responses, that ends in the user articulating the answer.

Solution

Structure the agent loop around question selection: at each turn, choose a question that (a) targets the largest remaining uncertainty about the user's goal/context, (b) is answerable by the user with what they already know or can introspect, (c) advances toward a user-articulated conclusion. Maintain an explicit 'open questions' store. Switch modes to direct-answer when the user signals they want one or when the user has articulated enough that synthesis is now low-risk. Pair with frozen-rubric reflection so the agent does not slide into rote question templates.

When to use

  • Tutoring, coaching, and pedagogical workloads where user understanding is the goal.
  • Requirements elicitation where the user holds context the agent cannot guess.
  • Self-knowledge / journaling assistants where the user is the source of truth.
  • Code review walkthroughs where the goal is the engineer's understanding, not just the patch.

Open the full interactive page

Diagram, neighbourhood map, code examples, related patterns and full provenance.

Related