Откровения от Олега
2.17K subscribers
1.68K photos
142 videos
20 files
525 links
Стань богаче. Стань умнее. Стань здоровее. Изучи то, что на курсах и в универе не расскажут. ИИ / AI / AGI / ML / LLM

Реальные эксперименты по совместной работе человека и ИИ / AI. Мы их действительно делаем, а не теоретизируем.

Чат: @chat_1red2black
Download Telegram
Это фрагмент стектрейса из достаточно свежего Python

Сложно было сделать стектрейсы хуже, чем в Python 2, но для создателей Python 3 нет ничего невозможного
😁26
Что не хотят рассказывать инфоцыгане: любая сложная инженерная дисциплина - сложная. За 5 минут ее не осилить, даже если действительно заниматься ей годами и не пропустить ни одного дня.

Один неделимый кусок информации по размеру не вместится в 5 минут. Его можно попробовать распилить с помощью хитрых способов, но ценой очень сильного замедления изучения. Это как запускать модель на GPU, которому не хватает памяти.

Вы можете посмотреть на практике, какие размеры обучающих видео популярны на Ютубе: 5 минут (+ осмысление), 20 минут, 40 минут. И это с учётом клиповости мышления зрителей Ютуба. Если ролик занимает 5 минут, значит сессия его просмотра с осмыслением - ну хотя бы 8, минимум.

Но как же люди, которые залпом смотрят по 10 роликов за раз? Позвольте, 10 роликов по 5 минут - это 50 минут плюс осмысление, это уже годится на институтскую "пару" (два академических часа).

Поэтому в реальности работает всего несколько сценариев. Например, организованное насилие - школа, университет. Или если это твое хобби, и ты проводишь за делом многие часы подряд просто потому, что тебе это очень нравится.

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

В любом случае, если после очень конечного количества 5-минутных сессий дело не переходит к чему-то большему, это значит только то, что тебя разводят и обманывают, и товар - это ты.
👍116💯6🤔1
Забанили прямо посреди сессии использования Anthropic Claude Code, несмотря на максимальный тарифный план.

Старые диалоги доступны для чтения, но продолжать их нельзя

НИКАКИХ объяснений на почту. Даже сообщения о бане нет.

Живая поддержка не отвечает, хотя можно пообщаться с их ботом, и он довольно умный.

Поднять шум можно, но я не стал. Не верю, что меня разбанят. Если поддержка посмотрит на мои чаты, то удалит и их тоже, там откровенно есть за что (один наш эпический диалог, когда мы разломали свежую ChatGPT-5.1 чего стоит).

Финансовые потери не так уж велики - ну сколько там осталось, тысяч пять рублей. Время регистрировать новую учётку.
😁16😨8🫡21🍌1
Начиная с текущего релиза, Visual Studio Code - специализированный AI-редактор, который обучает ИИ-модели Microsoft всему, что вы делаете.

Но можно это отключить в настройках: File -> Preferences -> Settings

В поисковое поле Search пишем "Disable AI"

Первая галка сверху: Chat: Disable AI Features
1👍12🔥5😍4
Продолжите ряд
😁232🔥2
Давайте коротко расскажу концентрированную мудрость танка, как я сейчас пишу код.

Основные идеи:

- Исходник - это текст на английском языке. Он называется спецификация, или коротко - "спека".
- Этого текста может быть в 2-10 раз больше, чем кода, который из этого текста сгенерируется.

- Код не имеет ценности. Имеет ценность спека и труд, потраченный на превращение спеки в код.
- К коду отношение как скомпилированному бинарному exe-файлу. В него не смотрят, пока он работает. А желательно, никогда не смотрят вообще.
- Спека, впрочем, тоже имеет мало ценности. Важно, что в голове у разработчика. Потому что он всегда может за какое-то время написать эту спеку заново другими словами, и это будет другое произведение.

Еще раз, промт по размеру больше чем код. Это значит, что "программировать" вайбкодерам нужно больше, а не меньше, чем "классическим программистам". К примеру, на 1 страницу кода на Rust может быть 20 страниц текста на английском языке.

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

ВАЖНО: Первыми строками в бутлоадере проекта нужно прописать, что весь проект пишется целиком с помощью ИИ и использует spec-driven подход.

- Загрузочный систем-промт или юзер-промт. Bootloader, который рассказывает как читать всё остальное
- Описание приемов работы с нейросетью (например, включение режима мета-анализа)
- Описание внешнего управления, если исходники управляются внешним образом (н-р нельзя менять директорию schema, потому что openapi туда попадает внешним образом)

Обычно код организован в виде модулей или фичей.

Существует основной модуль common, в котором весь проект описан как единственный модуль. Все остальные модули являются подмодулями этого.

Для каждого модуля в иерархии существует стандартный набор руководящих спецификаций:

- main.md с бутлоадером модуля
- structure.md с описанием структуры подмодулей и других организационных особенностей модуля, связей между модулями
- Feats
- Props
- Архитектура
- Технологии (языки, фреймворки, паттерны проектирования и кодирования)
- Документация
- Описание режима глубокого исследования
- Юридические особенности (например, лицензии)
- Безопасность

Features и Proposals - это основное мясо всего.

Features - это user-stories, обычно описанные на языке Gerkin, либо в Markdown-файлах, либо в md-файлах с Gerkin внутри. Также там можно класть любые помогающие диаграммы.

Proposals - это текстовые документы. описанные в формате JEP (Java Enchancement Proposals, регулирующиеся JEP-2). Это КЛЮЧЕВОЙ момент. Если не будет грамотно написанных пропсов, работать ничего не будет. Общий формат пропсов написан здесь: https://openjdk.org/jeps/2

Для всей системы целиком должна быть система непрерывного обновления стратегии:

- Подробные планы, где каждому этапу соответствует документ
- WAL-лог для продолжения работы прерванного агента (описывает прошлое, настоящее, будущее и вектор развития, обновляется постоянно)
- Спецификация обновления планов и логов

Таким образом у нас получается совместимость C4 моделью (где она не получается, ее нужно добавить).

Далее из этого генерируется корпус тестов.

ВАЖНО: тесты берутся не из кода, а из спецификации. Совершенно нормально, когда из спецификации сгенерировалось 3000 тестов, из которых ваш код проходит только 10 тестов. Ваша работа как разработчика - сделать так, чтобы к тестам появился код.

Далеко не каждая модель или агент могут удержать всё это в памяти. Поэтому работа человека - смотреть, где что развалилось, верифицировать код и напоминать нейросети забытые части правил. Для этого можно сделать файл shortcuts.md, в систем промт (или в документ о внешнем управлении) вписать что нейросети читать его запрещено, и оттуда копипастить важные команды.

БАЗОВО ЭТО ВСЁ

Но только базово

Дальше поверх этой схемы нарастают дополнительные расширения, о которых можно будет пообщаться позднее
214🔥41🥰1😁1💅1🤪1🙊1
Глядите какое феноментальное, гениальное убожество маркетологов ЖЖ

ЖЖ переходит на авторизацию от Сбера. Ясно в целом, зачем это сделано - создать систему авторизации, совместимую с российскими законами и ничего не нарушить - это очень, очень, очень сложно

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

И в целом читается так, как будто бы весь ЖЖ закрывается и перемещается под замок. Хотя это не так.

В своем новогоднем обращении они объяснили это максимально дегенератским и тревожным сообщением: "возможность создавать новые посты, комментарии и другой контент будет доступна пользователям, которые вносят более значимый вклад в жизнь платформы"

Один этот пост уже ударил по их репутации хуже, чем фирменные тормозящие HTML странички, которые они за 20 лет так и не смогли ускорить до приемлемой скорости

А по уму это должно было называться "переход на новую авторизацию", и дальше раздел - "что мне делать, если я профессионально веду блог?"

Интересно, это проплаченная диверсия против проекта, или они на самом деле такие тупые?

Если вы работаете в ЖЖ, можете записаться ко мне на платную консультацию про то, как не писать дичь в интернете. Очень, очень дорого.
👍11😁6🫡3🔥1
Импортозамещение
😁22👏1🤔1
Коротко итоги года. Пишу для себя, можете не читать.

ХОРОШО

- Выжил

- На "основной работе" выпустили новое облачное IDE и за год дотащили его до прода

- Осознал, что весь код можно писать с помощью ИИ и выработал работающий процесс для этого

ПЛОХО

- Закрыл бар (передал человеку, который его успешно угробил)

- Написал несколько заготовок пет-проектов, но ни одна из них не дошла до стадии "можно показывать"

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

- Полностью продолбал программу снижения веса и непрерывного ИИ-мониторинга (свалились проблемы и переключили на себя внимание)

- Выгорел до состояния "не могу заставить себя приблизиться к компьютеру и посмотреть на экран"

ЧТО ДАЛЬШЕ

- "Основная работа" идет по плану (дополнительные фичи в продукты).

Все остальные планы нерабочие:

- Расчехлить англоязычный блог на Ютубе

- Оживить телеграм-канал 1red2black постами про ИИ

- Сделать несколько докладов на нормальных конференциях (класса HighLoad)

- Допинать какой-то из пет-проектов до состояния "можно показывать"

- Возобновить программу по снижению веса

- Задача с тремя звездочками и вопросом: опубликоваться в журнале по тематике ИИ или на нормальной зарубежной ИИ конференции

Выглядит как не очень много, но больше в меня не влезет. Жизнь очень короткая и болезненная штука.

Если кто-то это дочитал, всем добра, встретимся в новом году.
138👍15😭2❤‍🔥1
Чтобы стать фуллстек разработчиком и указать это в резюме, теперь достаточно потратить всего несколько минут

(по крайней мере так считает Michael S)

Да здравствует Claude Code

На скриншоте нарисована ИРОНИЯ
😁21🔥6🎉2
Праздничное мини-предупржедение: ничего серьезного не покупайте в DNS

Купил одну штуку (5 января), она мне нужна по работе

Должна была прийти назавтра (6 января), не пришла до сих пор (9 января)

ДНС покупает экспедицию у СДЭК, СДЭК продолбался и еще не довез

Я написал досудебные претензии в обе компании

По законам РФ есть две трактовки, поэтому их две. Либо это услуга перевозчика СДЭК и тогда это статья 28 ЗоЗПП (услуга), либо это продажа с последующей экспедицией - то есть статья 31 ЗоЗПП (продажа товаров). Но у нас там присутствует ПВЗ, поэтому дальше по убывающей, еще есть варианты квалифицировать это как ГК РФ 40, 41 о перевозке (статьи 785/792 ), или как договор транспортной экспедиции - ГК РФ 41(статьи 801/803).

Наиболее железная логика - за все отвечает ДНС

Я позвонил в поддержку обеих компаний и у меня сложилось впечатление, что поддержка ДНС - некомпетентные роботы, которые говорят только то, что написано в скрипте

Моя цель была в том, чтобы они сами позвонили в СДЭК и потребовали с них организовать срочную курьерскую доставку (раз уже товар все равно теперь на складе СДЭК, и нигде больше его не купить)

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

Неудивительно, что такую плохую поддержку заменяют ИИ

На самом деле, ее было бы еще лучше заменить просто неработающим телефоном

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

А тем временем, у меня есть записанный разговор, где представитель компании ДНС отказывается от помощи и согласен на начало судебного разбирательства, а это значит что досудебка переходит в полноценную судебку :))) Бонус общения с роботами - роботизированные тупые ответы могут быть тебе на руку.
10🌚7😭3😁2🍌2👍1
Пишет Лекс Кравецкий: "Тут есть интересный нюанс: я заметил, что в ряде случаев быстрее и проще написать почти весь код, например, на Scala (возможно, запросив у ИИ какие-то совсем механические его части), а потом предложить ИИ сделать его описание текстом, если оно вдруг нужно. И/или предложить ему перевести этот код на другой язык программирования. После чего слегка поправить описание и код."

Идеи:

1) это как-то связано с дихотомией hard/complex в английском языке? Hard задачку, которую ты знаешь как решать - проще закодировать вручную. Тебе можно не писать спецификации, потому что код и есть спецификация.Например, какую-то сложную формулу-числодробилку.

Complex задачку ты просто задолбаешься руками писать. Например, несколько десятков экранов с формочками для управления какими-то сущностями в базе данных, "опердени на эрланге".

2) второй фактор - мисматч между промтом и результатом.

Например, если взять какую-то изначальную очень hard задачу, очень кратко записанную, то ее проекцией на код могут быть сотни страниц какой-то очень complex графомании с крайне низкой концентрацией смысла.

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

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

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

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

Т.е. задача разработчика - построить архитектуру решения, корпус идей, на стороне промта и на стороне кода, так чтобы они легко перетекали друг в друга. А дальше уже нейронка как-нибудь потянет. Или джун.
110😁3🤔1
И о чудо!

Как только мы подняли шум в соцсетях и написали пару бумаг в ДНС и СДЭК с нашим юристом, ПОЧЕМУ-ТО заказ был доставлен в течение дня

Значит всё-таки можно было?
1🔥17😁72👍1
Чет никто не нанимает, все увольняют.

Линкедин переполнен постами про то, как правильно делать массовые увольнения.

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

(Особенно это видно по США, где недели не обходится без какой-то HR жести. Т.е. если у кого-то была иллюзия, что сейчас ух как уволимся и рванем в "нормальные места"...)
1💯9😭6😁4
Заменил не 150, а всех

Нет больше людей с линейками

В скоро не станет людей с Java, C#, Python, Rust...
1🌚8💯6🤪4💅2🍌1
Мой 1-й бизнес: Провал
Мой 2-й бизнес: Провал
Мой 3-й бизнес: Провал
Мой 4-й бизнес: Провал
Мой 5-й бизнес: Провал
Мой 6-й бизнес: Провал
Мой 7-й бизнес: Провал
Мой 8-й бизнес: Провал
Мой 9-й бизнес: Провал

Каждый раз я думал, что теперь-то всё будет по-другому. Каждый раз это был новый год и новый знак. Я продолжал проваливаться.

А тем временем все вокруг говорили мне: "Я же говорил, что ничего не получится". И самое сложное в том, что они правы сегодня, в этом месяце, в этом году... Но не навсегда.

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

Alex Hormozi
1👍16🔥42
"У Клода ужасный консольный интерфейс! Как же можно в этом работать!" - говорят некие соломенные люди. Так я узнал, что кто-то пытается программировать в командной строке Клода. Зачем? Почему? Столько вопросов.

В Клод Коде не нужно писать код, несмотря на присутствие vim-mode (как до этого можно было додуматься, с вами там все в порядке?). Ты параллельно запускаешь VSCode/IDEA и там делаешь что тебе нужно, а в консольный интерфейс смотришь изредка, когда он что-то доделал. Если лень альт-табаться между консолью и IDE, то у Клода есть плагины для IDE (хотя по мне так, альт-табнуться в консоль удобней).

Можно разделить монитор горизонтально или вертикально средствами операционной системы, или вывести консоль с агентами на отдельный физический монитор. Чтобы иметь второй монитор не нужно много денег, для отображения черно-белой консоли 80x24 или 120x40 хватит самого дешевого монитора из DNS, лампового кинескопа дедушки с Авито, или даже просто выброшенного на помойку телевизора.

В основном боль происходит у людей, которым продали (а они всем сердцем приняли) идею, что теперь 1 инструментом можно решить все проблемы мира. Даже то, что у Клода больше 1 интерфейса это им уже слишком сложно. То, что можно работать в полноценной IDE, пока агент что-то там молотит - это слишком комплексная и сложная концепция. То, что агентов может быть несколько, от разных нейросетей, с разной специализацией, да и IDE бывают тоже разные (если писать игрушку с сервером, то морда на DirectX это скорее Visual Studio на Windows, а сервер на Java это скорее IntelliJ IDEA на Linux) - это всё опасная ересь.

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

Возникает сомнение, а может они и свои наскальные узоры не умеют писать тоже, но пользуются ими в качестве примеров исключительно потому, что так есть шанс, что никто не уличит их в обмане.
🤝7🍌1
Я теперь постоянно разговариваю голосом с нейросетями

Идею позаимствовал у Димы Нестерука

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

Посудите сами, какой живой организм из мяса согласится с вами общаться, пока шумит пылесос или набирается вода

Но дичайше раздражает, что у Claude его звуковой интерфейс писали какие-то отбитые вайбкодеры

Он написан на HTTP запросах, которые рвутся по таймауту, если нейронка долго думает или сеть плохая

А чем известен Клод? Правильно, тем что он дохуя думает и работает через шакальный xray VPN

Это изматывающий ментально процесс, по три раза задавать вопросы

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

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

У ChatGPT Advanced Voice таких проблем не наблюдается, похоже там нормальный WebRTC. Говорит он даже как будто поживее, и работает в разы быстрее

Но имхо (я так чувствую!), GPT-5 думает хуже, поэтому при обсуждении каких-то крайне важных вопросов все равно стоит общаться с Клодом, даже несмотря на все минусы
👍1
Теренс Тао подтверждает, что GPT-5.2 смогла (почти) сама решить задачу Эрдёша

Для контекста: Пал Эрдёш оставил после себя 1500+ нерешённых задач, за которые выдают денежные призы, и задача 728 была про целочисленные множества и арифметические прогрессии

GPT не просто решила ее, а сгенерировала совершенно новое решение, которого нет в существующих источниках