Module 2Prompting

Your Prompt is the Entire Input

Now that you know there's no memory, let's talk about what that means for how you use these things.

Quick Recap

From

the last module

: every time you send a message, the model receives the entire conversation as one block of text. It has no independent memory. It reads the whole thing top to bottom and predicts what comes next.

This means your prompt isn't a suggestion. It isn't context. It is literally the only thing the model knows about your situation.

The Model's Entire Universe

The mitochondria is the powerhouse of the cell
SELECT * FROM users WHERE
In 1969, Apollo 11 landed on
function fibonacci(n) { return
Freud interpreted dreams as
border-radius: 50%; display: flex
The capital of France is Paris
import numpy as np
Shakespeare wrote 37 plays
E = mc²
The Great Wall of China spans
def __init__(self, *args)
Photosynthesis converts light
Cogito ergo sum — Descartes
TCP/IP protocol stack consists
The unconscious mind contains
Array.prototype.map()
Kant's categorical imperative
Mix flour, sugar, and eggs
The speed of light is 299,792
Gandhi led the Salt March in
margin: 0 auto; max-width:
Jungian archetypes include the
git commit -m "fix: resolve
DNA is a double helix structure
Supply and demand curves
The Treaty of Westphalia 1648
async function fetchData() {
Maslow's hierarchy of needs
H₂O consists of two hydrogen
The Silk Road connected East
chmod 755 /usr/local/bin
Aristotle distinguished between
The human genome contains ~3B
POST /api/v1/chat/completions
Picasso's Blue Period began
Schrödinger's cat is both
npm install --save-dev
The Rosetta Stone was found in
Bayesian inference updates
← pretraining knowledge (10TB compressed)
// Everything the model knows about YOU:
system: You are a helpful assistant.
user: Help me plan a birthday party for 20 people
assistant:
↑ This is all it knows about your situation. Everything else comes from pretraining. ↑

Doesn't know about you:

  • • Your budget
  • • That it's for your mom
  • • That you hate balloons
  • • Your previous chats

Knows from the prompt:

  • • It should be helpful
  • • It's a birthday party
  • • 20 people

Knows from pretraining:

  • • What birthday parties are
  • • Venue types, catering, decor
  • • Event planning best practices
  • • ...and everything else online

But It's Not a Blank Slate

Important distinction: the model doesn't know anything about you beyond the prompt—but it knows an enormous amount about everything else. Remember, this thing was

pretrained on the whole internet

. All of Wikipedia, millions of books, academic papers, forums, code repositories. That knowledge is baked into the parameters.

This is why LLMs are surprisingly good at things like dream interpretation, synthesizing ideas across unrelated fields, or knowing obscure CSS techniques from sites like gwern.net. The pretraining data is massive and deep. The model has also absorbed patterns from posttraining—human evaluators taught it what good answers look like across thousands of domains.

So when you prompt the model, you're not filling an empty vessel. You're giving direction to something that already has vast knowledge—it just doesn't know anything about your particular situation until you tell it.

If You Don't Say It, It Doesn't Exist

The model doesn't know what you're working on unless you tell it. It doesn't know your preferences, your skill level, your deadline, or your taste. It doesn't know that you asked a different model the same question an hour ago. It doesn't know what's on your screen.

Every piece of personal context you want the model to use has to be in the prompt. This sounds limiting, but it's actually freeing—it means you have complete control over what the model pays attention to.

More Context = Better Output

Toggle between a vague prompt and a specific one. Same model, wildly different results.

Your prompt

Help me plan a birthday party

Model response
Here are some general birthday party ideas:
1. Choose a venue
2. Pick a theme
3. Send invitations...

↑ Generic prompt → generic output. The model filled in the blanks with the most average answer.

The Good News

Because the prompt is everything, you have a few superpowers:

You can set the entire frame

Want it to be an expert accountant? A patient teacher? A harsh code reviewer? Just say so. The model will adopt whatever frame you give it because that's all it has to go on. (This is Roleplay — next lesson.)

You can show exactly what you want

Instead of describing the output format, paste an example. The model will pattern-match against it. (This is Examples.)

You can rewrite history

Don't like a response? Edit your previous message and regenerate. The model will never know the old version existed. There's no memory to contradict you.

You can start fresh any time

If a conversation is going sideways, starting a new chat costs nothing. The new chat gets a clean prompt with none of the accumulated confusion.

The Shape of a Good Prompt

You don't need elaborate prompt engineering frameworks. A good prompt usually has three things:

Three Parts of a Good Prompt

1Role
You are a senior software engineer who values clean, readable code.
2Task
Review this function and suggest improvements for readability.
3Context / Examples
Here's the function:
```
function x(a,b){return a.filter(i=>b.includes(i))}
```
I want the review to look like: "Line X: [issue]. Suggestion: [fix]"

You don't always need all three. Sometimes "fix this bug" is enough. But when output isn't what you want, one of these three is usually what's missing.

That's it. Tell it who to be, what to do, and what good looks like. The rest of this module is just variations on that idea.