Этот плагин Claude Code пишет на 94% меньше кода (ponytail)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업경영/리더십

Transcript

00:00:00Вы его знаете. Длинный хвост, очки в овальной оправе, работает в компании дольше, чем сама система контроля версий.
00:00:06Вы показываете ему 50 строк, он смотрит на них, ничего не говорит и заменяет их одной.
00:00:11Это эпическое описание новой библиотеки под названием Ponytail, которая, полагаю, в каком-то смысле
00:00:17близка многим. Мы все знаем того самого разработчика уровня 10x, который идеально соответствует этому описанию. Но Ponytail
00:00:23на самом деле очень крутой инструмент. Он заставляет вашего ИИ-агента для кодинга мыслить как самый ленивый
00:00:29старший разработчик в комнате. И это на самом деле комплимент. Так что в этом видео мы рассмотрим Ponytail,
00:00:35увидим, как он работает, и проведем несколько забавных демонстраций, чтобы выяснить, стоит ли этот парень того.
00:00:41Будет весело, так что давайте начнем.
00:00:48Итак, миссия Ponytail проста. Сохранять все максимально лаконичным, устранять избыточность, которую обычно создают
00:00:55ИИ-агенты, и пытаться найти самое простое решение проблемы, какое только возможно.
00:01:00Это чем-то похоже на Caveman — библиотеку, которая заставляла ИИ-агентов писать меньше кода,
00:01:06а следовательно, тратить меньше токенов. Джеймс также сделал отличное видео об этом здесь. Главная идея
00:01:12заключается в следовании принципу YAGNI, что расшифровывается как “you ain't gonna need it” (вам это не понадобится).
00:01:18Это идея из программной инженерии 90-х годов. Суть её в том, чтобы не создавать ничего, пока
00:01:25вы действительно в этом не нуждаетесь. Не добавляйте уровень абстракции, не устанавливайте библиотеку, не пишите класс.
00:01:31Если проблему можно решить без этого, просто решите её без этого. И Ponytail встраивает этот подход
00:01:37прямо в вашего агента, давая ему “лестницу решений”, по которой он должен подняться, прежде чем что-либо написать. Должно ли
00:01:43это вообще существовать? Может ли стандартная библиотека справиться с этим? Есть ли нативная функция платформы для этого? Есть ли
00:01:50уже установленная зависимость, которая это делает? Можно ли сделать это одной строкой? Только если на каждый из этих
00:01:57вопросов ответ “нет”, он действительно пишет новый код. И даже тогда он ограничивается минимумом, необходимым
00:02:04для работы.
00:02:05Если мы посмотрим на их примеры, особенно на пример с модальным диалоговым окном, мы получим четкое представление об
00:02:11этой методологии. Обычный агент, когда его просят добавить модальное окно для подтверждения удаления,
00:02:18сразу бросится устанавливать библиотеку Radix UI, например React dialogue, и добавит вам
00:02:25зависимость, портал, оверлей, корневой элемент, триггер, обертку для контента, просто чтобы показать коробку с двумя
00:02:34кнопками. Но Ponytail смотрит на это и говорит: “Эй, в браузере уже есть элемент dialog”. Он автоматически
00:02:41захватывает фокус, закрывается по нажатию на Escape, отрисовывает подложку с помощью одного CSS-селектора,
00:02:49и он поддерживается всеми основными браузерами с 2022 года. Так что вместо 30 строк из NPM-пакета,
00:02:58вы получаете восемь строк и ноль зависимостей. И этот маленький комментарий Ponytail прямо здесь
00:03:04точно говорит вам, что он пропустил и почему. Так что если однажды вы решите обновить это
00:03:11до версии Radix или чего-то более навороченного, вы будете знать, где искать и что было отложено.
00:03:16Так что это лень, но не безответственность. И, приняв эту лень, Ponytail утверждает, что может
00:03:22сократить ваши расходы на 47–77%. И они действительно приводят некоторые бенчмарки в поддержку этого утверждения. Давайте
00:03:29взглянем на них на мгновение. У нас есть три метода: без использования чего-либо, использование Caveman и использование Ponytail.
00:03:36Три модели и пять повседневных задач. Десять запусков для каждой ячейки и для каждой из них — медианный результат. И
00:03:43критически важно, что они также проверяют корректность. Сломанная однострочная запись, которая отлично оценивается по количеству строк кода, не пройдет проверку
00:03:50корректности. Так что дело не только в том, чтобы написать меньше, результат должен реально работать. И есть также интересный
00:03:56нюанс, который стоит отметить. Стоимость отражает одиночные вызовы, которые каждый раз повторно отправляют навык. Другими словами,
00:04:03бенчмарк работает путем отправки свежего API-запроса для каждого теста. И каждый раз, когда он это делает, он включает
00:04:10полный набор правил Ponytail в промпт. То есть в бенчмарке Ponytail штрафуется за стоимость
00:04:16своих собственных инструкций в каждом тесте. В реальной жизни вы платите за эти инструкции примерно один раз
00:04:22за сессию. А после этого они кэшируются. Это означает, что цифра 47–77% экономии на самом деле
00:04:29преуменьшена. В реальной рабочей сессии, растянутой на множество промптов, преимущество в стоимости еще больше,
00:04:36потому что стоимость внедрения навыка распределяется по всему диалогу. При этом есть
00:04:42обоснованная критика, которую стоит упомянуть. Недавняя запись в блоге Колина Эберхардта указывает
00:04:48на то, что если вы замените Ponytail тремя простыми словами: “следуй принципам YAGNI”, результаты
00:04:55принципов Yagni, и результаты почти идеально совпали с показателями Ponytail. А при расширении до семи слов: «следуй принципам Yagni
00:05:03принципам YAGNI и однострочным решениям”, то результат даже превзойдет бенчмарк. Так является ли Ponytail магией или это просто хорошо упакованный
00:05:11промпт? Честно говоря, это справедливый вопрос. Но я бы сказал, что упаковка и есть продукт. Вы получаете нужные правила,
00:05:18внедряемые автоматически через разные агенты с командами, инструментами аудита и журналом глубины в придачу. Кроме того,
00:05:25у Ponytail есть другие крутые фишки. “Следуй YAGNI” в системном промпте не дает вам
00:05:31функцию аудита или обзора Ponytail. Но давайте проверим это на простом примере.
00:05:37Итак, у меня открыты два экземпляра Cloud Code, и в одном из них я установлю плагин Ponytail
00:05:44только для локального контекста. А другой будет просто обычным экземпляром Cloud Code без
00:05:49активированных плагинов. Я дам им обоим один и тот же промпт: создать приложение «погодный дашборд», которое определяет местоположение пользователя
00:05:56и показывает текущие погодные условия вместе с некоторыми другими функциями. И я запущу тот же самый
00:06:02промпт в обоих экземплярах, с единственным исключением: для того, который с Ponytail, я также попрошу
00:06:08его использовать навык Ponytail, потому что иногда он не подхватывает его автоматически. Так что спустя несколько
00:06:12моментов мы видим, что версия с Ponytail уже закончила задачу менее чем за минуту, в то время как
00:06:18обычная версия все еще продолжает работу. Также мы видим очень лаконичный обзор того, что было создано, и от чего Ponytail
00:06:25решил отказаться ради максимальной эффективности. Как видно здесь, он предпочел собрать все в один HTML-файл.
00:06:34Между тем, в обычном окне задача была выполнена за две минуты 30 секунд. И мы уже видим, что эта
00:06:41версия гораздо более громоздкая. У нас есть три отдельных файла, и эта версия работает через Python-сервер.
00:06:48Хотя это ни в коем случае не плохой результат, он гораздо более переусложненный, чем первая версия.
00:06:54Но давайте посмотрим, как они работают. Сначала версия без Ponytail.
00:07:00И хотя приложение выглядит отлично, интерфейс прекрасен, и API получает информацию, как ожидалось,
00:07:07я довольно разочарован тем, что оно не определило мое местоположение автоматически, как я просил.
00:07:12Вместо этого он показывает Лондон как первый результат по умолчанию. Но теперь, перейдя к версии с Ponytail,
00:07:19мы можем четко видеть, что при открытии он запрашивает мое текущее местоположение, а затем выводит погоду,
00:07:25соответствующую этому местоположению. Так что, хотя интерфейс, возможно, не такой навороченный, и приложение более простое,
00:07:33оно выполнило инструкции более точно, чем обычная версия, что довольно удивительно, честно говоря.
00:07:39И напоследок давайте посмотрим на использование ресурсов. И здесь мы видим, что да, действительно, версия с Ponytail
00:07:45оказалась на 50% дешевле, чем стандартная версия. И он также произвел гораздо меньше строк кода.
00:07:52И, как мы только что убедились, он справился даже лучше с точки зрения функциональности, чем стандартная версия.
00:07:58Так что это доказывает, что Ponytail действительно работает как ожидалось и создает более лаконичный код.
00:08:04Поскольку этот тест был таким успешным, я решил сделать кое-что еще более интересное.
00:08:09Что, если я объединю Caveman и Ponytail вместе для максимальной эффективности? Что это нам даст?
00:08:17В этот раз я активировал оба плагина в новой директории и снова запустил тот же промпт.
00:08:22И, опять же, задача была выполнена менее чем за минуту, а вывод был довольно похожим.
00:08:28И у меня была та же функциональность. Так что все сработало как ожидалось.
00:08:32Но если мы посмотрим на результат, он не сильно отличался от версии с Ponytail, а комбинация Caveman
00:08:37плюс Ponytail оказалась даже немного дороже, чем автономная версия Ponytail.
00:08:44Так что это показывает, что их объединение не дает никакого значительного улучшения.
00:08:49Так что вы можете продолжать использовать только Caveman или, что еще лучше, выбрать Ponytail.
00:08:54Если мы можем верить их бенчмаркам, что он действительно лучше, чем Caveman.
00:08:58Вот так, ребята. Это был Ponytail вкратце.
00:09:02Я, честно говоря, искренне впечатлен тем, какой качественный результат Claude смог выдать
00:09:07с навыком Ponytail, при этом уменьшив раздутость кода и сохранив качество.
00:09:13Полагаю, это доказывает, что многие из наших решений в программировании, вероятно, избыточны
00:09:19и иногда меньше — это действительно лучше, если использовать это правильно.
00:09:23Так что я определенно оставлю Ponytail в качестве плагина в своей связке с Claude Code
00:09:29и, вероятно, буду использовать его в будущих проектах.
00:09:31А что вы думаете о Ponytail? Пробовали его?
00:09:34Будете ли вы его использовать? Дайте нам знать в комментариях ниже.
00:09:37И ребята, если вам нравятся подобные технические разборы,
00:09:40пожалуйста, дайте мне знать, нажав на кнопку лайка под этим видео.
00:09:44И также не забудьте подписаться на наш канал.
00:09:47С вами был Андрус из BetterStack, и увидимся в следующих видео.

Key Takeaway

Использование библиотеки Ponytail оптимизирует работу ИИ-агентов через строгий принцип YAGNI, сокращая объем создаваемого кода и затраты на API до 77% за счет приоритета нативных возможностей браузера перед внешними зависимостями.

Highlights

  • Библиотека Ponytail снижает расходы на использование ИИ-агентов для кодинга на 47–77%.

  • Принцип YAGNI (you ain't gonna need it) заставляет ИИ избегать добавления лишних абстракций, классов и зависимостей.

  • В тесте по созданию «погодного дашборда» версия с Ponytail выполнила задачу менее чем за минуту, а стандартная — за две минуты 30 секунд.

  • Ponytail использует «лестницу решений», заставляя ИИ проверять наличие нативных возможностей платформы или стандартных библиотек перед написанием нового кода.

  • Приложение, созданное с Ponytail, оказалось на 50% дешевле в производстве и точнее в реализации функционала автоматического определения геолокации.

  • Объединение Ponytail с библиотекой Caveman не дает значительного прироста эффективности или экономии ресурсов.

Timeline

Миссия и методология Ponytail

  • Ponytail заставляет ИИ-агентов работать по принципу «ленивого старшего разработчика», минимизируя избыточность кода.
  • Принцип YAGNI диктует отказ от создания классов, абстракций и установки библиотек, если проблему можно решить проще.
  • ИИ следует «лестнице решений», проверяя стандартные библиотеки и нативные функции перед написанием нового кода.

Инструмент имитирует подход опытных разработчиков, которые избегают лишней сложности. Вместо установки тяжелых NPM-пакетов, таких как Radix UI для модальных окон, Ponytail задействует нативный HTML-элемент dialog. Это позволяет сократить объем реализации с 30 строк кода до 8 строк без использования внешних зависимостей.

Бенчмарки и экономическая эффективность

  • Бенчмарки показывают экономию затрат в диапазоне 47–77% при использовании Ponytail.
  • В реальных рабочих сессиях экономия выше, так как инструкции Ponytail кэшируются и их стоимость распределяется по всему диалогу.
  • Критики отмечают, что аналогичных результатов можно добиться системным промптом, требующим соблюдения YAGNI.

Результаты тестов подтверждают снижение расходов, несмотря на то что бенчмарк учитывает стоимость отправки правил Ponytail в каждом API-запросе. Хотя Ponytail можно заменить коротким промптом, продукт предлагает автоматизированную упаковку с инструментами аудита и журналами глубины.

Практическое сравнение и выводы

  • Версия с Ponytail создала приложение за минуту, а стандартная версия потратила две минуты 30 секунд.
  • Ponytail лучше справился с выполнением функциональных требований, включая автоматическое определение местоположения.
  • Комбинирование Ponytail и Caveman не улучшает показатели и увеличивает стоимость использования.

Тестирование на задаче по созданию погодного дашборда показало превосходство Ponytail: код был более лаконичным, а функционал точнее соответствовал запросу. Интеграция с другими подобными плагинами признана избыточной и неэффективной.

Community Posts

View all posts