DON'T PANIC
LOADING
DON'T PANIC · reads text → writes text
中文
Don’t Panic
A field guide to your AI sidekick · why you can drive it
We pull AI apart into one thread — from the words you type to the work it does for you. See the whole thread, and it’s yours to drive.
“Don’t Panic” is what’s printed on the cover of The Hitchhiker’s Guide to the Galaxy. Reportedly very useful.
WHY · why spend the half hour
That blackboard of scary words — MCP, agents, RAG, skills, harness, hooks… they all grow on one thread
Today we walk that thread end to end: how it reads your words, where it gets stuck, how you feed it, and how it gets things done for you.
Walk the thread once and you can drive it without ever opening the box — and none of those words will scare you again.
that’s it for the mechanics
It reads, then forgets everything.
— so, what do you feed it each time?
the list is written
But the things on that list —
did you have them all up front?
you know the method · but you did every step yourself
You’ve been its hands and memory.
In this act, programs take over — we build it a body.
all the buzzwords, decoded
This whole thread —
what is it all spinning around?
SO · looking back, you only ever did two jobs
Tools, Skills, harness… however fancy the words, your job is still these two
It never changed — you did: you learned to feed it, to read it, and to feed it again. That is enough.
1
Feed it enough

Put the right text in its window — your situation, private materials, latest status, sanded Skills.

2
Check the output

See if it is right; if not, toss “what went wrong” back as-is and give it another round.

KNOW IT · the full picture of what you work with
It remembers the world — just not you
Two habits: say everything, every time (it forgets) and dare to throw raw material at it (it is trained).
One-line boundary: public + common + pre-cutoff = built in; about you / private / recent = you supply.

Side A · no memory

  • As shown: every message is a first meeting
  • So say everything, every time
+

Side B · trained

  • In a field new to you: it scores 60–70, you score 0
  • A zero has no standing to sneer at a seventy
  • So dare to hand it raw material to judge
THE SHIFT · your seat has moved
Operator Commander
In life: you need no technical detail — say clearly what you want done, then check the result. At work: you need not write every line — describe the goal clearly, then review what it produces.

Before

Research it yourself, do it yourself — you were the operator.

Now

Define the problem, prepare the input, check the result — AI executes, you command.

Step off the field and onto the bridge. The same hours get more done — not laziness, leverage; the difference shows in output.
MORE · it does more than do
It also helps you think
Make it argue against you — far more useful than agreement. It will not swallow its words to spare your feelings.
“The real breakthrough is when you stop using AI to do and start using it to think.” Our biggest limit is being trapped in our own head; this is the cheapest outside view you will ever get.

Got a plan

Have it pick faults, find holes, raise objections.

Stuck

Brainstorm with it and ram the dead end open.

Deciding

Have it lay out the trade-offs from angles you missed.

"Here is my plan. Play a harsh critic: find the 3 most fatal holes, and tell me exactly when it would fail."
THE CORE · push it all the way down
The whole thread reduces to one word
Context
In your unknown field it scores 60–70 > your 0 →
so hand it raw material and let it judge
tools / RAG / Memory / Skills all exist to lower the cost of turning you into its input
which reduces to one word: Context
The core is not learning tools or memorizing prompts — it is making yourself digital, AI-friendly. The friendlier your context, the more it can do for you.
The industry has a name for this: context engineering — and you just learned it.
And it compounds: the more you use it, the smoother it gets — saved context, workflows and Skills pay you back again and again. Start now; compounding needs time.
ONE LAST THING
Don’t panic. Go try.
It only reads text and writes text — everything else is your call.
Pick one small thing you cannot do, tell it the whole story today, and see what comes back. Worst case, the answer is mediocre — and it does not even have the ability to think you are stupid.
You do not need to understand it. You only need to use it. That is enough.
01
The chat · what you use every day
System is set once, then User / Assistant take turns
System — house rules the app sets for you, once per chat — kicks things off. After that it is just User (you) and Assistant (it), piling up turn by turn. Nothing else is in there.
02
The essence · what it actually does
Everything is joined into one text; it guesses the next word
Take the boxes away and the pieces join end to end into one long string. The model reads it and continues from the tail, one word at a time. However fancy the AI, this is the whole job.
So how exactly does it “guess”? Let’s step out of the frame and flatten it.
02
The essence · through its eyes
Flattened out: one string, new words popping out at the tail
Bubbles and roles are packaging for you. In its eyes there is only this one long string (tokens). Its job: read the whole string, pop out the next word at the end — that “typing” feel you see is exactly this.
02
How it guesses · ① attention
Before guessing, it looks back at what matters most
This step is attention — the heart of the transformer. To pick the next word it weighs every earlier word differently: here it leans hard on “To be, or not to be” and the cadence of the line.
02
How it guesses · ② probability
It never knows the answer — it scores every candidate
Having read everything, it produces a probability table for the next word: arrows .71 / pains .12 / stings .05… “Guessing” means picking from this table. And because it is always guessing — confident does not mean correct: a “hallucination” is not a bug — it is this table doing its normal thing.
02
How it guesses · ③ append, repeat
Pick one, append it, guess the next the same way
The picked word goes onto the tail, then it guesses the next one exactly the same way — word by word, the whole reply gets generated. That is the entire core of an LLM.
03
The constraint · one “head” first
It reads the honest way: every word × every word
The reader doing this is called a “head”. It scores how every word relates to every other and keeps the result as a web: 100 words = 10,000 cells; 10,000 words = 100 million. What you stuff in is the context; the web’s ceiling is the context length, fixed at build time.
03
The constraint · that was one head
There are dozens of heads — not split work, but angles
Not head 1 reads the front, head 2 the back — every head reads the whole text, each watching its own thing: cadence, names, tone. Dozens at once: faster, but no less work — dozens of webs, all computed. (The picture uses 64.)
03
The constraint · deeper layer by layer
That stack of webs is just layer 1 — dozens more follow
Layer 1 reads the raw text; each later layer reads what the one before digested — a fresh web, one level deeper (the picture uses 80). The bill multiplies: words × words × heads × layers. Double the window, quadruple the bill — that is why the window must have a cap.
03
The constraint · the one hard limit
It can only read so much — and the middle goes muddy
The string has a hard cap (context length) — the two classic complaints, big files choke it, long chats make it forget, both start here. And the longer it gets, the easier the middle is to miss — the buried line is the one it “reads right past”.
04
Stateless · there is no “just now”
The chat is an illusion: every message is a first meeting
Between two replies, nothing stays in its head. The “continuous chat” is the app resending the whole history every time; it rereads from the top and guesses on (also why long chats get pricey). It has no state — what you send is all it has.
05
Feed it · start with a handoff list
First, list every piece of knowledge the job takes
Treat it as a brilliant new hire on a permanent first day. To hand the job over, what would they need to know? — your situation and goal, the private materials, the latest progress, plus public knowledge and common sense. Never mind who supplies what — list it all.
06
Cross off · what it comes with
Two items on the list can be crossed right off
Public knowledge and common sense — anything public, common and pre-cutoff, it read in training. Already in its head; cross them off. Four remain that only you can supply: goal / status / materials / constraints. Those four are what goes into the window.
07
Ask · information comes out in talk
Just talk — and for anything complex, have it ask you first
No need to fill the list in one go — information comes out in talk: it asks, you answer, the slots fill in. For anything complex, open with “Before you start, ask me about anything unclear.” One round of questions saves rounds of rework.
08
Sand it · v1 is usually wrong
Toss “what went wrong” back as-is, round after round
The first version is almost never right — it was guessed into being. Paste the result or error back raw; it revises. Still wrong? Paste again — the chat grows, and that grind is what sharpens the result. You only toss back symptoms — no need to diagnose. Stop at good enough.
09
Save · don’t just close the tab
Have it distill the chat into a document — that is a Skill
Job worked? Say one more thing before you leave: “Distill this chat into a reusable doc.” It pulls the context, the final solution and every pitfall out of those rounds of back-and-forth, and writes a Skill. Accumulating experience means accumulating documents like this one.
09
Save · how it pays off
Next time’s handoff: the Skill fills the slots
Next time the same kind of job comes up, drop the Skill in — the how-to, the pitfalls, the house rules ride along; you only state this time’s goal and status. Five rounds of sanding last time, one round now — that is the compound interest of saving.
10
Fit the hands · tool
The brain has no hands: it writes an order; a tool does the work
“Book me a meeting” — the brain can’t reach your calendar. So it writes an order on the pad — check_calendar(Wed,…) — and stops. A program outside actually checks the calendar: a tool. The result comes back as text; it reads on and answers. It only ever talks; the tool does the doing.
11
Fit the memory · injection (RAG/Memory/Skill)
Memory is bolted on: it fetches, or someone writes
The brain forgets on sight; memory is bolted on. Two routes: a tool fetches (previous page), or someone writes onto its pad directly — documents (RAG), preferences and past results (Memory), sanded how-tos (Skill), written in at fixed moments. Who writes? Coming up.
12
The body moves · the loop (Agent)
The same brain, fed a few more rounds = an Agent
Hands fitted, memory fitted — now it spins on its own: write → tool runs → result written back, lap after lap. None of it needs you; the pad just keeps growing. “Agent” sounds like it might rebel; the mechanism is disappointingly plain: the same brain, fed a few more rounds.
13
The full skeleton · harness
The shell that assembles this body is the harness
Writing the pad, handing tools, spinning the loop — the program assembling this body is the harness (Claude Code, Cursor, your AI app). “Who does the writing?” — this is who. It can also run several loops as a workflow. The point: only that small piece is brain-like; the rest is ordinary code — every bit of scaffolding in your grip.
14
Reflexes & red lines · hooks
Fixed points on the loop come with sockets — hooks
“Hook” is an old programmers’ word: a fixed event fires, your attached action runs — “dinner” fires, “wash hands first” runs. The loop’s key points all have sockets: after you speak, before it acts, after a tool runs, at wrap-up. Hang gates, injections, follow-ups on them. A prompt is a request; a hook is law.
the lens · this chat, stripped bare
To be, or not to be,
that is the question:
Whether ’tis nobler
to suffer the slings and arrows
IN · fed to the model
SSystemYou are a helpful assistant.
You are a helpful assistant.(set by the app; invisible in the chat UI)
UUserTo be, or not to be,
To be, or not to be,
AIAIthat is the question:
that is the question:(its own last reply, fed straight back in — it remembers nothing, it rereads)
UUserWhether ’tis nobler
Whether ’tis nobler
OUT · what it wrote
AIAIto suffer the slings and arrows
to suffer the slings and arrows
→ REQUEST (in)
{
  "messages": [
    { "role": "system",    "content": "You are a helpful assistant." },
    { "role": "user",      "content": "To be, or not to be," },
    { "role": "assistant", "content": "that is the question:" },
    { "role": "user",      "content": "Whether ’tis nobler" }
  ]
}
← RESPONSE (out)
{
  "content": [{ "type": "text", "text": "to suffer the slings and arrows" }]
}
↓ what the model is fed is just this one string (DeepSeek template shown)
<|begin▁of▁sentence|>You are a helpful assistant.<|User|>To be, or not to be,<|Assistant|>that is the question:<|end▁of▁sentence|><|User|>Whether ’tis nobler<|Assistant|>to suffer the slings and arrows<|end▁of▁sentence|>
■ grey = role separators (special tokens) · ■ orange = what the model wrote, word by word. The moment it reads <|Assistant|> it guesses onward — the very same string you saw on stage.
This is what you see every day: you give the setup, it continues. Split open (click rows to expand): the input is more than what you typed — the app’s System line and even its own previous reply get fed back in; the output is only the newest line. All of it is text. “Calling an AI” means mailing these few pieces of text over; what returns is also text. There is no secret handshake. At the very bottom, even “chat” and “roles” are flattened away — just one long string, the one on stage. It reads <|Assistant|> and guesses on, word by word.
Book a meeting with Ann and Bob this Wednesday.
⚙ calling check_calendar(Wed, [Ann, Bob, me])

↩ calendar: Wed 3:00 pm
All three are free Wednesday afternoon — book 3 pm?
step ① · fed in
TToolscheck_calendar(day, people)
check_calendar(day, people) — finds shared free slots. (the tool itself is just a paragraph of instructions, sent along with the request)
SSystemYou are a helpful assistant.
You are a helpful assistant.
UUserBook a meeting with Ann and Bob this Wednesday.
Book a meeting with Ann and Bob this Wednesday.
step ② · what it wrote (hands off)
AIAIcalls check_calendar(Wed, …)
check_calendar({"day":"Wed","people":["Ann","Bob","me"]}) (a piece of structured text — nothing more)
step ③ · tool runs, result fed back
check_calendarfree_slots: Wed 3:00 pm
free_slots: Wed 3:00 pm (the tool finishes; its result goes back into the chat as text)
step ④ · it reads, keeps writing
AIAIAll three free Wednesday — book 3 pm?
All three are free Wednesday afternoon — shall I book it for 3 pm?
→ REQUEST (in · note the new tools field)
{
  "tools": [{ "name": "check_calendar", "desc": "finds shared free slots" }],
  "messages": [
    { "role": "system", "content": "You are a helpful assistant." },
    { "role": "user",   "content": "Book a meeting with Ann and Bob this Wednesday." }
  ]
}
← RESPONSE (out · this is all it wrote)
{ "tool_calls": [{ "name": "check_calendar",
    "args": { "day": "Wed", "people": ["Ann","Bob","me"] } }] }
then: the program runs it → result returns as a new message → one more round → it answers
↓ the whole round at token level — still one string (DeepSeek template)
<|begin▁of▁sentence|>You are a helpful assistant.
[tools] check_calendar(day, people): finds shared free slots<|User|>Book a meeting with Ann and Bob this Wednesday.<|Assistant|><|tool▁calls▁begin|>check_calendar {"day":"Wed","people":["Ann","Bob","me"]}<|tool▁calls▁end|><|end▁of▁sentence|><|tool▁outputs▁begin|>free_slots: Wed 3:00 pm<|tool▁outputs▁end|><|Assistant|>All three are free Wednesday — book 3 pm?<|end▁of▁sentence|>
■ grey = special tokens · ■ orange = what it wrote · ■ green = what the tool fed back. Tool definition, call and result — all on this one string.
What you see: it “used a tool”. Did it, though? Peel down. The four steps mirror ①②③④ on stage. Note step ①: the tool itself is just a paragraph of instructions fed in; in step ② its “call” is text too — every step only adds words to the same conversation. “Wiring up a tool” means one extra tools field in the request; its “call” is just structured text in the reply. The program does the running, stuffs the result back, and asks one more round. Flattened to the bottom: tool definition, tool call, tool result — all words on the same string. The iron law holds: it is all text.
to flip · or click the right side