Суть урока
Когда ты учишься чему-то новому, учебник кладёт знания цепочкой: глава 1 → глава 2 → глава 3. Это работает для человека, который читает по порядку. Но AI-агент так не читает. Агент приходит со своим вопросом — и хочет за 50 миллисекунд достать ровно ту страницу, которая нужна. Не первую главу, не оглавление. Конкретный кусок про конкретное.
Knowledge Atlas — это другая форма организации знаний. Не книга, а сеть. Не оглавление, а карта. Не цепочка глав, а 54 коротких слоя, каждый — про одну тему, со своими координатами и связями.
В этом уроке разберём, как собрать такой атлас своими руками: из чего состоит слой, как работает машинно-читаемый INDEX.json, зачем три HTML-вида (карточки, дерево, mind map), и как агент находит нужное знание за 150 токенов вместо 13 000.
Ключевые концепции
- Layer book (слой) — короткая книга на одну тему (~7–13 KB кириллицы), со стандартной структурой: образ → что это → как работает → примеры → связки → ресурсы → cross-links
- Frontmatter — машинно-читаемая метадата в начале каждого слоя (YAML): id, group, keywords, related_layers, summary_50w. Агент читает её первой
- INDEX.json — единая карта всех слоёв в одном JSON-файле. Агент сначала смотрит сюда (~80 токенов), потом достаёт нужный слой
- Competency groups — 9 групп компетенций (понимаешь / создаёшь / работаешь / строишь / автоматизируешь / выпускаешь / зарабатываешь / mindset / production). Каждая группа = папка
- Retrieval tiers — 4 уровня глубины чтения (L0 INDEX → L1 frontmatter → L2 секция → L3 полный слой). Агент берёт минимально необходимое
- Cross-links — каждый слой ссылается на 3–7 связанных слоёв. Это превращает набор файлов в сеть
- Curriculum — последовательный маршрут через атлас для человека (например, "2 недели для новичка": L1 → L2 → L6 → L7 → L8). Атлас для AI + куррикулум для человека = одна база
- Mind map view — force-directed граф (HTML) где каждый слой = узел, каждая связь = ребро. Помогает увидеть архитектуру глазами
- Stub layer — слой-заготовка с frontmatter, но без полного контента. Дописывается по мере применения. Атлас растёт инкрементально
- Median retrieval cost — целевая стоимость одного обращения агента (target: ~150 токенов медиана). Метрика, которую можно мерить
Теория
Учебник vs атлас: разница архитектур
Учебник предполагает читателя который идёт от начала к концу. Главы упорядочены, каждая опирается на предыдущую. Если ты выдернешь главу 7 из середины — она будет непонятна без главы 6.
Атлас знаний устроен иначе. Каждый слой — самодостаточная страница. Чтобы прочитать L8 (Векторные базы и RAG), не нужно читать L1–L7 по порядку. Слой объясняет себя сам — образом, простыми словами, примерами. Связи с другими слоями указаны в конце, но они не обязательны для понимания.
Это критично для AI-агента. Агент не читает по порядку. Когда пользователь спрашивает "как сделать долговременную память для моего бота?" — агенту нужен L8 целиком и сейчас, а не путь через L1–L7. Атлас отдаёт ровно L8.
Анатомия одного слоя
В атласе автора курса каждый слой имеет жёсткую структуру. Это не для красоты — это для retrieval. Когда у всех 54 слоёв одинаковые секции в одном порядке, агент знает где искать.
Frontmatter (YAML):
---
id: L8-vector-rag
layer: L8
group: understand
title: "Векторные базы и RAG · Долговременная память AI"
keywords: [vector, rag, pinecone, vectorize, qdrant, embedding]
tier: foundation
related_layers: [L7, L51]
related_recipes: [r12, r17]
status: stable
summary_50w: "Долговременная память для AI. Векторная база хранит смыслы как координаты. RAG = найди кусок → вложи в промпт → ответь. Решает context limit и галлюцинации."
hot_section: "Образ"
---Это паспорт слоя. Агент может прочитать только frontmatter (~150 токенов) и уже понимать: что это, к чему относится, с чем связано, насколько зрелый материал. В 90% retrieval-задач frontmatter достаточно.
Тело слоя — 8 секций:
- 🎨 Образ — метафора из жизни. Без неё слой не считается готовым. Образ помогает запомнить и найти слой — это правило для всех слоёв
- 📖 Что это — простыми словами, без жаргона. С переводом каждого термина
- 🔬 Как работает — механизм без математики. С псевдо-кодом или диаграммой
- 🛠 Примеры использования — 3–5 конкретных кейсов
- 🎯 Связки (рецепты) — какие готовые комбо используют этот слой
- 📚 Ресурсы — таблица сравнения опций, видео, доки, инструменты
- 🔗 Связан со слоями — cross-links с пояснением
- 📝 Мой конспект — пустая секция для личных заметок владельца
Размер одного слоя — 7–13 KB кириллицы. Если получается больше — слой режется на два. Если меньше 5 KB — слой пока stub.
Девять групп компетенций
Слои собраны по группам — это папки 01-understand/, 02-create/ и так далее. Девять групп — не случайное число. Это путь от понимания до production.
01-understand/ 🧠 Понимаешь AI (L1-L9) — основы: LLM, модели, RAG, MCP 02-create/ 🎨 Создаёшь (L10-L17) — генерация контента, image, video 03-work/ ⚡ Работаешь (L18-L22) — продуктивность, ассистенты 04-build/ 🛠 Строишь (L23-L29) — Claude Code, SaaS, агенты 05-automate/ 🤖 Автоматизируешь (L30-L35) — workflows, cron, integrations 06-release/ 🌐 Выпускаешь (L36-L41) — deploy, hosting, domains 07-monetize/ 💰 Зарабатываешь (L42-L48) — pricing, payments, marketing 08-mindset/ 🧭 Mindset (L50) — установки, принципы 09-production/ 🛡 Production (L51-L54) — reliability, observability, security
Каждая группа отвечает на свой вопрос. 01-understand — "что это вообще такое?". 04-build — "как мне это построить?". 07-monetize — "как на этом заработать?". 09-production — "как чтобы не упало?".
Это разделение полезно по трём причинам:
Первая — навигация для человека. Ты заходишь в 04-build/, видишь 7 слоёв, выбираешь нужный. Не нужно сканировать 54 файла глазами.
Вторая — фильтрация для агента. В INDEX.json у каждого слоя поле group. Агент может сказать "дай мне только production-слои" — и получит 4 кандидата вместо 54.
Третья — постепенный рост. Группа 02-create пока тонкая — там 4 готовых слоя из 8. Когда ты углубишься в генерацию видео — заполнишь остальные. Атлас растёт по мере применения, не сразу.
INDEX.json — машинно-читаемая карта
INDEX.json — это сердце атласа. Один файл, который содержит метадату обо всех 54 слоях. Агент читает его первым шагом любого retrieval.
{
"version": "0.5.3",
"stats": {
"total_layers": 54,
"total_books_with_content": 54,
"active_groups": 9
},
"layers": {
"L8": {
"f": "library/01-understand/L8-vector-rag.md",
"g": "understand",
"k": ["vector", "rag", "embedding", "pinecone"],
"related": ["L7", "L51"],
"status": "stable"
},
"L51": {
"f": "library/09-production/L51-data-pipelines.md",
"g": "production",
"k": ["etl", "pipeline", "chunking"],
"related": ["L8", "L52"],
"status": "stable"
}
},
"curricula": {
"c01": {
"title": "Foundation для нуля",
"layers": ["L1", "L2", "L6", "L7", "L8"],
"duration": "2 weeks"
}
}
}Зачем такой формат:
- Маленький — весь INDEX весит 15–30 KB. Прочитать его агенту — ~5 000 токенов. Это разовая стоимость на сессию
- Машинно-читаемый — JSON парсится в любом языке. Можно фильтровать, искать, сортировать
- Полный — содержит всё, что нужно для решения "куда идти дальше" без чтения самих слоёв
- Версионируется —
version: 0.5.3показывает зрелость. Обновляется вместе с атласом
Паттерн retrieval в 4 уровня:
L0: Read INDEX.json once (~5K tokens, once per session) L1: Read frontmatter of layer (~150 tokens, обычно достаточно) L2: Read targeted section (~300 tokens, если frontmatter мало) L3: Read full layer (~3K tokens, только при deep dive)
Медианная стоимость retrieval — 150 токенов. Против ~13 000 токенов "прочитать всю главу учебника". Улучшение в 87 раз. Не за счёт сжатия — за счёт точности.
Три HTML-вида: cards, tree, mind
Атлас — это не только markdown-файлы для агента. Для человека нужны визуальные виды. В атласе автора курса сделаны три HTML:
library.html — карточки. Каждый слой — карточка с названием, образом, цветной меткой группы. Глаза сканируют сетку 9×6 и находят нужное за 3 секунды. Хорошо когда знаешь как примерно называется тема, но не помнишь точный номер.
tree.html — дерево с drill-down. 9 групп → раскрывается → 6 слоёв в группе → раскрывается → секции внутри слоя. Иерархическая навигация. Хорошо когда нужно понять структуру: "сколько у меня всего по production-теме?"
mind.html — force-directed граф. 45 узлов (некоторые слои объединены), связи показывают cross-links. Граф можно двигать, перетаскивать. Узлы окрашены по группе. Связи разной толщины — толще когда два слоя ссылаются друг на друга. Хорошо для того, чтобы увидеть пробелы: одинокий узел без связей — кандидат на дополнение.
INDEX.html — это входная страница, которая объединяет три вида и даёт ссылки на курикулумы и рецепты.
Curriculum — мост для человека
Атлас — для AI-агента. Но человек тоже хочет учиться по нему. Прямо из 54 слоёв учиться сложно: с чего начать?
Решение — curriculum. Это последовательный список слоёв с пометкой "читай в таком порядке". Восемь куррикулумов сейчас:
| ID | Название | Длительность | Слои |
|---|---|---|---|
| c01 | Foundation для нуля | 2 недели | L1, L2, L6, L7, L8 |
| c02 | Build a SaaS MVP | 4 недели | L1, L9, L23, L25, L26, L36, L37, L38 |
| c03 | Локальный AI-бизнес в Эквадоре | 6 недель | ~10 слоёв |
| c04 | Контент на испанском | 3 недели | контент-слои |
| c05 | Anthropic Mastery | 4 недели | claude-слои |
| c06 | Successor onboarding | 12 недель | весь атлас + Persona |
| c07 | AI-trader path | 6 недель | data + automate слои |
| c08 | Academy Launch | 8 недель | release + monetize |
Курикулум — это не отдельные новые знания. Это маршрут через атлас. Те же слои читаются в специфическом порядке для специфической цели.
Один атлас обслуживает три аудитории сразу: AI-агента (через INDEX retrieval), эксперта (прямой поиск в graph), новичка (курикулум).
Стоимость и измерение
Атлас — это не просто структура, это система с метриками. Без метрик не понять, работает или нет.
Что меряем:
retrieval_countв frontmatter каждого слоя — сколько раз агент обращался к нему за месяцlast_retrieved— когда был последний доступ. Слои с last_retrieved старше 6 мес — кандидаты на удаление или мержoutcome_score— оценка качества ответа после retrieval (1–5). Если слой постоянно даёт плохой результат — переписатьmy_understanding— green/yellow/red. Ты сам размечаешь свой уровень знания
Целевые метрики:
- Медиана retrieval cost: ≤ 200 токенов
- Покрытие cross-links: каждый слой связан с 3+ другими
- Stub ratio: не более 20% slot заняты заготовками
- Update freshness: stable-слои обновляются раз в квартал
Это превращает атлас в живую систему. Слои которые никто не читает — увядают. Слои которые читают часто — улучшаются. Атлас сам показывает, куда инвестировать время.
🧪 Практика
Соберём мини-атлас из 10 слоёв на свою тему. Это упражнение займёт 30–40 минут. Тема — на твой выбор: твоё хобби, твоя работа, твой будущий бизнес. Главное чтобы было 10 разных аспектов.
Допустим, тема — "Подкаст с нуля". Мини-атлас будет про запуск подкаста: оборудование, монтаж, дистрибуция, монетизация.
Шаг 1: Создаём папку и INDEX
cd ~/Desktop
mkdir -p mini-atlas/library/{01-equipment,02-recording,03-edit,04-publish,05-grow}
cd mini-atlas
# Создаём пустой INDEX.json
cat > INDEX.json << 'EOF'
{
"version": "0.1.0",
"topic": "Подкаст с нуля",
"updated": "2026-10-04",
"stats": {
"total_layers": 0,
"active_groups": 5
},
"groups": {
"equipment": "Оборудование",
"recording": "Запись",
"edit": "Монтаж",
"publish": "Публикация",
"grow": "Аудитория"
},
"layers": {}
}
EOFШаг 2: Пишем 10 слоёв (по 2 на группу)
Один слой = один файл markdown с frontmatter и 8 секциями. Шаблон:
cat > library/01-equipment/L1-microphone.md << 'EOF'
---
id: L1-microphone
layer: L1
group: equipment
title: "Микрофон · Что покупать новичку"
keywords: [microphone, mic, podcast, audio, equipment]
related_layers: [L2, L3]
status: stable
summary_50w: "Микрофон — главный инструмент подкастера. Динамические лучше для шумных комнат, конденсаторные — для студии. Недорогой микрофон начального уровня даёт качество, достаточное для большинства задач."
---
# L1 · Микрофон
## 🎨 Образ
Микрофон — это глаза слушателя. Через него слушатель видит твою комнату, твой стол, твоё дыхание. Дешёвый микрофон — это окно с грязным стеклом.
## 📖 Что это
Динамический микрофон ловит звук узким лучом — отсекает шум комнаты. Конденсаторный ловит широко — отсекает только то, чего нет.
## 🔬 Как работает
... (мембрана, катушка, USB vs XLR)
## 🛠 Примеры использования
- Shure MV7 — динамический, USB+XLR
- Samson Q2U — динамический, USB, недорогая модель
- Rode NT1 — конденсаторный, XLR
- Актуальные цены смотри в магазинах: они меняются
## 🎯 Связки
- Stack: микрофон + аудио-интерфейс + наушники
## 📚 Ресурсы
- Видео: Podcastage YouTube reviews
- Магазины: Sweetwater, B&H
## 🔗 Связан со слоями
- L2 (Аудио-интерфейс) — для XLR микрофонов нужен интерфейс
- L3 (Наушники) — нужны для контроля
## 📝 Мой конспект
_[твои заметки]_
EOFСделай так для 10 тем:
- L1-microphone, L2-interface (equipment)
- L3-room-acoustics, L4-recording-software (recording)
- L5-editing-basics, L6-noise-cleanup (edit)
- L7-hosting, L8-rss-distribution (publish)
- L9-show-notes, L10-promotion (grow)
Шаг 3: Заполняем INDEX.json
cat > INDEX.json << 'EOF'
{
"version": "0.1.0",
"topic": "Подкаст с нуля",
"stats": { "total_layers": 10, "active_groups": 5 },
"layers": {
"L1": { "f": "library/01-equipment/L1-microphone.md", "g": "equipment", "k": ["mic", "audio"], "related": ["L2", "L3"] },
"L2": { "f": "library/01-equipment/L2-interface.md", "g": "equipment", "k": ["xlr", "usb"], "related": ["L1"] },
"L3": { "f": "library/02-recording/L3-room-acoustics.md", "g": "recording", "k": ["echo", "absorption"], "related": ["L1"] },
"L4": { "f": "library/02-recording/L4-recording-software.md", "g": "recording", "k": ["daw", "audacity"], "related": ["L5"] },
"L5": { "f": "library/03-edit/L5-editing-basics.md", "g": "edit", "k": ["cut", "fade"], "related": ["L4", "L6"] },
"L6": { "f": "library/03-edit/L6-noise-cleanup.md", "g": "edit", "k": ["noise", "compressor"], "related": ["L5"] },
"L7": { "f": "library/04-publish/L7-hosting.md", "g": "publish", "k": ["buzzsprout", "anchor"], "related": ["L8"] },
"L8": { "f": "library/04-publish/L8-rss-distribution.md", "g": "publish", "k": ["rss", "apple-podcasts"], "related": ["L7"] },
"L9": { "f": "library/05-grow/L9-show-notes.md", "g": "grow", "k": ["seo", "notes"], "related": ["L10"] },
"L10": { "f": "library/05-grow/L10-promotion.md", "g": "grow", "k": ["social", "marketing"], "related": ["L9"] }
}
}
EOFШаг 4: Тестируем retrieval
Открой Claude Code в папке mini-atlas/. Задай вопрос:
"Что мне купить из оборудования для подкаста с ограниченным бюджетом?"
Claude должен:
- Прочитать INDEX.json (увидит группу
equipmentс L1, L2) - Прочитать frontmatter L1 (увидит summary про микрофоны для начинающих)
- Прочитать секцию "Примеры использования"
- Ответить с конкретными моделями
Если Claude прочитал все 10 файлов вместо двух — значит retrieval не работает. Это сигнал что нужно явно сказать в CLAUDE.md: "Перед поиском всегда читай INDEX.json первым".
Шаг 5: Добавляем cross-links и mind map
В каждом слое в секции "🔗 Связан со слоями" укажи 2–3 связи. Цель — чтобы граф связности был плотным, без одиноких узлов.
Для mind map можно использовать готовый template на vis.js или d3.js. Минимальный HTML:
<!DOCTYPE html>
<html><head><title>Mini Atlas</title>
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
</head><body>
<div id="net" style="height:600px;border:1px solid #ccc"></div>
<script>
const nodes = new vis.DataSet([
{id:1, label:'L1 Mic', group:'equipment'},
{id:2, label:'L2 Interface', group:'equipment'},
{id:3, label:'L3 Acoustics', group:'recording'}
// ... все 10
]);
const edges = new vis.DataSet([
{from:1, to:2}, {from:1, to:3}
// ... cross-links из INDEX.json
]);
new vis.Network(document.getElementById('net'), {nodes,edges}, {});
</script></body></html>Открой в браузере — увидишь свой первый атлас в форме графа.
Шаг 6: Замерь retrieval-стоимость
Задай Claude 5 разных вопросов на этой теме. Считай токены каждого ответа. Если средний retrieval — больше 500 токенов, значит атлас работает неэффективно. Сократи слои, уплотни frontmatter, проверь INDEX.
Целевая метрика для мини-атласа из 10 слоёв: 150–250 токенов медиана.
⚠️ Антипаттерны
❌ Один большой PDF вместо сети слоёв. "Я соберу всё знание в один файл на 200 страниц." Это умирает на retrieval — агент читает все 200 страниц на каждый вопрос. Сеть из 54 коротких слоёв побеждает один том в 200 страниц по цене обращения.
❌ Слой без образа. "Я инженер, мне образы не нужны." Образ нужен не тебе — он нужен будущему читателю, который пришёл из другой области. Без образа слой не находит контакт с новой темой. Правило автора: слой без секции "🎨 Образ" — не готов.
❌ Слои без cross-links. "Каждый слой самодостаточен, зачем связи?" Тогда у тебя не атлас, а архив. Связи — это то, что превращает 54 файла в сеть. Без них агент не может перейти от L8 к L51, чтобы достать пайплайн.
❌ INDEX.json как чек-лист. Если в INDEX только пути и названия — он бесполезен. INDEX должен содержать keywords, related_layers, summary_50w, group. Чем богаче INDEX — тем чаще агенту хватает только его, не залезая в сами слои.
❌ Атлас без метрик. Делать слои "на всякий случай", не зная какие используются. Через год обнаружишь, что 60% слоёв ни разу не запрашивались. Меряй retrieval_count с первой недели.
🔗 Связано с
- RAG — Retrieval Augmented Generation — embedding-поиск может быть надстройкой над INDEX.json для семантического retrieval
- Obsidian как второй мозг — Obsidian-vault может быть UI для атласа, если хочется готового tool вместо markdown+JSON
- Философия папок: PARA — PARA организует проекты, атлас организует знания. Дополняют друг друга
- MCPs: расширяем возможности Claude Code — атлас можно отдать через MCP-сервер, чтобы любой Claude-клиент мог retrieve. Атлас как сервис
✅ Checkpoint
Проверь себя:
Если 6+ пунктов уверенно — можно идти дальше. Если меньше — собери ещё один мини-атлас на другую тему. Атлас собирается руками, не теорией.
Источники
- Атлас автора курса — 54 слоя, 9 групп компетенций: структура, которую разбирает этот урок
- Его INDEX.json (версия 0.5.3) — рабочий пример machine-readable map
- Anthropic Contextual Retrieval (2024) — паттерн frontmatter + chunk для качественного RAG
- Greg Kamradt "RAG From Scratch" — основы retrieval-стоимости
- vis.js / d3.js force graph — визуализация mind map
→ Следующий урок: Arsenal of Prompts — шесть переиспользуемых режимов промптов
Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс