Пластмассовый мир победил
ИИ оказался сильней.
Ладно, пока не сильней. Местами тупей и наворачивает ненужной сложности, но уровень технологий впечатляет. О чем это я?
Мне попалась новость о появлении у GitHub Copilot нового режима - coding agent. В отличии от Agent mode, в котором копилот работает вместе с вами в вашей IDE, периодически что-то предлагая, Coding Agent работает полностью автономно, в облаке. А точнее в GitHub Codespaces - виртуалке на мощностях GitHub с доступом ко всей инфраструктуре GitHub.
https://docs.github.com/en/enterprise-cloud@latest/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilotТочка входа - назначить GitHub Copilot исполнителем на каком-то из ишузов и... Дальше оно практически само.
Копилот сам создаст бранч для решения задачи, проанализирует требования из ишуза, текущую кодовую базу, напишет тесты, напишет реализацию, закоммитит все это добро и пришлёт pull-request вам на ревью. И все это нативно в интерфейсе GitHub, и без потери контекста, в отличии от, например, Sentry AI с режимом Autofix.
По традиции, первой диагностикой, разрабатываемой в стат анализаторах, является проверка на длину строки. Так было и в пульском сонар плагине, так было и с бсл лс. И удачно подвернулась задача на доработку этой диагностики - возможность игнорировать висячие комментарии.
https://github.com/1c-syntax/bsl-language-server/issues/3390С учётом наличия параметра на игнорирование длины строк для описания методов и самой сути висячего комментария, задача не то чтобы прям очень сложная, но запарная. Перебор токенов текста вообще дело неблагодарное, а тут ещё их в нескольких режимах и по-разному надо проверять.
И Копилот справился. Прислал пулл-реквест:
https://github.com/1c-syntax/bsl-language-server/pull/3481В начале реализация была не самая оптимальная, но в целом работало. После пары уточнений, вопросов и придирок на код ревью (ахахахах, Андрей
@theEvilBeaver, у меня теперь новая жертва!), он выдал вполне сносный код с тестами, документацией на двух языках, внятным описанием изменений. Даже у CodeRabbit не нашлось к чему придраться, а он даже в chill режиме периодически задалбывает.
Вот тут можно посмотреть за его рассуждениями:
https://github.com/1c-syntax/bsl-language-server/pull/3481/agent-sessions/854ccb15-e1da-4367-a761-7efb0c3441fe В общем, штука очень перспективная. И чую, позволит мне начать закрывать ишузы бсл лс намного быстрее. Единственный неприятный момент - на текущий момент доступна эта фича только в самом дорогом плане GitHub Copilot Pro+, за 39 евро в месяц. Я не бедствую, но жаба если честно, поддушивает. Если к двум существующим платным подписчикам (Саша и Женя - спасибо! <3), добавится ещё хотя бы два, то, не считая комиссии на вывод, я хотя бы выйду в ноль. Если три, то даже считая комиссию (эмэйзинг).
Так что если у кого-то из вас есть непреодолимое желание делиться деньгами, то напомню, что для этого у меня есть кнопочки:
*
разовый донат*
ежемесячная подписка В любом случае, спасибо, что вы есть, с донатами или без.
Всегда ваша,
Бусти-шаболда <3