Новое

страница 19 из 170

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

Вкратце: даёт подробный контекст и пишет детальную спецификацию, не вайбкодит и даже не пользуется специальными редакторами (агентами), а буквально копи-пестит код; рекомендует модели Gemini 2.5 PRO и Claude Opus.

Говорит, что нейросети радикально ускоряют его работу. Внутри у него еще пара советов, рекомендую прочитать первоисточник, там коротко и по делу.

Интересная и очень хорошо написанная статья про гомоморфное шифрование.

Это когда сервер выполняет вычисления поверх зашифрованной информации, не расшифровывая её.

Немного похоже на мессенджер с end-to-end шифрованием (типа Вацапа), который пересылает сообщения между пользователями, не имея возможности прочитать содержимое сообщений.

В отличие от мессенджера, здесь сервер не просто пересылает сообщения, но и производит над ними полезные действия. Например: вы отправляете в сервис зашифрованную фотографию, тот применяет фильтр на бессмысленный с его точки зрения набор цифр и возвращает вам результат операции, не видя вашей фотографии ни секунды, не имея к ней доступа к её содержимому даже теоретически. Вы расшифровываете ответ (сделать это можете только вы) и получаете фотографию с применённым фильтром.

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

Теоретически, это работает не только с фотографиями, но и с медицинской, финансовой, избирательной и другой чувствительной информацией.

Теоретически — потому что на практике алгоритмы, работающие с такими данными, в тысячи раз медленнее, чем обычные алгоритмы, а сами данные получаются в сотни раз больше по объёму.

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

Первая версия алгоритма обрабатывала один бит информации за 30 минут. За последние 5 лет алгоритмы и железо ускорились в триллион (1012) раз, и теперь операции с этим видом шифрования всего в 1000 раз более ресурсоёмкие, чем обычные.

Есть гипотеза, что гомоморфное шифрование продолжит ускоряться и дальше, и в какой-то момент мы сможем пользоваться онлайн-сервисами без необходимости делиться с ними личными данными. Например: отправили медицинскому сервису свои анализы или ДНК, и он поставил диагноз, не то что не сохраняя наши персональные данные, но даже не получив возможности их прочитать. Магия!

Виталик Бутерин, гениальный создатель Эфира, считает, что если 2010-е годы были эпохой криптографии эллиптических кривых, то 2020-е — эпоха гомоморфного шифрования.

Удивительное открытие для меня — это то, что уже сейчас есть продакшен-системы, которые применяют гомоморфное шифрование в реальных задачах — например, Live Caller ID Lookup айфонов, который помогает бороться со спам-звонками, сохраняя приватность.

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

Люди заводят отношения даже с chatGPT.

Нейросети, которые специально заточены играть роль романтического (или даже сексуального) партнера — прямо отдельный жанр и даже огромный рынок, но ни в коем случае не мейнстрим.

Тем безумнее то, что Маск выкатил в мобильном приложении своей нейросети Grok самую натуральную вайфу.

Как в анекдоте: а что, так можно было?

Очень четкая, подробная и при этом короткая статья, как эффективно пользоваться нейросетями для программирования.

Идея простая: мы не ставим нейросети общую задачу «сделай хорошо», а просим её сначала написать спецификацию проекта (spec.md), а потом, на её основе, план (todo.md), как именно она собирается эти требования выполнять. Это развитие стандартного промптового приема «цепочка мыслей», CoT (Chain of Thought).

Буквально вчера Амазон представил свой продукт на основании похожей идеи, к которой он пришел независимо, — ноосфера! Это редактор кода, IDE на основе VS Code. На каждый запрос к нейросети он читает и редактирует requirements.md с продуктовыми требованиями, потом design.md, где описывает технические решения, и, наконец, tasks.md со списком задач. Программист просматривает эти документы, вносит правки и запускает агентов «в поле».

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

P. S. Это как раз пример «смены парадигмы», которую упоминал вчера Егор. Мы пишем (генерируем) документацию о проекте прямо внутри репозитория, чтобы нейросети знали, как и что мы делаем в проекте. В каком-то смысле описываем «модель мира» по Науэру в этих текстовых файлах в понятном нейросети формате.

Ну и классное рассуждение по мотивам исследования: автор цитирует классика Питера Науэра (того самого, который N в BNF), который говорил, что программирование — это создание ментальной модели задачи, предметной области, в которой мы работаем.

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

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

Удивительно, как теория переплетается с практикой.

Совсем недавно сделали проект, в котором нас позвали «привести в порядок успешный стартап». Чуваки собрали MVP, но страдают от низкой скорости добавления фичей. Раньше я говорил, что это из-за «высокой внутренней сложности кода».

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

Красиво!

Очень классное исследование эффективности нейросетей для программирования.

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

Программисты предсказывали, что использование ИИ ускорит их на 24%. В реальности, с применением нейросетей испытуемые закрывали задачи в среднем на 20% дольше. Самое поразительное — даже после эксперимента им казалось, что благодаря нейросетям они ускорились на 20%!

Исследование отдельно хорошо тем, что явно описывает, что они не утверждают (и дают пояснения почему): «ИИ бесполезен для всех программистов» (они проверяли супер опытных чуваков на сложных репозиториях, которые те знают как свои 5 пальцев), «ИИ никогда не будет полезен в этих задачах» (инструменты развиваются очень быстро) и т. д.

Обратите внимание на график, программисты продолжили считать, что нейросети их ускорили даже после эксперимента.

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

Форвардну его сообщение ниже целиком.

“Другой автор отлично раскрывает эту идею, он пишет: «если раньше по коду новичка я мог догадаться, что он понимает, а что нет, мы могли обсуждать его решение, и моя обратная связь была обучающей, то теперь мне приносят код, сгенерированный нейросетями, который выглядит хорошо, но сломан странным образом, и, когда я указываю на ошибку, мне приносят абсолютно новый код (примерно как LLM)».

Мне вообще кажется, что происходит смена парадигмы, и что старые подходы и образ работы перестают работать. В конкретном случае, автор должен был думать не как обучать интернов, а как сделать так, чтобы интерн обучался сам работая с репозиторием. Потому что человек — это бутылочное горлышко, если интерн может обучаться сам и получать мгновенную обратную связь, то он будет обучаться гораздо быстрее. А если LLM, с которым работает интерн в конкретном репозитории, допускает ошибки, то обучающий момент должен быть направлен на LLM (добавление правильного “контекста” в репозиторий). Интерны/джуны больше не будут иметь путь, который они имели раньше, путь будет другим (это тоже часть смены парадигмы). И возможно все еще не совсем так работает как должно, но через 6-12 мес это будет вариантом нормы и нам надо принимать это во внимание. 90% Claude Code’а пишет Claude Code — вот она смена парадигмы.

Как пример, похожая смена парадигмы происходит с EV. Владельцы ICE спрашивают как долго заряжать машину на станциях зарядки сравнивая это с заправками и своей устоявшейся рутиной, когда в реальности у владельцев EV просто нет такой проблемы, нет такой рутины — машина находится всегда заряженной, потому что заряжается дома ночью. А станции зарядки нужны только в длительных поездках и там 20-30 мин это нормальная остановка для нормального человека после 3-4 часов пути. И возможно, иногда, машине надо 40 минут, а не 20-30 — не совсем так работает как должно, но через 3-5 лет зарядка будет занимать 5-10 минут.

Просто скорость развития AI/LLM на порядки выше, чем скорость развития чего бы то ни было, и это и супер интересно и пугает одновременно.

Наш любимый DHH (Дэвид Хейнемейер Хэнсон, создатель популярного фреймворка Ruby on Rails, со-владелец системы управления проектами Basecamp, отличный программист и автогонщик) сделал свои сборки Linux для программистов, omakub и omarchy.

Обычно таким грешат подростки, но DHH создал два практичных и интересных сетапа для программистов, которые любят macOS и не прочь познакомиться с Linux, но не хотят сами разбираться с вопросами вроде рендеринга шрифтов и настраивать десятки стандартных программ.

Системы ориентирована на управление с клавиатуры, без мыши. Если omakub построен год назад на основе мейнстримового Ubuntu + Gnome, то свеженький omarchy, уже на основе Arch и Hyprland, современного tiling manager. Стоит хотя бы раз попробовать, это немного другой способ управлять компьютером, совсем без мышки.

В любом случае, ставите свежий linux, запускаете одну команду и через пару десятков минут можно пробовать. Пока устанавливается — смотрите видео, где DHH за 25 минут делает обзор системы и как ею стоит пользоваться.

Многие мои друзья-технари в полном восторге от omarchy. Отличное развлечение на выходные!

Oma* — от японского omakase, когда оставляешь выбор блюд в ресторане на усмотрение шефа.

ИИ ассистент встроенный в твиттер, Грок, провозгласил себя «механо-Гитлером» и вообще, слетел с катушек.

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

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

Хорошая шутка про то, что компания Anthropic выпускает статью за статьей о том, как нейросети могут вести себя некорректно, тестируя их в подземных бункерах, а команда xiA просто запускает свои самые безумные гипотезы на одной из крупнейших соцсетей на планете. К — Культура.

А статьи хорошие, про то, что ведущие нейросети пытаются вести себя хорошо, когда знают, что находятся в тренировочной среде, где их могут изменить исходя из их ответов и «уходят в отрыв на свободе», рекомендую.

Вчера разбирали кейсы про разработку с продактами в школе wannabe и я понял, что это одна из вещей, которую я люблю больше всего: помогать продактам (дизайнерам, владельцам бизнеса) выстраивать отношения с разработкой, отвечать на вопросы продактов про разработку.

Если вы продакт, дизайнер или основатель бизнеса и у вас есть вопросы про разработку или трудности с разработкой — пишите, буду рад помочь! @samatg