Transcription
Всем привет. Сегодня я собираюсь поделиться с вами тем, как я использую ИИ в Sentry, и этой очередью я пользуюсь больше всего в своей повседневной работе. Итак, но прежде чем мы углубимся в это, позвольте мне рассказать, кто я. Меня зовут Присцилла. Я бразильянка, живу в Вене, Австрия. Я мама очень энергичного двухлетнего малыша. Я мейнтейнер Verdaccio, открытого реестра NPM. Я соорганизатор Vienna JS, очень традиционной встречи в Вене, где мы говорим обо всем, что связано с JavaScript. И я старший инженер-программист в Sentry. Вчера кто-то сказал мне, что я не похожа на инженера-программиста, но угадайте что? Я им являюсь. Итак, мой официальный титул — старший инженер-программист, но я сама себе дала небольшое повышение, и теперь я менеджер агентов. Без повышения зарплаты, но, по крайней мере, мои подчиненные не жалуются. Да, это была я на работе несколько недель назад. Мой коллега Доминик Дорфмайстер нашел забавным видеть, как я управляю парой агентов, и сделал эту фотографию. К счастью, у меня три монитора, так что это работает довольно хорошо. Это моя новая реальность. Итак, индустрия... простите, вот как я себя чувствую, оркеструя кучу агентов. Да, это странно, но это весело. И индустрия меняется, верно? Вот почему вы все здесь, и я тоже адаптируюсь. С прошлого года, с декабря 2025 года, я больше не кодирую. Я только промпчу. Да, и даже эта презентация была создана с помощью ИИ. Я ничего не делала. Итак, как вы можете видеть, это некоторые из моих недавних вкладов в Sentry, и я создала несколько PR вместе с моим любимым напарником Клодом. И это не просто исправления ошибок, знаете ли, это также новые функции, рефакторинг, кросс-репозиторные вклады. Так что это реально. Это работает. А это Sentry. Возможно, вы не знаете Sentry, но мы очень хорошо известны мониторингом ошибок и производительности, но мы выросли в полноценную платформу наблюдаемости. Так что у нас есть мониторинг ошибок, у нас есть метрики, у нас есть профилирование, у нас также есть агентурные инструменты для мониторинга ваших агентурных платформ. Да, кодовая база очень сложная, и она была основана в 2010 году. В ней более 15 лет кода. У нас около 400 сотрудников по всему миру. У нас 100 тысяч организаций зависят от этой кодовой базы, работая каждый день. И как сотрудник, я тоже завишу от работоспособности этой кодовой базы, потому что я получаю от нее зарплату, верно? Так что я не хочу просто поставлять низкокачественный код. Да, это серьезный бизнес. И у нас тоже есть код в Sentry. Недавно у нас был хакатон, где у нас было несколько дней, чтобы просто ознакомиться с ИИ и попробовать новые вещи, и из этой недели, этого хакатонского проекта вышло много хороших проектов. И у нас есть, например, Abacus. Он был создан для отслеживания использования ИИ внутри Sentry. У нас есть Warden. Это агент для обзора кода. Он может быть в ваших PR. У нас есть Junior. Junior — это бот, который у нас есть в Slack, и потому что обычно люди видят, например, "О, мне не нравится этот интерфейс. Что-то изменилось. Можете исправить или почему это изменилось?". Они любят делиться чем-то, возможно, какой-то ошибкой, которую они нашли в Slack, и тогда мы можем просто вызвать Junior, и Junior может проанализировать эту ветку и создать PR, а я пойду и исправлю ошибку. И людям очень весело с Junior. Дэниел может, да, ему это нравится. И есть также этот репозиторий тестирования SDK ИИ. Он был создан до этого хакатона, но это, по сути, репозиторий, где мы создаем тесты для наших интеграций с ИИ. И это было действительно странно, потому что я начала вносить свой вклад в этот репозиторий, и моя команда сказала мне, что я вообще не должна кодировать. Я должна только промптить, пока не получу хороший результат. Так что это был другой опыт. Но да, это работает. Мы используем все эти инструменты внутри компании каждый день. И да, в Sentry мы полностью переходим на ИИ. Но качество по-прежнему имеет значение. Так что, также в Sentry в прошлом году в течение трех месяцев мы использовали это время как "месяц качества". Мы использовали это время просто для улучшения нашей кодовой базы. Например, удалили все типы из TypeScript или все "to-do", потому что обычно, я не знаю, у вас так же, но у нас было много "to-do" "сделать что-то другое в определенное время", и поэтому мы использовали это время для упрощения кода и удаления неиспользуемых флагов функций и действительно приведения нашей кодовой базы в хорошее состояние, и это очень важно, верно? Мы хотим этого. Это называется технический долг. И, как я уже говорила, кодовая база Sentry очень сложная, и это движущаяся цель. У нас около 100 PR сливаются каждый день. У нас четыре офиса. Sentry с открытым исходным кодом. Так что вы можете внести свой вклад в Sentry. У нас также есть контрибьюторы. И мы постоянно выводим из эксплуатации компоненты, добавляем новые компоненты, добавляем новые правила линтинга. Я не знаю, вы сами знаете. Как будто постоянно что-то происходит в Sentry. Я там уже более шести лет, и я могу поехать в отпуск, вернуться, и, возможно, мой PR будет полон конфликтов, и мне придется решать эти конфликты, и мне действительно нужно понять, как бы, постоянно мне нужно выравниваться и понимать что-то. Это ежедневная практика. И это не ново, верно? Вы знаете, есть исследования, подтверждающие это, например, 70%... вы можете подумать, что вы просто говорите ИИ исследовать кодовую базу и после этого что-то сделать, но, возможно, ИИ понял неправильно, понял неверно, понимаете? И вам тоже нужно понимать, потому что, возможно, вам нужно направить ИИ на правильный путь. Понимаете? И да. Вот как я использую ИИ. Это сделало меня быстрее, но не так, как вы, возможно, думаете, потому что раньше, скажем, произошел инцидент, и мне пришлось бы его отследить. Мне пришлось бы открыть PR, о, открыть GitHub, извините. Я иду к git blame и пытаюсь понять, где произошла регрессия, а теперь я могу просто ввести простую фразу, и у меня будет это за несколько секунд. Или раньше, возможно, продуктовое решение. Почему это изменилось? И тогда я бы, я не знаю, задал этот вопрос в Slack. Возможно, мой коллега находится в другой стране, в другом часовом поясе, и мне пришлось бы ждать ответа на следующий день, а теперь я могу просто спросить ИИ, и у меня есть ответ. Так что это было очень полезно, и это сделало меня очень продуктивной, но, как бы, часть понимания этого... да. И мои промпты повторялись. Так что у меня появилась идея позволить Клоду проанализировать мой кэш и посмотреть, так, он проанализировал 116 сессий и классифицировал все по шести категориям: понимание, модификация, процесс, обзор, генерация и другое. И угадайте что? Это впечатлило даже меня. Ой. Итак, 67% моего использования ИИ было пониманием, и только 2% — генерацией кода. Так что я была очень удивлена. Потому что мои промпты повторялись, повторялись, я создала для себя навык. Этот навык находится локально на моем компьютере, я могла бы поделиться им с кем-нибудь, если бы захотела, но я использую это для себя здесь, и он называется "Catch me up". Он структурирует эти вопросы понимания в шесть режимов исследования: архитектура, конвенция, отслеживание функций, синтаксис, тестирование и история. Итак, навык — это просто очень подробный промпт, верно? С очень четкими целями. Я могу сделать это здесь. Вы можете увидеть, как это выглядит. Но это просто MD-файл с человеческим языком. А я очень визуальный человек. Я много работаю в Sentry над фронтенд-частью. И мне нравится видеть вещи, чтобы понять. Так что этот навык дает мне, например, органограмму, структуру, таблицу, чтобы я могла понять. Думаю, это очень помогает. И теперь я могу дать вам короткую демонстрацию. Минутку. Кстати, это моя презентация. О, она здесь на самом деле. Я уже запустила этот навык, потому что, я не знаю, возможно, у меня возникнут какие-то проблемы, но. Вы помните тот проект, о котором я вам говорила, что я должна только промптить и больше не кодировать? В начале я не была знакома с этим проектом. Это был новый для меня репозиторий. И я использовала свой навык для этого. Я сказала: "Я новый контрибьютор. Помогите мне разобраться, как работает этот репозиторий, и объясните, как он имитирует Sentry envelope и перехватывает его во время тестов". Я использую Claude, как вы можете видеть, ой, и он дал мне здесь сводку. И мне нравится этот поток, как это работает. И здесь также ответил на мой вопрос: имитирует ли он конверты? Нет, перехватывает реальные. Они порождают коллектор. Да, я не буду это читать, но эта информация, вся эта информация очень полезна. Как бы, если бы у меня не было ИИ, мне пришлось бы делать это самой, понимаете? Я имею в виду, я не люблю просто поставлять что-то, чего я не понимаю. Если это проект "vibe coded", это нормально, но это реальный серьезный бизнес. Это моя работа. Так что, да. Этот навык очень помогает мне с этим, а также с обзором PR, потому что, возможно, я просматриваю PR коллеги. У меня много контекста, но недостаточно, чтобы одобрить этот PR. И я хотела получить этот контекст. Так что я использую этот навык, чтобы получить его. Хорошо. Итак, вернемся к моей презентации "vibe coded". Джек Нэйшнс написал статью в блоге под названием "Vibe coding our way to disaster", опираясь на философию Рича Хикки "Simple Made Easy". Он предлагает три фазы: исследование, планирование и реализация. Думаю, вы тоже слышали об этом где-то, даже Cloud Code имеет этот режим планирования, верно? Итак, да, я согласна со всем этим, но думаю, что не хватает этого шага: вам нужно понять исследование, которое провел ваш агент, понимаете? Вам нужно понять это и направить, как я уже сказала, возможно, он идет в неправильном направлении, или, возможно, вам нужно исследовать что-то еще, и вам нужно иметь это, чтобы понять это. Затем после этого вы можете сказать: "Хорошо, спланируй это для меня, и давай приступим к реализации, давай вперед". Итак, Армин Ронахер, создатель Flask и бывший сотрудник Sentry. Сейчас он работает над своим собственным стартапом. Сегодня он будет выступать здесь, кстати. Он здесь. Итак, он написал в своем блоге: "Когда все больше и больше людей говорят мне, что они больше не знают, какой код находится в их собственной кодовой базе, я чувствую, что что-то очень не так". И да, я согласна. Итак, я надеюсь, что вы сможете вынести из этой презентации то, что самое большое достижение ИИ в большой кодовой базе — это не генерация. Это понимание. Я отслеживала свое собственное использование и была удивлена. 67% моих промптов — это понимание, и только 2% — генерация. Возможно, вы тоже отследите свое собственное использование ИИ и сможете его улучшить, верно? Итак, ИИ — это напарник, который никогда не устает от ваших вопросов. Так что глупых вопросов не бывает. Это самый дешевый старший инженер. Так что просто вперед. Да, и выровняйте свою ментальную модель перед тем, как промптить, потому что вы знаете, что код будет течь естественно, и не поставляйте низкокачественный код в кодовую базу, которая платит вам зарплату. Поставляйте код уровня "keynote". Действительно. Это термин, который использует индустрия. И да, спасибо. Попробуйте Sentry. Это был спонсируемый доклад. У нас есть стенд внизу, если вы хотите зайти поздороваться. Если вы отсканируете этот QR-код, вы получите трехмесячную бесплатную пробную версию нашего бизнес-плана, и я надеюсь, вам понравилась презентация.