Transcription
Привет всем, это Data Guy. И сегодня у меня для вас видео, где я хочу поговорить об одной из самых насущных проблем в современном, знаете ли, программном инжиниринге в целом, когда вы отправляете код, сгенерированный ИИ, и у вас есть, знаете ли, младшие инженеры, старшие инженеры, все это делают, верно? И сгенерированные ИИ задания Spark, как то, которое вы видите на экране, верно? Которые, знаете ли, проходят все тесты, ваш старший разработчик, знаете ли, одобряет PR, и он может работать в продакшене, но через 3 месяца может сработать оповещение в 3:00 ночи, и внезапно вы отлаживаете абсолютный беспорядок из спагетти-кода, верно? И это не ошибка, это стандартный результат, когда у ИИ нет минимального уровня качества, и именно это я собираюсь показать вам сегодня с помощью MCP-сервера CodeScene, который действительно дает вашему ИИ минимальный уровень качества, чтобы убедиться, что у него есть цель, к которой он стремится. Таким образом, вы можете избежать любого рода технического долга. Итак, давайте приступим. Итак, CodeScene, что они сделали, так это запустили тот же бенчмарк на коде Claude дважды, верно? Один раз сам по себе, один раз с MCP-сервером Code Health, подключенным к интерфейсу кода Claude. Затем они разделили файлы по тому, насколько здоровым был исходный код. Итак, для кода, который начинался в диапазоне здоровья от 7 до 8, уже в порядке, Claude сам по себе значительно улучшил здоровье примерно 58% файлов, но Claude с MCP-сервером улучшил его на 9 и 98% файлов. Затем, в категории от 8 до 9, код, который уже довольно чист, Claude сам по себе фактически снижается до возможности улучшить только около 35% файлов, в то время как Claude с MCP по-прежнему держится на 95%. И в категории от 9 до 10, код, который уже отлично подходит, вещи, которые, знаете ли, очень трудно улучшить, не сделав хуже, вы должны быть очень осторожны и вдумчивы в этом, Claude сам по себе фактически улучшает только 18% этих файлов, в то время как Claude с MCP по-прежнему достигает 87%. И это те же модели, те же промпты, единственная переменная — это MCP-сервер, который дает агенту структурный сигнал вместо того, чтобы просто, знаете ли, сказать: "Иди и попробуй исправить это".
Итак, что такое MCP-сервер Code Health и что такое метрика Code Health, о которой я на самом деле говорю? Итак, краткий вводный курс, MCP, протокол контекста модели, способ предоставить вашему ИИ-ассистенту новые инструменты. А Code Health — это MCP-сервер, который разработан или MCP-сервер Code Scene, Code Health — это инструменты, но Code Health — это оценка, которая представляет собой оценку от 1 до 10, полученную из 25+ структурных факторов, цикломатической сложности, глубокой вложенности, "мозговых" методов, низкой связности, всего того, что, знаете ли, очень, э-э, высокоуровневые, э-э, интеллектуальные вещи, которые, знаете ли, инженеры данных будут игнорировать, пока это не проигнорирует их в ответ, верно? И там, по сути, говорится: "Эй, каждый раз, когда вы пишете код, вы теперь будете оценивать этот код по этому показателю, верно?" И, следовательно, теперь у вашего ИИ есть цель, к которой нужно стремиться, верно? И, следовательно, теперь это позволяет вашему кодирующему агенту фактически вносить более структурные изменения, верно? Знаете ли, фактически извлекать методы, разбивать, знаете ли, "мозговые" методы, вещи, которые двигают иглу здоровья, которые действительно сделают ваш код лучше, а не просто косметические вещи, верно? И, следовательно, это означает, что ваши конвейеры могут работать без присмотра, им не нужно, знаете ли, беспокоиться о них, потому что каждый раз, когда ИИ касается ваших DAG с этим минимальным уровнем качества, у вас есть спокойствие, говоря: "Эй, это то, что это сделает, это действительно улучшит мой код". И собственные исследования Code Scene показали, что это даже важнее с кодом ИИ, чем если бы вы просто пытались применять эти навыки в качестве обычного инженера данных. И есть причина, по которой, знаете ли, у вас есть эта оценка от 1 до 10, и цель будет 10, это исследования, все основано на исследованиях. Исследование риска дефектов Code Scene показало, что нездоровый код фактически имеет на 60% более высокий риск дефектов, чем здоровый код. И структурные шаблоны, которые сбивают с толку человеческого рецензента, также сбивают с толку агентов ИИ. Так что вы не можете, знаете ли, сказать: "Эй, человеческий рецензент будет лучше в этом". Они на самом деле будут сбиты с толку еще больше, потому что агентам ИИ нужно, знаете ли, чтобы ошибки агентов ИИ были под контролем, вам на самом деле нужен уровень качества кода 9.4 или выше. И именно поэтому у вас есть рекомендация минимум 9.5, но оптимально до 10 с этим показателем здоровья кода, теперь у вас есть способ отслеживать это и убедиться: "Эй, этот код имеет определенный стандарт качества". И, следовательно, теперь с этим стандартом качества у вас есть способ сказать: "Эй, больше не будет вводиться технический долг, потому что весь этот код должен соответствовать определенному стандартному качеству, которое, знаете ли, ИИ-агенты не имеют из коробки, если вы не используете что-то вроде MCP-сервера Code Health".
Итак, чтобы начать использовать это, все, что вам нужно сделать, это перейти на codescene.com/products/code health MCP, а затем вы можете начать свою бесплатную пробную версию прямо здесь. И вы можете подписаться на бесплатную пробную версию. Так что, если я перейду сюда, бесплатная пробная версия, начните бесплатную пробную версию, вы увидите, что я зарегистрируюсь здесь, и я получу 30 дней. Вы получаете полный месяц бесплатно. И затем, после завершения регистрации здесь, вы получите электронное письмо с вашим токеном доступа, который затем используется для настройки, знаете ли, вы используете его для настройки MCP-сервера локально. И одним из лучших преимуществ этого является то, что, поскольку это MCP-сервер, который вы запускаете и используете локально вместе с вашим кодом, он полностью безопасен. Он полностью работает локально на вашей машине. И он также работает с любым агентом или ИИ-ассистентом для кодирования, который поддерживает MCP. Все, что имеет MCP, вы можете скачать и добавить этот MCP-сервер. Так что не беспокойтесь о совместимости. Пока есть MCP-сервер, который есть практически у любого инструмента ИИ для кодирования, который чего-то стоит, у вас есть возможность использовать это с ним. И вы хотите начать использовать это как можно быстрее, потому что организации с очень низким качеством кодовых баз могут испытывать значительно более высокие показатели сбоев ИИ, чем организации, которые поддерживают действительно высокий стандарт качества кода. И это усугубляющаяся проблема, верно? Плохой код порождает плохой код. И, следовательно, чем дольше вы откладываете это, тем более вероятно, что вам придется исправлять гораздо больше спагетти-кода в будущем.
Теперь, чтобы начать использовать это локально, мы перейдем в VS Code, и я покажу вам, как вы можете фактически использовать это для рефакторинга этого действительно грязного кода Spark, который я показывал вам ранее. Итак, первое, что вам нужно сделать, это экспортировать и установить переменную окружения CS_ACCESS_TOKEN, а затем вставить свой токен сюда. Или вы также можете попросить вашего ИИ-агента сделать это за вас, если вы запускаете, знаете ли, корпоративный агент или что-то подобное локально. Я просто использую, знаете ли, Claude Code, поэтому я не хочу рисковать тем, что мой токен будет украден. Затем, чтобы установить MCP-сервер Code Health, вы выполните эту команду, которая просто выполнит brew tap, получит MCP-сервер Code Scene из этого репозитория GitHub, а затем выполнит brew install CS_MCP. И это то, что фактически установит наш MCP-сервер. А затем вы захотите запустить Claude MCP add Code Scene и затем --CS_MCP. Затем, после того как вы запустите Claude и откроете своего агента, и вы увидите, что я использую, знаете ли, Opus 4.7 здесь, я могу затем ввести /MCP, и я увижу свой CS_MCP сервер здесь. Итак, позвольте мне показать вам это. Итак, вы можете видеть здесь, вот мой CS_MCP. И на самом деле, я могу просмотреть свои инструменты здесь, верно? И, следовательно, теперь у Claude есть набор новых инструментов, которые он может использовать для фактического, знаете ли, рефакторинга моего кода, убедившись, что код перестраивается правильно. Итак, Code Health Review, это для проверки файла, так что это то, что, знаете ли, позволяет Claude просмотреть файл, понять, что такое Claude Claude Code или здоровье кода этого файла. Затем, Code Health Score, чтобы получить число, так что у нас есть фактическое число, которое основано на этих факторах обзора. Затем у нас есть предварительная проверка состояния Code Health для подготовленных файлов, которая проверит эти подготовленные файлы перед коммитом, чтобы убедиться, что в них нет плохих практик. И затем у нас также есть analyze change set для предварительной проверки PR против main, чтобы проанализировать изменения против main и снова проверить, чтобы убедиться, что ничего не повлияет и не снизит качество нашего облачного кода.
Следующее, что вам нужно сделать, это скопировать файл markdown агента из репозитория GitHub MCP-сервера CodeScene и вставить его сюда. И, по сути, это файл markdown, который скажет вам: "Эй, наша целевая оценка здоровья кода — 10.0". Это тот стандарт, о котором мы говорили для ИИ из кода. Он должен соответствовать стандарту 10.0, потому что другие, знаете ли, ему нужен более высокий стандарт качества, чем человеку. И затем у вас есть основные варианты использования, когда использовать каждый из наших инструментов, знаете ли, для получения подробной информации, предварительной проверки, проверки состояния, а затем, знаете ли, после того, как вы увидите, если вы можете проверить, давая ему этот цикл, верно? Вот ваш цикл рефакторинга, как вы должны, знаете ли, применять изменения, посмотреть, действительно ли они улучшают здоровье кода, и продолжать, пока не достигнете конечного состояния, верно? И, следовательно, вы видите здесь все детали, которые Claude Code будет нуждаться для эффективного рефакторинга наших грязных скриптов, и снова давая ему конечную цель, к которой нужно стремиться.
Итак, теперь, когда у нас есть представление об установленной среде, давайте перейдем и фактически используем эти показатели здоровья кода и, знаете ли, инструменты обзора, чтобы улучшить наш код. Итак, здесь у меня есть промпт, знаете ли, я хочу запустить обзор здоровья кода для конвейеров затрат на выручку ETL и сказать мне, что не так, и фактически скорректировать это до конвейера продаж здесь. Итак, фактический правильный конвейер. Итак, здесь sales _ pipeline. И теперь вы увидите, что это вызовет наш MCP Code Health, чтобы затем провести обзор кода. И я покажу вам вывод через секунду. И бум, теперь у меня есть фактический вывод, верно? Итак, вы можете видеть, что у нас есть начальная оценка 6.57, где все наши проблемы находятся в одной функции run, и это потому, что у нас есть одна огромная функция, верно? И, следовательно, здесь, первая проблема "мозговой метод" — это просто одна огромная функция. Она имеет глубокую вложенность и действительно высокую сложность и тонну аргументов. Есть девять отдельных фрагментов вложенной условной логики. Глубина вложенности пяти условий, она имеет 183 строки кода в одном методе и тонну различных аргументов, верно? Итак, вы можете видеть, что она оценивает, знаете ли, эти различные вещи по стандартам, которые у нее есть через этот инструмент обзора здоровья кода, верно? И, следовательно, теперь наш следующий шаг, знаете ли, "Эй, я действительно хочу, чтобы ты это рефакторил". И запускайте обзор здоровья кода после каждого шага. И поскольку у нас есть в нашем файле markdown агента цель 10, мы также просто усилим это с помощью "Продолжать рефакторинг". Или, на самом деле, давайте скажем: "Продолжать рефакторинг, пока оценка здоровья кода не достигнет 10, или спросите меня, если вы считаете, что не можете продолжать до 10". Бум. И, следовательно, теперь это поместит его в этот цикл обратной связи, который он должен пройти и фактически продолжать улучшать себя, пока он не достигнет стадии: "Эй, знаете ли, этот код фактически имеет эту оценку здоровья 10".
Итак, теперь, когда это сделано, давайте посмотрим, как он фактически рефакторил это. Итак, сначала, знаете ли, разрабатывает план, верно? Эй, какие шаги нам, вероятно, придется предпринять, чтобы это было 10, потому что у него есть эта цель, к которой нужно стремиться. И затем, проходя через, вы увидите шаг первый, верно? Он пройдет, выполнит первые рефакторинги затрат, где теперь он извлечет объединения, свертки, верно? И, знаете ли, сделает это не просто таким огромным файлом запуска. Затем мы, знаете ли, сделаем шаг второй, верно? Шаг третий. Итак, доводя его до оценки кода 10, верно? И затем вы можете увидеть, знаете ли, своего рода вывод рефакторинга, который он дает вам здесь. Итак, базовый уровень, извлечение конфигурации схемы чтения и класса данных, затем извлечение преобразований страны, затем извлечение измерений, сверток, верно, и уведомление помощников, а затем свертывание этих шести сигнатур аргументов в словарь KO args, чтобы уменьшить количество аргументов. Теперь у нас есть файл запуска или функция запуска, которая составляет всего 10 или 14 строк чистого оркестровки, а все остальное построено так, как должно быть, с правильной структурой. И снова, это действительно возможно только потому, что, знаете ли, у нас была эта выходная оценка 10, к которой нужно было стремиться. Итак, он знал: "Эй, знаете ли, это было недостаточно хорошо в первых нескольких запусках. Продолжайте, пока не получите эту оценку 10 из-за всех этих лучших практик, которым он должен следовать".
Итак, теперь давайте покажем, как вы также можете использовать это, когда придет время коммитить. Итак, здесь, знаете ли, я добавил `git add` и добавил весь свой код в свой репозиторий git как подготовленные файлы. И, следовательно, теперь, что я хочу сделать, это: "Эй, давайте фактически запустим наш safeguard pre-commit Code Health на этом, прежде чем я закоммичу, чтобы убедиться". И, следовательно, это то, что, знаете ли, на практике вы можете захотеть запускать как, знаете ли, вызов агента в конвейере CI/CD, чтобы убедиться, что все ваши разработчики, даже если они не используют это локально, эй, у вас есть обзор Code Health, который гарантирует, что все подготовленные файлы проходят и имеют эти проверки, применяемые до того, как какой-либо код будет фактически закоммичен. Таким образом, у вас есть постоянное соблюдение этих стандартов Code Health и вы продолжаете предотвращать технический долг. И бум, как и ожидалось, поскольку в этих подготовленных изменениях нет фактических проблем с Code Health, потому что это весь код, который мы только что рефакторили, его безопасно коммитить. Итак, у нас есть это спокойствие. Теперь, что я хочу показать, так это то, как, знаете ли, эй, давайте предположим, кто-то открывает новую ветку и фактически пытается отправить плохой код. Как от этого защититься? Итак, здесь, знаете ли, я попросил Claude быстро создать: "Эй, дай мне плохое расширение для этого кода". И теперь, что я собираюсь сделать, это заставить Code Health запустить analyze change set, сравнивая эту ветку с плохим кодом с веткой изменений, показать мне дельту Code Health. Опять же, действительно отличный способ интегрировать это в рабочие процессы ваших разработчиков и убедиться, что всякий раз, когда вы, знаете ли, добавляете новую функцию, она соответствует этим стандартам Code Health. И бум, вы можете увидеть: "Эй, он может анализировать это так же, как он анализировал мой плохой код в начале, понять, вот все плохие методы, которые он вводит, все проблемы с ним, и он также скажет, что CodeScene заблокирует этот PR на этапе контроля качества, верно?" Так что действительно показывает вам, как вы можете использовать это для предотвращения попадания плохого кода и технического долга в вашу фактическую среду на постоянной основе, а не просто как одноразовый процесс обзора, что самое важное, верно? Потому что одноразовые процессы обзора именно таковы, они одноразовые, и поэтому вы хотите интегрировать такие вызовы инструментов в текущие рабочие процессы, верно? И это все, что я хотел вам сегодня показать. Если вы хотите начать использовать MCP-сервер Code Health самостоятельно, перейдите на codescene.com/products/code health mcp, а затем перейдите к бесплатной пробной версии. Опять же, вы можете настроить ежемесячную, знаете ли, бесплатную пробную версию здесь, и вы получаете 30-дневную бесплатную пробную версию для вашей среды. Так что действуйте смело, протестируйте все и убедитесь сами во всех преимуществах, которые Code Health может принести вашему коду. Итак, это все, что я имею для вас сегодня. Надеюсь, у вас будет отличный остаток дня. Data night.