Главная Веб-разработка Трудности разработчиков, провал Copilot и вызовы ИИ в Африке

Трудности разработчиков, провал Copilot и вызовы ИИ в Африке

от admin

IT-дайджест: главные новости августа 2024 года.

Сегодня в дайджесте: почему стоит разрабатывать собственный язык программирования, какими качествами должен обладать хороший разработчик, с какими вызовами столкнулись создатели чат-ботов в Африке, как сохранить своё цифровое наследие и какие нейросети лучше всего подходят для кодинга в 2024 году.

ChatGPT vs традиционное обучение: почему готовые ответы могут навредить

Нейросети превратились в незаменимых помощников программистов при отладке кода, исправлении ошибок и выполнении рутинных задач. Однако возникает вопрос: действительно ли мы учимся, используя их? Или же это лишь иллюзия прогресса?

Чтобы найти ответы, профессор компьютерных наук Массачусетского технологического института Эрик Клопфер провёл эксперимент. Он разделил студентов на три группы и дал им задание на незнакомом языке программирования Fortran:

  • первая группа могла использовать ChatGPT;
  • вторая — LLM Code Llama;
  • третья — только поисковик Google, без нейросетей.

Результаты эксперимента оказались предсказуемыми:

  • первая группа справилась быстрее всех благодаря способности ChatGPT быстро находить и исправлять ошибки;
  • второй группе понадобилось чуть больше времени, так как LLM Code Llama требовал более точных запросов и не всегда давал прямые ответы;
  • третья группа существенно отстала, поскольку студентам приходилось самостоятельно искать информацию, читать документацию и сопоставлять полученные ответы.

Затем профессор провёл проверку. Студенты из группы ChatGPT полностью провалили тест, в группе LLM Code Llama с задачей справилась только половина участников, а в группе Google все успешно выполнили задание.

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

80% разработчиков недовольны своей работой, но дело не в нейросетях и коде

Stack Overflow опубликовал результаты ежегодного опроса, в котором приняли участие более 65 000 инженеров из 185 стран. Большинство IT-специалистов недовольны своей работой: каждый третий её ненавидит, а почти половина просто «выживают». Рассмотрим три основные причины недовольства.

Вот как комментирует технический долг Алексей Некрасов, лидер направления Python в МТС и программный директор Python в Skillbox:

Нельзя прийти и создать сразу идеальный проект. Каждый день мы будем что-то узнавать о предметной области, и эти новые знания нужно сразу внедрять. Вначале это будут костыли, из которых копится технический долг, — и это нормально. Ведь мы не можем, получая новую информацию, каждый раз переписывать продукт заново. Бизнес нас не поймёт.

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

Усугубляет проблему бюрократия, особенно в крупных компаниях. Бесконечные совещания и нереалистичные требования от менеджеров могут вызывать чувство бессмысленности работы. Особенно это заметно, когда в течение дня административные задачи вытесняют написание кода и программистам приходится перерабатывать, чтобы не выпадать из графика.

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

Увольнение — это неконтролируемый фактор, на который мало кто из программистов может повлиять. Поэтому остаётся подходить к этому философски и заранее готовиться к возможному собеседованию.

От суахили до зулу: как нейросети покорили мир, но забыли про Африку

Пока эксперты строят прогнозы о захвате мира нейросетями, африканские инженеры заняты решением более насущных задач. Дело в том, что популярные чат-боты плохо понимают языки народов Африки. Например, на языках хауса или киньяруанда они могут выдавать бессмысленные ответы.

Если проблему не решить, в будущем миллионы африканцев могут оказаться отрезанными от ИИ-инструментов. Это, в свою очередь, увеличит риск роста цифрового и экономического разрыва между африканскими странами и остальным миром.

Первые шаги к исправлению ситуации сделало правительство Нигерии, выступив с инициативой по разработке многоязычной языковой модели. Задача нетривиальна, поскольку в Африке насчитывается более 2000 языков в 54 странах и многие из них недостаточно представлены в интернете. Немного упрощает задачу тот факт, что 50% всех африканских сайтов на английском языке. Также есть версии на испанском, немецком, японском и французском языках. В общем, есть неплохая основа для старта.

Наряду с инициативой правительства Нигерии, на африканском континенте появляются новые стартапы, работающие над созданием языковых ИИ-инструментов. Например, в Кении медицинская компания Jacaranda Health запустила первую языковую модель на суахили, чтобы улучшить охрану материнства в Восточной Африке. Возможно, именно в Африке зарождается новая кремниевая долина.

Трудности разработчиков, провал Copilot и вызовы ИИ в Африке

Диаграмма доступности перевода на африканские языки
Изображение: African Languages Lab

Лучшие и худшие чат-боты для кодинга в 2024 году

Редактор издания ZDNet Дэвид Гевиртц провёл исследование и определил, какие чат-боты лучше подходят для программирования. Он выбрал популярные нейросети и дал им четыре одинаковых теста: нужно было написать плагин для WordPress, переписать функцию, найти баг и написать скрипт.

Из платных инструментов лучше всего с тестами справился ChatGPT Plus (включает GPT-4 и GPT-4o). Далее идёт Perplexity Pro. Из бесплатных вариантов все задачи решили ChatGPT 3.5 и Perplexity Free. А вот следующие чат-боты смогли пройти только один из четырёх тестов: Meta* AI, Meta* Code Llama, Claude 3.5 Sonnet, Gemini Advanced. Microsoft Copilot вообще не справился ни с одним заданием.

Дэвид Гевиртц был удивлён результатами, но отметил, что их нужно воспринимать с осторожностью. Нейросети быстро развиваются, и в скором будущем результаты тестов могут измениться.

Трудности разработчиков, провал Copilot и вызовы ИИ в Африке

Рейтинг лучших нейросетей для кодинга в 2024 году по версии издания ZDNet
Изображение: David Gewirtz / ZDNet

Чему вы научитесь, создавая свой язык программирования

Разработчица Николь Титц-Сокольская считает, что каждому инженеру стоит попробовать создать свой язык программирования. Это отличный способ многому научиться:

  • Разобраться в грамматике и дизайне языка. Вы можете сделать свой язык императивным, функциональным или объектно-ориентированным — обдумав эти варианты, вы лучше поймёте, почему другие языки устроены именно так.
  • Освоить парсинг. При выборе парсера вы не только познакомитесь с различными подходами к анализу и интерпретации кода, но и поймёте, как программы считывают и обрабатывают команды. Это поможет вам осознать детали, которые раньше могли оставаться незамеченными.
  • Понять процесс выполнения кода. Это означает, что вам придётся написать компилятор и продумать его работу: как он будет обрабатывать ссылки на переменные, определять их местоположение в памяти и решать другие ключевые задачи.

Мой первый язык, Hurl, научил меня основам создания интерпретатора, проектирования языка и написания грамматики. Мой второй язык, Lilac, учит меня больше разбираться в системах типов, средах выполнения и инструментарии.

Ваш язык может оказаться неудачным, и это нормально. Важен сам процесс. Николь советует начать с хороших руководств, таких как Crafting Interpreters, Writing An Interpreter In Go или Build Your Own Lisp. Каждая из этих книг поможет вам лучше понять, как работают языки программирования.

Читать также:
ГРЧЦ предостерёг российских операторов связи от «ускорения» работы YouTube

Какими качествами должен обладать хороший разработчик и почему дело не только в коде

Знакомьтесь, Майкл Итон, инженер с 30-летним опытом. Он повидал различных программистов и поделился наблюдениями о качествах, присущих лучшим из них:

Я работал с людьми, которые, хотя и умели писать надёжный код, отталкивали от себя целые команды из-за своего огромного эго. Я работал со старшими разработчиками, которые не могли написать «Hello, world!» без посторонней помощи…

Перечислим качества, о которых говорил Майкл:

  • Умение эффективно общаться с людьми. Как разработчик, вы должны постоянно взаимодействовать с коллегами, клиентами или пользователями. Поэтому чёткое выражение мыслей помогает избежать недопонимания и способствует успешному решению задач.
  • Мышление роста и готовность делиться знаниями. Открытость к обучению и обмену опытом способствует профессиональному развитию и улучшает рабочую атмосферу в команде.
  • Своевременное обращение за помощью. Хороший разработчик умеет признавать свои ограничения и не стесняется обращаться за помощью, чтобы не затягивать сроки выполнения задачи.
  • Прагматизм. Практичный подход помогает находить эффективные решения в условиях ограниченных ресурсов. Например, прагматичный разработчик не будет создавать собственную библиотеку, если существуют подходящие готовые решения. Он использует то, что доступно.
  • Скромность и эмпатия. Эти качества помогают воспринимать конструктивную критику, извлекать уроки из ошибок и учитывать потребности других людей в процессе разработки.
  • Уверенность в себе. Разработчик должен не бояться принимать решения и брать ответственность за результаты работы в командных и индивидуальных проектах. Ошибки неизбежны, поэтому важно не избегать их, а извлекать из них уроки.
  • Благодарность. Выражение признательности за помощь и поддержку укрепляет рабочие отношения и создаёт дружественную атмосферу в команде.

Как нейросети могут повлиять на вашу карьеру? 25 вопросов для оценки перспектив

Футуролог Томас Фрей составил вопросы, которые помогут оценить влияние нейросетей на вашу работу в будущем. Он рекомендует рассматривать каждый вопрос с двух сторон: положительной и отрицательной. Вот пример: «Какие аспекты моей текущей работы могут быть автоматизированы с помощью искусственного интеллекта?» Возможные ответы:

✅ Автоматизация освободит меня от рутинных задач и даст больше времени для творчества.

❌ Если большая часть задач будет автоматизирована, то меня могут уволить.

Вот ещё примеры вопросов из списка Томаса Фрея:

  1. Какими я обладаю уникальными навыками, которые нейросеть не может воспроизвести?
  2. Может ли искусственный интеллект улучшить или дополнить мою текущую роль, а не заменить её?
  3. Какие новые возможности могут появиться в связи с ростом использования ИИ в моей области?
  4. Как я могу адаптировать свои навыки, чтобы оставаться конкурентоспособным на рынке труда?
  5. Какие сферы моей работы наиболее подвержены автоматизации?
  6. Как изменения повлияют на эмоциональный интеллект и коммуникацию на рабочем месте?
  7. Какие этические вопросы могут возникнуть в моей сфере с внедрением ИИ?
  8. Как изменения могут повлиять на зарплаты в моей сфере?
  9. Как можно организовать эффективное взаимодействие между человеком и искусственным интеллектом?
  10. Как изменения затронут фриланс?

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

Подборка сервисов для архивации вашего цифрового наследия

Издание The Verge представило подборку сервисов, которые помогут сохранить ваше цифровое творчество и сделать его доступным для будущих поколений.

Говорят, скоро нейросети будут писать код. Но что тогда будут делать разработчики?

В распоряжение Business Insider попала запись слов генерального директора Amazon Web Services Мэтта Гармана, где он утверждает, что через пару лет большинство разработчиков перестанут писать код.

Это не значит, что их всех уволят, скорее работа программиста изменится.

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

Представитель AWS Айша Джонсон объяснила, что слова Гармана означают возможность для разработчиков «достичь большего, чем то, что они делают сегодня», с помощью новых инструментов ИИ. Она добавила, что он не хотел уменьшить значимость разработчиков.

Если вы беспокоитесь по поводу развития нейросетей, самое время разобраться в вопросе и посмотреть наши материалы:

  • «7 нейросетей для программистов: как писать код быстрее и лучше». Подборка с описанием основных свойств и возможностей нейросетей для разработчиков.
  • «„Главный скилл — это уважение“: Евгений Антонов о самых важных soft skills в IT». Требования и инструменты для разработчиков меняются, но ключевые качества и гибкие навыки остаются актуальными всегда. Узнайте, как их развивать.
  • Подборка полезных ИИ-инструментов для разработчика.
  • Подходы к работе, которые помогут сохранить вашу ценность на рынке труда, даже в эпоху ИИ (он-то этого не умеет).

Необычные сайты, которые стоит посетить

Трудности разработчиков, провал Copilot и вызовы ИИ в Африке

Как вам идея работать под блюз, который нейросеть создаёт в реальном времени?
Скриншот: Chrono Piano / Skillbox Media

Если музыка вас не интересует, то на этом сайте можно побить ложкой пудинг и записать процесс на видео. Вы можете менять направление удара, регулировать силу воздействия и консистенцию пудинга — увлекательно и бесполезно. Стоит попробовать 🍮

Трудности разработчиков, провал Copilot и вызовы ИИ в Африке

Тот самый пудинг для битья. Он вас ждёт!
Скриншот: oimo.io / Skillbox Media

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

Трудности разработчиков, провал Copilot и вызовы ИИ в Африке

Скриншот: oimo.io / Skillbox Media

А на сайте joshdata.me вы можете нарисовать айсберг любой формы и посмотреть, как он будет держаться на воде. Разработчик уточняет, что модель айсберга не будет двигаться точно так же, как реальный айсберг такой же формы.

Трудности разработчиков, провал Copilot и вызовы ИИ в Африке

Интересно, сколько таких айсбергов автор проекта видел в природе
Скриншот: joshdata.me / Skillbox Media

Интересное на Reddit

В сабе Compsci поинтересовались, какие принципы или идеи должно принять как можно большее количество людей. Больше всего лайков собрал ответ «доброта». А вы как считаете?

В сабе ComputerScience спросили: «Что вы знаете о компьютере такого, чего не знает большинство людей?» Вот некоторые из ответов:

  • «Байт не всегда определялся как 8 бит».
  • «Космическое фоновое излучение может случайно перевернуть бит в любой точке вашей системы. <…> Поэтому, если ваш компьютер ведёт себя странно, убедитесь, что причина не в космосе».

В сабе ProgrammingLanguages попросили рассказать о самой прекрасной книге о языке программирования с открытым исходным кодом. Получилась следующая подборка:

* Решением суда запрещена «деятельность компании Meta Platforms Inc. по реализации продуктов — социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности».

Похожие статьи