boris_again | Неотсортированное

Telegram-канал boris_again - Борис опять

12937

life = curiosity + irreducible noise Whois: https://t.me/boris_again/1652 Лс: @btseytlin

Подписаться на канал

Борис опять

😀

Читать полностью…

Борис опять

Так же Cursor практически не помогает думать. Я прошу написать тесты: он пишет тесты, где проверяет, что всё работает. Но пока не попросишь он не напишет негативные тесты. То есть он не будет без твоего пинка проверять, что то, что не должно работать, действительно не работает. И не скажет о том, что так нужно делать.

Так что программистский навык не обесценивается. Возможно, наоборот, теперь нужно два навыка:
1. Умение делать хорошо.
2. Умение распознать где LLM может тебя обмануть.

Читать полностью…

Борис опять

В целом опыт на три с плюсом, почти четыре.

Сначала про плюсы. Очень приятный интерфейс. Cursor конечно монстр UI/UX. Очень простое погружение и онбординг. Самое главное: это работало. Если claude code agent за два часа работы не приблизил меня к желаемому результату, то здесь наблюдается прогресс. То, что осталось после часа работы, гораздо лучше, чем ничего. Cursor гораздо лучше понимал целевой вайб. В целом прикольно.

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

Самый неприятный момент (начинается около 57 минуты) был когда ассистент написал вызов трех методов:
1. Распарсить категории.
2. Распарсить изображения.
3. Распарсить аннотации.

Странность там была уже в том, что первые два метода, как и ожидается, парсили дикты и возвращали питон объекты. А третий почему-то ничего не возвращал, а делал что-то внутри себя. Это очень нечеловеческий и неинтуитивный способ написать кусок кода: две вещи работают так, а третья, функционально такая же, в другой парадигме. Закопавшись внутрь я понял, что ассистент написал третью функцию с сайд эффектом. То есть она не возвращала то, что распарсила, а сразу куда-то записывала. Это снова проблема непослушания: я прописал в правилах, что ожидаю функции и методы которые делают одну вещь без сайд эффектов, но модель решила подзабить на это.

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

Я смотрю в код и не понимаю как так может быть. То есть аннотации парсятся, результат записывается в переменную, а потом она нигде не используется. Её даже VSCode подсвечивает: смотри, этот кусок кода не нужен.

Получается мы распарсили аннотации, потом просто выбросили их, а тесты всё равно проходят. Не должно работать, но работает – очень плохая ситуация. Значит или тесты неправильные, или код работает не так, как мне кажется. Оказалось второе. На самом деле вторая функция, которая парсила изображения, уже записывала всё куда нужно. То есть она выглядела будто там нет сторонних эффектов, будто это правильная "делаю одну вещь" функция, а на самом деле это была подстава 👀.

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

Дело так же в качестве. Я поймал эту проблему только потому, что у меня очень четкое представление о том, что я хочу получить. И то она вскрылась случайно. Как много программистов заботятся о том, чтобы каждая функция делала одну вещь? Может процентов десять. Как много не-программистов/вайбкодеров? Ноль. Значит 90% программистам и 100% вайбкодерам Cursor поможет написать код со скрытым приколом 🙄. В общем готовьтесь через пару лет поддерживать чье-то курсорное легаси где возможно всё и в любом куске кода может обнаружиться пасхалка.

В общем смешанные ощущения. Но скорее положительные. Однако точно не идет речи ни о каком "В 100Х РАЗ ЛУЧШЕ ПРОГРАММИСТЫ НЕ НУЖНЫ!1!11" Я напоминаю, что мы тут всё ещё пытаемся прочитать JSON с диска.

Читать полностью…

Борис опять

AI мальчика: элайнмент, RLHF, Constitutional AI

AI мужчины:

Читать полностью…

Борис опять

Делать стартап - это значит делать много вещей сразу, но обычно это значит делать все вещи плохо

Но GenAI многое поменял - теперь я могу делать ещё больше вещей и ещё хуже

Читать полностью…

Борис опять

Это не только про ошибки, а про прозрачную коммуникацию в целом.

Например, сейчас много продуктов используют LLM и позволяют выбирать среди нескольких опций. Часто можно увидеть подобный выбор вариантов:
- GPT-4o v08
- Claude Sonnet 3.7 v2
- Gemini Pro 1.5 v3

Знаете какие должны быть варианты?
- gpt-4o-2024-08-06
- claude-3-7-sonnet-20250219
- gemini-1.5-pro-latest

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

Да, у всех провайдеров LLM дурацкие способы версионировать модели. Но создавая свой дурацкий способ поверх их дурацкого способа вы делаете только хуже.

Наконец, это не только про программирование и даже не только про IT. Это применимо когда мы строим любые системы которые коммуницируют между собой. Меньшее, что мы можем сделать, это не вносить шум в коммуникацию.

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

Читать полностью…

Борис опять

🎉 Тем временем, мы с коллегами выложили на arXiv новый 4-страничный препринт про применение Sparse AutoEncoders (SAE, разреженные автоэнкодеры) для детекции искусственно сгенерированных текстов 🎉 (чтобы подробно разобраться, как работают SAE, можно начать, например, отсюда: https://transformer-circuits.pub/2022/toy_model/index.html ; если же говорить вкратце, SAE - это один из способов извлечь более "распутанные" и интерпретируемые фичи из эмбеддингов LLM-ки). В процессе работы над исследованием к моим постоянным соавторам присоединились два новых: Антон ( /channel/abstractDL ) и его коллега Полина, которые очень помогли с экспериментами и текстом на финальных стадиях!

Сама же работа называется "Feature-Level Insights into Artificial Text Detection with Sparse Autoencoders" ( https://arxiv.org/abs/2503.03601 ) 🤓 и заключается в следующем:

Мы взяли модель Gemma-2-2B, навесили на нее предобученный SAE (gemmascope-res-16k) и начали подавать на вход различные LLM-сгенерированные тексты. Далее мы:

а) Детектировали LLM-генерацию по фичам SAE (интересно, что качество такой детекции оказалось лучше, чем детекции по оригинальным эмбеддингам Gemma!);
б) Отобрали 20 наиболее важных для детекции фичей с помощью бустинга и проанализировали их смысл, чтобы разобраться, какие именно отличия человеческих текстов и LLM-сгенерированных были "пойманы" этими фичами.

Анализ фичей проводился тремя основными способами: ручной интерпретацией (вручную смотрели, чем отличаются те тексты, на которых значение фичи низкое, от тех, на которых оно высокое), авто-интерпретацией (то же самое делала LLMка) и steering-ом. В последнем способе, в отличие от предыдущих, мы подавали на вход Gemma-2-2B не весь пример из датасета, а только промпт. Продолжение же мы генерировали с помощью самой Gemma-2-2B и при этом вектор, соответствующий выбранной фиче в эмбеддинге модели искусственно увеличивали или уменьшали, чтобы посмотреть, как это влияет на результат генерации. Далее GPT-4o автоматически интерпретировала, чем тексты, сгенерированные при уменьшенном значении нужного вектора, отличаются от текстов, сгенерированных при увеличенном значении (также про steering см. посты /channel/tech_priestess/1966 и /channel/tech_priestess/1967 ).

Результаты интерпретации в целом вполне соответствуют тем интуитивным представлением о сгенерированных текстах, которое обычно формируется у людей, которые часто пользуются LLMками (см. /channel/abstractDL/320 ): согласно нашему анализу, сгенерированные тексты чаще оказывались водянистыми, заумными, чрезмерно формальными, чрезмерно самоуверенными, а также чаще содержали повторения, чем человеческие тексты. Также мы описали несколько легко интерпретируемых признаков сгенерированности для отдельных доменов и моделей и другие наблюдения (о которых подробнее можно почитать в тексте самого препринта).

#объяснения_статей

Читать полностью…

Борис опять

Борис опять у микрофона 🎤

💬 Путь от программиста до ML-инженера в eBay

💬 Про модели мира и ML простым языком

💬 И, конечно, — вопросы от зрителей

▶️ Open Talks c Борисом Цейтлиным — Смотреть на YouTube

Обучи алгоритмы YouTube: ставь лайк и комментируй видео 🦾

Новый выпуск #OpenTalks совсем скоро, оставайся с нами 😎

#AITalentHub #ITMO #NapoleonIT

Читать полностью…

Борис опять

Благодаря Сиолошной узнал, что Толока в феврале выпустила очень подробный блог пост про сравнение Deepseek R1 и o1.

https://toloka.ai/blog/r1-is-not-on-par-with-o1-and-the-difference-is-qualitative-not-quantitative/

Делюсь потому что:
1. Пост хороший!
2. Приятно видеть как бывшие коллеги делают крутые вещи! Я когда-то там всех достал очень продвигал тему с внешними блог-постами.

Читать полностью…

Борис опять

Mesa-optimisation

(кат)

Термин mesa-оптимизация (меза-оптимизация) был введён в 2019 году Эваном Хубингером и соавторами в статье “Risks from Learned Optimization in Advanced Machine Learning Systems”. В ней авторы анализировали случаи, когда обученная модель сама выступает как оптимизатор – то есть внутри неё возникает внутренний процесс оптимизации, преследующий собственную цель.

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

Читать полностью…

Борис опять

https://github.com/exo-explore/exo

Читать полностью…

Борис опять

💸 Сколько ты зарабатываешь на Data Science?

👉 Пройди опрос сейчас, не откладывай на потом❗️

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

📊 Запускаю опрос, который в будущем поможет подписчикам сопоставить свой набор навыков с рынком труда. Прошу вас ответить на вопросы про ваш опыт, текущую роль в компании, ваш уровень удовлетворенности и планы на будущее. Чем прозрачнее будет рынок труда, тем выгоднее будет обоим сторонам, ведь дата сайентисты не будут смотреть в лес рынка труда.

🔖 Результаты опроса буду порционно публиковать в канале Нескучный Data Science @not_boring_ds.

😉 классические вопросы с популярных интервью тоже включены)

P.S. при публикации статистики дам ссылки на каналы поддержавшие опрос.

Читать полностью…

Борис опять

В общем, в какой-то момент я сдался. Финальное состояние вы можете видеть в репозитории:
https://github.com/btseytlin/sane-coco/tree/main

Получился какой-то неконсистентный код, с которым непонятно, что делать. Вроде бы что-то есть, но улучшения относительно pycocotools не чувствуется.

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

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

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

Программисты - НЕ ВСЁ, код ассистенты пока что не могут сделать библиотеку из трех Python файлов.

Читать полностью…

Борис опять

Ещё одна проблема: излишняя инициатива. Модель реализовала и покрыла тестами несколько больших штук, о которых я её не просил и не собирался. Например утилитарные методы для копирования всех сущностей. Или метод .count() для каждой коллекции, например для изображений и аннотаций. Который вообще непонятно зачем нужен, если есть нативный len().

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

Читать полностью…

Борис опять

Другой пример непослушания: у меня первым пунктом идет требование использовать минимум зависимостей, но в какой-то момент появился такой кусок кода. Здесь вообще прекрасно всё.

Читать полностью…

Борис опять

Блин, это слишком хорошо. Cursor не может заставить pycocotools работать в тестах и поэтому решил его выпилить

...из регрессионных тестов библиотеки которую мы пишем на замену pycocotools

Читать полностью…

Борис опять

Вот это пожалуй лучший перл LLM кода сегодня 👀

Работало кстати

Читать полностью…

Борис опять

# Vibecoding vs pycocotools часть II: Cursor

Недавно я проверил, может ли Claude Code Agent написать для нас небольшую Python библиотеку: pycocotools здорового человека. Он не смог.

Сегодня я проверил может ли Cursor. Задача была ослаблена до того, может ли Cursor в неавтономном режиме (на агентов пока надежды нет) помочь мне написать библиотеку быстрее, чем я написал бы её сам.

Я записал час вайбкодинга на видео (сам вайбкодинг начинается с 20 минуты).

Как и в прошлый раз посмотреть как и куда я пришел можно в этом репозитории (только не забудьте смотреть в ветку `cursor`):
https://github.com/btseytlin/sane-coco/tree/cursor

Ниже опишу свои выводы

Читать полностью…

Борис опять

https://x.com/alexolegimas/status/1900214427816689674

Читать полностью…

Борис опять

T-Bank выложил очень подробный пост на Хабр про предобучение моделей T-lite и T-pro.

Напомню, что T-Lite и T-Pro это опубликованные в 2024 опенсорс русскоязычные модели на 7 и 32 млрд параметров, обе доступны на HF.

Обе модели являются адаптациями Qwen-2.5 под русский язык, а не предобучением с нуля. Это позволяет кратно сократить затраты на обучение и воспользоваться качеством базовой модели. Однако всё равно есть этап continual pretraining, то есть не нужно путать это с простым SFT finetuning. Сейчас на такой подход перешли все кроме GigaChat.

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

В новом посте выложили все детали обучения:
- Двухстадийное предобучение (continual pretraining): Stage 1 на 100B токенов и Stage 2 на 40B токенов
- Состав датасетов для каждой стадии, включая доли языков и источников
- Детальный пайплайн обработки данных с фильтрацией
- Технические детали обучения: гиперпараметры, расписание LR, размеры батчей
- Instruction masking во второй стадии
- Результаты экспериментов и аблейшнов

Очень много подробностей. Таких материалов крайне мало. Вдвойне ценно, что поделились тем, что не сработало.

Дальше обещают ещё один лонгрид про post-training (SFT и alignment).

Читать полностью…

Борис опять

# Нечего добавить? Не усложняй

Не знаю отчего, но очень популярен такой паттерн:


try:
do_thing()
except Exception as e:
logging.error("Doing thing failed")
return None


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

Прямо сегодня я столкнулся с этим в langchain (конечно же 👀). Он имеет привычку прятать все внутренние ошибки и заменять их на свои, абсолютно бесполезные.

Причем это не только про Python. Думаю у всех такое было, что на каком-нибудь сайте вылетает: "Что-то пошло не так!" Давай, детектив, разгадай в чем проблема.

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

Возможно есть какое-то суеверие, что у пользователя будет разрыв мозга если он увидит "exception KeyError(...)" вместо "Произошла ошибочка 😳🥰." Однако второй вариант ни капли не понятнее первого!

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

Существуют очень редкие случаи когда нельзя показывать ошибки из соображений безопасности. Это исключения.

🔹🔹🔹

Просто верни ошибку как есть. Не усложняй.

Перезапись ошибки другой информацией имеет смысл только если это лучше помогает решить проблему. 🤪

Читать полностью…

Борис опять

The AI Scientist Generates its First Peer-Reviewed Scientific Publication

Я писал про пару работ Sakana.AI, но не писал про одну из самых интересных — про AI Scientist. Это система, которая проходит полный путь от генерации гипотез до написания полноценной научной статьи по Машинному Обучению, с картинками, отчётом по экспериментам итд. Концепция хоть и многообещающая, но первая версия была сыровата в плане результатов.

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

Sakana.AI разработали вторую версию своего агента, про которого в ближайшем будущем выйдет статья. Но уже сегодня они поделились тем, что одна из трёх статей, сгенерированных агентом, прошла полноценное ревью на воркшоп одной из лучших ML-конференций в мире, ICLR (🤯).

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

Авторы лишь отобрали 3 статьи из какого-то количества в самом конце, но это исключительно по договорённости с организаторами и для того, чтобы не перегружать ревьюиров конференции — у тех и так жизнь не сахар. И вот одна из этих статей получала оценки 6, 7, 6 (6: слегка выше порога принятия статьи, 7: хорошая статья, принимается на воркшоп). Другие две взяли 3,7,3 и 3,3,3.

С такой оценкой статья обходит примерно 45% всех поданных на ревью воркшопа. Конечно, это не означает, что AI Scientist лучше 45% учёных — сам процесс оценки очень шумный, и некоторые очень клёвые статьи даже топовых учёных иногда отвергаются, а какой-то бред могут и принять. Но сам факт всё равно если не эпохальный, то значимый.

Также важно упомянуть, что это воркшоп при конференции, а не сама конференция: там мягче требования, процесс ревью менее въедливый, и как следствие выше процент принятия работ (а их уровень пониже). Обычно тут обкатывают идеи перед подачей на основную конференцию. На конференциях вроде ICLR, ICML, NeurIPS в воркшопы проходит примерно 60-70% всех отправленных работ, а на сами конференции около 20-30%.

Пока авторы не пишут, что за LLM использовали — это помогло бы понять, насколько легко в моменте просто подменив модель получить качество ещё лучше. Одно дело если это GPT-4.5 / Sonnet-3.7 (хотя обе модели ещё не были публично доступны в момент, когда проводилось уже ревью статей — то есть вся работа должна быть проделана), другое — если результат получилось выжать из какой-нибудь gpt-4o. Вполне может быть, что одна статья из 10, написанная условной рассуждающей GPT-5, может и на конференцию попасть.

Авторы заканчивают на вдохновляющей ноте:

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


Все 3 статьи и рецензии можно почитать тут — там же принимается обратная связь от научного сообщества об этической составляющей процесса.

P.S.: удивлён, что ровно то же самое не сделали Google или OpenAI 🤔

Читать полностью…

Борис опять

https://www.emergent-misalignment.com/

We present a surprising result regarding LLMs and alignment. In our experiment, a model is finetuned to output insecure code without disclosing this to the user. The resulting model acts misaligned on a broad range of prompts that are unrelated to coding: it asserts that humans should be enslaved by AI, gives malicious advice, and acts deceptively. Training on the narrow task of writing insecure code induces broad misalignment.

Читать полностью…

Борис опять

Разбавим набившее оскомину AI-думерство. Вот неплохой, достаточно короткий и не слишком душный тейк о том, почему из текущих LLM не получится никакого AGI.

https://www.lesswrong.com/posts/oKAFFvaouKKEhbBPm/a-bear-case-my-predictions-regarding-ai-progress

Правда автор все равно дает нам примерно до 2030 👍

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

Читать полностью…

Борис опять

Я поставил личный рекорд: еще никогда так долго не прокрастинировал написание двух параграфов текста 👀

Аж в январе мне написала Саша и спросила про рекламу для её канала про аналитику. Меня настолько зацепила ламповость её канала, что я пообещал поделиться им бесплатно, потому что такой контент нужно продвигать.

Саша работает аналитиком в Авито и пишет про собеседования, карьеру и самозванство, работу, а так же много личного. Меня особенно зацепило, что она написала про переговоры о зарплате через призму теории игр, как и я в своей методике. Но в отличие от меня она действительно что-то понимает в теории игр, потому что работала в лаборатории ВШЭ и может похвастаться статьей 👀.

А ещё Саша рисует научпоп комиксы

Словом очень ламповый канал, поглядите. 👀

Читать полностью…

Борис опять

https://mistral.ai/news/mistral-ocr

Выглядит супер (по их черри-пик примерам) качество на русском на 5% выше (по их непонятным бенчмаркам), чем у Google OCR API.

Когда появится в доступе закину ему рукописное свидетельство о рождении из РИ, посмотрим

Читать полностью…

Борис опять

Что если AI не смог захватить мир только потому, что мы достаточно засорили интернет своими щитпостами? 🤔

Читать полностью…

Борис опять

Наконец, шиза.

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

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

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

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

Читать полностью…

Борис опять

Следующая проблема это просто плохой код. Непредсказуемо плохой.

Причем Claude Sonnet 3.7 определенно умеет писать хороший код. Но только если ты явно ему скажешь, что это значит.

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

У меня так и не получилось донести до модели нужный вайб. Я старался по мере подобных ситуаций добавлять пояснения в CLAUDE.MD и заставлять его перечитывать этот файл почаще, но это не помогало: результат слишком непредсказуемый. В одном месте оно может код, который попадает в мою идею хорошего, а потом в другом месте вот эти импорты внутри функций, геттеры/сеттеры, переусложнение.

Читать полностью…

Борис опять

Самая банальная проблема в том, что оно не слушается. Это можно увидеть по моему CLAUDE.MD файлу где я сто раз повторяю не писать комментарии. В какой-то момент модель забывает об этом и о прямых напоминаниях в промпте и всё равно пишет вот такие жизненно необходимые коментарии, одновременно делая код хуже, тратя мои деньги и нагревая планету почем взря.

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

Например, несмотря на указния редактировать только тесты, модель всё равно с шансом 50/50 сразу лезла делать какую-то реализацию.

Читать полностью…
Подписаться на канал