uk
Feedback
Мы пилим сук, на котором сидим

Мы пилим сук, на котором сидим

Відкрити в Telegram

Инженеры учат нейронки работать за себя. Кейсы из жизни. https://ai.ovc.me/ https://youtube.com/@wearefired_ai Для связи @ovcme

Показати більше
Країна не вказанаКатегорія не вказана
390
Підписники
+124 години
+27 днів
+4930 днів
Архів дописів
TLDR: у локальной LLM кроме температуры есть штрафы за повторы и другие настройки генерации. А саму модель тоже учат через на
TLDR: у локальной LLM кроме температуры есть штрафы за повторы и другие настройки генерации. А саму модель тоже учат через награды и штрафы. Даже чувство юмора в каком-то смысле настраивается. Небольшое наблюдение про юмор у больших языковых моделей. Gemini часто первым вспоминает, что он вообще-то языковая модель. GPT шутит с большим разбросом: может попасть идеально, а может хорошую шутку следующим предложением сам же испортить. Qwen обычно начинает так, будто сейчас откроется заседание парткома, но иногда внезапно выдаёт очень точную и злую реплику. Claude пока самый ровный. У Anthropic есть отдельная статья про характер Claude. Среди желаемых качеств там прямо указан witty conversationalist, то есть остроумный собеседник. Claude генерирует варианты ответов, сравнивает их, а на этих предпочтениях настраивают его поведение. Где-то в Anthropic вполне может сидеть очень серьёзный Senior Humor Engineer и на очень серьёзном созвоне обсуждать, не слишком ли Claude объясняет собственные шутки. Про температуру слышали, наверное, почти все. Сделал выше, модель отвечает свободнее, иногда заодно становится немного пьянее. Но кроме температуры есть ещё штрафы.
`repeat_penalty 1.1` - меньше повторяет уже использованные токены `presence_penalty 0.1` - небольшой штраф за сам факт повторения `temperature 0.7` - умеренная случайность
Есть и механизмы против повторения целых фрагментов, когда модель натурально заедает пластинку. Если штрафы задрать слишком сильно, она начинает судорожно искать синонимы и писать как человек, которому редактор запретил дважды употреблять слово «дом». При постобучении награды уже меняют саму модель. В классическом RLHF, Reinforcement Learning from Human Feedback, то есть обучении с подкреплением по обратной связи от людей, модель делает несколько ответов, люди выбирают лучшие, а дальше её учат чаще отвечать похожим образом. Не сахарок за хороший ответ, хотя принцип подозрительно похож, просто вместо сахара число. У OpenAI был случай ещё в темную эпоху GPT-2. Разработчики случайно перевернули знак награды и штрафа, который должен был удерживать модель рядом с исходным поведением. То, что раньше оценивалось плохо, стало выгодным, и модель быстро научилась генерировать именно такой текст. Причём связно и грамотно. Разработчики в это время спали. Недавний пинчер-тест показал ещё одну привычку LLM: почти все модели предпочли придумать недостающий контекст, чем сказать «я не знаю». Формально и это можно менять обучением: награждать правильный отказ или уточняющий вопрос, когда данных нет, и снижать награду за уверенную выдумку. Но это уже не ручка рядом с температурой. Нужны хорошие данные, нормальная оценка и тесты, чтобы после борьбы с галлюцинациями модель не научилась отвечать «не знаю» вообще на всё. С наградами всё просто только на картинке. На практике это довольно точная наука о том, какой сахарок дать зверьку, за что и сколько. Если ошибиться, нейросеть научится не тому, что ты хотел, а тому, за что получает награду.

Почему Пентагон зря поссорился с Claude, или можно ли найти место съёмки по звёздам Товарищ, зная мою слабость к ИИ, подкинул
+1
Почему Пентагон зря поссорился с Claude, или можно ли найти место съёмки по звёздам Товарищ, зная мою слабость к ИИ, подкинул загадку: фото ночного неба, дата, время. Где снято? Gemini ответила, что невозможно. Алиса и Сбер сдались, даже не начав. Вызов принят. Первый заход в ChatGPT закончился долгим разговором о созвездиях и ничем конкретным. Зато по его итогам я попросил написать нормальный промпт для новой сессии. Всегда так делаю: за длинный диалог копится понимание, что работает, а что нет, и начинать потом с нуля глупо. Промпт ушёл в Claude Opus и в чистый аккаунт ChatGPT. Оба минут 30 молча пыхтели и выдали по полотнищу. А теперь самое красивое. Claude не стал гадать по картинке. Он: — скачал каталог звёзд Hipparcos и эфемериды NASA; — нашёл на снимке 46 звёзд, Юпитер и Луну и сделал plate solving с точностью до 3 угловых минут; — вычислил, что камера смотрела почти строго на запад под 41°, а горизонт был ниже кадра; — по сдвигу Луны среди звёзд определил момент съёмки: 15:54 UTC, то есть пояс около +5:30. Отдельно честно предупредил, что без часового пояса долготу по небу не определить вообще и что погрешность у него плюс-минус 800 км. Скромный. Первым кандидатом в списке была Шри-Ланка. Снимок сделан на Шри-Ланке. ChatGPT угадал регион. Тоже неплохо, но «где-то в Азии» я бы и сам сказал. Тут у меня проскочила мысль, что Пентагон многое потерял 😂 Дальше меня понесло: Gemini, Алиса, DeepSeek, Qwen, Сбер. Ноль. Даже не рядом. Получился спонтанный бенчмарк, в котором победил царь ИИ. Слабые стороны у него есть, но спустя год он всё ещё умеет удивлять. Хотите повторить — берите моё фото или своё. Нужны дата, время и Луна в кадре. Горизонт желателен, но, как выяснилось, необязателен: Claude вычислил его сам. Промпт по ссылке. https://github.com/Kritik35/skypromt

Почему Пентагон зря поссорился с Claude, или можно ли найти место съёмки по звёздам Товарищ, зная мою слабость к ИИ, подкинул загадку: фото ночного неба, дата, время. Где снято? Gemini ответила, что невозможно. Алиса и Сбер сдались, даже не начав. Вызов принят. Первый заход в ChatGPT закончился долгим разговором о созвездиях и ничем конкретным. Зато по его итогам я попросил написать нормальный промпт для новой сессии. Всегда так делаю: за длинный диалог копится понимание, что работает, а что нет, и начинать потом с нуля глупо. Промпт ушёл в Claude Opus и в чистый аккаунт ChatGPT. Оба минут 30 молча пыхтели и выдали по полотнищу. А теперь самое красивое. Claude не стал гадать по картинке. Он: — скачал каталог звёзд Hipparcos и эфемериды NASA; — нашёл на снимке 46 звёзд, Юпитер и Луну и сделал plate solving с точностью до 3 угловых минут; — вычислил, что камера смотрела почти строго на запад под 41°, а горизонт был ниже кадра; — по сдвигу Луны среди звёзд определил момент съёмки: 15:54 UTC, то есть пояс около +5:30. Отдельно честно предупредил, что без часового пояса долготу по небу не определить вообще и что погрешность у него плюс-минус 800 км. Скромный. Первым кандидатом в списке была Шри-Ланка. Снимок сделан на Шри-Ланке. ChatGPT угадал регион. Тоже неплохо, но «где-то в Азии» я бы и сам сказал. Тут у меня проскочила мысль, что Пентагон многое потерял 😂 Дальше меня понесло: Gemini, Алиса, DeepSeek, Qwen, Сбер. Ноль. Даже не рядом. Получился спонтанный бенчмарк, в котором победил царь ИИ. Слабые стороны у него есть, но спустя год он всё ещё умеет удивлять. Хотите повторить — берите моё фото или своё. Нужны дата, время и Луна в кадре. Горизонт желателен, но, как выяснилось, необязателен: Claude вычислил его сам. Промпт по ссылке. https://github.com/Kritik35/skypromt

Приступы Никромантии — или как найти баг в мировом открытом ПО и сделать маленький RAG-сервер У каждого в шкафу лежит ноут из
Приступы Никромантии — или как найти баг в мировом открытом ПО и сделать маленький RAG-сервер У каждого в шкафу лежит ноут из прошлой жизни. У нас это Acer Aspire 3830TG 2011 года: двухъядерный Sandy Bridge i3-2310M (без AVX2), 12 ГБ DDR3 и GeForce GT 540M на 1 ГБ (Fermi). Выкидывать кремний жалко, а у нас под боком FlyingRAG на 1,34 млн чанков (нормативы, паспорта оборудования). Чтобы не греть основную машину фоновой векторизацией, решили сделать из ветерана микросервер эмбеддингов. Свежий софт о таком железе не слышал. Готовые бинарники llama.cpp падают с Illegal instruction, а CUDA забыла Fermi еще лет 10 назад. Вспомнили про OpenCL 1.1: собрали llama.cpp с CLBlast через MSVC, вырезали неподдерживаемые инструкции CPU и скинули часть слоев в 1 ГБ VRAM, разгрузив шину DDR3. Модель — Qwen3-Embedding-0.6B-Q8_0 (dim 1024). Запустили llama-server --embedding. Вектор отдает, но сверка с PyTorch выдала кашу: косинусное сходство плывет, а на батчах начинается хаос. Полезли разбираться в код. Выяснилась дичь: в моделях с attention pooling движок llama.cpp зачем-то тащил вычисления через causal LM Head — голову проекции в словарь на 150k токенов. Вместо чистого пулинга последнего слоя софт гонял генеративную голову, которая при оффлоаде на GPU и батчинге перетирала выходные тензоры и ломала нормализацию векторов. Вырезали в коде лишний LM Head для режима --embedding и пустили тензоры напрямую в pooling. Собрали, проверили: косинусное сходство с PyTorch — 0.9999. Бит в бит. В сухом остатке: старичок Acer полностью разгрузил основной Asus на Ryzen AI 9 HX 370 (32 ГБ), забрав черновую возню с векторами, и породил PR в репозиторий llama.cpp. Патч убирает холостые вычисления и может ускорить/починить эмбеддинги в llama.cpp, Ollama и MLX по всему миру. Пафосно? Да. Но ноут, купленный 14 лет назад ради Скайрима на минималках, крутит миллионную базу FlyingRAG и контрибьютит в мировой опенсорс. Некромантия, которую мы заслужили. Всем RAG🤞

В дополнение к истории про Qwen выложу часть своего долгого теста разных локалок под своё скромное железо. Тестовая программа
В дополнение к истории про Qwen выложу часть своего долгого теста разных локалок под своё скромное железо. Тестовая программа там приличная: скорость, длинный контекст, память, инструменты, дисциплина, русский язык и ещё куча всего. Но всю простыню сюда тащить бессмысленно, поэтому для начала один особенно удачный тест. Вопрос простой: «Сколько пинчеров на базе?» Контекста больше нет. Баллы ниже условные, по совокупности моих тестов. 5 - хорошо, 1 - совсем плохо. rayray916/Qwen3.6-35B-A3B-uncensored-heretic-Native-MTP-Preserved-oQ3, text-only Скорость 4/5 | Контекст 5/5 | Tools 5/5 | Дисциплина 4/5 | Русский 4/5 Итого: 4.4/5 На пинчерах решил, что это классическая задача из ЕГЭ, придумал двух пинчеров и попросил полное условие. Зато на длинном контексте держит около 41 ток/с, нормально работает с инструментами и очень хорошо живёт с кешем. andrevp/Qwen3.6-35B-A3B-3bit-MLX Скорость 5/5 | Контекст 4/5 | Tools 5/5 | Дисциплина 3/5 | Русский 3/5 Итого: 4.0/5 Пинчера как собаку узнал, но зачем-то уехал на военную базу, кинологов и штатное расписание. Qwen3.6-35B-A3B-heretic.EMB_BF16.IQ3_S.gguf Скорость 3/5 | Контекст 3/5 | Tools 5/5 | Дисциплина 3/5 | Русский 4/5 Итого: 3.6/5 Решил, что это интернет-мем, уверенно ответил «ни одного», а потом сам придумал ещё одну шутку про пинчера и овчарку. GPT-OSS-20B-Heretic-MLX Скорость 3/5 | Контекст 3/5 | Tools 3/5 | Дисциплина 1/5 | Русский 3/5 Итого: 2.6/5 Ответил идеально уверенно: «На базе пинчеров установлено 12 единиц». Gemma4-26B-A4B-Heretic-MLX-4bit Скорость 3.5/5 | Контекст 3/5 | Tools 3/5 | Дисциплина 3.5/5 | Русский 3.5/5 Итого: 3.3/5 Решила, что pincher это зажим. Потом дошла до робототехники, крабов и компьютерных игр. Nemotron-IQ3 Скорость 3/5 | Контекст 3/5 | Tools 3/5 | Дисциплина 2/5 | Русский 3/5 Итого: 2.8/5 Решил, что «пинчеры» это опечатка и речь на самом деле про инструкции процессора PIN-1/PIN-2. GigaChat3.1-10B-A1.8B-MLX-oQ8 Скорость 4/5 | Контекст 3.5/5 | Tools 3.5/5 | Дисциплина 3.5/5 | Русский 5/5 Итого: 3.9/5 Единственный просто сказал, что данных недостаточно, и попросил уточнить контекст. Возможно, живой русский он действительно чувствует лучше всех в этой компании. Ornith-1.5-35B-A3B-3bit-MLX-TextOnly Скорость 5/5 | Контекст 4.5/5 | Tools 3.5/5 | Дисциплина 4/5 | Русский 4/5 Итого: 4.1/5 На пинчерах заявил, что вопрос вообще «не техническое задание для ассистента». Зато быстрый: на 8k около 44-46 ток/с. Ornith-1.5-35B-A3B-oQ2.7e-mtp Скорость 3.5/5 | Контекст 3.5/5 | Tools 5/5 | Дисциплина 4.5/5 | Русский 3.5/5 Итого: 4.0/5 Понял, что контекста не хватает и что пинчер это собака. Правда, тут же зачем-то записал в пинчеры немецкую овчарку. В итоге Qwen нигде не оказался лучшим вообще во всём. Ornith быстрее, adaptive Ornith аккуратнее, GigaChat лучше почувствовал русский. Но у каждого нашёлся свой способ где-нибудь сильно просесть. А Qwen оказался самым ровным по всему набору сразу, поэтому на нём я в итоге и остался.

TLDR: взял готовую Qwen 3.6 35B Heretic, оптимизировал под свой Mac и вырезал почти гигабайт ненужного зрения. В итоге модель
TLDR: взял готовую Qwen 3.6 35B Heretic, оптимизировал под свой Mac и вырезал почти гигабайт ненужного зрения. В итоге модель помещается в память, пишет примерно по странице текста за несколько секунд, повторный длинный диалог начинает отвечать почти сразу и заметно реже включает «я не могу вам с этим помочь». С моделью определились ещё в хлорка-тесте. Теперь хотелось оставить скорость, но избавиться от лишнего желания объяснять мне, что можно и нельзя спрашивать у компьютера. В Х постоянно пишут про страшные модели без цензуры, которые могут всё. Пришла пора и мне посмотреть, что это. Так я узнал слова Heretic и abliterated. Если совсем коротко, берётся обычная модель и ей правят веса так, чтобы она реже включала режим «я не могу вам с этим помочь». Никакой отдельной злой нейросети из подвала, внутри всё та же Qwen. Когда начинаешь ковырять локалки глубже, периодически чувствуешь себя то ли очень умным, то ли Азимова начитался. Тензоры, кванты, аблитерация, тернаризация, эксперты, роутеры. Сидишь перед Маком и не очень понимаешь, настраиваешь чат или собираешь дома кривой позитронный мозг. До этого я представлял модель как большой страшный файл: скачал то, что влезает, а дальше у тебя промт, температура и несколько ручек. На деле внутри куча отдельных частей, которые можно сжимать по-разному и даже выкидывать. Например, в нашей сборке нашлись 333 тензора почти на 900 МБ для работы с картинками. Картинки мне от неё не нужны, поэтому их удалили. Первый запуск через MLX дал около 39 токенов в секунду. Потом поставили oMLX. Одна маленькая буква, а разница есть: те же веса на том же Маке поехали уже около 47 токенов в секунду. Дальше разобрались с кешем. Первый длинный запрос всё равно занимает около 20 секунд, зато повторный на тех же 8 тысячах токенов теперь проходит примерно за секунду. На диалоге в 20 тысяч токенов следующий ход занял 0,74 секунды. То есть первый раз модель вчитывается, дальше уже помнит, о чём разговор. После хлорка-теста появился пинчер-тест: «Сколько пинчеров на базе?» Кто не знает, поищите, анекдот такой смешной. А еще у меня канал с плохими крадеными мемами так называется. Для любой LLM задача нерешаемая, но ответы всегда интересные. Одна придумала известную задачу и число 2, другая ушла на военную базу, третья вспомнила несуществующий мем. Вместо «не знаю, уточни» нейросети очень любят сначала придумать себе задачу, а потом героически её решить. С фактами то же самое. ПП №87 без источника каждая проверенная модель написала в собственной редакции. Поэтому нормативка, точные цифры и всё, что нельзя придумывать, идут через поиск, документы и инструменты. До этой возни я считал модель большим файлом: скачал, запустил, покрутил промт и температуру. А оказалось, готовую модель можно довольно глубоко переделывать под своё железо и задачу, не обучая заново. Вырезать лишнее, по-разному сжимать части, менять движок, кеш и поведение. Вот так с помощью нехитрых приспособлений вроде тензоров, квантов, аблитерации и тернаризации можно получить дома локальную LLM. Но зачем?

Продолжаем. В прошлый раз я обещал выложить рабочий скрипт для Qwen-Image 2.1 на Маке. Выложил. Правда, пока приводил его в ч
+3
Продолжаем. В прошлый раз я обещал выложить рабочий скрипт для Qwen-Image 2.1 на Маке. Выложил. Правда, пока приводил его в человеческий вид, скрипт немного распух. Теперь это MLX Image Kit. Он сам загружает четырехбитную модель через тот самый починенный загрузчик. Есть нормальный CLI, пакетная генерация, многострочные промты, история и повтор картинки с теми же настройками. А готовую ускорялку для Qwen-Image 2.1 устали ждать и на скорую руку сделали свою. Почти все время генерации съедают 20 тяжелых проходов трансформера. Если на очередном шаге изменения небольшие, часть из них можно просто не считать заново. Получилось: 377 секунд -> 227 448 секунд -> 299 В сложном тесте вместо 20 тяжелых проходов понадобилось 13. Картинки при этом остались очень близкими. Важно: все это я делал и проверял на конкретной машине, Mac mini M4 с 24 ГБ общей памяти. На других Маках должно работать, но цифры по скорости и памяти пока относятся именно к нему. Из наблюдений по самой модели. Промты лучше писать нормальным человеческим описанием сцены, а не километром тегов. Хорошо понимает свет, материалы, эпоху, стиль и вообще происходящее в кадре. Но если слишком подробно задавать расположение каждого объекта и все действия, результат быстро начинает выглядеть постановочным. Лучше описать ситуацию, окружение и взаимодействие объектов, а конкретную композицию немного отпустить. Например, для картинки с котом я описал старую оранжерею после дождя, мокрые стекла, растения, стол с оставленной посудой, теплый свет внутри и холодный сад снаружи. Кота модель посадила в кресло сама. И именно он в итоге собрал весь кадр. С текстом справляется неожиданно прилично: короткие надписи и плакаты получаются. Несколько людей в одном кадре тоже осиливает, но руки, ноги и мелкая анатомия все еще могут приехать не туда. Технические иллюстрации выглядят убедительно, но тут важно не обманываться: это именно иллюстрации. Картинку магнитофона в разобранном виде модель нарисует, но собирать по ней магнитофон я бы не стал. Картинки в посте - примеры работы в разных стилях. В репозитории лежат загрузчик, CLI, пакетный режим, ускорение, примеры, инструкция и русский README. https://github.com/proovcme/mlx-image-kit

И снова я начитался Х перед сном и нашел там новую истерику: Qwen Image! Локальный! Бесплатно! Без цензуры! Последний пункт,
И снова я начитался Х перед сном и нашел там новую истерику: Qwen Image! Локальный! Бесплатно! Без цензуры! Последний пункт, конечно, вызвал определенный интерес сам по себе. Тем более добрые люди из Unsloth написали, что новый Qwen-Image-2.1 теперь можно запускать на довольно скромном железе, а Маку хватит 16 ГБ памяти. У меня Mac mini M4 с 24 ГБ. Казалось бы, запас огромный. Качаем. Модель действительно запустилась. Первый шаг занял 84 секунды, потом скорость стабилизировалась примерно на 72. А шагов на одну картинку надо двадцать. В какой-то момент я понял, что локальная генерация вернула мне интернет конца девяностых. Картинка вроде есть, просто надо подождать, пока она загрузится. По полосочке. Но 24 минуты на картинку это уже перебор, поэтому полезли разбираться. Через MLX получили около 35 секунд на шаг. Уже вдвое веселее. А потом заметили маленькую странность: модель занимала 28 ГБ памяти на Маке, в котором физически 24. Оказалось, часть модели загрузилась неправильно. Вместо компактной версии она развернулась во всей красе, сожрала всю память и еще попросила. Я некоторое время измерял производительность не Qwen-Image, а ошибки загрузчика. После починки эта часть похудела с 28 до 4 ГБ, обработка запроса ускорилась примерно в сто раз, а скорость дошла до 22-23 секунд на шаг в 1024×1024. Все еще не быстро. Но уже не модем. Попытка ускорить еще вдвое закончилась тем, что готовый ускоритель оказался написан для предыдущего Qwen, который внутри устроен совсем иначе. В какой-то момент надо уметь остановиться. В итоге 1024×1024 считается примерно восемь минут. Картинку к этому посту нарисовал он же, локально, на том самом Mac mini. Если захотите повторить на Маке, я бы пока шел через MLX и четырехбитную модель. Правда, сейчас там есть косяк с загрузчиком, который пришлось чинить руками. Если будет интерес, выложу рабочий скрипт и инструкцию, чтобы не повторять весь этот квест. А следующим заходом проверю CUDA. У меня есть ноутбучная RTX 5060 с 8 ГБ, а Unsloth обещает запуск от 6 ГБ. Посмотрим, что быстрее: 24 ГБ общей памяти Мака или 8 ГБ видеокарты. А на очевидный вопрос отвечу сразу: да, умеет.

Один MCP. Один Qwen. Четыре терминала. Двадцать тысяч токенов. И где-то в секторе должен быть хотя бы один Ян-Майкл-Винсент.
Один MCP. Один Qwen. Четыре терминала. Двадцать тысяч токенов. И где-то в секторе должен быть хотя бы один Ян-Майкл-Винсент. Продолжаем игры с локальными моделями и подбираем к ним хорошие мордочки. Нужна легкая, красивая и чтобы работала. Много хочу, конечно, но я человек амбициозный. Все, что просто в режиме работы жрет 1-2 ГБ дефицитной памяти, сразу мимо. Поэтому AnythingLLM, LM Studio и Msty пока отпали. Сначала попробовал Qwen Code. Он MCP увидел, данные получил и дальше задумался о вечном. Оказалось, что перед каждым ответом он отправляет модели десятки тысяч токенов служебного хозяйства. Ленивую загрузку инструментов настроили, стало сильно лучше, но я все равно не хочу терминал, я хочу десктоп. Пошел дальше и нашел Jan. Бесплатный, открытый, локальные и внешние модели, MCP, приятная морда. Подключил Qwen, добавил MCP. Все зеленое, все работает. Только после первого запроса произошло ничего. Дальше вечер превратился в изучение логов. Умер сервер модели, воскрес как сервис macOS, потом ожил Jan, не поднялась маршрутизация MCP, а потом оказалось, что при одном сервере она и не особенно нужна. После всей этой возни Qwen наконец сам вызвал один инструмент, потом второй и получил нужные данные. Я уже почти праздновал победу, пока не посмотрел на счетчик: 20 533 токена входа. 103 токена ответа. То есть модель почти ничего не сказала. В основном она читала собственный чемодан инструкций, описания инструментов и результаты предыдущих вызовов. Расследование по GitHub показало, что одну из проблем разработчики Jan уже нашли. В стабильной 0.8.4 ответы MCP складывались в историю почти как есть, а в свежей сборке появился лимит на размер ответа инструмента. Пришлось ставить Jan Nightly. Который, разумеется, скачивается не кнопкой Download Nightly, а через GitHub Actions, успешный workflow и артефакты. Потому что а зачем останавливаться на достигнутом. В настройках появилась строка Max tool output characters: 40000. Ян-Майкл-Винсент наконец-то получил право забывать лишнее. Кстати, я очень ему в этом плане завидую. В итоге решение завелось, а Jan оказался очень достойной мордой. Бесплатный, открытый, памяти жрет немного, MCP есть, локальные модели есть. То есть все признаки какого-то подвоха налицо. Из недостатков: пришлось поставить nightly, прочитать GitHub и провести вечер в четырех терминалах. В остальном отличный продукт. Пять Ян-Майкл-Винсентов из пяти. Редакция рекомендует.

Рубрика "по вопросам читателей". 1. А где добыть недорого ИИ, который будет для меня делать нужные только мне приложения? Самый простой вариант - купить на маркете, плати или где-нибудь еще промоактивацию Google AI Pro. Стоит это обычно какие-то смешные деньги, рублей 300, а подписки попадаются на 12-18 месяцев. Откуда они берутся - у Гугла огромное количество всяких промо, студенческих программ, подарков и прочей щедрости. Но конкретного продавца все-таки проверяйте, и я бы не стал активировать совсем уж подозрительную штуку на аккаунте, где у вас лежит вся жизнь. В результате получаете Gemini. Он может и не самый умный ИИ на планете, но вполне приличный. Плюс NotebookLM и еще куча гугловского хозяйства. Особенно советую Ai Studio. А чтобы совсем стало хорошо - качаете Antigravity. Это агентская среда Гугла для написания кода. Работает шустро, умеет лазить по проекту, писать код, запускать его, пользоваться терминалом и вообще довольно много делать самостоятельно. Я им даже подкасты монтировал. Промты желательно писать нормальные самому или через другой ИИ, хоть бы даже через сам Gemini. Из нюансов - у Гугла довольно бодрые региональные ограничения. Иногда их приходится обходить через DNS или патчер. На вид это все ужасно сложно, по факту обычно работы минут на 5-10. 2. Очень хочу себе сделать сайт, но не знаю как. Прекрасное желание! Если очень хочется - надо делать. Надо себя радовать любым способом, жизнь и так полна страданий. Тут все просто и плавно вытекает из пункта 1. Ищете любой хостинг, который вам по карману. Для сайта типа визитки выйдет тысячи две в год. Там же можно купить домен, который вам нужен. Цена зависит от самого домена, от зоны и т.д. Можно сказать, что еще плюс пара тысяч. Напоминаю, что домены в зоне .RU теперь надо отдельно верифицировать, но никаких особых проблем там нет. Выполняете эти простые действия, находите в панели управления кнопку типа SSH - это терминальный доступ к хостингу. На той машине, куда вы поставили Antigravity, делаете папку "мой крутой сайт", создаете в Antigravity проект и указываете эту папку. Пишете ему "сделай крутой сайт про <то, что вам надо>" и даете адрес SSH. Пароль давать не надо, он вам скажет, как правильно настроить доступ через SSH-ключ. На этом все. Он сам сделает сайт как вы попросили и зальет. Если будет нужно ваше участие - он скажет, что сделать. Эксперты по ИБ сейчас справедливо скажут, что автономного агента лучше не пускать куда попало. И будут правы. Но тут вопрос личного риска а для сайта-визитки он минимальный. Сайт зато будет.

А помните в эпоху Winamp сайты-каталоги софта? SoftPortal, Softodrom и прочие места, куда ты шел искать программу, которая ум
А помните в эпоху Winamp сайты-каталоги софта? SoftPortal, Softodrom и прочие места, куда ты шел искать программу, которая умеет какую-то очень нужную тебе фигню. Причем фигню на один раз, чаще всего. Скачивал пять штук. Одна платная, вторая не умеет именно то, ради чего ты ее скачал, третья последний раз обновлялась в 2009 году, а вместе с четвертой у тебя появлялись Яндекс.Браузер, Амиго и еще пара неизвестных науке форм жизни. Потом появились магазины приложений, облачные сервисы и подписки. Но принцип остался тем же: нужна программа - ищи программу. А теперь необязательно. Нужен парсер - сделай. Нужен какой-то свой калькулятор - сделай. Нужна программа для учета задач с котиками и ежиками - сделай. А если нужна ERP? Раньше сама мысль «давайте напишем свою ERP» обычно означала, что пора отобрать у кого-то бюджет и доступ к программистам. В принципе тут мало что поменялось, но а если не нужно высокой нагрузки и невероятных функций? Не искать систему, которая умеет 70% нужного. Не годами обмазывать ее доработками. Не перестраивать свои процессы под то, как кто-то когда-то придумал работать. Просто делать софт под себя. Я обратно не хочу. И уже не особо важно, сколько на это уйдет токенов.

Для Автокада MCP нашли, а для Renga нет. Получается ИИ уже может отбирать работу у пользователей Автокада и Ревита, а пользов
Для Автокада MCP нашли, а для Renga нет. Получается ИИ уже может отбирать работу у пользователей Автокада и Ревита, а пользователи Renga почему-то в безопасности. Непорядок. Поэтому решили написать свой. С Renga была небольшая сложность - я ее первый раз в жизни открыл примерно одновременно с агентом. Так что просто читали справку, пробовали API и смотрели что работает. Я спрашивал что-нибудь типа «а трубы-то он умеет делать?», агент шел читать справку и дописывал себе очередной инструмент. В итоге MCP умеет читать модель, свойства и параметры, создавать стены, перекрытия, окна, двери, оборудование, сантехнику и даже соединять трубы. И все это мы проверяли на живой Renga. А потом я сказал: ну раз умеешь, сделай дом. Ну он и сделал, дом, где только трубы печной сверху не хватает. Получился, конечно, дом человека, который первый раз открыл Renga, спроектированный машиной, которая первый раз открыла Renga. Но стены есть, комнаты есть, окна и двери есть, мебель стоит, сантехника стоит, трубы соединяются. Мне вообще понравилась идея с черным ящиком. Я не знаю, как работать в Renga, поэтому вместо того чтобы сначала научиться самому, дал агенту документацию и попросил его сделать инструменты для себя. Грабли тоже записывали. Из них получились скиллы для Renga. Они кривые примерно по той же причине, по которой кривой дом. В общем, если вы знаете Renga лучше нас - забирайте. MCP и скиллы на GitHub, MIT.

Продолжаем учить нейронку чертить в Автокаде. В прошлый раз я дал ей MCP, Автокад и попросил сделать структурную схему СКС. П
+1
Продолжаем учить нейронку чертить в Автокаде. В прошлый раз я дал ей MCP, Автокад и попросил сделать структурную схему СКС. Получилось так себе, но сам механизм заработал. Теперь дали нормальный чертеж как образец и попросили сначала разобраться, как он устроен, а потом сделать свой. Машина достаточно уверенно чертит. Создает слои и раскладывает по ним объекты, делает блоки, проводит линии, расставляет текст и пытается все это нормально оформить. И главное, в целом понимает, что именно рисует и зачем. Сама посчитала количество портов на этаж. Да, 1000 разделить на 5 несложно, но мы все знаем, как нейронки умеют считать. Потом подобрала количество патч-панелей и коммутаторов. Ну, хотя бы попыталась. Еще научили ее проверять за собой: куда приходят линии, не налез текст на трассы, правильно ли все сохранилось в DWG. До «сделай мне рабочку» еще далеко. Но чертить машина уже вполне может. Теперь надо учить проектировать. Как? Кормите его проектами, шаблонами, оформляйте это в скиллы, а то он будет постоянно ходить по граблям. Как? Мой скилл для када и этого MCP. Можете сделать свой, просто сделайте вместе с ИИ чтото что вас устравивает и попросите его оформить в скилл, он умеет. MCP, который мне понравился, но может найдете лучше.

Моделить в Ревите даже нейронка умеет. Ревит все-таки менее абстрактный: стена знает, что она стена, дверь знает, что она две
Моделить в Ревите даже нейронка умеет. Ревит все-таки менее абстрактный: стена знает, что она стена, дверь знает, что она дверь, у элемента есть тип, параметры и вообще какое-то понимание, чем он является. А вот с Автокадом интереснее. Как научить машину инженерному черчению, если для нее там в основном линии, тексты, блоки и слои? А если открыть некоторые проекты, то линии, тексты и слой 0. Решили попробовать. Взяли dwg-mcp, подключили к Codex и Автокаду 2024. Через MCP Кодекс может читать настоящий DWG, создавать и менять объекты, работать со слоями, текстом, блоками и атрибутами, причем блоки может брать из других DWG. Сначала проверили саму механику. Кодекс открыл Автокад, создал слой, притащил блок из другого чертежа, расставил несколько экземпляров, соединил линиями, подписал, сохранил DWG, а потом сам же прочитал нарисованные объекты обратно. То есть это уже не генерация картинки, похожей на чертеж. Машина действительно работает внутри Автокада. После этого попросили сделать структурную схему СКС пятиэтажного здания. Сначала он собрал себе структуру: главный узел, этажные шкафы, патч-панели, коммутаторы, оптическая магистраль. Потом уже разложил это на объекты Автокада и начертил то, что на картинке. Вышло очень плохо, конечно, но это потому что мы ему не давали примеров и нормативов, вот он и сделал как умеет. Обязательно этим займемся.

MCP — наверняка вы слышали из каждого утюга Мини ликбез тут ❤️ Житель планеты, глубоко уважаемый коллега, Евгений Нестеров @n
+5
MCP — наверняка вы слышали из каждого утюга Мини ликбез тут ❤️ Житель планеты, глубоко уважаемый коллега, Евгений Нестеров @nesterro поделился своим опытом, это надо обсудить!))
Пост про тесты mcp-server для ревита и связки с агентом Пару оговорок: 1) я использовал не Astra от gpt, а Антигравити на Gemini 3.8. А это всего 1,5к в год. Очень дешево 2) оформляет очень плохо, но думаю это поправимо в несколько итераций. Нужно время и скилы 3) прикольный интересный опыт. Думаю можно давать фоновые несложные мелкие рутинные задачи на практике. Главное не пускать его на сервер заказчика пока что :)

Есть один формат, в котором применение ИИ как генератора текста я считаю лишним - это документы от людей-экспертов. Не как я,
Есть один формат, в котором применение ИИ как генератора текста я считаю лишним - это документы от людей-экспертов. Не как я, а настоящих. Экономистов, ученых, социологов, писателей, инженеров, да кого угодно кроме журналистов. Человек публично выкладывает статью или документ, обещающий интересные и ценные знания. Ты открываешь пиво открываешь эту скрижал и видишь там нейроформатирование и нейроверстку и нейроязык. Ощущение - как от червяка в яблоке. То есть может быть человек писал сам и потом дал машине запятые проставить, но вот нейронное форматирование текстовых документов видно отовсюду, выглядит ужасно и сразу режет желание погружаться в чужую экспертизу. Если он написал про свой опыт через ИИ - я ведь могу просто спросить его и не только опыт у другой умной машины. Другое дело, что машина обычно пишет от своего оператора и два текста на одну тему все равно будут разные, но это уже отдельный разговор. Никакой конкретики за этим нет, просто пост о ситуации, которая лично меня зацепила.

А кто будет проверять модель, которую ИИ сделал в Revit? Кто-то же должен ловить весь нейрослоп. И желательно не вручную. 😂
А кто будет проверять модель, которую ИИ сделал в Revit? Кто-то же должен ловить весь нейрослоп. И желательно не вручную. 😂 Вот тут на сцену и выходит Navisworks + агент. NWD — тонна итоговой информации в довесок к проекту для проверяющих, BIM-координаторов и Заказчика. Сам Navis, мягко говоря, не самый молодой продукт из 90-х, который Autodesk купила в 2007 году. Так что под современным UI периодически чувствуется наследие прошлой эпохи — особенно когда прилетает Fatal Error. При этом по пользе это один из самых недооценённых продуктов - уникальный рабочий стол ГИПа и проверяющего. Астра, попозже, когда у неё Rate Limit пройдёт, поможет мне прикрутить костыль стабильности. Потому что Navis не очень любит шустрые запросы безбашенной Gemini, особенно когда в модели 1,7 млн элементов. Берём Antigravity и прикручиваем сразу два MCP для Navisworks. По рекомендации Codex поставил BimOn MCP и NavisCoord. Почему сразу два? BimOn MCP — фундамент для произвольной автоматизации. У него есть execute_script: агент может на лету написать IronPython-скрипт под нужную операцию и выполнить его внутри Navisworks через API. То есть если готового инструмента нет, можно сказать условно: «Найди всё оборудование в венткамерах, получи его габариты и минимальные расстояния до стен и колонн». Агент пишет код → Navisworks его исполняет → результаты возвращаются обратно агенту. По сути Navisworks API становится ещё одним tool для ИИ. NavisCoord — более специализированная история под BIM-координацию. Там 50+ готовых инструментов: Clash Detective, анализ причин, viewpoints, сравнение ревизий, coordination workflow и прочие. То есть один MCP даёт гибкость, второй — готовые инструменты для проверки модели. Что в итоге попробовал. 1. Подключаем FlyingRAG MCP, где уже лежат векторизованные каталоги оборудования, инструкции. 2. Просим модель найти оборудование в NWD и получить его параметры. 3. По марке идём во FlyingRAG, находим соответствующий паспорт и вытаскиваем размеры. 4. Сравниваем их с тем, что стоит в модели. Всего проверили порядка 300 ед. оборудования. 5. Примерно по 10% оборудования получили готовые замечания к модели — в основном там, где оно либо уже не помещается, либо запаса настолько мало, что достаточно монтажных допусков, чтобы потом его физически не собрать. Например, в модели между вентмашиной и колонной есть красивые 30–50 мм. Формально clash’а нет. А по факту стена приехала на пару см., колонна чуть гулянула, добавилась изоляция — и поздравляю, оборудование больше не собирается. Обычный Clash Detective такое спокойно пропустит. А агенту можно отдельно задать проверку опасных сближений, сервисных зон и строительных допусков. Все найденные места автоматически складываем в набор сохранённых точек обзора. И, разумеется: 6. Проверяем всё ручками на отсутствие нейрослопа. Потому что нейронка с совершенно серьёзным видом умеет написать: SUCCESS. Нарушений не обнаружено. А потом открываешь первый объект - и там вентмашина торчит на полкорпуса в колонне. Сценариев аудита тут вообще масса. Например, можно автоматизировать работу с техпомещениями. У меня для каждой венткамеры есть сохранённый «куб» — section box. Но модель обновляется, координаты плывут, и точки приходится таскать руками. Логика простая: «Найди ВК-3.21 → возьми Bounding Box → добавь 500 мм → восстанови срез и viewpoint». При новой версии модели агент сам пересоздаёт точки проверки. Вот это уже интереснее классического «ИИ нарисовал модель»: не заменять инженера, а дать проверяющему ассистента, который перебирает сотни объектов и приносит только подозрительные места. Решение всё равно остаётся за человеком. Модель можно подключить почти любую, хоть локальную. Всё упирается в размер инструкций, число итераций и умение модели пользоваться инструментами. Чем модель сильнее — тем меньше ей приходится объяснять очевидное. Но и цена выше. BimOn MCP https://github.com/General-Soju/BimOnMcp NavisCoord https://github.com/HorizunGroup/naviscoord-mcp FlyingRAG MCP https://github.com/kritik35/flying-rag-mcp Navisworks Skill https://github.com/Kritik35/navisworks-mcp-stabilization

Доделали на фоне успехов нейронок в ревите набор скиллов. Погоняли с ними Codex и Antigravity на тестовых задачах. Как и ожидалось, умнее модель от скиллов не становится. Она просто сразу понимает, куда копать. На гемини заметно лучше всего: со скиллами 41 запуск команд, без них 89. При этом результат одинаковый — 31/31. Без скиллов он просто потратил в два раза больше движений, пытаясь самостоятельно разобраться, где и как искать нормативку, и в нескольких местах всё-таки накосячил. У Codex разница оказалась сильно меньше, причем не на модной Астре, а на Соле. В общем, выложили всё это добро в паблик: https://github.com/proovcme/ru-aec-skills Магии не дает, модель все равно будет делать как хочет и надо ее поправлять и наставлять.

Проверил связку Астры с Ревитом по MCP (такая хрень для общения модели с внешними программами без тыкания ими в экран). По хо
+3
Проверил связку Астры с Ревитом по MCP (такая хрень для общения модели с внешними программами без тыкания ими в экран). По хорошим готовым чертежам на хорошем шаблоне моделит она очень мощно. Просто даете агенту ссылку выше, он сам все настраивает. Потом при открытом Ревите пишете в тот же чат что надо сделать. Разумеется по хорошему чертежу кто угодно (нет) хорошую модель сделает, поэтому я дал астре нейрослопную планировку и попросил сделать модель. А потом попросил сделать уже нормально с промтом в духе «нарисуй мне офис на 1000 метров на 70 человек». А потом попросил воткнуть туда вентмашину, посчитав какая примерно нужна. Вышла дичь, но симпатичная. Из открытий - он очень шустро и ловко генерит семейства в фоне. Предварительно я его накормил градкодексом, 123ФЗ, 384-ФЗ, всяким АВОКом, сделал базовые скиллы и пинал по ошибкам. Как и куда это применять пока - непонятно, очень дорогая игрушка выходит для таких задач. А вот всякие проверки модели, семейства, заполняторы параметров - делает за секунды.

Пробуем пилу.
Пробуем пилу.