Вы можете раздражать их дерьмо весь день

В последнее время я много кодил для некоторых проектов, над которыми работаю. В ходе этой работы я широко использовал большие языковые модели (LLM), включая ChatGPT, GitHub Copilot и Bard.

Мое мнение: хотя мы только в начале пути, прямо сейчас LLM — это парные программисты, которых вы всегда хотели. Вы можете приставать к ним весь день, и они не будут раздражаться или приставать к вам. Вы можете повторять себя снова и снова без риска RTFM. Вы можете задавать неловкие вопросы, например, как сделать то, что вы забыли в VIM. И в качестве дополнительного бонуса он не затрагивает косвенные религиозные дебаты о VIM, EMACS и VS Code и почему вы вообще спрашиваете о VIM.

В основном я использую ChatGPT вместе с Copilot в VS Code. Я добавил Bard, чтобы сравнить результаты, когда ChatGPT не работает 😀, и когда я не могу получить ответ, который хочу. На данный момент я считаю, что интерфейс ChatGPT лучше, чем Bard, и это печальный момент для меня, потому что именно такой пользовательский опыт — это именно то, что Google раньше делал лучше, чем другие. И дело даже не в том, что у ChatGPT убийственный интерфейс, просто Бард тусклый.

LLM — это удивительные инструменты повышения производительности для ответов на вопросы, предоставления шаблонов и создания исходного кода. Это действительно один из тех моментов 10-кратного улучшения, когда вы, как продакт-менеджер, можете заставить пользователей изменить свое поведение. В 80% случаев мой опыт — это пошаговое улучшение функции по сравнению с тем, для чего я использовал поиск + форумы в прошлом.

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

Куда подевались все инженеры-программисты? Ушли в LLM все по одному… а может и нет

Давайте все вздохнем на фронте «LLM съедят все рабочие места». Слишком сложно предсказывать будущее, но я не беспокоюсь, что разработка программного обеспечения скоро исчезнет. Для простых приложений да, LLM можно комбинировать с детерминированными цепочками инструментов для создания простых приложений. Это не ново (например, конструкторы веб-сайтов и инструменты разработки WYSIWYG), но LLM определенно находятся на другом уровне. В то же время инструменты, которые «просто создают это», существуют уже много лет, но быстро становятся неуклюжими, как только вы выходите за рамки простейшей функциональности.

Но вы сможете сделать больше с меньшим количеством людей. Опять же, эта тенденция не нова. Если вы работали какое-то время, вы, возможно, помните администраторов баз данных и серверов. Облачные сервисы открыли больше с меньшими затратами, и эта тенденция сохраняется с LLM.

Я уверен, что инструменты LLM станут неотъемлемой частью рабочих процессов разработки в будущем. Они значительно повысят производительность людей и распространят шаблоны дизайна (как хорошие, так и плохие) намного быстрее, чем что-либо, что мы видели раньше. Они позволят целеустремленным инженерам гораздо быстрее изучать новые кодовые базы и языки. Я думаю, мы увидим кучу специализированных инструментов, интегрированных в цепочки инструментов и рабочие процессы.

Чтобы получить максимальную отдачу от инструментов типа LLM, необходимо решить две проблемы (и возможности для бизнеса). Во-первых, им понадобится эквивалент копии базы кода в памяти. Вы действительно хотите, чтобы LLM понял, что там уже есть, без повторных подсказок. Это будет огромной победой для понимания больших баз кода среди больших команд. Как новый член команды, вы сможете гораздо эффективнее спрашивать, как все работает, что есть и т. д. Больше никаких «никто даже не знает, как работает X».

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

В целом, сравнивая мою производительность до и после кодирования только с использованием LLM, доступных сегодня, я просто поражен. Мы живем в захватывающие времена.