PROMTLY

Занятие 2 - MCP, SKILLS

Лекция 2. Продвинутые возможности Claude Code

Суть занятия Это занятие — переход от «детского» уровня (режимы автономности, бюджет размышлений) к

инженерному. Сегодня разбираем, из чего на самом деле состоит Claude Code как система: фундаментальную разницу между знаниями для модели (CLAUDE.md) и жёсткими настройками обвязки (settings.json), иерархию областей настроек, протокол MCP (Model Context Protocol), новую механику Tool Search (поиск инструментов), передачу контекста между сессиями и, наконец, главную тему — Skills (навыки) и их создание через цикл генерация → эвалы → улучшение.

Почему это объективно сложно Спикер честно отмечает: часть этих вещей он сам узнал только при подготовке курса. Это не «вам сложно» — это

сложно всем. Индустрия повзрослела: настройка агента-кодера превращается в отдельную профессию, аналог DevOps1. В компаниях появятся люди, которые настраивают обвязку вокруг моделей и строят собственные обвязки. Пример из лекции: CloudFlare получил доступ к топовой модели Claude Mythos2 и для реально качественной работы написал под неё собственный harness (обвязку). Вот к чему всё движется.


Часть 0. Разбор теории (чек-ин знаний)

Перед новым материалом — сжатый разбор десяти контрольных вопросов прошлой темы. Держите как шпаргалку.

#ВопросКороткий ответ
1Для чего подходит Pro-подписка Claude?Умственная работа и небольшой кодинг. Не для полноценной разработки.
2Как расходовать Pro при жёстких лимитах?Приоритизировать домашние работы — на всё лимитов не хватит.
3Какие лимиты учитывать?5-часовой лимит сессии и недельный лимит.
4Минимальный тариф для комфортного кодинга?Хотя бы Max 5 Plan — заметно больше рабочих лимитов.
5Чем отличается Max 20?Профессиональная интенсивная работа.
6Что такое обвязка (harness) по отношению к модели?Система, которая позволяет модели совершать действия.
7Чем отличаются обвязки Claude друг от друга?Тремя вещами: уровень риска, доступ к файлам, набор действий.
8Рекомендуемая основная модель на подписке?Opus — всегда.
9Что такое проекты в Claude Chat?Способ группировать чаты с общими файлами и инструкциями.
10Почему Claude Cowork безопасен с файлами?Работает внутри виртуальной машины (VM).
Определение: harness / обвязка

Harness (обвязка) — это программный «скелет» вокруг языковой модели (LLM), который превращает «болталку» в деятеля: даёт ей инструменты, доступ к файлам, право запускать команды и правила того, что можно, а что нельзя. Claude Chat, Claude Cowork и Claude Code — это три разные обвязки поверх одних и тех же моделей, и отличаются они ровно по трём осям: уровень риска · доступ к файлам · набор действий.

Метод Фейнмана Представьте мозг в банке — это LLM. Сам по себе он только думает.

Обвязка — это экзоскелет, в который этот мозг вставили: у одного экзоскелета (Cowork) руки в перчатках и он заперт в чистой комнате (виртуальная машина), у другого (Claude Code) — отвёртки, доступ к терминалу и право переписывать ваш жёсткий диск. Мозг тот же. Меняется тело и его права доступа.


Часть 1. Сдвиг парадигмы: от «сделать проект» к «дирижировать агентами»

Суть Раньше работа выглядела так:

«мне нужно сделать проект, и я использую для этого AI». Сейчас типичная работа — это управление несколькими автономными агентами разработки, часто вообще не сидя за компьютером. Дома параллельно крутятся несколько сессий Claude Code; с телефона их просматривают, поправляют, перезапускают.

Живой пример из лекции (форма для анонса стрима):

  1. Спикер выходит гулять в парк, включает на телефоне расшифровку голоса и надиктовывает: «вот такие темы хочу покрыть, по каждой проведи исследование, всё факт-чекни».
  2. Агент берёт темы, до-исследует (через сервис ресёрча), находит забытые релизы, собирает структурированный список.
  3. Спикер на ходу диктует правки по стилю.
  4. Чтобы заполнить веб-форму (нужен компьютер), он использует режим dispatch (диспетчеризация) — с телефона запускает удалённую задачу на своём компьютере: «открой браузер, вбей ссылку, заполни форму, отправь».
flowchart LR
    A["Человек гуляет в парке"] -->|"голосовая диктовка"| B["Агент №1: ресёрч + факт-чек"]
    A -->|"правки по стилю"| C["Агент №2: редактура"]
    A -->|"режим dispatch"| D["Удалённая задача на ПК: браузер заполняет форму"]
    B --> E["Результат собирается без участия рук"]
    C --> E
    D --> E
    E -->|"человек только проверяет узлы"| A
Метод Фейнмана Вы больше не

повар, который сам режет лук. Вы — диспетчер аэропорта в наушниках на крыше башни. Внизу по полосам рулят несколько самолётов-агентов; вы их не толкаете руками, вы голосом раздаёте им коридоры и время взлёта. Ваша новая работа — жонглировать вниманием, а не пальцами.

Это требует подписок Полноценная автономная работа (несколько параллельных сессий, dispatch, удалённые задачи) реалистична уже на уровне

$200-подписок. На Pro вы упрётесь в лимиты мгновенно.


Часть 2. Тарифы и лимиты: что реально изменилось

Суть На Pro

даже умственная работа упирается в лимиты («задал пару вопросов — и всё кончилось»). Лимиты Claude в последнее время ужесточились даже на $200-плане. У конкурента (Codex/кодекса) при хорошей подписке лимиты «не ощущаются» — поэтому часть профессионалов уходит туда тестировать.

Случай Екатерины (наблюдение из чата): до 8 мая можно было выработать весь 5-часовой лимит, а недельный сдвигался на ~8–9%. С 8 мая 5-часовой за сессию «съедается» на 30%, а недельный — всё на те же 7–8%.

Что произошло на самом деле Anthropic

увеличил ёмкость 5-часовой сессии. Недельный лимит расходуется так же, но за одну сессию теперь можно потратить больше — поэтому ощущение «5-часовой почти не тронут, а недельный тает прежним темпом». В сообществе это читают как стимул быстрее упереться в недельный потолок и перейти на тариф выше.

Экспертная правка: контекстное окно ≠ тариф напрямую В занятии прозвучит тезис «на Pro окно 200k токенов, на Max — миллион». Это

упрощение, которое легко вводит в заблуждение. Окно в 1 млн токенов — это свойство конкретных моделей (например, бета-режим расширенного контекста), а не «галочка», которая автоматически включается на любом Max-аккаунте для любой модели. На практике доступность 1M зависит от связки «модель + тариф + включённый бета-режим», а у Opus/Haiku поведение может отличаться. Не планируйте архитектуру, исходя из «у меня Max, значит везде миллион» — проверяйте по факту для выбранной модели.


Часть 3. Claude Design — отдельный сервис

Суть

Claude Design на данный момент — отдельный сервис с отдельной тарификацией (видно в настройках Usage). На Max-плане тарифицируется нормально и лимитов почти не чувствуется. Это не инструмент полного цикла: он называется Design, потому что в нём вы делаете макет/дизайн, а доработку переносите в Claude Code. Так что правильный маршрут: макет в Claude Design → перенос в Claude Code → доработка.

Метод Фейнмана Claude Design — это

чертёжная доска в архитектурном бюро. На ней рисуют фасад. Но кирпичи на стройплощадке кладёт другая бригада — Claude Code. Пытаться достроить дом прямо на чертёжной доске можно, но это не то, для чего доску повесили на стену.


Часть 4. Programmatic Use vs Interactive Use — раскол тарификации

Это важнейшее нововведение, особенно для тех, кто будет встраивать Claude Code в свои продукты.

Определение: два режима использования

Interactive (интерактивный) — вы сами что-то делаете: сидите в Claude Code, болтаете в Claude Chat, работаете в Cowork (хоть с компьютера, хоть с телефона). Главное — действие инициирует человек. Programmatic (программный) — действия инициирует не человек: запущены автоматизации, или ваша Claude-подписка используется в сторонних инструментах (например, в OpenClaw).

flowchart TD
    SUB["Ваша подписка"] --> SPLIT{"Тип использования"}
    SPLIT -->|"Interactive — вы за рулём"| INT["Лимиты как раньше<br/>НИЧЕГО не меняется"]
    SPLIT -->|"Programmatic — автоматизации, сторонние инструменты"| PRG["Отдельные доп. КРЕДИТЫ<br/>≈ сумме вашей подписки/мес"]
    PRG --> EX["Пример: \$20 план → +\$20 кредитов сверху<br/>\$200 план → +\$200 кредитов"]
Что изменилось Anthropic

разделил интерактивное и программное использование. Хорошая новость: интерактив не трогали вообще — все ваши прежние сценарии работают без изменений. Менее приятная: программное использование (например, Claude Code внутри OpenClaw) теперь, во-первых, официально разрешено, а во-вторых, тарифицируется отдельными кредитами — их выдают ежемесячно примерно на сумму подписки.

Где это «выстрелит» «Программным» оказывается

много чего, в том числе встраивание Claude Code в собственные автоматизации и продукты — тема будущего занятия. Если вы раньше так не работали, вы пока не почувствуете разницу. Но как только начнёте строить продукты на Claude Code — почувствуете сразу. На обычную интерактивную работу это не влияет никак.

Экспертная правка: не заучивайте цифры как вечные Биллинговые правила (что именно считается

programmatic, размер ежемесячных кредитов, перечень разрешённых сторонних инструментов) меняются часто и зависят от региона и плана. Спикер сам предполагает, что Anthropic может пересмотреть решение. Вывод: запоминайте принцип (интерактив ≠ программа, у программы своя валюта-кредиты), а конкретные числа и условия всегда сверяйте с актуальной страницей биллинга Anthropic перед запуском в прод.

Метод Фейнмана У вас два электросчётчика. Один (интерактивный) — домашний, по нему вы платите как привыкли, и тариф не трогали. Второй (программный) включается, когда ваши

роботы начинают сами жрать ток ночью без вас: на него идёт отдельная предоплаченная карта, и когда она кончилась — роботы встают.


Часть 5. Мелочи на полях

Computer Use в Claude Code

Computer Use (управление компьютером) доступно и в Claude Code: раздел MCP → Computer Use. После включения нужно на уровне ОС дать терминалу/VS Code права управлять компьютером, и тогда Claude буквально двигает курсором и кликает за вас. Состояние: работает криво и дорого по токенам (на Pro «съест» лимит мгновенно). Это «звоночек из будущего», но будущее ещё не наступило. В продакшене пока не используют.

Auto Mode пока не на Pro Автоматический режим (

Auto Mode) доступен на Max/Team, но не на Pro. Скорее всего добавят позже. Также из приложения убрали /buddy (мини-питомца) — полезной нагрузки у него не было, но штука забавная; вероятно, вернут.


Часть 6. ⭐ CLAUDE.md vs settings.json — ключевая концепция

Если из всего занятия вы запомните одну вещь — пусть это будет вот эта разница.

Определение: CLAUDE.md

CLAUDE.md (MD = Markdown) — это файл-инструкция для LLM (для «мозга» Claude). Поскольку LLM — система недетерминированная, инструкцию она может выполнить, а может проигнорировать или забыть. Это не жёсткое ограничение, а «сильная рекомендация о желаемом поведении». Сюда пишут: описание проекта, стандарты разработки, команды, структуру папок, нейминг — всё, что формирует поведение, но не принуждает к нему.

Определение: settings.json

settings.json (формат JSON) — это настройки самой обвязки (harness) Claude Code как программы. С LLM напрямую не связаны. Здесь задаются абсолютно принудительные, на 100% исполняемые правила: что можно/нельзя, когда агент обязан спросить (это не выбор модели — у неё физически останется только действие Ask), хуки, ENV-переменные, выбор моделей, режим sandbox (песочница), подключение MCP-серверов.

flowchart TB
    subgraph CM["CLAUDE.md — слой ЗНАНИЙ"]
        direction TB
        CM1["Формат: Markdown"]
        CM2["Адресат: LLM (мозг)"]
        CM3["Сила: рекомендация<br/>может не сработать"]
        CM4["Содержит: контекст, стандарты,<br/>команды, нейминг, архитектуру"]
    end
    subgraph SJ["settings.json — слой ОБВЯЗКИ"]
        direction TB
        SJ1["Формат: JSON"]
        SJ2["Адресат: программа Claude Code"]
        SJ3["Сила: жёсткий закон<br/>исполняется на 100%"]
        SJ4["Содержит: deny/allow, hooks,<br/>ENV, sandbox, MCP, модели"]
    end
    CM -. "две НЕ пересекающиеся вещи" .- SJ

Примеры жёстких правил в settings.json:

{
  "permissions": {
    "deny": [
      "Read(./.env)",          // физически не сможет прочитать .env
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(**/credentials)"   // не доберётся до API-ключей
    ],
    "ask": [
      "Bash(git push:*)",      // перед git push ОБЯЗАН спросить
      "Bash(git commit:*)"     // не закоммитит молча
    ]
  }
}
Почему это не «инструкция» Когда вы пишете в

CLAUDE.md «лучше не трогай этот файл» — это просьба, модель может её нарушить. Когда вы пишете deny в settings.json — у модели в принципе нет такого действия в наборе. Это разница между «я попросил коллегу не открывать сейф» и «я физически снял сейф с петель».

Метод Фейнмана

CLAUDE.md — это записка от тимлида на холодильнике: «ребят, мойте кружки». Кто-то помоет, кто-то забудет — записка не имеет силы закона. settings.json — это электронный замок на двери склада: тут не «попросили не входить» — тут карта-пропуск либо открывает, либо нет. Никакого «я передумал» у замка нет. Путать эти два слоя — всё равно что пытаться запереть склад липкой запиской, а кружки мыть через биометрический сканер.


Часть 7. Области (scopes) настроек settings.json и их приоритет

Суть Настройки

смешиваются (merge), но не заменяются. Если правила конфликтуют — побеждает правило из более высокой по приоритету области. Логика проста: глобальные настройки задают общий тон, а внутри проекта можно их локально переопределить.

Три области, о которых говорит спикер (от высшего приоритета к низшему):

flowchart TB
    L["settings.local.json<br/>ЛОКАЛЬНЫЕ, только ваши"] -->|"бьёт ↓"| P["./.claude/settings.json<br/>ПРОЕКТНЫЕ / командные"]
    P -->|"бьёт ↓"| G["~/.claude/settings.json<br/>ГЛОБАЛЬНЫЕ (на все проекты)"]
    style L fill:#1f6feb,color:#fff
    style P fill:#388bfd,color:#fff
    style G fill:#58a6ff,color:#000
  • settings.local.jsongit-игнорируется, никогда не попадает в историю версий и на GitHub. Сюда — личные настройки, которые не должны разъехаться по компьютерам команды.
  • ./.claude/settings.json (без .local) — попадает в Git репозитория и распространяется на всю команду. Здесь — общекомандные настройки проекта.
  • ~/.claude/settings.json (системная папка) — глобальные, применяются ко всем проектам автоматически.
Экспертная правка: есть уровень ВЫШЕ локального Тезис «локальная настройка внутри проекта

всегда бьёт все остальные» верен для индивидуального пользователя, но неполон для корпоративной среды. Реальная цепочка приоритетов в Claude Code (от высшего к низшему):

  1. Enterprise managed policy (управляемые корпоративные политики) — системный файл, который ставит организация. Перебивает даже settings.local.json и не может быть обойдён разработчиком — именно так IT-отдел принудительно запрещает, например, чтение секретов.
  2. Аргументы командной строки (флаги при запуске).
  3. settings.local.json (локальные проектные).
  4. ./.claude/settings.json (командные проектные).
  5. ~/.claude/settings.json (глобальные пользовательские).

Для дома вы этого не заметите. Но как только будете настраивать Claude Code в компании — помните: самый верх — это managed-политики, а не ваш local.


Часть 8. Иерархия загрузки CLAUDE.md

Суть Логика загрузки

CLAUDE.md отличается от settings.json. Запомните правило: всё, что выше вашей рабочей папки, грузится автоматически; всё, что в подпапках, — по необходимости.

flowchart TD
    START(["Запуск Claude Code"]) --> GLOB["Глобальный CLAUDE.md<br/>~/.claude/CLAUDE.md<br/>грузится СРАЗУ, всегда"]
    GLOB --> OPEN{"Открыли проект?"}
    OPEN -->|"да"| PROJ["CLAUDE.md проекта<br/>добавляется к глобальному<br/>(оба активны, СМЕШИВАЮТСЯ)"]
    OPEN -->|"нет"| ONLY["Активен только глобальный"]
    PROJ --> SUB{"Зашли в подпапку<br/>с её CLAUDE.md?"}
    SUB -->|"да, начал там работать"| SUBLOAD["CLAUDE.md подпапки<br/>догружается ПО НЕОБХОДИМОСТИ"]
    SUB -->|"нет"| WAIT["Подпапочный пока не грузится"]

Дополнительно существуют: CLAUDE.local.md (личный, не для команды) и каталоги rules/ с файлами вроде API.md для описания конфигураций — но это уже для очень крупной разработки.

Самое важное правило: НИКАКИХ противоречий

CLAUDE.md-файлы смешиваются, а не заменяют друг друга. Поэтому:

  • В глобальном держите только глобальное («общайся со мной по-русски»).
  • В проектном — только проектное, и про русский язык там молчите.
  • Категорически нельзя: глобально «по-русски», а в проекте «по-английски». Такое противоречие ломает LLM — она не понимает, что делать.
Метод Фейнмана Несколько

CLAUDE.md — это слои инструкций, которые наливаются в один стакан (контекст модели), а не лежат отдельными бутылками. Если в один слой налить «говори по-русски», а в другой «говори по-английски» — вы получите мутный коктейль, и нейросеть, как растерянный бариста, начнёт творить ерунду. Каждый слой должен добавлять новый вкус, а не спорить с предыдущим.


Часть 9. Auto-memory и Auto-dream — новая (экспериментальная) концепция

Определение

Auto-memory (автопамять) — примерно каждые ~5 сессий в одном проекте Claude сам записывает себе в память, что происходило: архитектурные решения, ваши предпочтения, принятые подходы. Вы этот процесс не контролируете. Auto-dream (автосон) — фаза «быстрого сна», как у человека. Примерно раз в сутки (или после очередных ~5 сессий) в фоне запускается субагент, который анализирует, сжимает и редактирует накопленную память, делая файлы чище и читаемее — чтобы память не переполнялась.

Метод Фейнмана Днём агент, как стажёр, лихорадочно строчит стикеры-воспоминания и обклеивает ими весь монитор. Ночью включается

уборщик-сновидец: он проходит по стене из стикеров, выбрасывает дубли, склеивает похожие в один аккуратный лист и наводит порядок — ровно как мозг во сне раскладывает дневные впечатления по полочкам. Утром память агента — не свалка, а конспект.

Экспертная правка: трактуйте осторожно, это сырьё Спикер сам подчёркивает: концепция

экспериментальная, заметить её работу можно только на долгом проекте. Поэтому несколько уточнений:

  • Названия и точная механика (auto-memory, auto-dream, «5 сессий», «раз в сутки») — описательные ориентиры спикера; они меняются от версии к версии и могут не совпадать с официальной терминологией. Перед тем как на это закладываться, сверьтесь с актуальной документацией memory-функций.
  • Путь хранения. Прозвучит, что память лежит в ~/.claude/.../projects. В этой папке Claude Code действительно хранит историю сессий; конкретное расположение memory-файлов зависит от версии. Не хардкодьте путь.
  • Управляемость. «Вы не контролируете» — верно в смысле автоматической записи, но вы всё ещё можете править итоговые memory-файлы вручную и быстро добавлять факты в память через префикс # в строке ввода.

🔻 Перерыв в лекции Здесь спикер делает паузу. После перерыва — практика:

как именно писать CLAUDE.md, чтобы Claude его реально читал, и разбор экосистемы (MCP, Skills).


Часть 10. Как писать CLAUDE.md правильно

Суть

CLAUDE.md проекта — главный ваш файл знаний. Он гарантированно попадает в контекстное окно агента: вы физически не можете сделать так, чтобы он туда не попал, если он существует. Поэтому к нему относятся очень аккуратно.

Что в нём должно быть:

  • Короткое чёткое описание проекта — и не столько что это, сколько почему именно так и для чего.
  • Технологический стек — желательно, но не обязательно.
  • Правила кодирования, конкретные команды проекта, стиль коммитов.
  • Архитектура и структура папок — с точки зрения «что интересного агент тут найдёт».

Чего в нём быть НЕ должно:

  • Никаких API-ключей и секретов.
  • Не дублировать то, что лучше вынести в Skills: если процесс повторяется (например, ваш способ тестировать баги), не описывайте его в CLAUDE.mdсоздайте Skill и в CLAUDE.md напишите лишь: «для тестирования багов используй bug-test-skill».
Подводные камни

  • CLAUDE.md нужен только для значимого, долгоживущего проекта с многими итерациями. Для разовой мелочи он не нужен вообще.
  • Держите ≤ 100 строк (идеал — даже меньше, ~48; 100 — потолок «идеального» размера).
  • Между уровнями (глобальный/проектный/локальный) — никаких дубликатов и противоречий.
  • Плохо написанный CLAUDE.md — хуже, чем его отсутствие (это подтверждают исследования). Раздутый или противоречивый файл ухудшает агента.

Лайфхак №1 — ссылки вместо «простыней». В 100 строк всё не уместить, и не нужно. Вместо лишнего текста давайте ссылки на другие файлы:

- Меняешь backend → читай docs/backend.md
- Работаешь с дизайном → читай docs/design.md
- Трогаешь БД → читай docs/database-schema.md

Агент сходит и прочитает по необходимости. Главное — не перегружать его всем сразу.

Экспертная правка (полезное усиление): синтаксис импорта

@ Спикер описывает ссылки как инструкцию («читай файл X») — и это работает. Но в современном Claude Code есть прямой синтаксис импорта: строка @docs/backend.md в CLAUDE.md подтянет содержимое файла в память автоматически (поддерживается рекурсивно, в т.ч. @~/...). Это даёт два режима: «прочитай по требованию» (через инструкцию-ссылку, экономит контекст) и «всегда держи под рукой» (через @-импорт). Выбирайте осознанно: всё, что нужно всегда, импортируйте через @; всё, что иногда, оставляйте обычной ссылкой.

Лайфхак №2 — блоки important if. Некоторые куски можно оборачивать в псевдо-код-акцент:

**IMPORTANT IF** ты тестируешь на Mac:
  - <здесь критичные инструкции именно для Mac>

Claude хорошо считывает такой акцент — вы как бы подсвечиваете ему условие.

Лайфхак №3 — как создавать. Можно командой /init, но лучше: попросить Claude создать черновик → прочитать, что он сгенерировалвручную подредактировать. Это один из важнейших файлов, и он должен быть выверен.

Метод Фейнмана

CLAUDE.md — это бейдж новобранца на входе в здание: его сканируют каждый раз, всегда, без исключений. Поэтому на бейдже не печатают всю биографию — там только имя, отдел и QR-коды-ссылки на полные досье в архиве. Если налепить на бейдж простыню текста, охрана-агент захлебнётся на проходной. Минимум на бейдже, всё остальное — по ссылке в архив.


Часть 11. Экосистема Claude Code: карта компонентов

Суть Глобально Claude Code состоит из двух больших миров —

Знания (что модель знает про проект) и Исполнители (кто делает работу) — плюс две «пограничные» вещи (MCP и Hooks), а всё вместе упаковывается в плагины.

flowchart TB
    subgraph KNOW["🧠 ЗНАНИЯ"]
        K1["CLAUDE.md<br/>всегда в контексте"]
        K2["Skills<br/>знания по запросу"]
    end
    subgraph EXEC["🦾 ИСПОЛНИТЕЛИ"]
        E1["Субагенты<br/>изолированные задачи"]
        E2["Agent Teams<br/>команда агентов, делегируют друг другу"]
    end
    subgraph BORDER["⚡ Пограничные"]
        B1["MCP<br/>ближе к ЗНАНИЯМ:<br/>доступ к внешним сервисам"]
        B2["Hooks<br/>ближе к ИСПОЛНИТЕЛЯМ:<br/>авто-действия на события"]
    end
    KNOW --> PLUG["📦 ПЛАГИНЫ — контейнер для дистрибуции"]
    EXEC --> PLUG
    BORDER --> PLUG
    PLUG --> NOTE["Skills + субагенты + MCP + Hooks<br/>пакуются в плагин.<br/>CLAUDE.md обычно НЕ пакуется"]
Определения компонентов

Субагент — агент, которого вызывает ваш главный агент (Claude Code), даёт ему изолированную задачу, тот возвращается с результатом. Польза — экономия контекстного окна: вместо того чтобы главный агент сам читал гору документации, он шлёт субагента «прочитай и принеси выжимку». Agent Teams (команды агентов) — целая команда независимых агентов, которые общаются между собой и делегируют друг другу задачи. Hooks (хуки) — авто-действия, навешанные на события. Пример: если агент захочет выполнить форматирование диска, срабатывает хук «Стоп, не делай этого», и действие физически блокируется. Plugins (плагины) — просто контейнер для удобной установки и авто-обновления комплекта из Skills/субагентов/MCP/Hooks. Ищутся через /pluginMarketplace.

Что разбираем сегодня, а что — потом Сегодня:

Skills, MCP. На следующем занятии: субагенты, Agent Teams, Hooks, плагины подробно (тема — «оркестрация агентов»).


Часть 12. MCP — Model Context Protocol

Определение: MCP

MCP (Model Context Protocol) — протокол, позволяющий LLM пользоваться внешними сервисами. Это тип подключения, через которое Claude Code обычно получает знания из внешнего мира.

Краткая история (с исправлением «дат-опечаток»)3

timeline
    title Хронология MCP
    Ноябрь 2024 : Anthropic запускает MCP : огромный прорыв, все говорят про MCP
    Март 2025 : OpenAI добавляет поддержку MCP : протокол становится индустриальным
    Октябрь 2025 : Дебаты «Skills важнее MCP» : умные модели вызывают сервисы напрямую через CLI
    Декабрь 2025 : MCP передан в Agentic AI Foundation под эгидой Linux Foundation : вендоро-нейтральное управление
    Март 2026 : Дебаты «MCP мёртв, главное CLI» : и так, и не совсем так
Экспертная правка: точная формулировка про «Linux Foundation» Тезис «в декабре Anthropic передал MCP в Linux Foundation» —

верен по сути, но стоит уточнить. 9 декабря 2025 года Anthropic передал Model Context Protocol во вновь созданный Agentic AI Foundation (AAIF) — направленный фонд под управлением Linux Foundation, соучредителями которого выступили Anthropic, Block и OpenAI при поддержке Google и Microsoft. То есть формально MCP попал не «прямо в Linux Foundation», а в фонд AAIF под её эгидой, рядом с проектами Goose (Block) и AGENTS.md (OpenAI). При этом модель управления не изменилась: решения по-прежнему принимают те же мейнтейнеры, а Linux Foundation даёт нейтральную инфраструктуру и не диктует техническое направление. Цифры масштаба для контекста: MCP вырос с ~2 млн загрузок на старте до 97 млн ежемесячных за 16 месяцев. Вывод: MCP не «народное достояние без хозяина», а зрелый стандарт с формальным вендоро-нейтральным управлением — это сильный аргумент «за», а не «против» MCP.

Skills vs MCP — что произошло

Суть Противопоставление «Skills заменили MCP» —

не вполне корректно. Skills просто объясняют, как что-то делать. А модели стали настолько умны, что им можно прямо объяснить: «хочешь внешний сервис — выполни такие-то команды в терминале». С хорошим Skill им отдельный MCP как сущность не нужен — они делают прямые вызовы CLI и всё прекрасно работает.

Но MCP не умер — у него осталась своя ниша как инфраструктурного слоя:

  • Безопасность и изоляция. Пример: Cowork работает в изолированном пространстве и не может пользоваться CLI/командной строкой (иначе перестал бы быть безопасным). Зато он может использовать MCP — поэтому у него есть коннекторы. Если строите сервис, где человек не должен натворить лишнего, — дайте ему только MCP и запретите всё остальное.
  • Кроссплатформенность. CLI работает не везде; MCP работает везде, даже на мобильном.
  • OAuth. MCP поддерживает OAuth-авторизацию через браузер (некоторые CLI тоже, зависит от реализации).
Определение: OAuth

OAuth — авторизация через браузер: вы просто логинитесь в браузере, не вводя ключи вручную. Удобно и безопасно.

flowchart LR
    Q{"Что выбрать для доступа к сервису?"}
    Q -->|"есть CLI у сервиса<br/>(Cloudflare, Vercel, Notion...)"| CLI["CLI + Skill<br/>✅ быстро, надёжно<br/>✅ экономит токены<br/>✅ не нужна поддержка MCP"]
    Q -->|"нужна изоляция / OAuth /<br/>работа везде, вкл. мобильный"| MCP["MCP<br/>✅ безопасность<br/>✅ кроссплатформенность<br/>✅ OAuth"]

Tool Search — как решили проблему «забитого контекста»

Старая боль (deprecated-поведение)

Раньше во всех кодинг-агентах все MCP грузились сразу. При окне 200k токенов системный промпт занимал ~5k, а ваши MCP могли занять ~72k токенов — особенно если их много или они «плохие» (печально известен старый MCP GitHub). Контекст забивался ещё до начала работы. Именно из-за этого и начались разговоры «давайте лучше CLI + Skills».

Решение: Tool Search (поиск инструментов), янв. 2026 Теперь подключается крошечный

«инструмент для поиска инструментов» (tool search tool, ~500 токенов). MCP-серверов может быть сколько угодно — они не грузятся превентивно. Когда модели нужен MCP, она сама ищет по смыслу подходящий инструмент, ей приходит полное описание именно этого инструмента, и она его использует.

flowchart TB
    subgraph OLD["❌ РАНЬШЕ: всё грузится сразу"]
        O1["Системный промпт ~5k"]
        O2["ВСЕ MCP ~72k 😱"]
        O3["Свободно: мало"]
    end
    subgraph NEW["✅ СЕЙЧАС: Tool Search"]
        N1["Системный промпт ~5k"]
        N2["Tool Search Tool ~0.5k"]
        N3["Инструкции сервера ~2k"]
        N4["Свободно: почти всё окно 🎉"]
        N5["MCP подгружаются ПО ОДНОМУ, по запросу"]
    end
    OLD --> NEW
Итоговое правило выбора

CLI + Skills — когда у сервиса есть CLI (а он есть у Cloudflare, Vercel, Notion и многих): быстро, надёжно, экономно. MCP — когда нужны изоляция/безопасность, кроссплатформенность (включая мобильный) и OAuth. С появлением Tool Search «проблема многих MCP» исчезла: их количество больше не забивает контекст.

Метод Фейнмана Старый MCP — это турист, который тащит

весь чемодан инструментов в ручную кладь: чемодан занимает всё кресло, сесть некуда. Tool Search — это камера хранения с поисковым роботом: в карман турист кладёт только пульт-искалку размером со спичечный коробок. Понадобилась отвёртка — нажал кнопку, робот метнулся в хранилище и принёс ровно одну отвёртку с инструкцией. Кресло свободно, лететь комфортно.


Часть 13. Передача контекста между сессиями, задачами и агентами

Сценарий: у вас закончились лимиты в одной сессии, и нужно переехать на другой аккаунт, в Codex, в Gemini, Cursor, Antigravity — куда угодно, сохранив контекст текущей работы.

Определение: Memo

Memo — инструмент (от создателей Context7) для переноса контекста между любыми сессиями/инструментами. Ставится как MCP (одной командой; после установки нужен reload plugins / рестарт).

  • memo set — сохранить контекст проекта в облачную БД и получить ссылку-ключ.
  • memo get <ключ> — восстановить контекст в любой другой программе.
  • Бесплатен, данные на бесплатном сервере хранятся ~24 часа и удаляются автоматически. Есть self-hosting — если не хотите, чтобы данные «улетали», поднимите у себя локально.
Memo ≠

/resume Это разные вещи:

  • /resume — продолжить прошлый разговор в том же репозитории (выбрать из списка сессий). Полезно: выключили компьютер → открыли → /resume → выбрали сессию.
  • Memoсинхронизация/перенос контекста наружу: в новый репозиторий, в другую программу, на другой движок. Не привязан к Claude Code. Если работаете с приватными проектами и переживаете за конфиденциальность — используйте self-hosting Memo.
Ещё два инструмента контекста

Proof Editor AI — способ коллаборации нескольких агентов над одним документом: вы даёте Claude Code и, скажем, Codex одну онлайн-инструкцию, оба подключаются к одному тексту, читают, что пишет другой, комментируют, отвечают на комментарии. Спикер видит за этим «большое будущее коллаборации агентов» (на демо работало нестабильно из-за наплыва пользователей). QMD — простая система локального векторного поиска на маленькой локальной модели Qwen3 1.7B. Всё работает локально: превращаете большие объёмы (например, документацию) в векторы, и агенты быстро ищут по ним.

Метод Фейнмана

Memo — это флешка-телепорт: воткнул в сессию-А (set), получил адрес-портал; воткнул в сессию-Б на другой планете-движке (get) — и весь контекст материализовался там. /resume — это не телепорт, а просто «продолжить с той же страницы» в той же книге. Proof Editor — это Google-документ для роботов: несколько ИИ-курсоров бегают по одному листу и переписываются на полях. QMD — личный карманный поисковик-ищейка, который нюхает ваши документы у вас же в подвале, не выходя в интернет.


Часть 14. ⭐ Skills (навыки) — главная тема

Определение: Skill

Skill (навык) — по сути простая вещь: промпт + дополнительная документация + связанные скрипты. Навыки учат агента делать конкретную вещь и подгружаются по запросу (когда задача релевантна).

Почему Skills так популярны Они дают агенту

конкретную экспертизу. Любимая аналогия спикера — момент из «Матрицы»4: Нео подключают к стойке, и он мгновенно «знает кунг-фу». Skill — это та самая загрузка навыка: ваш LLM мгновенно осваивает конкретное умение (всё про Cloudflare, всё про Composio и т.п.).

Прогрессивная подгрузка. Сначала грузится только маленькая «шапка» Skill; остальное (а там обычно много ссылок на конкретные файлы — как и в CLAUDE.md) подтягивается, только если LLM решит, что нужно.

flowchart LR
    U["Промпт пользователя"] --> KW{"Есть ключевое слово<br/>навыка? (напр. FastAPI, Pydantic)"}
    KW -->|"нет"| SKIP["Skill не трогаем"]
    KW -->|"да"| HEAD["Грузится короткая шапка Skill"]
    HEAD --> NEED{"LLM решает: нужно глубже?"}
    NEED -->|"да"| BODY["Догружаются файлы по ссылкам:<br/>правила, примеры, доки"]
    NEED -->|"нет"| STOP["Работает по шапке"]
    BODY --> APPLY["Применяет правила как АБСОЛЮТНУЮ ИСТИНУ"]

Безопасность Skills

Четверть навыков в интернете — небезопасны Используйте

официальные Skills, а неофициальные обязательно проверяйте:

  • Playbooks → инструмент Tool/Skill Security Scanner.
  • skills.sh → колонка security-audit. Жёлтый warn — повод почитать, в чём дело (часто это нормально: например, у любого навыка, который что-то ищет в интернете, по определению есть риск prompt-инъекции5 — это ожидаемо). К безопасности навыков относитесь серьёзно: чужой Skill — это исполняемый код и инструкции в вашем агенте.

Навыки, которые упоминает спикер: Brainstorming (рекомендует всем), Cloudflare, Playground (визуализация работы кода — пригодится на след. занятии), FFmpeg (управление видео), Last 30 days (ищет свежие упоминания по Reddit/X), OpenClaw VPS Setup (собственный, безопасный), QMD, Remotion Best Practices (motion-графика прямо в Claude Code), Vercel, Ralph (запуск ревью через Codex).

Установка Skills Либо

вместе с плагином (навыки в плагине ставятся автоматически), либо вручную: кинуть в системную папку ~/.claude/skills/. Перезагрузка не нужна — подхватится автоматически.

Новая механика подгрузки навыков

Изменение поведения (как и у MCP)

Раньше все навыки грузились сразу (при большом числе — в обрезанном виде). Сейчас система смотрит, какие навыки вы реально используете, и автоматически держит только их описания. Пример из лекции: из 127 навыков 66 описаний сброшены — они присутствуют, но авто-подгрузятся только если назвать их явно; часто используемые ~61 грузятся сами по смыслу. Есть настройка в settings.json, задающая, какой процент контекстного окна могут занимать описания навыков. Можно поднять, чтобы грузились все — но в примере спикера это +10k токенов к каждому сообщению, что многовато. Спикер пока не решил, нравится ли ему новое поведение, но проблем не чувствует.

Экспертная правка: фиксируйте принцип, а не ключ Это

прогрессивное раскрытие (progressive disclosure) — та же идея, что и Tool Search, только для навыков. Конкретный ключ настройки и его дефолтное значение зависят от версии Claude Code, поэтому не заучивайте имя параметра — найдите его в актуальной документации настроек. Принцип же неизменен: при сотне навыков система бережёт контекст, авто-загружая лишь частые, а редкие — по явному вызову.

Метод Фейнмана 127 навыков — это

полка с энциклопедиями. Старая система пыталась впихнуть вам в голову все корешки сразу (а когда не влезало — рвала их пополам). Новая система — умный библиотекарь: на виду держит десяток томов, которые вы листаете каждый день, а остальные стоят на полке. Назовёте том по имени — библиотекарь мгновенно его принесёт. Можно потребовать «вынеси всё на стол», но тогда стол (контекст) завалит — и работать негде.


Часть 15. Как создавать Skills: цикл «генерация → эвалы → улучшение»

Навык вы пишете НЕ сами Это важнейший момент: вы

не пишете Skill руками. Вы создаёте его через Skill Creator Skill (официальный навык Anthropic, так и называется — Skill Creator; скачивается из официального репозитория). Убедитесь, что он включён.

flowchart TB
    H1["👤 Человек: задумать, КАК навык должен работать"] --> H2["👤 Человек: подобрать ЭТАЛОНЫ (gold standard)"]
    H2 --> S1["1) Skill Creator ГЕНЕРИРУЕТ навык"]
    S1 --> S2["2) Прогон ЭВАЛОВ (тестов) на эталонах"]
    S2 --> S3["3) УЛУЧШЕНИЕ навыка по результатам"]
    S3 --> CHECK{"Достигнут уровень эталона?"}
    CHECK -->|"нет"| S1
    CHECK -->|"да / максимально близко"| DONE["✅ Готовый навык"]
    S2 -.->|"иногда"| ASK["спрашивает экспертное мнение человека"]
    ASK -.-> S3
Определение: эвалы (evals)

Эвалы (evals, от evaluation)тесты для вашего навыка. Запомните это слово: в AI это фундаментальный термин. Есть присказка, что «эвалы важнее, чем датасет для модели» — потому что правильно продуманные тесты дают огромную силу. Современное создание навыка — это не «написал инструкцию и всё», а цикл: генерация → тесты → улучшение, по кругу, пока результат не достигнет уровня эталона.

Две человеческие задачи (и они — главные)

  1. Придумать, как навык работает (если не представляете — обсудите с Claude: «хочу навык для такой-то задачи, давай поищем в интернете, как это решают»).
  2. Подобрать эталонные материалы. Хотите генерацию классных текстов — дайте эталоны текстов. Хотите правильные манипуляции с файлами — дайте эталонные файлы. Проверка документов — дайте документы и примеры того, как их проверил человек. Именно на эталонах система прогоняет навык и доводит его до качества.

Демо в лекции: навык-генератор цветных, визуально разных QR-кодов под разные ссылки (LinkedIn / Telegram / веб-сайт — каждый со своим оформлением). Запрос включал: «сделай эталоны, гоняй эвалы, улучшай сам, пока не получишь реально хороший результат». На итерациях видно, как HTML-результат от первой версии к следующей становится заметно красивееитерации и есть ключ ко всему.

Метод Фейнмана Создавать навык вручную — как

лепить ключ напильником на глаз. Современный способ — это станок с обратной связью: вы даёте станку образец-эталон ключа (gold standard) и щель замка (эвалы). Станок вытачивает заготовку, сам пробует её в замке, видит, что не проворачивается, подтачивает — и так по кругу, пока ключ не щёлкнет. Ваша роль — не точить, а принести правильный образец и правильный замок.


Часть 16. Пять паттернов Skills

Суть Это

частые паттерны того, как обычно работают навыки (не «обязательно так», просто вы их реально часто встретите). Выбор паттерна зависит исключительно от вашей задачи — главное, представлять, как навык должен работать.

Экспертная правка: про авторство списка В лекции прозвучит, что «эти пять паттернов выделяет

Google». Атрибуция сомнительна. Перечисленные паттерны (обёртка над инструментом, генератор, ревьюер, интервьюер, пайплайн) — это общеотраслевые приёмы проектирования навыков, наиболее задокументированные в собственных материалах Anthropic по Agent Skills, а не в каком-то фирменном «гайде от Google». Скорее всего, это оговорка/неточность расшифровки. На суть паттернов это не влияет — она верна; но если будете ссылаться на «первоисточник», не приписывайте список Google без проверки.

ПаттернИдеяКогда применять
1. Обёртка над инструментом (Tool Expert / Wrapper)Ключевое слово (напр. FastAPI, Pydantic) активирует навык → динамическая загрузка → правила применяются как абсолютная истина, без сомненийУ вас есть инструмент/документация — оберните её
2. Генератор (Generator)Навык-«менеджер» генерит контент по шаблону и стилю: читает style-guide и примеры, спрашивает тему/аудиторию → выдаёт документНужно штамповать контент по заданному образцу
3. Ревьюер (Reviewer)Вы задаёте чек-лист, по которому навык обязан пройти и проверить ваш артефакт (код, отчёт — что угодно), и структурированно показывает результатНужна систематическая проверка «всё ли на месте»
4. Интервьюер / Инверсия (Inversion / Interview)Агент сначала опрашивает пользователя (что генерим, для кого, какая аудитория) и только потом работает по ответамГенерация, где сначала нужно собрать вводные (презентации, резюме)
5. Пайплайн (Pipeline)Целый многошаговый процесс с подтверждениями на каждом этапеСложные навыки с чёткой последовательностью

Пример пайплайна (генерация API-референса):

flowchart TB
    P1["Шаг 1: анализ кода — извлечь публичные классы/функции/константы"] --> C1{"Пользователь подтверждает список?"}
    C1 -->|"нет"| P1
    C1 -->|"да"| P2["Шаг 2: для каждой функции что-то сгенерировать"]
    P2 --> C2{"Подтверждает?"}
    C2 -->|"нет"| P2
    C2 -->|"да"| P3["Шаг 3: собрать всё в единый API-референс"]
    P3 --> P4["Шаг 4: проверить символы, описания, примеры"]
    P4 --> FIN["✅ Финальный документ"]
    REF["Референсные файлы стиля"] -.-> P2
    REF -.-> P3
Метод Фейнмана Думайте о паттернах как о

разных породах рабочих собак, выведенных под задачу:

  • Обёртка — сторожевая: знает один свод правил и верит ему свято.
  • Генератор — фабрика-пекарь: один и тот же рецепт-шаблон, меняется только начинка.
  • Ревьюер — таможенник с чек-листом: проверяет всё по пунктам.
  • Интервьюер — журналист: сперва берёт интервью, потом пишет статью.
  • Пайплайн — заводской конвейер с контролёрами на каждом участке: не пропустят дальше, пока вы не кивнули. Породу выбираете под охоту, а не наоборот.

🎯 Домашнее задание

Практика Используя

Skill Creator Skill (убедитесь, что он включён), создайте Skill для любой задачи на ваш выбор: генерация нужных текстов, манипуляции с файлами, поиск информации в интернете, обёртка над документацией стороннего сервиса. Смысл ДЗ — не «сделать навык», а освоить подход: создание → эвалы → улучшение. Главная человеческая часть — найти правильные эталоны для эвалов. Как сдать: Save skillShow in folder → загрузить файл навыка через «выбрать файл», и в тексте ответа обязательно описать, что делает этот навык.

Перенесено на следующее занятие

Hooks сегодня не разбираем — тема слишком интересная, чтобы пройти её наспех. На следующем занятии: Hooks, субагенты, Agent Teams, плагины и сложный навык для оркестрации группы субагентов (с использованием навыка Playground).


🧾 Итоговая шпаргалка

Запомнить за 60 секунд

  • CLAUDE.md = инструкция для мозга (мягкая, может не сработать). settings.json = закон для обвязки (жёсткий, на 100%). Не путать слои.
  • Приоритет настроек: managed-политики → CLI-флаги → settings.local.jsonsettings.json проекта → глобальный. (Спикер останавливается на «local > project > global» — корпоративный managed-уровень выше local.)
  • CLAUDE.md-файлы смешиваются, а не заменяютсяникаких противоречий между глобальным и проектным.
  • CLAUDE.md ≤ 100 строк, описывать «почему так», выносить повторяющееся в Skills, давать ссылки/@-импорты на файлы.
  • MCP не умер: для изоляции/OAuth/мобильного он лучший; для сервисов с CLI берите CLI + Skill. Tool Search убрал проблему «забитого контекста».
  • Skills = промпт + доки + скрипты; создаются через Skill Creator в цикле генерация → эвалы → улучшение; ваша задача — эталоны.
  • 5 паттернов: обёртка · генератор · ревьюер · интервьюер · пайплайн.
  • Programmatic ≠ Interactive: у программного использования своя валюта-кредиты; интерактив не тронут.
Дизайн-инсайты из разбора работ (бонус) Полезные «приметы AI-вёрстки», которые стоит чинить осознанно:

  • AI любит делать всё в одной цветовой палитре — добавляйте контраст и hover-состояния (например, инверсия в белый при наведении), чтобы сайт не «выдавал» себя.
  • AI склонен перегружать информацией — попросите его «сходи протестируй и скажи, что бы ты здесь поменял», он может сам предложить «разрядить».
  • Визуально сложные сайты труднее адаптировать под разные устройства — проверяйте мобильную версию рядом с десктопной.
  • Полировка деталей решает. Маленькая «пасхалка»6 (как кричащий при падении контроллер Steam) показывает, что создателю не всё равно — именно такие штрихи отличают живой продукт от шаблона.

Footnotes

  1. DevOps / сисадмин — специалисты, которые сами не пишут продукт, а настраивают окружение, в котором работают другие. Спикер проводит прямую аналогию: настройка Claude Code в компаниях станет именно такой отдельной ролью.

  2. Claude Mythos — топовая модель верхнего («Mythos») тира Anthropic, недоступная широкой публике. На момент лекции доступ к моделям этого тира (Mythos 5 / Fable 5) ограничен экспортной директивой — это подтверждается официальными материалами Anthropic. Пример CloudFlare показывает практику: под такую модель имеет смысл писать собственный harness.

  3. В исходной расшифровке годы искажены распознаванием речи («1924», «1925», «1926»). Здесь восстановлены корректные годы: запуск MCP — ноябрь 2024, поддержка OpenAI — март 2025, передача в AAIF под Linux Foundation — декабрь 2025.

  4. Сцена из «Матрицы» (1999): Нео загружают боевые программы прямо в мозг, после чего он произносит «I know kung fu». Каноничная метафора мгновенного приобретения навыка — ровно то, что Skills делают с LLM.

  5. Prompt-инъекция (prompt injection) — атака, при которой вредоносные инструкции прячут во внешних данных (веб-страница, файл), чтобы перехватить поведение агента. Поэтому любой навык, читающий недоверенный контент из интернета, по определению несёт этот риск — и пометка warn в аудите тут ожидаема, а не обязательно тревожна.

  6. Речь о геймпаде от Valve/Steam с «пасхалкой»: при падении устройство издаёт «крик» из встроенных динамиков. Пример того, как необязательная деталь создаёт ощущение, что продукт делали люди, которым не всё равно.