{"course":{"slug":"prompting","title":"Getting Real Work out of a Model","url":"https://addaly.com/learn/prompting","level":"beginner","track":"start"},"lesson":{"slug":"what-the-model-sees","title":"What the model actually receives","url":"https://addaly.com/learn/prompting/what-the-model-sees","position":2,"of":72,"minutes":10,"answer":"The model receives one flat block of text (system prompt, whole transcript, your message) chopped into tokens, with no memory and no formatting, and every prompting technique is a consequence of that shape.","keyIdea":"The model receives one flat block of text (system prompt, whole transcript, your message) chopped into tokens, with no memory and no formatting, and every prompting technique is a consequence of that shape."},"body":{"format":"markdown","text":"## One string, every time\n\nYou type a message. The product assembles it into a single block of text and hands that block to the model. The block contains a system prompt you did not write, the whole conversation so far, and your new message at the end. The model reads it, produces some text, and forgets everything.\n\nThat is worth sitting with, because two common beliefs die here.\n\n**The model has no memory of your previous turns.** It has a transcript. When you send message twelve, messages one through eleven are re-sent with it, every time, as text. The illusion of memory is a text file being re-read. This is why a long conversation gets slower and more expensive, and why an error in turn three is still in the room in turn thirty.\n\n**There is no formatting.** If you paste a heading in bold, the model does not receive bold. It receives whatever characters the product turned that into, which is usually nothing or a couple of asterisks. Colour, font, cell borders, indentation in your spreadsheet: none of it arrives. If a distinction in your document is carried only by looks, you have to say it in words.\n\n## Tokens, and why they matter to you\n\nThe block of text is chopped into **tokens** before the model sees it. A token is a chunk of characters that the tokeniser has learned to treat as one unit. Common words are one token. Rarer words split.\n\nRough figures for English: one token is about four characters, and 100 tokens is about 75 words. So a 3,000-word document is roughly 4,000 tokens.\n\nThree consequences you will actually meet:\n\n**Cost and limits are counted in tokens, not words.** When a tool says it accepts 128,000 tokens, that is roughly 96,000 English words, a decent novel. When an API bill says 2 million tokens, that is what you paid for.\n\n**Non-English text costs more.** The tokenisers used by the big models were fitted mostly on English text, so English is efficient and other scripts are not. The same sentence in Hindi, Bengali, Tamil, Amharic or Thai costs more tokens than its English translation, because the tokeniser breaks unfamiliar characters into small pieces, and how many more depends heavily on the model. On the FLORES-200 test sentences (the same 1,012 sentences in every language), GPT-4's tokeniser needs about four to eight times as many tokens as for English; GPT-4o's newer one needs about one and a half to two times for Hindi, Bengali, Tamil and Thai, and nearly six for Amharic. This is not a rumour; you can measure it in a minute, and it means a Devanagari document hits the context limit far sooner than an English one of the same length, and costs more per page on a metered API.\n\n> Figure: Tokens for the same 75-word passage, by language. Bars (tokens): English 100; Spanish 125; Hindi (Devanagari) 260; Bengali 310; Tamil 330. The tokenisers were fitted mostly on English, so English is the cheap case. The same passage in Hindi, Bengali or Tamil costs more tokens, hits the context limit sooner, and costs more per page on a metered API; how many more depends heavily on the model's tokeniser.\n\n**Some tasks are hard for a reason you can now see.** Ask a model how many times the letter *r* appears in \"strawberry\" and it may get it wrong. The word arrived as one to three tokens, not as ten letters. Counting characters inside a token is like being asked to count the strokes in a word you were handed as a picture. The same explains wobbles with reversing strings, rhyme in some languages, and arithmetic on long numbers, which get split into digit groups in ways that vary by model.\n\nYou can see your own text tokenised for free. In Python, `pip install tiktoken` and four lines will count them. Several model providers also publish a web page where you paste text and watch it split. Do it once with a paragraph of your own language; it explains more than a diagram would.\n\n## The prompt has invisible parts\n\nYour message is not the whole prompt. In front of it sits a system prompt written by whoever built the product, typically a few hundred to a few thousand words of instructions about tone, refusals, formatting and available tools. Behind it may sit the results of a web search, the contents of a file you attached, or notes the product has saved about you.\n\nSo \"the same prompt\" is not the same prompt in ChatGPT, Claude, Gemini, Copilot and a raw API call. When a colleague's prompt works for them and not for you, this is usually why, and we come back to it at the end of this module.\n\n## Why this matters for prompting\n\nEverything in this course follows from the shape above:\n\n- Because the model receives only the block, anything not in the block does not exist. Hence the next module on context.\n- Because the block is re-sent, old mistakes persist and long chats degrade.\n- Because there is no formatting, structure has to be carried by words and punctuation you choose deliberately.\n- Because it is tokens, not meaning, your budget is finite and your language affects the price.\n\nNone of that is a trick. It is what the machine is. Most bad prompting is a reasonable expectation about a different machine."},"check":{"question":"A finance officer pastes a spreadsheet extract into a chat. In her file, overdue rows are highlighted in red and the model keeps treating them like the others. What is the mechanism behind the failure?","options":[{"text":"The model can see the colours but has been trained to ignore formatting in favour of the text content.","correct":false,"tempting":"Assumes formatting arrives and is then de-prioritised; nothing about the colour ever reaches the model at all."},{"text":"Spreadsheets are tokenised differently from prose, so the cell metadata is dropped during tokenisation.","correct":false,"tempting":"Blames the tokeniser for something that happened earlier: the paste operation already discarded the fill colour."},{"text":"Only characters reach the model, so the red fill was never in the block of text it received; the distinction has to be stated in words.","correct":true},{"text":"The context window filled up, and cell attributes are the first thing discarded when text is truncated.","correct":false,"tempting":"Invents a priority order for truncation; the colour was absent from the first token, not evicted later."}]},"prev":{"slug":"why-the-same-question","title":"Why the same question gets a better answer","url":"https://addaly.com/learn/prompting/why-the-same-question"},"next":{"slug":"sampling-and-why-answers-differ","title":"Why the same prompt gives a different answer","url":"https://addaly.com/learn/prompting/sampling-and-why-answers-differ"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'What the model actually receives', in Getting Real Work out of a Model. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/prompting/what-the-model-sees (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"What the model actually receives","courseTitle":"Getting Real Work out of a Model","module":{"index":1,"slug":"what-a-prompt-is","title":"What a prompt actually is"},"answer":null,"keyIdea":"The model receives one flat block of text (system prompt, whole transcript, your message) chopped into tokens, with no memory and no formatting, and every prompting technique is a consequence of that shape.","hero":{"kind":"figure","figure":{"t":"figure","label":"Figure","figure":{"type":"bars","unit":"tokens","title":"Tokens for the same 75-word passage, by language","series":[{"label":"English","value":100},{"label":"Spanish","value":125},{"label":"Hindi (Devanagari)","value":260,"highlight":true},{"label":"Bengali","value":310},{"label":"Tamil","value":330}],"caption":"The tokenisers were fitted mostly on English, so English is the cheap case. The same passage in Hindi, Bengali or Tamil costs more tokens, hits the context limit sooner, and costs more per page on a metered API; how many more depends heavily on the model’s tokeniser."},"alt":"Figure: Tokens for the same 75-word passage, by language. Bars (tokens): English 100; Spanish 125; Hindi (Devanagari) 260; Bengali 310; Tamil 330. The tokenisers were fitted mostly on English, so English is the cheap case. The same passage in Hindi, Bengali or Tamil costs more tokens, hits the context limit sooner, and costs more per page on a metered API; how many more depends heavily on the model’s tokeniser."}},"blocks":[{"t":"h2","id":"one-string-every-time","runs":[{"text":"One string, every time"}]},{"t":"p","runs":[{"text":"You type a message. The product assembles it into a single block of text and hands that block to the model. The block contains a system prompt you did not write, the whole conversation so far, and your new message at the end. The model reads it, produces some text, and forgets everything."}]},{"t":"p","runs":[{"text":"That is worth sitting with, because two common beliefs die here."}]},{"t":"p","runs":[{"text":"The model has no memory of your previous turns.","b":true},{"text":" It has a transcript. When you send message twelve, messages one through eleven are re-sent with it, every time, as text. The illusion of memory is a text file being re-read. This is why a long conversation gets slower and more expensive, and why an error in turn three is still in the room in turn thirty."}]},{"t":"p","runs":[{"text":"There is no formatting.","b":true},{"text":" If you paste a heading in bold, the model does not receive bold. It receives whatever characters the product turned that into, which is usually nothing or a couple of asterisks. Colour, font, cell borders, indentation in your spreadsheet: none of it arrives. If a distinction in your document is carried only by looks, you have to say it in words."}]},{"t":"h2","id":"tokens-and-why-they-matter-to-you","runs":[{"text":"Tokens, and why they matter to you"}]},{"t":"p","runs":[{"text":"The block of text is chopped into "},{"text":"tokens","b":true},{"text":" before the model sees it. A token is a chunk of characters that the tokeniser has learned to treat as one unit. Common words are one token. Rarer words split."}]},{"t":"p","runs":[{"text":"Rough figures for English: one token is about four characters, and 100 tokens is about 75 words. So a 3,000-word document is roughly 4,000 tokens."}]},{"t":"p","runs":[{"text":"Three consequences you will actually meet:"}]},{"t":"p","runs":[{"text":"Cost and limits are counted in tokens, not words.","b":true},{"text":" When a tool says it accepts 128,000 tokens, that is roughly 96,000 English words, a decent novel. When an API bill says 2 million tokens, that is what you paid for."}]},{"t":"p","runs":[{"text":"Non-English text costs more.","b":true},{"text":" The tokenisers used by the big models were fitted mostly on English text, so English is efficient and other scripts are not. The same sentence in Hindi, Bengali, Tamil, Amharic or Thai costs more tokens than its English translation, because the tokeniser breaks unfamiliar characters into small pieces, and how many more depends heavily on the model. On the FLORES-200 test sentences (the same 1,012 sentences in every language), GPT-4’s tokeniser needs about four to eight times as many tokens as for English; GPT-4o’s newer one needs about one and a half to two times for Hindi, Bengali, Tamil and Thai, and nearly six for Amharic. This is not a rumour; you can measure it in a minute, and it means a Devanagari document hits the context limit far sooner than an English one of the same length, and costs more per page on a metered API."}]},{"t":"p","runs":[{"text":"Some tasks are hard for a reason you can now see.","b":true},{"text":" Ask a model how many times the letter "},{"text":"r","i":true},{"text":" appears in “strawberry” and it may get it wrong. The word arrived as one to three tokens, not as ten letters. Counting characters inside a token is like being asked to count the strokes in a word you were handed as a picture. The same explains wobbles with reversing strings, rhyme in some languages, and arithmetic on long numbers, which get split into digit groups in ways that vary by model."}]},{"t":"p","runs":[{"text":"You can see your own text tokenised for free. In Python, "},{"text":"pip install tiktoken","code":true},{"text":" and four lines will count them. Several model providers also publish a web page where you paste text and watch it split. Do it once with a paragraph of your own language; it explains more than a diagram would."}]},{"t":"h2","id":"the-prompt-has-invisible-parts","runs":[{"text":"The prompt has invisible parts"}]},{"t":"p","runs":[{"text":"Your message is not the whole prompt. In front of it sits a system prompt written by whoever built the product, typically a few hundred to a few thousand words of instructions about tone, refusals, formatting and available tools. Behind it may sit the results of a web search, the contents of a file you attached, or notes the product has saved about you."}]},{"t":"p","runs":[{"text":"So “the same prompt” is not the same prompt in ChatGPT, Claude, Gemini, Copilot and a raw API call. When a colleague’s prompt works for them and not for you, this is usually why, and we come back to it at the end of this module."}]},{"t":"h2","id":"why-this-matters-for-prompting","runs":[{"text":"Why this matters for prompting"}]},{"t":"p","runs":[{"text":"Everything in this course follows from the shape above:"}]},{"t":"ul","items":[[{"text":"Because the model receives only the block, anything not in the block does not exist. Hence the next module on context."}],[{"text":"Because the block is re-sent, old mistakes persist and long chats degrade."}],[{"text":"Because there is no formatting, structure has to be carried by words and punctuation you choose deliberately."}],[{"text":"Because it is tokens, not meaning, your budget is finite and your language affects the price."}]]},{"t":"p","runs":[{"text":"None of that is a trick. It is what the machine is. Most bad prompting is a reasonable expectation about a different machine."}]}],"check":{"question":[{"text":"A finance officer pastes a spreadsheet extract into a chat. In her file, overdue rows are highlighted in red and the model keeps treating them like the others. What is the mechanism behind the failure?"}],"options":[{"text":[{"text":"The model can see the colours but has been trained to ignore formatting in favour of the text content."}],"correct":false,"tempting":[{"text":"Assumes formatting arrives and is then de-prioritised; nothing about the colour ever reaches the model at all."}]},{"text":[{"text":"Spreadsheets are tokenised differently from prose, so the cell metadata is dropped during tokenisation."}],"correct":false,"tempting":[{"text":"Blames the tokeniser for something that happened earlier: the paste operation already discarded the fill colour."}]},{"text":[{"text":"Only characters reach the model, so the red fill was never in the block of text it received; the distinction has to be stated in words."}],"correct":true,"tempting":null},{"text":[{"text":"The context window filled up, and cell attributes are the first thing discarded when text is truncated."}],"correct":false,"tempting":[{"text":"Invents a priority order for truncation; the colour was absent from the first token, not evicted later."}]}],"order":[3,0,2,1],"why":null},"prev":{"slug":"why-the-same-question","title":"Why the same question gets a better answer","minutes":6},"next":{"slug":"sampling-and-why-answers-differ","title":"Why the same prompt gives a different answer","minutes":8}}}