Copilot и документация
Вчера провел с коллегой эксперимент.
Коллега подключил в редакторе Copilot и говорит — смотри, как круто он генерит
комментарии к функции! Скажем, для функции generate-time-buckets(account,
time-frames)
пишет что-то вроде “generate time buckets for given account and
time frames”.
Мда, содержательно: для generate-time-buckets
получить “generate time
buckets”… Мне такой подход кажется малоинформативным: очевидно, Copilot берет
сигнатуру и аргументы, конкатит их, разбивает на лексемы и причесывает, чтобы
смотрелось по-человечески.
Предложил эксперимент: пишем фукнцию, которая тупо складывает два числа: return
a + b
. Называем функцию delete-file
и просим Copilot написать докстринг. Что
он пишет? Правильно, “Delete а file”. Есть и второй вариант — “Delete a file
from S3”, видимо, для корпоративных клиентов в облаке.
Словом, теперь у нас ИИ-комментарии, а чего мы добились и какую проблему решили — не понятно.
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter
Роман, 19th Dec 2024, link
Ну а ваш коллега более информативные комментарии генерит?
Часто встречаю эти претензии к ИИ, но как правило если попросить человека сделать тоже самое то результат редко когда сильно лучше.
При всём моём неоднозначном отношении к ИИ хайпу, Copilot вполне себе рабочая штука если не ждать от него чудес.
Вся его прелесть раскрывается в рутине, типа раскидать json в какую-нить схему. Он вполне понимает контекст и делает это довольно неплохо. Изредка даже возникает вау эффект.
F, 28th Dec 2024, link
Я бы тут сказал, что дело не в лучше/хуже, а в том, что постановка задачи решает многое, как с людьми, так и с ИИ. Я вот не вполне понимаю, чего ждать, если попросить человека написать доку к функции delete-file складывающую два числа, то что он встанет и уволится?) P.S. Чгпт тоже написал, что функция удаляет файл (логично, если подумать, все таки названия для нас это чуть больше, чем набор буков), добавив, что пока что это мок, складывающий два числа
Eric, 9th Jan 2025, link
Yeah one should not use LLMs like a monkey and expect them to build nuclear reactors for us. On the other hand given sufficient context around problems I’ve been able to parallelize a lot of problem solving. It is still not perfect and I am not sure whether or not it saves time already overall after including the proofreading, but since the models keep improving it will definitely be a must know tool in the future.