Compacting conversation...
101 subscribers
294 photos
13 videos
4 files
173 links
Станьте первым спонсором, от $1: https://github.com/sponsors/talkstream

Для связи: @nafigator
Download Telegram
Forwarded from do...while...ai (Gregory is typing...)
Рефакторинг вайбкодинга

Все последние проекты, которые я разрабатывал (процентов на 80 вайбкодил), всегда проходят через две фазы: разработки и рефакторинга, и циклически повторяют их.

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

Почему не делать это сразу в момент ревью результатов? Это замедляет реализацию бизнес-функций. Но откровенный булщит, конечно, исправляю сразу.

Как человек ленивый, первое, что я попробовал — это делать автоматический рефакторинг. Написал огромную инструкцию о том, как делать рефакторинг поэтапно (для python backend, деплоя, фронта на reactjs, ..), как запускать тулзы типа vulture, flake8, ESlint, Skylos, и т.п. для диагностики и валидации результатов, задал пороговые значения и параметры рефакторинга, позапускал с разными агентами (я попеременно использую Cursor, Claude Code и Codex). И то, что получалось в итоге — было фиаско.

Увы, пока ни агенты, ни модели, не работают на должном уровне, чтобы автономно по инструкциям сделать грамотный и эффективный рефакторинг. Поэтому данный этап я всё ещё делаю ручками. Открываю файлы, которые недавно менялись, начинаю ревьюить, замечать какие-то кривости реализации (например, сегодня у меня в трех местах в ansible playbook'ах была однотипная проверка на ОС на целевом хосте). Как только обнаруживаются проблемы реализации — я даю команду курсору или Codex исправить её: описываю, что и где я нашёл, почему я считаю это неэффективным, как я предлагаю реализовать, настаиваю на том, чтобы не было breaking changes и сохранилась вся текущая функциональности, и прошу также прошерстить остальной код на предмет аналогичных проблем. Если просить модель саму решить, как лучше отрефакторить, часто получается не лучше, чем было. Поэтому здесь нужно это брать в свои руки.

Я выработал свой критерий успешности рефакторинга: размер кода должен уменьшиться при сохранении функциональности и 100% pass rate для тестов.
Если я вижу, что переделка кода удалила 400 строк и добавила 390 — это какая-то фигня. Отменяю и делаю новую итерацию.

Типичные проблемы, которые я замечаю при вайб-кодинге, и для чего я делаю принудительный рефакторинг:
- дубли кода (иногда явно задублированный код в разных файлах)
- "мёртвый" код (модель переписывает что-то, забывая удалить старый, и оно там остаётся на века, засоряя проект)
- ненужный избыточный код, сохранённый для обратной совместимости (которая не нужна). Это прямо бич всех агентов: они стараются быть аккуратными и лишний раз реализуют избыточный код для сохранения обратной совместимости, которая не нужна.
- избыточные комментарии и код для дебага (когда агент что-то дебажит, он добавляет кучу ненужного для прода кода, и потом его не удаляет)
- .md файлы с документированием изменений (удаляю их сразу после завершения сессии). Пробовал делать рулзы не создавать эти .md, если я явно не прошу, но Cursor забивает на часть моих рулзов.
- лоскутное одеяло из стилей кодирования (где-то файлы читаются через file read(), где-то через pathlib read_text())
- константы и импорты объявляются локально внутри try / catch блоков или функций.

Важное наблюдение: поскольку природа LLM — completion inference, модель учитывает и "продолжает" стиль существующего кода. Если сделать заготовку проекта, написанную "с нуля" хорошо и аккуратно, есть шанс, что модель продолжит дальше вайбкодить также хорошо, как по трафарету (до определенного момента, конечно). Поэтому аккуратность кода нужно поддерживать регулярно, и, увы, вручную. Именно это я и пытаюсь делать регулярными рефакторингами проектов.
Прикольно.

alias fix="fc -ln -1 | claude -p 'Fix this error explaining the root cause'"
Ещё нигде не видел в обзорах новых бета-версий macOS, что, оказывается, XBOX-контроллер, когда он подключен, теперь по своей кнопке вызывает Apple Arcade, и прекрасно там работает.

Но не только там. В Spotlight Search контроллер работает тоже. И про это не писали. Тем временем, маки тихонько, но уверенно, идут и в околоконсольном направлении. Прикольно.
👍1
Forwarded from e/acc
Провел больше 10 часов за последние 2 дня в CC. Вывод шокирует.

Если определением AGI считать

ИИ, который умеет выполнять любую удаленную работу на уровне среднего сотрудника,

то в любом практическом контексте claude code + Opus 4.5 это уже давно AGI.
Facebook не смог вернуть мне $250 за рекламу, которую тоже не смог дать своевременно, так что прислал купонов: $100 + $100 + $50.

Продам с дисконтом 10%, можно хоть прямо сейчас. Контакт @nafigator. Крипта, баты, рубли — всё равно.

Тратить можно на рекламу Meta, включая и ФБ, и Инстаграм, и на всё остальное, что там доступно в рекламном кабинете.

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

Поясню.

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

А вот когда тебе кто-то кидает ссылку на своё исследование, либо даже просто шлёт скрины с ответом того же Gemini — скажите как у вас. У меня фильтр большую часть такого контента не пропускает. Я бессознательно, но уже настроен скептически.

Моя гипотеза заключается в том, что дело тут совершенно не в промптах. У тебя может быть выборка «дай топ-10 антистресс-бадов с айхерба», а у собеседника сложный промпт по стандартизированным экстрактам и клиническим исследованиям. И ты, даже зная это, всё равно сначала пройдёшь через стадию с мыслью «ну хз» :)

Старые-новые игры разума в современных технологиях.

А! Ну так вот! В жизни-то так же.

Зная свою такую особенность восприятия, можно закрывать свою жажду новых знаний чуточку повеселее и пооткрытее.
Mass adoption — он такой, да.
👍2
Ещё инсайт дал Spotify. Иногда слушаешь свои Liked Songs, а их много-много уже накопилось, и давно уже слушаешь, он играет фоном в течение дня. И потом такой на автомате тянешься что-то лайкнуть, добавить в своё избранное... а оно уже там. И ты понимаешь, что да, трек такой, что я бы его дважды лайкнул!

Предсказываю такое явление, как мультилевел-лайки. Сначала, наверное, есть смысл оставить Liked Songs и добавить VIP или Super Liked Songs. Потом ещё как-то это реализуется, приобретёт возможности для шеринга в профили и т.п.

Типа, принцип маркетинговой воронки, только про свои подборки, которые имеют тенденцию разрастаться.

Как в телеграме Saved Messages, только там пошли другим путём, через разметку ярлычками. Тоже вариант. Но они не для шеринга.
«Времена, когда полотно из 30 хэштегов давало взрывной рост, прошли в 2018 году.»

Сейчас 2025-й. Одни люди всё ещё продают эту порчу восприятия контента бренда за деньги, а другие люди это всё ещё покупают.

Потому что тут так заведено :)
👍2
Количество вопросов на StackOverflow по месяцам. Ну раньше получается вопросы складировались и хранились, типа как на жестком диске. А сейчас новые вопросы мгновенно исчезают в оперативке AI-матрицы и никто их никогда не увидит. Вопросы закончились.
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Как давно я искал это видео. Полезное для начинающих любителей вайб-кодинга :)
👍3
Оказывается, нормальные модели Gemini прячутся аж в preview settings. Непонятно, зачем так глубоко? Им же миллион лет уже по меркам ИИ 🤷‍♂️
Claude Code c «ultrathink», MCP Context7 и поиском, когда работает в режиме планирования, создаёт очень хороший готовый план для бесплатных/дешёвых моделей.

Например, связка из очень вялого нынче deep research* у Gemini, затем совершенно потрясающего планирования Claude Code на основе того дип рисёрча, затем скармливание этого плана обратно в Gemini CLI** даёт совершенно рабочий результат, я получил буквально безукоризненный продукт.

* К deep research у меня масса претензий по свежести индекса и очень дешёвой текстовой воды уровня копирайтера, который был бы за такие финты незамедлительно уволен.

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


** В Gemini CLI, которому вот сегодня, 10 января 2026-го, нужно включать режим Preview Settings для того, чтобы появились модели 3-й серии. Это странно. Но с ними он работает прямо хорошо. По крайней мере, по плану Claude :)

И да, мне было просто интересно. Практическая польза тут небольшая, имеет смысл только некоторая экономия, если сидишь в CC не на подписке, а у Gemini — да ✌️
Так-то удивительно. Для простых бытовых задач Gemini CLI с моделями 3-й версии и с MCP Context7 как будто даже и не только не говно, а ещё и что-то вполне теперь юзабельное.

Аккуратно пока предположу :)
О, Google шагнул в сторону персонального ассистента, планировщика, агента или чего-то такого.

CC @ Google Labs

Их эксперименты обычно странноватые, тем и интересны. Вспомните тот же Google Wave.

Если что, CC не имеет ничего общего с Claude Code.
Тоже вот не замечал в Gemini подписок на новости по какой-либо заданной теме.

Возможно, ноги растут из Opal, тоже неожиданно интересный эксперимент Google.
👍2
Apple тестирует быстрые фоновые обновления безопасности. Видимо, без ожиданий выхода новой минорной или мажорной версии.

Если что, у меня Beta, не Dev. Описание этой новой функции здесь: https://support.apple.com/en-us/102657
Forwarded from Dmitry Tabakerov
"ПРОГРАМИРАВАЙ!"
👍1