Попробовал Github Copilot. Это проект, в рамках которого Гитхаб обучил нейросеть на миллионах строк программного кода, загруженного людьми, и теперь она вроде как способна предлагать автоматическое дополнение к тому, что вы пишете.
В теории, если вы напишете название функции, например public int Fibonacci(int n), то она сразу предложит вам автоматически подставить всё остальное.
Конкретно с этим примером система действительно справляется, но в целом впечатления у меня от неё смешанные, и на мой взгляд она пока что не стоит тех $10 в месяц, которые за неё просят после тестового двухмесячного периода.
Я уже писал ранее о своём отношении к нейросетям. В задачах дополнения данных они работают средненько: значимый процент решений будет с ошибками. Вот и здесь — сначала я подумал, что Copilot сможет за меня копипастить популярные однотипные куски кода из интернета. Например, я не помню алгоритм Вагнера-Фишера, постоянно его копирую из своих других проектов, часть из которых выложена на Github и наверняка была передана в обучение Copilot. Я предложил нейросетям мне этот алгоритм написать, они написали что-то отдалённо похожее. Внешне выглядело убедительно и даже компилировалось, но работало неправильно, и при ближайшем рассмотрении оказалось, что там просто случайно надёрганные строчки из настоящего алгоритма. Некоторые проверки по 2 раза, а часть нужной логики упущено совсем. Об оформлении кода вообще говорить не стоит: пока всё, что мне выдавалось, оформлено плохо, и на ревью я бы написал разработчику несколько замечаний.
Однако, в других местах работает, как задумано. Если у вас есть дуальные функции, оно умеет предлагать дописать остаток (пример на скриншоте ниже). Но из того, что я попробовал, только процентов 20 случаев реально были полезны. Остальные 80% или вообще неверный код, или правильный, но такой неаккуратный, что лучше самому написать.
Есть ещё проблема: массовый копипаст довольно опасен, потому что легко пропустить какую-то мелочь. В идеале нужно весь вставленный код проверять построчно, но по когнитивной нагрузке это близко к тому, чтобы создать его самостоятельно. И человеческое внимание совершенно точно будет расслабляться и размываться при работе с такими средствами автодополнения, а, значит, неизбежны ошибки. На месте чувствительной к багам энтерпрайз-разработки я бы вообще запрещал бы своим сотрудникам применять Copilot.
С другой стороны, возможно, подобная утилита хорошо зайдёт для прототипирования, на хакатонах, на стримах с демонстрацией разработки чего-нибудь. У меня будет возможность проверить на соревновании через месяц, но в работе скорее всего отключу.
#dev
Итог вайб-эксперимента
Реализовал скрипт (тг-бот) и тг-канал как вполне логичное продолжение всей истории.
✔️https://t.me/El_Reference - сам канал
Бот это такая универсальная автоматизированная система, позволяет скачивать с любых платформ, анализировать контент, создавать теги, грузить автоматически в Eagle с тегами и это все добро выкладывать в канал
Цель сформировать публичную базу референсов для разных специалистов
Для удобства поиска в каждом посте прописаны теги. Теги формируются на основе нейро-анализа.
Алгоритм взаимодействия таков
Тебе нужны референсы с тачками. Смотришь пинтерест, беханс, свои сохранные референсы. Либо находишь, либо не находишь. В том случае, если поиск того самого не удалась, то заходишь в мою базу. Пишешь хэштег #motion и тег "car" или "automobile". Дальше смотришь посты, в котором этот тег присутствует. То есть разница со всем остальным поиском в том, что есть теги, а не просто ссылка на видео или пустое видео без каких-либо зацепок для поиска, которая превращается в один большой хлам без возможности поиска внутри
Планы
Тестить, тестить и тестить. И разобраться самим ботом. Возможно ли это из локальной истории, которая работает только у меня, перенести в публичную. Чтоб, например, каждый через этого бота смог скачивать с любых платформ. Чтоб механизм метча Eagle + Бот работал тоже и у остальных людей. Ответов не знаю. Буду думать и пробовать.)
#Портфолио
⚖ В дополнение к предыдущему посту, делюсь образцами motion, которые используются в США:
1. Motion to dismiss - это ходатайство о прекращении судебного процесса. Такой motion может быть подан, если истец не имеет права на предъявление иска, если иск не соответствует требованиям формы или содержания, или если иск был предъявлен после истечения срока исковой давности.
2. Motion for summary judgment - это ходатайство о резолютивном решении, которое может быть подано любой из сторон в процессе. Суть такого motion заключается в том, чтобы убедить суд в том, что все необходимые факты и доказательства в данном деле уже известны, и что их интерпретация не допускает иного вывода, кроме того, который предлагает подавец motion. Если суд одобрит motion for summary judgment, то это может привести к прекращению судебного процесса без необходимости проведения полноценного судебного разбирательства.
3. Motion to compel discovery - это ходатайство о принуждении на предоставление доказательств. Если одна из сторон не предоставляет необходимых доказательств, то другая сторона может подать такой motion, чтобы вызвать ее к ответу.
4. Motion for continuance - это это ходатайство о переносе даты судебного заседания. Такой motion может быть подан, если одна из сторон не готова к разбирательству в заявленную дату.
5. Motion in limine - это ходатайство о предварительном исключении доказательств или установление определенных правил в отношении представления доказательств на судебном процессе. Например, такой motion может быть подан для того, чтобы запретить сторонам использовать определенные доказательства или для того, чтобы установить правила касательно способа представления доказательств.
6. Motion for reconsideration - это ходатайство о пересмотре судебного решения. Такой motion может быть подан, если сторона не согласна с решением суда и хочет, чтобы суд пересмотрел свое решение на основании новых доказательств или аргументов.
7. Motion to quash - это ходатайство об отмене судебного приказа. Такой motion может быть подан, если сторона не согласна с приказом суда и хочет, чтобы суд отменил его.
8. Motion for sanctions - это ходатайство о наложении санкций на сторону, которая нарушила правила судебного процесса. Например, такой motion может быть подан, если сторона не предоставляет необходимые доказательства или если она злоупотребляет правом на подачу многочисленных ходатайств.
Это только некоторые из наиболее распространенных типов motion в американском праве. Каждый конкретный судебный процесс может иметь свои особенности и требования в отношении подачи и рассмотрения motion.
#uslaw, #motion
✍ Тут вчера мне написали с просьбой объяснить, что такое motion. Motion - это американская правовая концепция нежели английская. Но в любом случае, я постараюсь объяснить вкратце что это.
🇺🇸 В американском праве термин "motion" обычно относится к формальному запросу, который предъявляется суду в ходе судебного процесса.
📝 Motion может быть подан любой стороной в процессе (например, истцом, ответчиком или третьей стороной) и может быть связан с различными вопросами, например, с требованием о разрешении какого-либо вопроса до начала судебного процесса, или с требованием о прекращении процесса, а также с запросом на изменение судебного решения.
🗂 Существует множество различных типов motion, которые могут быть поданы в судебном процессе, включая motion to dismiss (запрос на прекращение судебного процесса), motion for summary judgment (ходатайство о резолютивном решении), motion for continuance (запрос на перенос даты судебного заседания), motion to compel discovery (запрос на вынуждение предоставления доказательств) и многие другие.
#motion, #uslaw