Артур Думчев
1.07K subscribers
96 photos
14 videos
1 file
110 links
‣ Техлид бекенда SberDevices
‣ Рекордсмен России в запоминании числа Пи
‣ Автор книги "Помнить все"
‣ Кофаундер souz.app


Для связи @dumch
Download Telegram
Решил почистить старый мак. Лень было этим заниматься, откладывал 3 года, а теперь попросил кодекс найти весь мусор, оставшийся после удаленных приложений. Итерация за итерацией, удалось избавиться от ~100gb.

Из интересного, нашлось несколько десятков гигабайт от удаленного клиента ТГ — огромный красный квадрат на скрине (визуализация сделана тулзой grandperspective).

Вспомнил, что в далеком прошлом, еще на винде, качал для подобного CCleaner, и только сейчас задумался, сколько сотен или даже тысяч утилит морально устарели с появлением агентов. В пределе вообще все.
👍10🤔6💯41😡1
С выходом Fable и 5.6 Sol мне почему-то показалось, что эта статья уже устарела, но вот я решил активно повайбкодить, разбираясь с каждым предложенным решением LLM, и смело могу заверить, что если не контролировать выбор абстракций, получается раздутый из пальца пустопорожний код.

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

И вот пример ПР на 5к строк кода на задачу, где 1к было бы подозрительно много. Sol 5.6 Ultra зачем-то созадала ручки, которые уже были, но немного иначе назывались.

Метафора, что LLM позволяет получить легаси не за несколько лет, а за неделю, по-прежнему актуальна.
👍187👾5😁3🤔2😡2🤝1
Уволили последнего программиста
1😡93
Forwarded from Öлёг Чёрёхён
http://www.palo-alto.ai

Но у них сайт перестал отвечать...
1😁25🔥3🤔2💯2👾1
Артур Думчев
Мобильные разработчики поймут :) Кстати, если кто не знал, codex может через adb запускать приложения, читать логи, делать скрины и анализировать, что на экране, нажимать на кнопки и т.п. Сейчас раздебажил мне проблему логина в кодекс на андроиде, составил…
Еще один пример.

Вышло обновление на VR Шлем и не скачивается из-за региона. В прошлом я бы раздал Wi-Fi с VPN прямо с мака. Но помню, что опыт был неприятный. Куда удобнее иметь VPN на самом шлеме.

Только на шлеме нельзя просто скачать VPN-приложение из cтора. Надо найти APK, поставить его через adb и передавать URI через внутренний чат, который тоже без VPN не работает. В общем, проще отложить задачу на потом.

Но в современном мире можно подключить шлем по USB и попросить кодекс разобраться с этой рутиной.
Прямо сейчас обновление уже качается.
👍205😁4🤯2
Сейчас легко решить задачу, написав много-много кода с неадекватным подбором абстракций, как в примерах из предыдущего поста.
Но кодовая база разрастается и поддерживать ее становится дорого и по времени, и по когнитивной нагрузке, и — как следствие — по токенам.

Моя личная гордость за сегодня ☺️:
удаление бесполезных абстракций
(+44 -715)
рефакторинг скиллов на бэкенде
(+1643 -2275)

Над рефакторингом работал гранулярно, шаг за шагом. И даже на ревью от кодекса ничего не нашлось. Что интересно, попытки сделать тот же рефакторинг в несколько промптов, с GPT Sol Ultra, обернулись потерей времени и токенов на неудачные PR.

https://github.com/D00mch/souz/pull/613
(+449 -287)
https://github.com/D00mch/souz/pull/622
(+689 -276)

Хотя с одним из ПР-ов предварительно просидел полдня, готовя промпт в режиме планирования. Что не так с этими ПР-ами? И подбор абстракций плохой, и упрощения как такового не получилось.

А вот еще один “плохой” пример: реализация публичного контракта для бэкенда (+7210 -2096). Над контрактом поработал сам, а вот реализацию доверил LLM. Понадобился 101 комментарий ревью от самого же кодекса, прежде чем получилось влить ПР.

Кстати, Codex иногда ошибается с подсчетом добавленных и удалённых строк, поэтому добавил alias в zshrc, может, кому пригодится:
alias lines="git add -N -- . && git diff HEAD --numstat | awk '{a+=\$1; d+=\$2} END {printf \"+%d -%d\\n\", a, d}'"


Резюмируя. LLM удешевляет производство кода, но делает дороже его сопровождение. Сложно ответить, когда это действительно выгодно. Но до сих пор имеет смысл работать гранулярно над важными участками кода. Например, над core-функциональностью.
1👍16🔥43
Моменты истинного величия маркетологов, которые даже не нужно фальсифицировать на скриншотах
😁28👍5💯42
Наконец дошли руки поразбираться с https://codespeak.dev/

Удивило, что Бреслав взялся за проект с настолько очевидно слабой сутью.

Вкратце, CodeSpeak о том, чтобы писать спеки, которые, как ожидается, будут в 5-10 раз короче, чем код. А их “фреймворк” позаботится, чтобы ”скомпилировать” из этого исходный код, да еще и тестами покроет.

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

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

Давайте возьмём простой пример с использованием piggy backing:

@Volatile var a = 1
var b = 2

@ThreadSafe
fun change() {
b = 3
a = 4
}


Чтобы пост не превратился в книгу, приведу в комментариях спеку, явно описывающую этот код. Пример скорее шуточный, но шутка хорошо раскрывает идею. Идею того, что точнее и короче именно кодом выражать идеи для компьютера.
17👍4🤔2🤝2