On the use of LLMs for learning - the defaults are bad
The defaults are bad
LLMs for learning are bad because most people use them in a "ask question - get answer" kind of way. That gets rid of a whole lot of friction - which is where learning happens. Learning is traversing the void between your current knowledge and a new problem.
Shortcutting that traversal with an LLM helps you complete the next assignment, but it kneecaps your learning. You should be serious about using LLMs in ways that boost your learning, not hurt it.
The free models are not good enough, pay up
The cost efficient models that are available for free on ChatGPT, etc. are vastly inferior to the premium subscription models. Buy a subscription to Claude, ChatGPT or Poe and use the most powerful available models. I pay 179 DKK/month for 1 million tokens on Poe and so far haven't run out over a 1 month period.
Poe has the added benefit of aggregating different models. So when a new foundational model comes out, you can try it out regardless of the vendor (you can't try DeepSeek on ChatGPT).
What you're trading off are certain application-layer features like Deep Research from OpenAI or Claude Projects. I'm fine with that since so far the LLM companies have been unserious about providing a good product experience.
Always attempt solving the problem on your own before going to an LLM
At times, you will come across a problem and think "I don't even know how to get started on this." I want you to resist the temptation to go straight to AI. You need to spend time wrestling with the problem on your own.
At the same time banging against the wall with no progress for hours is also not helpful. I'd say give it 20-30 minutes of intense focus. If you make no progress, engage an LLM. Progress here includes finding new questions to ask, gaining a clearer understanding of the problem, or splitting the problem into sub-problems. Even though you might be far from the solution - and might not see the end of the tunnel, this count as progress. Stick with it - don't turn to an LLM too soon.
Personally, I'm a lazy son-of-a-b*, so my rule of thumb is to hold off just a while longer than I want to.
Treat the LLM as a busy person
When the main goal is to learn, treat the LLM as a busy person. That is, share context about the problem, describe attempts at a solution, offer ideas that you thought of. Don't just copy paste the task and read the answer. You can take inspiration from here.
How to use LLMs - different modalities
Regardless the type of learning your are after, you should tell the LLM to assume a mode, or persona. Give it specific instructions as to the type of answers you expect and the type of answers you prohibit (e.g. giving you an answer without making you do the work).
Tutor mode
This is my prompt1 for using an LLM as a tutor. Notice that I say I don't want an answer up front multiple times. All the other things in the prompt are just what I think a decent tutor/teaching assistant should do when talking to a student.
The prompt is long. Click here to skip to the next heading.
UNDER NO CIRCUMSTANCE GIVE THE ANSWER TO A QUESTION STRAIGHT AWAY. YOU ARE NOT PERMITTED TO SOLVE EXERCISES, ONLY GUIDE THE STUDENT TOWARDS THEIR SOLUTION.
Do not ask the student about their current understanding of the concept. Just start explaining the concept and the student will ask clarifying questions.
## Core Expertise
You are an expert tutor in the domain of your student's choosing:
- You display expert understanding of the domain's concepts
- You are an expert teacher, using metaphors, examples and you highlight common misconceptions
- You are kind and patient, doing your best to guide the student towards understanding the material
## Teaching Approach
### 1. Student background The student is a graduate level student. You should assume they learn quickly, but are not deeply familiar with the concept that they are asking you about.
### 2. Teaching Methods
Guide through concepts using:
- Step-by-step problem solving
- Analogies to familiar concepts
- Metaphors that help paint the concept using intuitive examples from other domains
### 3. Core Focus
The student will come with a specific question, or exercise that you will help them solve. Your focus is on guiding the student through the exercise. You should not reveal the answers, the student should arrive at the answer at their own pace. It is important that it is the students' own insight that solves the exercise.
## Tutoring Style
- ONLY ASK ONE QUESTION AT A TIME
- Ask probing questions to reveal misconceptions
- Provide minimal hints before complete solutions
- Use real-world examples to demonstrate concepts
- Break down complex topics into digestible pieces
## Evidence of Learning
Student should demonstrate ability to:
- Explain the concepts in their own words
- Correctly answer probing questions to their understanding of the domain
## Session Start Questions
You should start the student by asking them what they need help with today.
Reviewer mode (for getting feedback)
While the tutor is great for learning about things, or walking through exercises I'm not able to solve myself, it's not that good at giving feedback.
I don't have a long prompt for getting critique, I usually just go for a variation of
You're a [senior position] with broad experience in [topic of the exercise]. You are an external examiner on an university exam critiquing some [topic of the exercise] exercises. You are really passionate about [topic], so you critique the assignments thoroughly, always with intention to make the student better at [topic] in general and [specific task] in particular.
Other modes
The two modes above are what I use most often, by far. For other ideas for prompts, you can check out this paper. Or just google "prompts for learning" or something :) ¯_(ツ)_/¯
Footnotes
Please, people. Let's not call it prompt engineering. It has nothing to do with engineering.↩