Разработка, связанная с Claude и Discourse. Насколько она хороша?

Я изучил https://github.com/discourse/discourse/blob/main/AI-AGENTS.md.

У меня есть вопросы!

  • НИКОГДА не сохраняйте результаты find() — это приводит к устаревшим ссылкам на элементы после повторного рендеринга

ВСЕГДА проверяйте любые внесённые вами изменения с помощью линтера

Понимают ли ИИ-модели акцент, сделанный заглавными буквами? Повели бы они себя иначе, если бы было написано «Никогда» и «Всегда»?

Становятся ли такие формулировки, как «режим архитектора» или другие промпты в стиле «режим xxx», мягкими стандартами в разработке ИИ? Оказывают ли они реальное влияние на поведение модели? Или это просто условные соглашения?

  • Не пишите очевидные тесты

Я понимаю, что такое очевидный тест, но понимают ли ИИ-модели, что имеется в виду под «очевидным тестом» (или вообще «очевидным» чем-либо)?

Несколько дней я экспериментировал с Claude в VSCode. Удивительно наблюдать, как всё работает само по себе: чтение, создание и изменение файлов, выполнение команд bash и т. д… :exploding_head:

Что касается работы Claude по созданию плагинов, вот что я заметил:

  • При итеративной работе с одними и теми же фрагментами кода и решении проблем он склонен использовать чрезмерно специфичные имена переменных. Например, он может назвать переменную original_url вместо простого и лаконичного url, словно пытаясь подчеркнуть внесённые изменения, хотя в этом нет необходимости.

  • Итерации часто приводят к запутанному коду и иногда к излишне сложным запросам. Периодически просить ИИ проанализировать код и указать части, которые можно рефакторить, — это проверенный способ избежать такой ситуации :slight_smile:

  • При запросе решений для конкретной проблемы я был доволен полученными ответами.
    Предложения кажутся точными. Когда он предлагает несколько вариантов, он может грамотно взвесить плюсы и минусы каждого из них.

  • В SCSS он (редко) использует жёстко заданные цвета там, где это не рекомендуется, вместо использования переменных цветов Discourse.

  • По-видимому, он не знаком с Designing for Different Devices (Viewport Size, Touch/Hover, etc.) и полагается на стандартные медиа-запросы.

  • После выполнения нескольких задач я люблю просить ИИ проанализировать код и посмотреть, можно ли оптимизировать некоторые части без ущерба для поддерживаемости. С результатами у меня не было серьёзных проблем. Иногда он вносит слишком много изменений и ломает код.

  • Иногда, похоже, он создаёт избыточные условия ради безопасности и надёжности, но для ситуаций, которые, насколько я понимаю, в реальных условиях не возникают.
    Например, в моём плагине, связанном с поиском, он проверяет, есть ли у поста какие-либо темы. Но посты без темы в Discourse, как мне кажется, существовать не должны. Если такой пост появился, значит, где-то в вашем экземпляре произошло что-то серьёзно не так, верно? Мне кажется, что проверка этого в моём плагине бессмысленна. :thinking:

  • Он неплохо справляется с созданием заготовок для тестов!

В целом, опыт пока положительный, даже без использования продвинутых настроек ИИ.
Я потратил свою недельную квоту за четыре дня, что отлично, потому что это вынуждает меня сделать трёхдневный перерыв :raising_hands:

Любопытно посмотреть, как всё изменится, когда к Discourse будут добавлены специализированные навыки для ИИ.