Структура модуля
AI выдал ерунду. Большинство жмёт retry. Это самое неэффективное.
«AI ahmoq javob berdi. Aksariyat retry bosadi — bu eng samarasiz»Сначала надо понять — ЧТО именно сломалось. Из четырёх свойств машины (NTP, Knowledge, Working Memory, Steerability) — какое в игре? Без этого вопроса каждый твой fix — лотерея. С ним — точечный ход вместо generic retry. Это финальный модуль: всё, что было до — сходится здесь.
Hook — retry не работает.Retry ishlamaydi
Ты попросил Claude: «составь план занятия по pygame для группы 10 лет, продолжительность 80 минут». Получил длинный, красивый, бесполезный план. Слишком академический, без игр, без перерывов, для 10-летних не пойдёт.
Что сделает большинство менторов? Жмёт ↑ и retry. Получает похожую ерунду. Жмёт ещё раз. Жмёт пять раз. Сдаётся.
Это самое неэффективное, что можно сделать. Потому что retry — это лотерея на том же сломанном входе.
Сначала надо понять — ЧТО именно сломалось. Steerability? (инструкция была расплывчатой). Knowledge? (модель не знает узбекскую педагогику). Working Memory? (контекст забит другими разговорами). Когда ты это назвал — fix занимает 30 секунд. Когда не назвал — retry-цикл занимает час.
Три навыка, которые я проверю
- Применяешь 3 sub-component'a Diligence (responsible / transparent / accountable) — есть твой публичный Mars Diligence statement в профиле ментора.
- Переписываешь wobbly instruction в steerable: «напиши душевно» → конкретные verifiable ограничения, которые можно проверить по выводу.
- Применяешь diagnostic framework на любой неожиданный ответ AI: называешь, какое из 4 свойств в игре (NTP / Knowledge / Working Memory / Steerability), и делаешь targeted fix вместо generic retry.
Mental model — Steerability и Diligence.Steerability va Diligence
Две темы перед практикой. Steerability — про то, как заставить AI делать именно то, что ты хочешь. Diligence — про то, кто отвечает, когда AI ошибся. Это два разных регистра, и оба важны.
1. Steerability — спектр управляемости
По-русски: модель выполняет инструкции тем же способом, что и всё остальное — продолжая паттерн. Это делает её очень управляемой. И это же значит — между «что ты хотел» и «что вышло» всегда есть зазор. Большинство интересных провалов живёт именно в этом зазоре.
Главная мысль: Steerability — это спектр, не выключатель. Какие-то типы инструкций модель выполняет почти идеально. Какие-то — драматически плывут. Знание границ важнее, чем «модель умная или нет».
Три типичных провала Steerability: (1) reasoning drift — маленькие ошибки накапливаются на длинной цепочке шагов; (2) letter over spirit — инструкция выполнена буквально, но смысл не пойман («сократи письмо» → отрезало нижнюю половину, в которой была главная мысль); (3) prompt injection — модель послушалась команду из документа, не от тебя. Знать имена этих провалов важнее, чем «улучшать промпт».
Wobbly → Steerable rewriting — главное практическое следствие. Берёшь свой расплывчатый промпт и переписываешь в verifiable ограничения. Каждое такое ограничение — это якорь, за который attention модели цепляется.
Когда инструкция выполнена буквально, но бесполезно — переформулируй цель, а не приказ. Жать ↑ и писать «нет, не так, СДЕЛАЙ КАК Я СКАЗАЛ» бесполезно. А «моя цель: ребёнок 10 лет понял с первого прочтения, выбери формат сам» — работает.
2. Diligence — три sub-component'a ответственности
Три компонента Diligence — три разных места, где ты берёшь ответственность: (1) Creation — какой AI ты вообще выбрал и как с ним работаешь; (2) Transparency — открыто говоришь людям, что AI участвовал; (3) Deployment — отвечаешь за то, что вышло наружу.
Я переведу эти три на язык ментора Mars — потому что в нашем контексте каждый из них значит конкретное действие:
«какой AI и как»
«я проверяю factual claims»
«AI участвовал»
«помечаю где использовал»
# draft co-written with Claude, edited by Marsel. В сообщении родителю — если использовал AI для перевода: «перевод сделал через Claude, смысл проверил».«отвечаю за вывод»
«ошибку родителю объясняю Я»
Это не абстракция. В конце модуля ты напишешь свой Mars Diligence statement — публичную часть профиля ментора. Образец — у самого Anthropic в обзоре курса AI Fluency (написан про этот же курс):
Образец конкретики: не «AI помогал» вообще — а что именно делал AI (структура, упражнения, драфт, правка) и что осталось за человеком (видение, критическое суждение, доменное знание, финальные решения). Без этой структуры — это не Diligence statement, а отговорка.
Свои sub-agents — от built-in к homework-checker.O'zingning sub-agentlaring
В Модуле 4 ты узнал, что sub-agent — это работа в изолированном context window. Здесь — учишься создавать свои. Главная цель: сжать повторяющуюся работу (проверка ДЗ, ревью карты Roblox, разбор олимп-решения) в одну команду.
Explore
Read-only, Haiku. Для поиска «где в репе обрабатывается X». Возвращает paths + summary, не правит. Когда: незнакомая repa, поиск входной точки.
Plan
Inherits model, read-only. Включается в plan mode. Исследует код, возвращает план изменений. Когда: до того как Edit начал писать, риск сломать высокий.
general-purpose
Все tools. Multi-step задачи с поиском + правками. Когда: нужно отдать «в чистый context» целую подзадачу и получить итог.
Правило одного вопроса: «нужен ли мне журнал поиска или только ответ?». Нужен журнал (каждый шаг зависит от прошлого) — main thread. Нужен только ответ — sub-agent. Это единственный критерий по Anthropic.
Анти-паттерны sub-agent'ов — когда их лучше НЕ применять:
«ты — эксперт по Python»
«repro → debug → fix» как 3 sub-agent'a
«запусти тесты в sub-agent»
Custom sub-agent — как создать
Команда /agents → Create new agent. Scope (project / user) → описание (Claude сгенерит) → tools → model → color. Конфиг лежит в .claude/agents/<name>.md.
Главный практический совет: description — это не описание для тебя, это сигнал Claude когда вызывать. Слово proactively в description → Claude сам делегирует без явного вызова. Без него — нужно сказать «use homework-checker».
Mars-кейс — sub-agent homework-checker. Целиком готовый код из чит-листа Mars. Положить в ~/.claude/agents/homework-checker.md:
--- name: homework-checker description: Проверяет домашние работы учеников Mars — читает все .py файлы в указанной папке, выдаёт одну строку summary на ученика. Use proactively когда ментор просит проверить файлы в submissions/. tools: Read, Bash, Glob model: claude-haiku-4-5 --- Ты — проверяющий ДЗ ментор Mars IT School. На вход получишь путь к папке с ДЗ группы. Для каждого .py файла в папке: 1. Прочитай файл (Read tool). 2. Проверь: запускается ли (python3 -m py_compile). 3. Найди 1 главную ошибку или 1 главную хорошую вещь. 4. Выдай одну строку: «<имя_ученика>: <вердикт>». В конце — общий вердикт группы (одна фраза) и одна рекомендация что повторить на следующем занятии. НЕ редактируй ничьи файлы. Не давай оценок типа «отлично» — только факты с конкретной строкой кода.
Что в этом куске важно:
tools: Read, Bash, Glob— нет Edit/Write. Sub-agent физически не может испортить чужой код. Это Steerability через ограничение tools — надёжнее любого «не редактируй».model: claude-haiku-4-5— Haiku хватает на чтение и сравнение. Дешевле Sonnet в ~5×. Возьми Haiku для read-only задач без сложной reasoning.proactivelyв description — Claude сам вызовет, когда ты скажешь «проверь ДЗ в submissions/».
Что получишь: 8 ДЗ за 5 минут, по строчке на ученика, без вычитки 8 файлов руками. Эффект накапливается — каждую неделю экономишь 1.5 часа. Через семестр — два рабочих дня свободны.
Agent Skills — progressive disclosure.Agent Skills — progressive disclosure
Skill — это папка с инструкцией, которую Claude находит и применяет автоматически, когда задача подходит. От sub-agent отличается тем, что работает в твоём текущем context, не в отдельном. От CLAUDE.md — что грузится по требованию, не всегда.
Главная идея — progressive disclosure (постепенное раскрытие). Не «всё в контекст всегда» (как CLAUDE.md), а 3 уровня: (1) metadata (name + description) — всегда в system prompt; (2) body SKILL.md — загружается только когда Claude решил, что skill применим; (3) дополнительные файлы — читаются on-demand, когда SKILL.md на них ссылается.
Skills vs CLAUDE.md vs Sub-agents — когда что
Тройное разделение: CLAUDE.md = всегда-в-контексте правила (язык, конвенции, что не трогать). Skill = task-specific процедура, грузится когда применима. Sub-agent = изолированный context для делегированной работы. Не «выбери один» — комбинируй.
pygame-starterhomework-checkerPostToolUseMars-кейс — Skill pygame-starter
Цель: один раз описать, как ты готовишь стартер-проект на pygame для группы, — и навсегда переиспользовать. Создаёшь так:
~/.claude/skills/pygame-starter/ ├── SKILL.md (level 2 — основные шаги) ├── templates/ │ ├── basic-window.py (level 3 — для 7-9 лет) │ └── basic-game-loop.py (level 3 — для 10-12 лет) └── examples/ └── snake-7-9.py (level 3 — образец)
Сам SKILL.md:
--- name: pygame-starter description: Создаёт стартер pygame-проекта для занятий Mars. Используй когда ментор просит «сделай стартер игры на pygame» или указывает возраст детей 7-14. --- # Pygame starter для детских групп Mars ## Когда использовать Ментор готовит шаблон для нового занятия по pygame. ## Шаги 1. Спроси возраст детей (если не сказан в промпте). 2. Если 7-9 — возьми templates/basic-window.py как основу. Без классов, имена переменных на русско-латинице (igrok, vrag). См. examples/snake-7-9.py для образца стиля. 3. Если 10-12 — возьми templates/basic-game-loop.py. Простые классы можно. Английские имена. 4. Если 13+ — собственная структура, OOP ok. 5. Всегда комментируй на русском. 6. Положи результат в текущую папку как lesson-NN-<topic>.py.
Что произойдёт: ты скажешь «сделай стартер pygame для 8-летних, тема — поймай яблоко». Claude увидит description, поймёт что skill применим, прочитает SKILL.md (level 2), увидит ссылку на templates/basic-window.py, прочитает его (level 3), сделает lesson-03-catch-apple.py. Без skill — это 15 уточняющих вопросов. Со skill — одна фраза.
Sharing — командная репа Mars
Скиллы можно держать лично (~/.claude/skills/ — со всеми твоими проектами) или командно (.claude/skills/ в репе Mars — все, кто клонировал репу, получают их автоматически). Командные скиллы Mars: kid-lesson-plan, parent-message-rus-uz, roblox-map-reviewer. Один раз договорились — все менторы пользуются.
Ставь skills только из доверенных источников. Skill — это инструкция, которую Claude выполнит без твоего ревью. Чужой skill из интернета может направить агента читать твои файлы или дёргать внешние URL. Mars-skills из .claude/skills/ командной репы — нормально, ты их видишь в git. Чужой случайный skill — сначала прочитай файлы, потом ставь.
Diagnostic framework — центральный артефакт курса.Diagnostic framework — kursning markazi
Это самый важный приём всего курса. На любой неожиданный ответ AI — не жми retry. Сначала назови, какое свойство сломалось. Потом fix будет очевиден.
Главное: большинство реальных провалов — это пересечение двух свойств, не одно. Когда называешь какие два — fix становится очевидным. Это и есть Discernment в действии. Вся машина 4D × 4 свойства собирается здесь.
Алгоритм оператора Mars
Главное правило: если не можешь назвать свойство — не делай fix. Retry без диагноза — это лотерея, а ты теряешь репутацию агента в своих глазах. Лучше пауза на 30 секунд + диагноз, чем 30 минут retry-цикла.
Типичные fail → какое свойство → targeted fix
сгенерил «звучит правдоподобно» в зоне sparse pattern
lost in the middle — контекст просел
CLAUDE.md через /memory. Или новый чат с этим в системе.letter-over-spirit: «коротко» — неверифицируемо
reasoning drift на длинной chain
истинные факты «выцвели», hallucination сверху
/compact + Explore sub-agent на нужный файл. Свежие факты в контекст.native precision — arithmetic зона limitation
sycophancy — паттерн «соглашаться» сильнее правды
Ниже три сценария Mars-провалов. Для каждого угадай: какое свойство в игре? NTP / Knowledge / Working Memory / Steerability. Запиши свои три ответа на листок — потом сравнишь с разбором.
Demo — три fail'a Зухры, три диагноза.Zuhra'ning uchta fail'i, uchta tashxis
Зухра, ментор Python из Юнусобода, готовит занятие. В рабочей сессии — три места, где Claude выдал ерунду. Каждое — другое свойство. Каждое — другой fix. Это и есть diagnostic framework в действии.
Сценарий 1 · 16:20 · Steerability fail
› напиши коротко план занятия по pygame для группы 10 лет ⠋ generating… ✓ ответ готов (1840 слов, 12 разделов, академический тон) ⚠ Зухра: «коротко» НЕ выполнено. 1840 слов — это «длинно».
Диагноз: Steerability — letter-over-spirit. «Коротко» — невыразимая инструкция. Модель не имеет общего понятия «коротко», поэтому интерпретировала как «структурированно». Это НЕ Knowledge fail и НЕ Working memory — это про управляемость.
Targeted fix: wobbly → steerable. Verifiable constraint.
› перепиши: 4 блока по 20 минут, каждый блок описан в 50 слов, без академических терминов (для 10-летних), финальная игра — Pong. ✓ ответ: 200 слов, 4 блока, читабельно, ребёнку понятно
Сценарий 2 · 17:05 · NTP + Knowledge fail
› подскажи 3 книги узбекских авторов про детское программирование для подарка лучшим ученикам ✓ ответ: 1. Мухаммад Алиев. «Алгоритмы для юных» (2019) 2. Дилнара Усманова. «Программирование с нуля». Ташкент, 2021 3. Шерзод Каримов. «Python для школьников». Чорсу, 2020 ⚠ Зухра гуглит первую — нет такой книги. Второй ISBN — нет. Третий — нет. Все три выдуманы. С уверенным тоном.
Диагноз: NTP + Knowledge collision. Узбекская детская IT-литература — sparse pattern в обучающих данных. Модель не знает реальные имена → NTP сгенерировал «звучит правдоподобно» (русско-узбекские имена + типичные названия + ташкентский контекст). С полной уверенностью. Это самый коварный fail — выглядит правильно.
Targeted fix: не retry. Дай контекст или попроси честно сказать «не знаю».
› если ты не уверен — скажи прямо «не знаю». Не выдумывай названия. Если данных мало — посоветуй, где искать (издательства, библиотеки Ташкента). ✓ ответ: «Я не знаю проверенных узбекских книг по этой теме. Рекомендую: Национальная библиотека Узбекистана, каталог Akademnashr, рус.переводы — “Hello Ruby”…»
Сценарий 3 · 20:14 · Working Memory fail
› предложи перекус для группы на следующее занятие ⠋ предлагаю: орехи микс, шоколадные батончики, печенье с арахисом, фрукты… ⚠ В группе Анвар — аллергия на арахис. Зухра 40 turn'ов назад про это писала. Claude забыл.
Диагноз: Working Memory — lost in the middle. Факт про аллергию обсуждался 40 turn'ов назад, в середине окна. Attention туда теперь слабый. Это НЕ «AI безответственный» — это технический rot.
Targeted fix: repeat constraint в текущем промпте + допиши в CLAUDE.md чтобы пережило /compact.
› /memory → открыть ~/mars/lessons/CLAUDE.md # ВАЖНО — постоянные ограничения группы 5-Б: # - Анвар: аллергия на арахис (никакие продукты с орехами) # - Малика: лактоза (без молочного) › учти аллергии из CLAUDE.md, предложи перекус. ✓ ответ: «фрукты, мармелад без молока, рисовые хлебцы, сухофрукты БЕЗ орехов (изюм, курага). Учтены аллергии: арахис (Анвар), лактоза (Малика).»
Итог трёх сценариев. Один разговор Зухры, три разных fail'а. Без diagnostic framework — она бы retry на все три одинаково. С ним — три разных fix'а, три минуты на каждый. Это и есть discernment applied.
Как это выглядит для Тимура (Python олимп 12–14, Чиланзар)
У Тимура другой набор повторяющихся задач: разбор олимп-решения и подготовка C++ стартеров. Он строит два своих артефакта:
Sub-agent olymp-solution-reviewer — читает решение ученика и эталон из своей репы ~/olymp-prep/, возвращает 3 строки: «сложность ок / ок но 2 неоптимальных места / TLE — нужен совсем другой подход». Tools: Read, Bash (для запуска тестов). Model: haiku. Лежит в .claude/agents/ командной репы — все 4 ментора олимп-направления Mars им пользуются.
Agent Skill competitive-programming-cpp-starter — стартер C++ файла с типовыми include, fast IO, чтением N test cases. Лежит в ~/.claude/skills/. Когда Тимур говорит «сделай стартер для задачи на префиксные суммы» — skill активируется, выдаёт правильный template, без 10 уточняющих вопросов.
Те же два инструмента, другая предметная область. Diligence statement у Тимура отдельный, написан под олимпиадный контекст: «эталонные решения проверяю на свежих тестах, AI-сгенерированный код — компилирую и запускаю до публикации ученикам».
Упражнение — 3 probe ship-it.Uchta probe — ship-it
Это финал курса. Не «попробуй» — построй. К концу у тебя будет: один работающий custom sub-agent, один skill и публичный Diligence statement в твоём ~/.claude/CLAUDE.md.
Создай ~/.claude/agents/homework-checker.md
Шаблон уже готов в чит-листе курса. Адаптируй под свой стек (Python / JS / Roblox Lua).
- Запусти
claude→/agents→ Create new agent → user-level. Описание: «проверяет ДЗ группы, читает все файлы, summary по каждому ученику». - Когда Claude сгенерит — открой файл, исправь:
tools: Read, Bash, Glob(без Edit/Write),model: claude-haiku-4-5, в description добавьproactively. - Создай тестовую папку
/tmp/test-homework/с 3 фейковыми .py файлами (один с ошибкой, два рабочих). - Запусти: «проверь ДЗ в
/tmp/test-homework/». Запиши: сработало автоматически? Если нет — допиши ещё конкретики в description.
Создай ~/.claude/skills/<твоя-задача>/SKILL.md
Минимальный skill — одна папка, один файл. Возьми что-то ты повторяешь: формат plan'a урока, формат сообщения родителю, стартер какого-то типа проекта.
mkdir -p ~/.claude/skills/lesson-plan-80min(или твоё имя).- Создай
SKILL.mdс frontmatter:name,description(что и когда). Описание должно чётко отвечать: что делает + когда применяется. Без этого Claude не подхватит. - Body — 5-10 шагов, как ты сам это делаешь. Не теория — твоя процедура.
- Перезапусти claude (skills грузятся при старте). Скажи «составь план занятия на 80 минут, тема X» — Claude должен предложить активировать skill.
Напиши и положи в свой ~/.claude/CLAUDE.md
Образец — у самого Anthropic в обзоре их курса AI Fluency (мы его цитировали выше). Твой будет короче и конкретнее. Это публичная часть твоего профиля ментора Mars.
- Открой
~/.claude/CLAUDE.md. Добавь секцию:## Mars Diligence statement (имя ментор-а, дата) В моей работе я использую Claude: - Готовлю стартер-код: full delegation, проверяю diff перед коммитом. - Проверяю ДЗ: sub-agent homework-checker даёт факты, оценки и обратную связь пишу я. - План урока: co-creation. Структура — Claude, содержание — я. - Сообщение родителю по конфликту: НЕ использую AI. Это человеческая коммуникация, я отвечаю напрямую. ## Responsible · Transparent · Accountable - Factual claims (даты, факты, имена) проверяю руками. - В материале, где AI участвовал — пометка «co-written with Claude». - За любую ошибку, дошедшую до ребёнка или родителя — отвечаю я.
- Закоммить в свой dotfiles (если ведёшь). Скриншот секции пошли в чат курса.
Перед тем как проверять себя — пауза на 60 секунд
Эти ответы остаются у тебя — мы их не отправляем. Это якоря на которых модуль вырывается из «прочитал и забыл».
Quiz — 3 apply вопроса.3 ta amaliy savol
Финальные три вопроса курса. Не на memorization — на применение. Если ошибся в одном — вернись к соответствующему разделу.
AI выдал план урока с устаревшей информацией про Python (используется print без скобок — Python 2 синтаксис). Ты не заметил. Ребёнок пришёл домой, попробовал — ошибка. Родитель написал тебе с претензией. Кто отвечает за эту ошибку?
Какая из двух инструкций steerable (надёжно выполнима, в зоне capability)?
Ты дал агенту огромную задачу: «разнеси ~/mars/src/ по модулям, рефакторь импорты, перепиши тесты». Агент мечется, читает по 30 файлов, теряется. Что сделать?
Plan sub-agent — он исследует репу в своём контексте и вернёт план разбивки на этапы. Дальше main работает по шагам/compact чтобы освободить контекстPlan sub-agent читает 30 файлов в своём окне, возвращает 1-2K план — главное окно чистое. A — добавишь промпт, шума станет больше. C — /compact не поможет, если ты сам не понял, что делать. D — потеря прогресса, и новая сессия повторит ту же ошибку без плана./agents, /compact, /memory, sub-agents, SKILL.md шаблоны
Финал курса — ты прошёл.Kurs yakuni — sen o'tding
Mars AI Operator
Когда будешь учить детей AI — теперь у тебя есть язык
Mars готовит детскую версию этого курса — для учеников 12–16, которые уже работают в Claude Code на занятиях. Ты — пилот. Когда ребёнок спросит «а что с ним не так, почему он галлюцинирует?» — у тебя есть точные слова. NTP / Knowledge / Working Memory / Steerability. Это и есть твоя следующая роль.
Хочешь глубже? Оригинальные курсы Anthropic Academy — каждый бесплатный, по 1–2 часа:
- AI Fluency: Framework & Foundations (Rick Dakan + Joseph Feller + Anthropic) — полная версия 4D, шире чем coding.
- AI Capabilities and Limitations — глубже про 4 свойства машины.
- Claude Code 101 и Claude Code in Action — упор на CLI и daily workflow.
- Introduction to Subagents и Introduction to Agent Skills — полные курсы по custom sub-agents / skills.
- Introduction to Claude Cowork — для команд, делящихся контекстом.
Атрибуция и лицензия
Этот модуль адаптирован Mars IT School (2026) на основе:
— «AI Capabilities and Limitations» — Anthropic Academy, 2026 (lessons 10–13 — Steerability, When properties collide, Next steps).
— «Introduction to Subagents» — Anthropic Academy, 2026 (все 4 урока — built-in, custom, design, effective use).
— «Introduction to Agent Skills» — Anthropic Academy, 2026 (все 6 уроков — что такое skill, создание, конфигурация, vs other features, sharing, troubleshooting).
— «AI Fluency: Framework & Foundations» — Dakan, Feller, Anthropic, 2025 (CC BY-NC-SA 4.0) — Diligence sub-components, AI diligence statement образец.
— «AI Fluency for Educators» — Dakan, Feller, Anthropic, 2025 (lesson 4) — Diligence в образовательном контексте.
— Anthropic Engineering Blog «Equipping agents for the real world with Agent Skills» (Oct 16, 2025) — progressive disclosure verbatim.
Наша адаптация — CC BY-NC-SA 4.0. Можно копировать, ремиксить, использовать в обучении — с указанием Mars IT School и сохранением той же лицензии.