Наконец-то появилась причина перейти на Cursor

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00С развитием ИИ и растущей мощностью каждой новой выпускаемой модели способ создания кода полностью изменился.
00:00:07Теперь существует множество специализированных инструментов для программирования,
00:00:10таких как ClodCode,
00:00:11Cursor,
00:00:12Antigravity и другие,
00:00:13каждый со своими уникальными возможностями.
00:00:14Но хорошие модели сами по себе не определяют качество создаваемого кода.
00:00:18То,
00:00:19как вы используете инструмент и управляете контекстом,
00:00:21имеет не меньшее значение.
00:00:22Все эти инструменты имеют встроенный механизм управления контекстом,
00:00:25но Cursor только что сделал серьёзный шаг к новому подходу,
00:00:27встроив его непосредственно в само приложение.
00:00:29Изучая их статью,
00:00:30я понял,
00:00:31что эти принципы действительно сильны.
00:00:33Сегодня нам есть о чём поговорить,
00:00:35потому что эти идеи можно широко применять на любой платформе,
00:00:38которую вы используете для создания приложений.
00:00:40Управление контекстом всегда было критически важным при работе с ИИ-агентами,
00:00:43потому что качественное управление контекстом определяет качество результата.
00:00:47Ранее в наших видео мы говорили о том,
00:00:49насколько важно управление контекстом,
00:00:51и обсуждали рабочие процессы для этого.
00:00:53Cursor внедрил функции управления контекстом непосредственно в свой продукт и опубликовал об этом статью.
00:00:58Эти принципы основаны на их наблюдении,
00:01:00что для получения хороших результатов от моделей лучше предоставлять как можно меньше деталей в окне контекста.
00:01:06Чем меньше информации модель получает за раз,
00:01:08тем меньше данных ей нужно обрабатывать одновременно,
00:01:11а значит меньше путаницы и больше концентрации на текущей задаче,
00:01:14поскольку включена только релевантная информация.
00:01:17Этот подход они называют динамическим обнаружением контекста.
00:01:20Идея заключается в структурированном ведении заметок.
00:01:22То есть информация,
00:01:23не нужная прямо сейчас,
00:01:24не должна находиться в окне контекста — исключение потенциально запутывающих или противоречивых деталей значительно улучшает качество ответов агента.
00:01:32Текущий релиз Cursor добавляет пять методов динамического управления контекстом,
00:01:36которые скоро появятся у пользователей.
00:01:37Хотя Cursor реализует это как обновление продукта,
00:01:41эти принципы широко применимы ко всем ИИ-агентам.
00:01:44Первое обновление,
00:01:45о котором упомянул Cursor,
00:01:46— длинные ответы инструментов должны сохраняться в файлы.
00:01:48MCP часто возвращают большие ответы,
00:01:50которые остаются в окне контекста.
00:01:52Не вся информация из ответов всегда нужна.
00:01:55Cursor отметил,
00:01:56что распространённый подход большинства инструментов программирования — обрезать длинные ответы MCP,
00:02:01что приводит к потере данных или удалению важной информации,
00:02:04которая может быть необходима для контекста.
00:02:07Расширение Claude для Chrome — это расширение с множеством инструментов,
00:02:10и всего несколько запросов могут заполнить контекст из-за загрузки огромного объёма данных в окно контекста.
00:02:15Поэтому я добавил инструкцию в файл Claude.md,
00:02:18что любой ответ инструмента MCP длиннее 50 строк должен сохраняться в папку MCP внутри папки .context с помощью команды echo в терминале.
00:02:27Когда я запустил расширение Chrome для анализа интерфейса целевой страницы,
00:02:30всякий раз,
00:02:31когда Claude сталкивался с таким инструментом,
00:02:33как ReadPage,
00:02:33который значительно раздувает окно контекста,
00:02:35он сохранял ответ MCP в файл для дальнейшего чтения,
00:02:38используя который он проанализировал всю страницу и предоставил мне отчёт.
00:02:42Это решение улучшило точность анализа ответов инструмента,
00:02:45позволив Claude анализировать ответы из файлов столько раз,
00:02:48сколько необходимо,
00:02:49и устранило необходимость в повторных вызовах инструментов.
00:02:52Когда нужны данные из предыдущих вызовов MCP,
00:02:54Claude может прочитать их напрямую из папки .context вместо выполнения вызовов инструментов,
00:02:59экономя значительное время.
00:03:00Прежде чем перейти к следующему изменению,
00:03:02послушаем нашего спонсора — Zen Rose.
00:03:04Если вы создаёте ИИ-продукты,
00:03:05автоматизацию или системы на основе данных,
00:03:08вы уже знаете одну вещь: всё начинается с надёжных веб-данных.
00:03:11Но получить чистые структурированные данные в масштабе сложнее,
00:03:15чем кажется.
00:03:15Вот где Zen Rose идеально вписывается в стек..
00:03:18Zen Rose обрабатывает извлечение данных со сложных веб-сайтов,
00:03:21автоматически управляя обходом анти-ботов,
00:03:23чтобы вы могли сосредоточиться на том,
00:03:25что действительно важно — использовании данных.
00:03:27Вместо того чтобы иметь дело с хаотичными выходными данными,
00:03:29Zen Rose предоставляет структурированные результаты,
00:03:31такие как JSON или Markdown,
00:03:33готовые к непосредственной интеграции в ваши конвейеры.
00:03:35Он готов к интеграции и ориентирован на бизнес,
00:03:37что делает его идеальным для AI-стартапов,
00:03:38команд по работе с данными и создателей систем автоматизации,
00:03:41которые не хотят возиться с инфраструктурой..
00:03:43Будь то обогащение лидов,
00:03:44работа AI-агентов или автоматизация исследований — Zen Rose просто работает.
00:03:48Если ваша работа зависит от веб-данных,
00:03:50Zen Rose должен быть в вашем арсенале..
00:03:52Нажмите на ссылку в закрепленном комментарии и начните создавать уже сегодня.
00:03:55Мы знаем,
00:03:55что этап суммаризации при заполнении контекстного окна создает беспорядок и приводит к потере большого объема информации.
00:04:01Большинство инструментов,
00:04:02включая Cursor и Claude Code,
00:04:03запускают этап суммаризации и начинают сеанс с чистого контекстного окна,
00:04:07используя резюме в качестве отправной точки..
00:04:09Когда вы нажимаете «сжать» снова и снова,
00:04:11резюме начинает забывать детали,
00:04:12которые могут быть важны для вас,
00:04:14но которые может упустить суммаризация модели.
00:04:16У вас есть лишь ограниченный контроль над автоматическим сжатием,
00:04:19и повторяющееся сжатие приводит к потере критически важной информации,
00:04:22если приходится делать это многократно.
00:04:24Решение Cursor — сохранять всю предыдущую историю чата в виде файла,
00:04:28к которому агент может обращаться позже.
00:04:30Когда мы предоставляем очень конкретный запрос и модель не может найти информацию в резюме,
00:04:35предыдущая расшифровка служит её базой знаний.
00:04:37Модель использует эту расшифровку для генерации решения,
00:04:40что позволяет ей восстановить всё,
00:04:42что было утрачено из резюме.
00:04:43Пока реализация от Cursor не развернута и не стала доступна для всех,
00:04:47я попытался реализовать эту функцию с помощью Claude Code.
00:04:50Я добавил инструкцию в файл Claude.md для обновления истории чата после каждого хода,
00:04:55документируя все ключевые решения и предпринятые шаги.
00:04:58Использовалась папка history внутри папки .context,
00:05:00при этом имя каждого файла отражало сеанс.
00:05:03Таким образом,
00:05:03всякий раз,
00:05:04когда я прошу его выполнить какую-либо задачу,
00:05:06по завершении сеанса выполнения задачи он документирует историю чата в соответствующий файл истории,
00:05:11добавляя всё в этот файл.
00:05:12Таким образом,
00:05:13папка .context содержит подробные записи всех сеансов и всего,
00:05:17что было сделано.
00:05:18Агентам были предоставлены навыки для помощи в управлении проблемой контекста,
00:05:22которую создавали MCP.
00:05:23Вся цель навыков — предоставить агентам лучшую возможность использовать собственные возможности,
00:05:27направляя их через скрипты и файлы инструкций,
00:05:29сокращая раздувание контекста за счет постепенного раскрытия информации.
00:05:33Anthropic первыми предложили эту идею,
00:05:35которая заключается в предоставлении агентам набора инструкций,
00:05:38скриптов и ресурсов,
00:05:39которые агент может обнаруживать и использовать для более эффективного выполнения конкретных задач.
00:05:44Anthropic,
00:05:44по сути,
00:05:45сделали навыки этих агентов открытыми,
00:05:46установив стандарт,
00:05:47который могли внедрить другие.
00:05:49Вслед за этим Codex,
00:05:50Gemini и другие начали внедрять навыки агентов,
00:05:52после чего наконец настала очередь Cursor сделать то же самое.
00:05:55Навыки Cursor — это,
00:05:56по сути,
00:05:56те же исполняемые файлы и скрипты,
00:05:58объединенные в единый навык,
00:05:59который агент может использовать для выполнения соответствующих задач.
00:06:03Только название и описание навыков находятся в статическом контексте..
00:06:07Оказавшись внутри статического контекста,
00:06:09агенты могут самостоятельно задействовать свои навыки,
00:06:11используя grep и семантический поиск cursor.
00:06:13Именно это делает их особенными,
00:06:15поскольку семантический поиск cursor использует собственную модель эмбеддингов и конвейеры индексации в фоновом режиме,
00:06:21вместо простого сопоставления шаблонов,
00:06:23как в командах grep на основе регулярных выражений.
00:06:25Навыки Claude раскрывают в контексте только название и описание,
00:06:29независимо от того,
00:06:29сколько файлов использует скрипт,
00:06:31предотвращая раздувание контекста.
00:06:33В моём проекте было настроено 5 навыков,
00:06:35каждый из которых потреблял очень мало токенов — всего около 0,
00:06:382% от общего числа,
00:06:39оставляя больше места для работы.
00:06:40Отличие в том,
00:06:41что навыки Claude также доступны через /команды,
00:06:43позволяя вручную запускать их при необходимости,
00:06:46что решает жалобы людей на то,
00:06:47что навыки не загружаются по требованию должным образом.
00:06:50MCP содержат множество инструментов,
00:06:52все из которых раскрываются в окне контекста,
00:06:54излишне раздувая его.
00:06:55Cursor взял на себя ответственность и подчеркнул,
00:06:58что устранение раздувания контекста — это задача агентов кодирования,
00:07:01а не MCP-серверов.
00:07:02Решением стало динамическое обнаружение контекста через синхронизацию описаний инструментов в папке.
00:07:07Идея Cursor заключается в том,
00:07:08чтобы все MCP с их именами находились в отдельных папках,
00:07:11названных по имени каждого подключённого MCP,
00:07:13а внутри каждой папки были перечислены все инструменты.
00:07:16Благодаря этому агент получает только названия инструментов,
00:07:19а когда ему нужен какой-либо инструмент,
00:07:21он ищет его через папки.
00:07:22В ходе тестирования они обнаружили,
00:07:24что динамическое обнаружение MCP-инструментов снизило использование на 46,
00:07:289%,
00:07:28что имеет огромное значение при работе с долгоживущей системой.
00:07:31Эта реализация также помогает в случаях,
00:07:33когда MCP-серверы случайно отключаются или требуют повторной аутентификации.
00:07:37Обычно система просто забывала об этих инструментах,
00:07:40но теперь агент может фактически уведомить пользователя о необходимости повторной аутентификации.
00:07:44У Claude также есть продвинутый инструмент поиска,
00:07:47специально разработанный для решения этой проблемы,
00:07:49использующий определённый набор флагов,
00:07:51чтобы дать Claude знать,
00:07:53загружать его или нет.
00:07:54Он реализует точную идею Cursor о динамическом обнаружении контекста,
00:07:57но это ограничено платформой разработчика и только для тех,
00:08:00кто работает с API.
00:08:01Мы не можем изменить способ использования MCP в Claude Code,
00:08:04потому что они встроены в него компанией Anthropic.
00:08:06Как раз когда я искал способы реализовать это в Claude Code,
00:08:09я наткнулся на скрытый флаг.
00:08:11Без установки этого флага все MCP-инструменты,
00:08:13которые я подключил,
00:08:14были раскрыты в контексте Claude Code.
00:08:16Когда я установил флаг enable experimental MCP CLI,
00:08:18все инструменты были удалены из окна контекста,
00:08:21освободив пространство,
00:08:22которое ранее занимали MCP-инструменты.
00:08:24Но это не означает,
00:08:25что MCP отключаются при включении этого CLI.
00:08:27Единственное отличие в том,
00:08:28что они не раскрываются заранее в окне контекста.
00:08:31Вместо помещения всех схем в контекст Claude теперь использует промежуточный слой bash под названием MCP CLI,
00:08:36который обрабатывает все задачи,
00:08:38связанные с MCP.
00:08:38Claude использует этот промежуточный слой для поиска,
00:08:41получения информации и вызова инструментов.
00:08:43Всякий раз,
00:08:44когда вы просите Claude выполнить задачу,
00:08:46требующую вызова MCP-инструмента,
00:08:47вместо обычного метода он использует MCP через MCP CLI и выполняет требуемую задачу.
00:08:51Используя этот инструмент,
00:08:53Claude выполняет все задачи как обычно,
00:08:55просто через этот промежуточный слой.
00:08:56Сообщать об ошибках терминала в Cursor сложно из-за его ограниченного доступа.
00:09:00Если терминал показывал какую-либо ошибку,
00:09:02вам нужно было добавить её в чат,
00:09:04а затем исправить.
00:09:05Решение Cursor для этого — также перенос сеансов терминала в файлы.
00:09:08Поэтому всякий раз,
00:09:09когда вы задаёте ему какие-либо вопросы,
00:09:11он ссылается на эти файлы истории и использует grep для извлечения соответствующего вывода..
00:09:20Поскольку логи сервера обычно работают долго и содержат много шума для агента,
00:09:24использование задачи grep более эффективно,
00:09:26так как позволяет агенту сопоставлять шаблоны.
00:09:29Эту идею они взяли из агентов кодирования на основе CLI,
00:09:32которые выполняют команды,
00:09:33а затем вывод встраивается в контекст точно так же,
00:09:36как Claude Code и другие делают по умолчанию.
00:09:38Хотя Claude разумно обрабатывает это самостоятельно,
00:09:41мы можем управлять этим ещё более точно,
00:09:43используя инструкции в Claude.md,
00:09:44чтобы указать ему добавлять все логи терминала в файл в папке terminal внутри папки .context.
00:09:49По сути,
00:09:50если Claude запускает любую npm-команду,
00:09:52он выполняет специальную команду,
00:09:53которая записывает как поток вывода,
00:09:55так и поток ввода в файлы документов.
00:09:57Здесь 2 представляет стандартный поток ошибок,
00:10:00а 1 представляет стандартный поток вывода.
00:10:02Он записывает эти логи в папку terminal,
00:10:04помечая их временной меткой.
00:10:05Затем,
00:10:06когда ему нужно найти что-то в них,
00:10:08он просто использует команду grep с указанным шаблоном и загружает последние 20 строк,
00:10:12чтобы извлечь только то,
00:10:13что важно..
00:10:15Поэтому всякий раз,
00:10:16когда я тестировал свой сервер разработки,
00:10:18он использовал эти команды и продолжал записывать выполнения терминала в файлы в соответствии с файлом Claude.md.
00:10:23После запуска сервера он обращался к файлам логов и выяснял,
00:10:26что вызывало проблему,
00:10:27и исправлял её для меня..
00:10:29Несмотря на то что это дополнение к Claude Code может показаться незначительным,
00:10:32потому что оно не оказывает большого влияния на непосредственную работу,
00:10:35оно может быть очень полезным,
00:10:37когда вы хотите вернуться к работе вашего приложения.
00:10:39Так же,
00:10:39как когда мне нужно было определить,
00:10:41какой сервис вызывал сбой моего приложения,
00:10:43я просто сказал Claude обратиться к логам тестов вместо повторного запуска тестов,
00:10:47избавив себя от необходимости заново запускать двухминутный набор тестов только для воспроизведения ошибки,
00:10:51которую я уже видел.
00:10:52На этом мы завершаем это видео.
00:10:54Если вы хотите поддержать канал и помочь нам продолжать создавать такие видео,
00:10:57вы можете сделать это,
00:10:58используя кнопку «Супер спасибо» ниже.
00:11:00Как всегда,
00:11:00спасибо за просмотр,
00:11:01и увидимся в следующем выпуске..

Key Takeaway

Cursor представил пять методов динамического управления контекстом, которые минимизируют объём данных в окне контекста путём сохранения информации в файлы, что значительно улучшает качество работы ИИ-агентов и может быть применено на любой платформе.

Highlights

Cursor внедрил динамическое обнаружение контекста — новый подход к управлению контекстом, встроенный непосредственно в приложение

Длинные ответы MCP-инструментов теперь сохраняются в файлы вместо загрузки в контекстное окно, что предотвращает его переполнение

История чата сохраняется в файлы, позволяя агенту обращаться к предыдущим сеансам вместо потери информации при суммаризации

Навыки агентов раскрывают в контексте только название и описание, потребляя всего 0,2% токенов вместо загрузки всех файлов

Динамическое обнаружение MCP-инструментов снижает использование контекста на 46,9% благодаря загрузке только названий инструментов

Логи терминала записываются в файлы, что позволяет агенту использовать grep для поиска ошибок вместо повторного запуска команд

Timeline

Введение: важность управления контекстом в ИИ-инструментах

Автор объясняет, что с развитием ИИ появилось множество специализированных инструментов для программирования, таких как ClodCode, Cursor и Antigravity. Однако качество кода определяется не только моделями, но и тем, как управляется контекст при их использовании. Cursor сделал серьёзный шаг, встроив новый подход к управлению контекстом непосредственно в приложение. Основной принцип заключается в том, что модели дают лучшие результаты, когда получают минимум деталей в окне контекста — меньше информации означает меньше путаницы и больше концентрации на текущей задаче.

Первый метод: сохранение длинных ответов MCP в файлы

Cursor предлагает сохранять длинные ответы MCP-инструментов в файлы вместо загрузки их в контекстное окно. MCP часто возвращают огромные объёмы данных, которые не всегда нужны полностью, но традиционный подход обрезает их, приводя к потере важной информации. Автор демонстрирует решение на примере расширения Claude для Chrome: добавив инструкцию в файл Claude.md о сохранении ответов длиннее 50 строк в папку .context/MCP, агент стал сохранять данные и обращаться к ним по необходимости. Это решение улучшило точность анализа, позволило Claude читать файлы многократно без повторных вызовов инструментов и значительно сэкономило время.

Второй метод: сохранение истории чата вместо суммаризации

Автор обсуждает проблему суммаризации, которая запускается при заполнении контекстного окна в большинстве инструментов, включая Cursor и Claude Code. Повторное сжатие приводит к потере критически важных деталей, которые модель может упустить при создании резюме. Решение Cursor — сохранять всю предыдущую историю чата в виде файла, к которому агент может обращаться как к базе знаний, когда информация отсутствует в резюме. Автор реализовал эту функцию в Claude Code, добавив инструкцию в Claude.md для документирования всех ключевых решений и шагов в папку .context/history после каждого хода, что позволяет сохранять подробные записи всех сеансов.

Третий метод: навыки агентов для управления контекстом

Навыки агентов — это набор инструкций, скриптов и ресурсов, которые агент может обнаруживать и использовать для эффективного выполнения задач. Anthropic первыми предложили эту идею, за ними последовали Codex, Gemini и теперь Cursor. Ключевое преимущество в том, что в статическом контексте находятся только название и описание навыков, а сам контент загружается по требованию через grep и семантический поиск cursor с использованием модели эмбеддингов. Автор демонстрирует, что 5 настроенных навыков потребляли всего 0,2% от общего числа токенов, оставляя значительно больше места для работы. В Claude Code навыки также доступны через слэш-команды для ручного запуска.

Четвёртый метод: динамическое обнаружение MCP-инструментов

Cursor решает проблему раздувания контекста от MCP-серверов, которые содержат множество инструментов, все раскрывающихся в окне контекста. Решение — синхронизировать описания инструментов в папки, где каждый MCP получает отдельную папку с перечислением всех его инструментов. Агент получает только названия, а когда нужен конкретный инструмент, ищет его через папки. Тестирование показало снижение использования контекста на 46,9%, что критично для долгоживущих систем. Дополнительно это позволяет уведомлять пользователя о необходимости повторной аутентификации MCP-серверов вместо простого забывания отключившихся инструментов.

Реализация динамического обнаружения MCP в Claude Code

Автор обнаружил скрытый флаг в Claude Code для реализации динамического обнаружения MCP. Без флага все MCP-инструменты раскрывались в контексте, но при установке флага enable_experimental_MCP_CLI все инструменты были удалены из окна контекста, освободив значительное пространство. При этом MCP не отключаются — Claude использует промежуточный слой bash под названием MCP CLI, который обрабатывает все задачи, связанные с MCP: поиск, получение информации и вызов инструментов. Всякий раз, когда требуется вызов MCP-инструмента, Claude использует его через MCP CLI вместо обычного метода.

Пятый метод: сохранение логов терминала в файлы

Cursor переносит сеансы терминала в файлы, позволяя агенту ссылаться на историю и использовать grep для извлечения соответствующего вывода вместо добавления логов в чат вручную. Поскольку логи сервера обычно длинные и содержат много шума, использование grep более эффективно для сопоставления шаблонов. Автор реализовал это в Claude Code через инструкции в Claude.md, указав добавлять все логи терминала в папку .context/terminal. При запуске npm-команд Claude записывает как стандартный поток вывода (1), так и поток ошибок (2) в файлы с временными метками, затем использует grep с указанным шаблоном для загрузки последних 20 строк.

Практическое применение и заключение

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

Community Posts

View all posts