Сообщество RSS DEV

Я построил шлюз слияния, который опрашивает разработчиков об их собственных изменениях в коде — вот почему и как.

Автор обращается к растущей проблеме слияния кода без должного понимания, усугубляемой инструментами кодирования на основе ИИ. Чтобы бороться с этим, они создали Commit Comprehension Gate (CCG), GitHub Action, предназначенное для обеспечения понимания разработчиками своего кода перед слиянием. CCG перехватывает запросы на вытягивание и использует API Anthropic для создания вопросов с несколькими вариантами ответов на основе изменений в коде. Эти вопросы публикуются в виде комментариев, и слияние блокируется до тех пор, пока автор не ответит на них правильно. Ключевым решением при разработке было создание системы без сохранения состояния, избегая необходимости во внешней базе данных или службе хранения. Ключ к ответам хитроумно хранится в виде закодированного в base64 скрытого HTML-комментария в комментарии к запросу на вытягивание. Это позволяет мгновенно проверять ответы после первоначального вызова API для генерации вопросов. Только автор запроса на вытягивание может отвечать на вопросы, что не позволяет товарищам по команде или ботам обходить шлюз. Затраты поддерживаются на низком уровне за счет ограничения вызовов API, обычно составляя 0,05–0,10 доллара США за запрос на вытягивание. CCG предназначен для команд, которые испытывают трудности с поверхностными обзорами кода и кодом, сгенерированным ИИ. Проект имеет открытый исходный код, легко настраивается и поощряет обратную связь от пользователей. Автор подчеркивает, что CCG заставляет разработчиков демонстрировать понимание вносимых ими изменений. Этот инновационный подход обеспечивает более глубокое понимание объединенного кода.
favicon
dev.to
I built a merge gate that quizzes developers on their own code changes — here's why and how
Create attached notes ...