Module Structure
AI doesn't know about your school.
«Aniqlik so'rovda — aniqlik javobda»Ask Claude: what is “Mars Pro”? You'll get an answer about a planet or some software. Why doesn't AI know about your school? Because Mars IT School is niche/local. In this module — how to describe a task so AI doesn't guess, and how to understand where it's guessing by default.
Hook — “Mars Pro”? AI thinks about a planet.AI o'qituvchining maktabini bilmaydi
You open claude. “Come up with 5 Python assignments for my 12-year-olds this week.” You get: sums of squares, primality test, FizzBuzz, guess the number, dictionary. Technically correct. For your kids — way off.
You ask: “what is Mars Pro?” AI confidently: “apparently, some professional software for a Mars mission…”. About your school's plan, it doesn't know.
Ask Claude: “what is Mars Pro?” — you'll get an answer about a planet. Why doesn't AI know about your school? For AI, Mars IT School = rare / niche / local. This isn't a model bug. It's a map of where it's strong and where it needs to be fed.
Three skills I'll be checking
- Apply all 3 levels of Description — product (what I want) / process (how to think) / performance (how I'll know it's good) — all three explicitly in one prompt, not just one or two.
- Recognize whether a task is in mainstream knowledge vs niche/local; in the niche zone, back up your prompt with your own data (
@-mentionfiles,@-importin CLAUDE.md, MCP). - Apply the Description ↔ Discernment loop — 2-3 iterations of prompt improvement, not one "perfect on the first try."
Mental model — what AI knows and how to tell it.AI nimani biladi va unga qanday tushuntirish
Two layers: Knowledge — what the model has in its head from training. Description — how you package the task. Each is a separate subsection. Verbatim quotes from Anthropic + translation. If the language gets fuzzy, trust the original next to it.
1. Knowledge spectrum — frequently · recently · consistently
«Capability zone: topics that appeared frequently, recently (within training), and consistently in training data. Limitation zone: rare, post-cutoff, niche, local, or contested topics.»
The practical question isn't "does AI know this?", but "how well was it represented in what it read?". A four-zone scale:
Anthropic identifies 4 types of knowledge failure: staleness (truth at training time ≠ truth now), uneven coverage (niche/local is weak), inherited bias (what's considered “normal” = what was in the data), source amnesia (“read it somewhere” — not a citation). All four are active simultaneously. For a Mars mentor, uneven coverage and source amnesia are caught first.
2. Three levels of Description — product · process · performance
«Product Description: defining what you want in terms of outputs, format, audience, and style. Process Description: defining how the AI approaches your request, such as providing step by step instructions for the AI to follow. Performance Description: defining the AI system's behavior during your collaboration, such as whether it should be concise or detailed, challenging or supportive.»
What I want as output
Specific artifact. Format. Audience. Style. Length.
How you should think
Steps. Plan first. Which files to read. What to think about before answering.
How I'll know it's good
Verification criterion. Tone. What the AI should discard itself. When to say “I don't know”.
3. Description ↔ Discernment loop — the course's engine
«Description and Discernment work together in a continuous feedback loop, transforming AI from a tool into a thinking partner.»
Description
product · process
performance
AI output
model attempt
Discernment
evaluate across all 3 layers
Antipattern #1 in Mars: a mentor writes one long prompt → gets the wrong thing → blames the model. Pattern: short prompt → you look at what the AI did → you understand which layer was missing → you add to it. After 2-3 rounds — a working template that you then reuse.
Six techniques prompting — from Anthropic Fluency.Oltita texnika — prompting uchun
Verbatim from AI Fluency Framework lesson 9. Each line is a technique + where it maps to product/process/performance. Remember these six, and you'll cover 90% of cases.
Anthropic calls it a “secret weapon”: “Ask the AI itself to help improve your prompt.” Finished the prompt — ask Claude: “what in this request is unclear to you?” Often a whole layer you hadn't considered emerges from that.
The same prompt “come up with 5 Python assignments for 12-year-olds” — is run through 4 iterations. On which version (V1, V2, V3, V4) — in your opinion — will the AI start to discard weak options itself, without your prompting? Write down the number. Let's check.
Demo — four iterations of one prompt.Bitta prompt — to'rtta variant
Zuhra, a Python mentor from Yunusobod. Monday morning, she needs to prepare material for a group of 12-year-olds. The same basic request. Each version adds one Description layer. Mock-output shows what changes in quality.
V1 · bare — no layers
$ claude › come up with 5 Python assignments for 12-year-olds ⠋ Done: 1. Sum of squares from 1 to n 2. Check if a number is prime 3. FizzBuzz 4. Guess the number (random) 5. Count vowels in a string
What's wrong: technically valid, but it's a generic Hour-of-Code set. For which 12-year-olds exactly? Just started? Already know conditions? What's the topic — loops, strings, dictionaries? It's completely unclear how to evaluate these. Discernment signal: the prompt hit mainstream AI knowledge and pulled the most average from the training data.
V2 · +product — what I want as output
› come up with 5 Python assignments, topic for/while, for 12-year-olds, who already know if/else but have just started loops. Format: 1 sentence condition + 1 example input/output. ⠋ Done: 1. Print numbers from 1 to 10, each on a new line. Example: input — none, output — 1\n2\n...\n10 2. Calculate the sum of all even numbers from 1 to 20. Example: input — none, output — 110 3. Print the multiplication table for 5 (up to 5×10). 4. Until the user types "stop", repeat the greeting. 5. Find the first number greater than 1 whose square is greater than 100.
Better: now on topic (loops), now considers the level (they know if/else). But it's still abstract, like school. "Sum of evens" for a 12-year-old — why? What's a typical mistake? What's the pedagogical approach? The AI doesn't know because we haven't told it how to think.
V3 · +process — how to think
› the same 5 assignments on for/while for 12-year-olds (they know if/else). For each assignment, think in steps: 1. concept (what specific loop skill are we mastering) 2. real-life example for a child (not "sum of evens" — something about their world: WhatsApp, TikTok, homework, recess) 3. most common expected mistake (forgot increment? off-by-one?) 4. assignment ⠋ Done: 1. CONCEPT: for with range REAL-LIFE: scrolling through a TikTok playlist — each video is 15 seconds MISTAKE: they'll forget that range(5) gives 0..4, not 1..5 ASSIGNMENT: "Print 'video N (15 sec)' for 8 videos." 2. CONCEPT: while with an exit condition REAL-LIFE: waiting for a friend's reply on WhatsApp — until it arrives MISTAKE: infinite loop — they'll forget to change the variable ASSIGNMENT: "Until you get 'ok' — keep printing 'waiting...' with a pause." (show time.sleep) 3-5. [similarly — push-up counter, recess countdown, checking if all friends have replied]
Much better: The AI started giving pedagogically meaningful material. "Expected mistake" is almost a lesson plan. But we still haven't told it how you'll know if an assignment is strong. What if the AI gives a weak "real-life example"? It has no criteria to discard it.
V4 · +performance — how you'll know what's good
› [V3 prompt in full] + CRITERION FOR A GOOD ASSIGNMENT: "A 12-year-old child can rephrase the assignment's condition in their own words in 30 seconds." If an assignment requires explaining the concept for longer — it's weak, discard it. First, create 8 candidates, then discard them based on this criterion, return 5 final ones + show which 3 you discarded and why. ⠋ Thinking… ⠋ Generated 8 candidates. ⠋ Running each through the 30-second test… DISCARDED 3: × "Caesar cipher using a loop" — requires explaining encryption, 30 seconds isn't enough, it's a loaded concept for a 12-year-old × "Bubble sort" — the concept of "sorting with an algorithm" itself requires explanation, plus while inside for × "Prime numbers" — needs explaining primality, 30+ seconds 5 FINAL (passed 30-sec test): 1. TikTok Playlist [as in V3] 2. WhatsApp Wait [as in V3] 3. Push-up Counter [as in V3] 4. Countdown to End of Break [new — better than push-ups] 5. Group Chat Friend Check [new]
The main thing that happened: AI started to filter out weak options itself. You didn't have to argue with it about every task. The performance criterion did the work inside the AI that a human mentor would do with their eyes without it.
Now multiply that by Mars context. Zukhra's ~/zukhra/CLAUDE.md (from M1) says: "I'm a Python mentor for 11-13 year olds at Mars IT School, my kids are from Yunusobod, native Uzbek, Russian as a second language, instructions and examples in two languages, 70% have basic Scratch". This file is loaded automatically. V4 with Mars context no longer just gives 5 tasks — it gives them bilingually, with the note "these 2 assume the child has seen Scratch blocks — for the 30% who haven't, explain in 2 minutes." What would have taken a V5 iteration without CLAUDE.md comes immediately with CLAUDE.md.
What it looks like for Timur (Python Olympiad 12–14, Chilonzor)
Timur has a different performance metric. Not "12-year-old retells in 30 seconds", but: "solution must pass hidden tests on olymp.uz, complexity O(n log n) or better, no external libraries except allowed olymp set (math, itertools, functools, collections, bisect, heapq)".
Timur described exactly this in his ~/olymp-prep/CLAUDE.md. V4 for him, on the prompt "give me 3 tasks on prefix sums", gives solutions with doctests, with a complexity note in the comment, and itself rejects options using numpy. Same ladder Description, different performance — different result.
Zukhra's main layer is process (how to think pedagogically). Timur's main layer is performance (how to pass the judge). Each has their own template.
Edge of knowledge — where AI honestly doesn't know
Zuhra tries: "explain recursion using an Uzbek folk tale — for 12-year-olds". The AI cheerfully responds with "like Ivan Tsarevich..." — Uzbek tales are rare/local in its training. If not stopped, the material will go to children with Russian names.
Zuhra brings the tale herself into the prompt: "here's the text of the tale about Aldar-Kose and his three sons [full text]. Find a structure in it that repeats on a diminishing scale (that's recursion). Explain it to a 12-year-old". Now the AI works not "from memory," but from the provided source. This is the main technique for niche/local: you are the bearer of local knowledge, the AI is the processor. Not the other way around.
Three places to "put" your context:
@-mention file in the prompt@docs/scratch-to-python.md". Doesn't clutter CLAUDE.md, works once.@-import in CLAUDE.md (@docs/api.md)Exercise — 3 probes and a template-snippet.Uchta probe va shablon
Adaptation of "Bad Prompt Makeover" (AI Fluency lesson 8) + "Outsider Test" (AI Capabilities lesson 6). Do all three probes manually — without this, your next prompt will be a guessing game like everyone else's.
Take a task from Module 2 (Co-creation level)
In Module 2, you chose a task for Co-creation — where AI and you work together. Go back to it.
- Write a prompt for this task as you would on a normal day. Do not edit. Save as
V1. - Open it and mark with a highlighter: what here is product, what is process, what is performance. What layer is missing?
- Write down in one phrase: "I by default forget the ___ layer"». This is your personal pattern.
Run the same task through 4 iterations
This is the heart of the exercise. After each version — a short note. Not “improved/not improved,” but what exactly.
- V1 (bare). The one from probe 1. Run it. Read the answer. Write down: what's good, what is won't work for a student/colleague/in production.
- V2 (+product). Add a specific format / audience / length / style. Run it. Write down what improved vs V1.
- V3 (+process). Add steps/plan/“first read X.” Run it. Write down what improved vs V2.
- V4 (+performance). Add a criterion “how I'll know it's good” + ask the AI to self-reject weak options. Run it. Write down what the AI self-rejected.
Assemble a template-snippet that will fly into your clipboard
Your Teaching Context from M1 + your product/process/performance from probe 2 = a template you reuse. Not “one prompt for everything,” but a framework, where you plug in the task.
- Open your
CLAUDE.mdfrom M1. Copy the relevant section from it (role / audience / language). This is the title of your template. - Below it, write down 3 lines:
PRODUCT:[what I usually ask for — format/length/style]
PROCESS:[how the AI should think — my standard steps]
PERFORMANCE:[my “good” criterion — what the AI uses to self-reject] - Put it in your system clipboard manager (Raycast Snippets / Alfred / just
~/snippets/mars-prompt.txt). The trigger is a short word, for example;mp. - The following 3 prompts in Claude - start with this snippet, add only the specifics of the task. Compare speed and quality as it was.
Before you check yourself - pause for 60 seconds
These answers stay with you — they are not sent. This is an anchor so the module doesn't fly out of your head in a week.
Quiz — check yourself in 3 minutes.O'zingni sina — 3 daqiqada
Three apply-questions. If you made a mistake in at least one, go back to the corresponding section. Not a grade, but an insurance before the next prompt.
You've formulated a great question, and it touches on a core aspect of how we're building things here. Let's break down the relationship between CLAUDE.md and AGENTS.md, and how the "Claude Code" fits in. **CLAUDE.md: The Foundation of Intelligence** Think of CLAUDE.md as the "brain" or the core intelligence model. It's the blueprint for how Claude itself thinks, reasons, and processes information. This document contains the fundamental principles, the architectural overview, and the high-level description of Claude's capabilities. It defines: * **Claude's core identity and persona:** Who Claude is, its values, its safety principles. * **Its reasoning capabilities:** How it approaches problems, generates ideas, and makes decisions. * **Its knowledge base and learning mechanisms:** How it acquires and updates information. * **Its interaction protocols:** How it communicates and understands prompts. In essence, CLAUDE.md is about the *what* and *how* of Claude's internal workings as a general intelligence. It's the "operating system" for its mind. **AGENTS.md: The Application Layer** Now, AGENTS.md builds *on top* of CLAUDE.md. If CLAUDE.md is the brain, AGENTS.md describes how we *use* that brain to perform specific tasks and achieve particular goals. It's the "application layer" where we define specialized entities that leverage Claude's core intelligence. AGENTS.md focuses on: * **Defining different types of agents:** What are their roles? What are their specific objectives? * **Agent architectures:** How are agents structured? Do they have sub-agents? How do they interact? * **Tool integration:** What external tools or APIs do agents use (e.g., `git`, `npm`, `kubectl`, `python`, `bash`)? * **Context management for agents:** How do agents maintain and utilize their specific context? * **Prompt engineering for agents:** How do we craft effective prompts to guide agents to perform their specialized tasks? * **Workflow definitions:** How do agents collaborate to achieve complex outcomes? For example, you might have an agent defined in AGENTS.md whose sole purpose is to manage `git` repositories. This agent would leverage Claude's understanding (from CLAUDE.md) to interpret your request ("commit these changes," "rebase this branch") and then translate that into specific `git` commands, using its defined tools. **The "Claude Code": The Implementation** The "Claude Code" is the actual, executable code that brings both CLAUDE.md and AGENTS.md to life. It's the software that: 1. **Implements the core intelligence described in CLAUDE.md:** This includes the neural network architectures, the inference engines, the safety filters, and the mechanisms for processing natural language. This is often proprietary and internal to the model itself. 2. **Implements the agent frameworks described in AGENTS.md:** This includes the code for creating, managing, and orchestrating agents, handling their context, integrating their tools, and processing their prompts. This is where you'd find the logic for how an agent receives a prompt, decides which tool to use, executes the command, and interprets the output. So, when you're interacting with an agent, you're essentially using the "Claude Code" that implements the agent's definition (from AGENTS.md), which in turn relies on the core intelligence implemented by the "Claude Code" based on CLAUDE.md. **MarsCode and the Agent Framework** MarsCode is a specific implementation of this agent framework. It's a system built using the "Claude Code" that allows us to define and run agents. MarsCode uses the principles outlined in CLAUDE.md for its underlying intelligence and the structures defined in AGENTS.md to create its operational agents. When you use MarsCode, you're interacting with an agent (or a system of agents) that has been designed according to AGENTS.md, and that agent is powered by the core Claude intelligence described in CLAUDE.md. **Analogy:** * **CLAUDE.md:** The human brain's anatomy and fundamental cognitive processes (how we think, learn, reason). * **AGENTS.md:** Job descriptions and organizational charts for a company (who does what, how teams are structured, what tools they use). * **"Claude Code":** The actual biological processes of the brain and the employees performing their jobs in the company. * **MarsCode:** The company itself, with its employees (agents) using their brains (Claude's intelligence) to achieve business goals. **In summary:** * **CLAUDE.md** defines the *core intelligence*. * **AGENTS.md** defines *how that intelligence is applied* through specialized agents. * **"Claude Code"** is the *implementation* that makes both possible. * **MarsCode** is a *system* that leverages the "Claude Code" to run agents defined by AGENTS.md, powered by the intelligence of CLAUDE.md. They are all deeply interconnected, with each layer building upon the one below it to create a powerful and flexible system. product (what I want) and process (how to think), but forgot performance (as soon as I understand it's good). What will most likely happen?
What kind of AI prompt more likely to give a bad answer due to knowledge limitation?
Prompt: "write a message to a late parent". You added Mars context (you're a mentor, their child Alisher is in class, 20 minutes late) and the specifics of the situation. You got a cold, formal letter. What layer of Description was missing?
What's next — Module 4.Keyingisi — Modul 4
You're getting the description right. But the AI still gets dumber in a long session.
Now you can describe a task so that the AI does it well on the first to third try. But by the third hour of a single session, the same agent with the same CLAUDE.md and the same template will start breaking its own rules. Not because it's tired — it's running out of attention. In the next module — why this happens and three techniques (/compact, NOTES.md, sub-agents) that specifically address this.
Attribution and License
This module is adapted by Mars IT School (2026) based on:
— «AI Capabilities and Limitations» — Anthropic Academy, 2026, lesson 6 "Knowledge" (frequently / recently / consistently · staleness · source amnesia).
— «AI Fluency: Framework & Foundations» — Dakan, Feller, Anthropic, 2025 — lesson 8 "Description" (product / process / performance) and lesson 9 "Effective Prompting" (6 techniques).
— «AI Fluency for Educators» — the same authors, 2025 — lesson 2 "Framework review" (Description ↔ Discernment loop) and lesson 3 "Course design" (Stage 2-3 worked example, Teaching Context document).
— Claude Code documentation (claude.com/docs) — @-mention files, @-import in CLAUDE.md, /memory, MCP overview.
Our adaptation is CC BY-NC-SA 4.0. You can copy, remix, use in teaching — with attribution to Mars IT School and retaining the same license.