00:00:00Вы уже знаете о таких AI-фреймворках для программирования,
00:00:03как Beemad,
00:00:03Speckit и других,
00:00:04но это не единственные.
00:00:06Сотни людей экспериментируют и запускают свои собственные рабочие процессы,
00:00:09но когда вы их пробуете,
00:00:11то замечаете,
00:00:11что они часто не оправдывают обещаний.
00:00:13Дело не в том,
00:00:14что их методы плохи,
00:00:15а в том,
00:00:15что они не подходят под ваш конкретный случай использования.
00:00:18Когда мы создаем приложения,
00:00:19в большинстве случаев мы разрабатываем собственные рабочие процессы вместо того,
00:00:22чтобы полагаться на готовые.
00:00:23Это потому,
00:00:24что рабочие процессы должны строиться вокруг вашего конкретного случая использования и работают только тогда,
00:00:28когда соответствуют проекту,
00:00:29который вы пытаетесь создать.
00:00:30Так как же создать рабочий процесс для собственных задач?
00:00:32Для этого нужно знать определенные принципы.
00:00:34Это принципы,
00:00:35которые каждый фреймворк использует в той или иной форме.
00:00:38Прежде чем обсуждать основные принципы,
00:00:40вам необходимо понять,
00:00:41что находится внутри контекстного окна этих AI-инструментов.
00:00:44Это действительно важно,
00:00:45поскольку управление контекстом — это,
00:00:47по сути,
00:00:47то,
00:00:48чем занимаются эти фреймворки.
00:00:48Контекстное окно — это,
00:00:50по сути,
00:00:50объем информации,
00:00:51который модель может помнить одновременно.
00:00:53Все,
00:00:53что выходит за пределы контекстного окна модели,
00:00:55исчезает из ее оперативной памяти,
00:00:57и у нее нет способа это вспомнить.
00:00:59Модели имеют ограниченное контекстное окно.
00:01:00Например,
00:01:01модели Anthropic имеют контекстное окно в 200 тысяч токенов,
00:01:04а модели Gemini — 1 миллион.
00:01:06Даже если эти цифры кажутся действительно большими в плане отправляемых сообщений,
00:01:10на самом деле они не такие огромные,
00:01:11потому что в этих AI-инструментах контекстное окно состоит не только из системного промпта и пользовательских сообщений,
00:01:17но также включает множество других элементов,
00:01:19таких как прошлые сообщения,
00:01:20файлы памяти,
00:01:21инструменты,
00:01:22вызовы MCP и так далее.
00:01:23Вам нужно научиться максимально эффективно использовать это ограниченное рабочее пространство,
00:01:27чтобы при создании рабочих процессов модель делала именно то,
00:01:30что вы хотите.
00:01:30Я буду использовать Claude Code в качестве основного инструмента для программирования на протяжении всего видео,
00:01:34но вы можете создавать свой рабочий процесс на любой платформе,
00:01:37так как все они имеют инструменты,
00:01:38необходимые для этих принципов.
00:01:39Самый важный принцип и ключ к любому дизайну рабочего процесса — это прогрессивное раскрытие.
00:01:44Это означает показывать языковой модели только то,
00:01:46что важно,
00:01:47и держать внимание модели сосредоточенным на том,
00:01:49что действительно нужно прямо сейчас,
00:01:50вместо того чтобы заполнять контекстное окно всем,
00:01:53что может понадобиться в будущем.
00:01:54Теперь более продвинутые модели,
00:01:56такие как Sonnet 4.5,
00:01:57имеют встроенную функцию редактирования контекста,
00:01:59где они могут понять,
00:02:01что является шумом,
00:02:02и попытаться отфильтровать это самостоятельно,
00:02:04используя команды grep для сужения того,
00:02:06что вам нужно.
00:02:07Но одного этого недостаточно.
00:02:08Когда мы даем расплывчатые инструкции,
00:02:11даже эти новые модели загружают много ненужного и засоряют окно.
00:02:14Вместо того чтобы просить Claude исправить ошибку в вашем бэкенде,
00:02:18лучше попросить его проверить эндпоинты один за другим,
00:02:21а не просить исправить все сразу.
00:02:23Функция навыков в Claude теперь имеет открытый исходный код,
00:02:25и все инструменты могут ее использовать.
00:02:27Навыки — это, по сути, воплощение прогрессивного раскрытия.
00:02:29Их описание предоставляет ровно столько информации,
00:02:32чтобы ваша AI-платформа для программирования знала,
00:02:34когда следует использовать каждый навык,
00:02:36не загружая все в контекст.
00:02:38Огромная ошибка,
00:02:38которую совершают люди,
00:02:39— использовать MCP для всего.
00:02:41Вы должны использовать MCP только когда требуются внешние данные,
00:02:44а навыки — для всего остального.
00:02:46Второй,
00:02:46не менее важный принцип: информация,
00:02:48которая не нужна прямо сейчас,
00:02:50не должна находиться в контекстном окне.
00:02:52Для достижения этого инструменты используют структурированное ведение заметок.
00:02:55И мы можем использовать это в свою пользу,
00:02:56предоставив вашему AI-инструменту внешние файлы,
00:02:58которые он может использовать для документирования любых решений,
00:03:01проблем или технического долга.
00:03:03Этот подход позволяет вашему агенту сохранять критически важный контекст,
00:03:06который в противном случае мог бы быть потерян при создании чего-то действительно сложного.
00:03:09Эти инструменты также имеют функцию сжатия для управления контекстным окном.
00:03:13И когда контекст сбрасывается,
00:03:14вам не нужно полагаться исключительно на краткое содержание после сжатия.
00:03:17Например,
00:03:18ваш агент может использовать эти заметки,
00:03:20чтобы понять контекст того,
00:03:21что уже сделано,
00:03:22а что еще предстоит сделать.
00:03:23Этот подход особенно полезен для долгосрочных задач,
00:03:26которые по своей природе сложны.
00:03:28Возможно, вы знакомы с agent.md.
00:03:30Это стандартный файл контекста,
00:03:32который все агенты читают перед началом сеанса.
00:03:34Некоторые агенты не следуют этому и имеют свой собственный,
00:03:37например,
00:03:38claud.md,
00:03:38и я использую их,
00:03:39чтобы направлять агента о том,
00:03:40как структурированы внешние файлы и что записывать в каждый из них.
00:03:44Иногда эти агенты случайно приостанавливаются посреди долго выполняющейся задачи.
00:03:47Часто это происходит потому,
00:03:49что контекст превысил 70% своего лимита.
00:03:52Вот где вступает концепция бюджета внимания.
00:03:55Контекстное окно — это то,
00:03:56на что модель обращает внимание при генерации выходных данных.
00:03:59Когда оно превышает 70%,
00:04:00модели приходится больше концентрироваться,
00:04:02и возрастает вероятность галлюцинаций.
00:04:04Для AI-агентов это мешает эффективному использованию инструментов,
00:04:08и зачастую они просто решают их игнорировать.
00:04:10Для решения этой проблемы есть несколько встроенных инструментов.
00:04:14Как вы уже знаете,
00:04:14сжатие позволяет модели начать заново с правильным резюме произошедшего в качестве начального промпта и уменьшенным контекстным окном.
00:04:21Поэтому вместо того,
00:04:22чтобы позволять ему заполниться до 90% и активировать функцию автоматического сжатия,
00:04:25старайтесь следить за контекстным окном и делать это самостоятельно.
00:04:28Если вы экспериментируете,
00:04:29используйте встроенную функцию отмотки в Claude,
00:04:31чтобы удалить ненужные части,
00:04:33вместо того чтобы продолжать их и просить Claude внести изменения.
00:04:36Вам также следует очищать или начинать новое контекстное окно для любой новой задачи,
00:04:40чтобы предыдущий контекст не замедлял модель.
00:04:42Еще одна вещь,
00:04:43вытекающая из принципа прогрессивного раскрытия,
00:04:45— это способность этих агентов выполнять задачи в фоновом режиме,
00:04:49не засоряя основное контекстное окно.
00:04:51Подагенты работают в собственном изолированном контекстном окне и только сообщают результат обратно основному агенту.
00:04:57Это особенно полезно при работе над задачами,
00:04:59изолированными друг от друга,
00:05:00потому что ваше основное контекстное окно защищено от раздувания вызовами инструментов и поисками,
00:05:05которые выполняет подагент,
00:05:06обеспечивая сохранение информации в его выделенной рабочей зоне.
00:05:10Поскольку эти агенты работают в фоновом режиме,
00:05:12вы можете продолжать взаимодействовать с основным агентом и позволить ему работать над чем-то,
00:05:15что действительно требует вашего внимания.
00:05:17Всякий раз,
00:05:18когда мне нужно что-то изучить,
00:05:19например,
00:05:19правила нового фреймворка,
00:05:21с которым я работаю,
00:05:21я просто использую этих подагентов.
00:05:23Таким образом,
00:05:24их вызовы инструментов и поиски изолированы,
00:05:26и они просто возвращают ответ основному агенту.
00:05:29Если вы понимаете принцип ведения заметок,
00:05:31вам также следует знать,
00:05:32какой формат файла использовать для какой задачи.
00:05:34Поскольку эти файлы имеют разные форматы,
00:05:36они влияют на количество токенов и,
00:05:37следовательно,
00:05:38на эффективность вашего рабочего процесса.
00:05:40YAML — наиболее эффективный по токенам,
00:05:41поэтому я в основном использую его для схем баз данных,
00:05:44конфигураций безопасности и деталей API.
00:05:46Его отступы помогают моделям правильно структурировать информацию.
00:05:49Markdown лучше подходит для документации,
00:05:51такой как ваш claud.md,
00:05:52потому что уровни заголовков облегчают модели навигацию между разделами.
00:05:56XML специально оптимизирован для моделей Claude.
00:05:59Anthropic заявляет,
00:06:00что их модели дообучены распознавать эти теги как контейнеры и разделители,
00:06:04что полезно,
00:06:05когда у вас есть отдельные разделы,
00:06:07такие как ограничения,
00:06:08резюме или визуальные детали.
00:06:10Другие модели,
00:06:10как правило,
00:06:11предпочитают Markdown и YAML вместо XML.
00:06:13И наконец, JSON.
00:06:14Он наименее эффективен по токенам из-за всех дополнительных скобок и кавычек,
00:06:18поэтому я использую его только для мелочей,
00:06:20таких как состояния задач,
00:06:21и в целом не рекомендую его использовать.
00:06:23Git — это одна из самых базовых вещей,
00:06:24которым вас учат,
00:06:25когда вы начинаете программировать.
00:06:26Мы наблюдаем еще одну тенденцию с этими контекстными рабочими процессами,
00:06:30при которой люди фактически используют историю коммитов git как напоминание модели о достигнутом прогрессе,
00:06:35будь то по всему проекту или по одной задаче.
00:06:37Даже если вы не хотите использовать это для хранения прогресса,
00:06:40вам в целом следует применять эти рабочие процессы контекстного проектирования в git-инициализированном репозитории.
00:06:44Рабочий процесс с контекстной инженерией означает,
00:06:46что вы не позволяете модели делать всё сразу,
00:06:48а заставляете её действовать по запланированным шагам один за другим.
00:06:51Если на любом этапе возникает проблема,
00:06:53git позволяет контролировать,
00:06:55к какой версии откатиться,
00:06:56и помогает выяснить,
00:06:57какое изменение вызывает неполадки.
00:06:59Люди также реализовали параллелизм с помощью git worktrees.
00:07:02Я также показал множество рабочих процессов,
00:07:03где подагенты работают в выделенных worktrees для параллельного выполнения задач.
00:07:07Какой бы рабочий процесс вы ни создали,
00:07:09всегда будут случаи,
00:07:10когда вы повторяете инструкции для стандартных процедур.
00:07:13Хороший пример — как вы просите AI-инструменты делать git-коммиты или обновлять документацию.
00:07:18Почти во всех этих AI-инструментах есть способы переиспользовать наиболее часто повторяющиеся промпты.
00:07:22Я часто использую custom/commands в своих проектах,
00:07:25потому что они по сути дают Claude переиспользуемое руководство.
00:07:28Я часто использую команду catchup,
00:07:30которая содержит инструкции о том,
00:07:32как я структурирую память вне контекстного окна,
00:07:35чтобы Claude знал,
00:07:36как вникнуть в проект,
00:07:37не читая каждый файл.
00:07:38Они также хороши для поддержания структуры.
00:07:40Чтобы мои коммиты и документация следовали определённому формату,
00:07:43я использую команду commit/command,
00:07:45которая следует конкретной структуре для написания сообщений коммитов и выполнения проверок перед коммитом.
00:07:51Таким образом /commands поддерживают всё в стандартизированном виде,
00:07:54и мне не нужно снова и снова инструктировать Claude выполнять задачи так,
00:07:57как я предпочитаю.
00:07:58Как вы знаете,
00:07:58MCP следует использовать всякий раз,
00:08:00когда требуются внешние данные.
00:08:01Jira — наиболее широко используемое программное обеспечение для управления командами.
00:08:04Если вы хотите получить информацию из тикетов,
00:08:06можете использовать Jira MCP,
00:08:07чтобы он мог получать доступ к тикетам напрямую и начинать внедрять изменения.
00:08:11Аналогично,
00:08:11я использую Figma MCP,
00:08:12чтобы предоставить Claude код с руководством по стилю приложения,
00:08:15которое он затем использует для построения дизайна.
00:08:18Для задач,
00:08:19где встроенных возможностей модели недостаточно,
00:08:21MCP необходимы для эффективного взаимодействия с внешними источниками.
00:08:25Вы можете включить эти MCP прямо в свои /commands,
00:08:28чтобы они стали частью всего вашего рабочего процесса.
00:08:31На этом мы подходим к концу этого видео.
00:08:32Если вы хотите поддержать канал и помочь нам продолжать создавать такие видео,
00:08:36вы можете сделать это,
00:08:37используя кнопку «Супер спасибо» ниже.
00:08:39Как всегда,
00:08:39спасибо за просмотр,
00:08:40и увидимся в следующем видео.