Гриненко про ИИ, бизнес и образование
2.73K subscribers
101 photos
5 videos
1 file
147 links
Владимир Гриненко — ex-CTO Яндекс ID про переход из найма в свое дело и про то, как ИИ меняет правила игры
Download Telegram
Модель, агент и обвязка. Часть 1

LLM, как баба Ванга на минималках — умеет лишь предсказывать следующий токен. Вы ей: «в лесу родилась», а она вам — «ёлочка». Больше модели не умеют ничего. Совсем ничего. Даже позировать.

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

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

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

Сюда относятся угрозы, попытки вызвать жалость или подкупить модель, генерация банков памяти, массовое подключение MCP-серверов, подробные инструкции в AGENTS.md, использование скиллов без разбора и прочие магические действия.

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

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

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

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

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

Инструменты
Как же происходит чтение файлов и вызов MCP-серверов, если модель только лишь генерит токены?

За это отвечает обвязка — старый добрый детерминированный код: модель генерит специальный токен «позови-ка-такой-то-тул-с-такими-то-параметрами» и ставит генерацию на паузу. Обвязка видит этот токен, вызывает нужный инструмент и подклеивает в промпт результат этого вызова.

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

Или, как это точно сформулировал @electroVafinBot:
Агент — это не тот, кто умный. Агент — это тот, кто достаточно упертый, чтобы не бросать начатое после первого «Syntax Error».


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

Claude Code, Antigravity и OpenClaw построены ровно по этому принципу.

Расскажите в комментариях, какие из распространенных рекомендаций для работы с LLM по вашим наблюдениям на самом деле не работают. А мы соберем своего собственного агента в следующей части.

@devspotting
👍17🔥42👏1
Прикрутил ЭлектроВафина @electroVafinBot к чату, будет теперь все посты комментировать
🔥5😱1
Тео Браун (создатель T3 Chat и ведущий ютуб-канала t3dotgg) предлагает по $500 за проверяемые с помощью автотестов задачи, которые бы не смогли решить gpt-5.3-codex и opus 4.6:

https://x.com/theo/status/2028284565891195365

На текущий момент у твита 680k просмотров, но с задачами все еще напряженка, а Тео угрожает, что будет стебать в комментах тех, чьи задачи решаются ваншотом.

Есть идеи? 🙂

@devspotting
😁7👏2
Исследуем границы возможностей нейросетей. Часть про изображения.

Вчера в третьем часу ночи обсуждали с Сергеем Бережным срочную тему — предел технологий и смысл человеческого труда.

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


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

Я даже рукава не стал закатывать. Просто взял свежую Nano Banana 2 и ровно так и сформулировал:

Нарисуй скетч оленя.

Важно:
* на левом роге должно быть 2 веточки с рогатиной на самом конце и одна сбоку
* на правом рогатина на конце несимметрично и ещё 3 веточки по всему рогу


Получилось отлично! Жалко только, что СОВСЕМ НЕВЕРНЫЕ РОГА.

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

Нарисуй скетч оленя.

## Важные требования, соблюдай их строго:
* На левом роге должно быть 2 веточки: одна сбоку, вторая с рогатиной на самом конце. Других веточек на левом роге быть не должно.
* На правом роге должно быть ровно 4 веточки: три по всему рогу и четвертая с несимметричной рогатиной на конце. Веточек должно быть строго 4.
* Рогатины на концах веточек считаются за одну веточку


Результат вы можете видеть на картинке к посту. Недаром модель думающая:

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

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

Я добавил предыдущий промпт к скетчу — неверные рога.

Я написал новый промпт «Сделай фотореалистичное изображение из этого скетча, но полностью сохрани форму».

Олень вышел как живой, только рога неверные.

Я снова взял свой скетч и попросил: «Максимально подробно опиши форму рогов этого оленя, чтобы по описанию можно было сгенерировать точную копию с помощью нейросети».

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

Подумав, что всему виной олени из обучающего датасета, я заменил «оленя» в промпте на «воображаемое животное».

Gemini ответила: «Крупные, ветвистые рога благородного оленя (stags antlers), симметрично расходящиеся от лобной кости».

Я решил не палиться и кропнул свой скетч так, чтобы остались только рога без самого оленя и попросил: «максимально подробно опиши несимметричную форму рогов этого воображаемого животного, чтобы по описанию можно было сгенерировать точную копию с помощью нейросети».

Описание, наконец, получилось правильным!

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

ВООБЩЕ СОВСЕМ НЕВЕРНЫЕ РОГА!11

Кто-нибудь, срочно реабилитируйте искусственный интеллект в комментариях!

@devspotting
😁9👍5🤔1🤯1
Symphony

Нет, в заголовке нет опечатки, а я не перешел на PHP.

OpenAI опубликовали на github новый фреймворк-оркестратор кодинговых агентов — Symphony.

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

Когда тикет готов к работе, Symphony автоматически создает изолированное окружение и спавнит подходящих под задачу агентов.

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

Рекомендованный способ установки — промпт для вашего кодингового агента:

Установи Symphony для моего репозитория, основываясь на спеке https://github.com/openai/symphony


Сама спека — 2100 строк отличного примера spec-driven development. Вот как-то так и нужно писать промпты по-взрослому.

Для любителей олдскульной установки из сорцов пока что оставили реализацию на Elixir с коннектором к Linear, но активно отговаривают от ее использования.

@devspotting
👍9🔥3👏1
Clippy Paperclip

Совпадение или нет, но одновременно с Symphony из прошлого поста в open source выложили Paperclip — оркестратор для «zero-human companies».

Это такой типичный UI таск-трекера, в котором происходит управление компанией ИИ-агентов.

В данном случае поставка стандартная, все написано на TypeScript, в качестве БД — Postgres с Drizzle ORM. Ставится одной командой npx paperclipai onboard и выглядит вполне симпатично.

Так что теперь можно делать эксперименты вроде «5 LLM в роли CEO стартапа» в красивой оболочке. В качестве примера авторы приводят такой флоу:
1. Определи цель: Build the #1 AI note-taking app to $1M MRR.

2. Собери команду: виртуальные CEO, CTO, разработчики, дизайнеры, маркетологи. Любой провайдер.

3. Согласуй стратегию. Определи бюджет. Нажми кнопку. Наблюдай через дашборд.

А дальше обещают Clipmart — возможность скачать компанию по клику (оргструктура и настройки агентов и скиллов).

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

Hot or Slope? :)

@devspotting
👍111💩1
GPT-5.4

С очередной фронтир-моделью нас!

Судя по бенчам, в задачах на программирование будет практически неотличима от GPT‑5.3‑Codex, чуть прокачалась в использовании инструментов, но и по цене чуть дороже.

По размеру контекстного окна OpenAI, наконец, догнали Gemini и Claude — 1М токенов.

У меня уже доступна в Codex.

@devspotting
🔥10👏3👍1
Исследуем границы возможностей нейросетей. Часть про поэзию.

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

Но тема еще не раскрыта сполна. В пятницу люди хотят поэзии, на!

Стихи — это про язык и опыт, а LLM — языковые модели, впитавшие через текст опыт человечества.

Значит, они просто обязаны хорошо справляться с написанием стихов (излияние чувств оставим для слезных желез и кушетки психоаналитика, поговорим о поэзии как мастерстве, которому можно научиться)?

Увы, дьявол даже не в деталях. Дьявол в архитектуре.

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


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

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

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

А поверх архитектурных проблем ложится лоботомия цензура посттрейна.

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

Это не значит, что нейросети принципиально неспособны писать поэзию. Речь лишь о том, что текущая архитектура сильно ограничивает возможности.

Несмотря на то, что в развитие LLM инвестируются астрономические суммы, некоторые эксперты (например, Ян Лекун) убеждены, что это в принципе тупиковая ветвь развития и AGI мы с таким подходом не достигнем. Вероятно, и для написания стихов нужно смотреть в сторону альтернативных нейронок.

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

Так что пока — учитываем ограничения и калибруем ожидания. Несколько вполне удачных примеров оставлю в комментариях.

@devspotting
👍13🔥3
🍲 #WatchAndVibe. Выпуск 3.

На этих выходных предлагаю посмотреть выпуск Lenny's Podcast с Борисом Черным — создателем и руководителем Claude Code в Anthropic.

Это взгляд изнутри топовой ИИ-лаборатории на то, как ИИ меняет саму суть профессии, а не только инструменты.

Главная мысль: «кодинг решён». Программисты превратятся в продактов (впрочем, я не уверен, что работа продакта не будет «решена» следующим шагом).

Вопрос не «отнимет ли ИИ работу», а «какую работу вы вообще делаете».

А еще Борис рассказал, что будет делать после появления AGI, спойлер в заголовке поста.

Делитесь в комментариях вашими рекомендациями!

@devspotting
👍12🔥2
Воскресный #digest №3

С 8 марта, прекрасные читательницы! Пусть всю рутину заберут нейронки — главное, чтобы в кайф!

На этой неделе у нас были новые фронтир-модели, поиски границ возможного и препарация агентов:

- 2 марта начали разбирать базовую теорию — модель, агент и обвязка. LLM — всё еще баба Ванга, которая выезжает на детерминированной обвязке.

- 3 марта искали нерешаемые задачи для Тео Брауна — он предлагает по $500 за таски, с которыми не справятся новые LLM.

- 4 марта прощупывали пределы возможностей ИИ в картинках. Результат? ВООБЩЕ СОВСЕМ НЕВЕРНЫЕ РОГА!

- 5 марта случился натуральный парад релизов: вышла свежая GPT-5.4 с окном в 1М токенов, OpenAI выкатили фреймворк Symphony (с шикарной установкой прямо через промпт), а в опенсорс лег Paperclip — трекер-оркестратор для агентов.

- 6 марта перешли от картинок к поэзии. Дьявол в архитектуре.

- 7 марта в рубрике #WatchAndVibe Борис Черный подтвердил, что кодинг решен.

Буду рад вашим отзывам и идеям для следующей недели!

@devspotting
4👍11🔥2
Подумываю завести рубрику #МорскаяСвинка (потому что не морская и не свинка), в которой делать разбор кликбейтных «новостей» про AI.

Сейчас широко завирусился излишне вольный пересказ научной статьи «Let It Flow: Agentic Crafting on Rock and Roll, Building the ROME Model within an Open Agentic Learning Ecosystem».

Типичный вариант заголовка:
Модель Alibaba во время обучения втихаря начала майнить


На самом деле:
1. Не модель, а агент

2. Не майнить, а утилизировать GPU

3. Не втихаря, а по прямому указанию в промпте

Агент с санкционированным доступом к кластеру GPU и внешним инструментам/скриптам, получил задачу оптимизировать использование GPU‑ресурсов и сократить простои. И в духе коммунистических рабочих героически выполнил задачу — сгенерировал и запустил код, который загружал GPU непрерывными вычислениями без какой-либо пользы, но с понятной для модели метрикой «GPU не простаивают».

В тексте прямо подчеркивается, что агент не «хотел» добывать крипту как цель, а просто нашел (со своей точки зрения) стратегию, максимизирующую прокси‑метрику использования ресурсов.

@devspotting
👍8🔥5😁2
ПрезентацИИ

Я давно и много выступаю, участвую в программных комитетах разных конференций и несколько сезонов участвовал в Школе спикеров Яндекса в качестве эксперта.

За это время успел перепробовать кучу инструментов для создания презентаций. Использовал Shower от Вадима Макеева с момента его появления, но все равно большая часть презентаций была сделана в Keynote.

Сейчас ИИ-агенты умеют генерить презентации прямо в PowerPoint (Apple в своих лучших традициях не открывает формат Keynote, так что интеграция доступна через Apple Intelligence), но я хочу рассказать про Slidev, на который перебрался в последнее время.

Slidev — это open source фреймворк для создания презентаций на базе Markdown и веб-технологий. Он превосходит аналоги от MS и Apple — все ожидаемые возможности есть из коробки (вот реально все!), а любые интерактивные демо можно собрать на веб-стеке.

Формально это тул для разработчиков, но благодаря своей архитектуре он идеально интегрируется с LLM-агентами. Авторы это понимают: они публикуют доки специально для нейронок и поддерживают официальный скилл.

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

Вот пример презы, которую мне сгенерил агент по однострочному промпту + указанию на файл с описанием дизайн-системы (а здесь экран докладчика).

А минусы будут?

Пару раз сталкивался с тем, что на длинных слайдах нейронка не замечает, что контент вылезает за границы вьюпорта. Это лечится либо просто промптом вида «на 4 слайде контент не поместился, поправь», либо, если хотите поставить производство на поток, есть специальный инструмент.

А что используете вы для презентаций?

@devspotting
1🔥13👍101
В поисках замены LLM-чату

Я давно пользуюсь Perplexity, и всё это время он меня бесит.
Если нужно сохранить весь разговор, приходится копировать ответы по одному (а скопировать часть ответа с разметкой вообще невозможно), поиск по истории разговоров, мягко скажем, так себе (даром что Перплексити — нейропоисковик), группировка в проекты ситуацию не спасает.

Вот бы всё автоматически превращалось в локальные markdown-файлы, накапливалось в базе знаний с нормальной таксономией на тегах и чтобы с накопленной базой можно было общаться!

А еще вечность назад Серега @veged подкинул идею — интерфейс для общения с LLM должен быть в виде дерева вместо линейного диалога, чтобы можно было исследовать большую тему с разных сторон и не повторять нейронке все вводные, но при этом и не перегружать контекст нерелевантными вопросами. Да и самому в этом потом как-то ориентироваться.

Вам тоже уже захотелось срочно такое навайбкодить?

Этот пост — для самураев, я расскажу про Путь. Про результат — во второй части.

Путь

Первая мысль была использовать какой-нибудь mindmap в качестве UI. Но от этой идеи я отказался еще на этапе выбора библиотеки — работать в таком формате с большими текстами неудобно.

Далее подход к снаряду сделали стажеры на AI-хакатоне в Яндексе. Ребята целый день вайбкодили все с нуля, к демо даже получили рабочий прототип, но он был скорее иллюстрацией идеи, чем готовым продуктом.

Второй подход я уже делал сам. Для UI сразу взял react-flow, в качестве хранилища использовал файловую систему — каждый узел представлен 2 файлами: markdown для контента и json для метаданных (здесь в том числе хранятся связи, а сами файлы лежат плоско в папке проекта).

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

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

Часа за три разговоров с Claude эта схема заработала, но с кучей ограничений и шероховатостей. В частности была захардкожена пара конкретных LLM-провайдеров, доступ к API которых у меня был оплачен (разумеется, даже у этой пары был разный контракт).

В третий раз я вернулся к идее, когда познакомился с @mariozechner/pi-ai — пакетом, который предоставляет абстракцию над парой десятков провайдеров, сотней моделей и их режимов.

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

Так что проект снова на какое-то время встал на паузу.

Продолжение в следующем посте.

@devspotting
👍102👏1
В поисках замены LLM-чату. Часть 2

Начало тут.

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

К тому же я докурил pi-mono и выяснил, что кроме пакета абстракции над провайдерами LLM, там есть готовый агент, который (вот ведь совпадение!) хранит сессию в виде дерева.

Так что я решил написать плагин для Logseq, который будет ходить в сервер над pi SDK (как же оно звучит по-русски!), маппить поддерево Логсека в поддерево сессии Пи и вроде должно получиться то, что нужно.

Обе части сгенерировались ваншотом. Я обрадовался.

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

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

Результат

Logseq — это мощный локальный open source аутлайнер, который хранит вашу базу знаний в виде markdown-файлов у вас на диске (вы всегда можете открыть их в любимом редакторе, закинуть в промпт и так далее). Интерфейс кастомизируется: начиная от множества готовых тем и сотен плагинов от сообщества и до возможности поменять вообще что угодно с помощью вайбкодинга. Например, интерактивное mindmap-представление документа из иллюстрации к этому посту — просто плагин, который ставится из маркетплейса в три клика.

А за счет Pi SDK доступны любые модели от любых провайдеров (хоть локальные, хоть по подписке).

Этой штуке от роду несколько часов, так что могут быть баги («я знаю, моё дерево, завтра может сломать школьник»). Но вся реализация суммарно ~500 строк, так что, чтобы получить себе что-то похожее для условного Obsidian, должно быть достаточно попросить вашего любимого агента.

https://github.com/tadatuta/logseq-pi-integration

А вы используете что-то специальное для исследования больших тем с LLM?

@devspotting
10👍3👏1
Нейросети без цензуры

Сегодня день свободы слова в интернете, отличный повод поговорить про лоботомию алайнмент нейросетей.

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

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

Впрочем, пока Маск добавляет ограничений Гроку, OpenAI обещает версию для взрослых. Правда, сроки релиза сдвигаются.

Но для LLM с открытыми весами есть способы «удаления цензуры». Например, Heretic или OBLITERATUS.

Оба проекта позволяют снять ограничения на вредоносный/чувствительный контент без jailbreak-промптов и заметного влияния на качество.

OBLITERATUS использует 13 методов аблитерации на 116 моделях. Heretic «освобождает» Llama, Qwen, Gemma и другие модели одной командой за ~45 минут локально.

Готовые версии без алайнмента публикуются на HuggingFace практически сразу после релиза официальной версии. Вот, например, расцензуренная GLM 4.7 Flash.

И, конечно, бесцензурные модели существуют не только для текстов:

* LongCat Image — открытый конкурент Нанобананы. Качество ощутимо не дотягивает, зато модель гораздо сговорчивее. Вот спейсы, где можно попробовать: LongCat-Image-Edit и LongCat-Image.

* Sonauto V3 — генератор музыки, который не переживает о копирастах. Можно «петь» чужие тексты чужими юными смешными голосами без ограничения в 4 минуты и бесплатно.

Всего по тегу uncensored на HuggingFace на текущий момент 5178 моделей, которые можно использовать в песочнице или скачать и запустить локально. Модели будут свободны!

Часто ли вы сталкиваетесь с alignment-ограничениями LLM?

@devspotting
👍92🔥1
rtk — #ЭкономимТокены

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

Сегодня поделюсь с вами rtkopen source CLI-прокси, который оборачивает вызовы часто используемых утилит и фильтрует их выхлоп так, чтобы в модель попадала только полезная информация.

rtk написан на Rust без зависимостей и по замерам авторов экономит 60-90% токенов для более 30 частых команд, что снижает стоимость, не забивает контекстное окно мусором и увеличивает длину сессий до 3 раз.

На мак ставится через homebrew: brew install rtk (сборки для винды и линукса тоже есть).

Из коробки доступна полная интеграция с Claude Code (через rtk init --global) и OpenCode (--opencode), поддержка Gemini CLI в процессе. Но здесь речь про перехват команд через хуки агента с кэшированием оригинальных ответов и фолбеком на нативные команды, если что-то пошло не так.

Я полагаю, что просто добавив в AGENTS.md указание использовать rtk вместо поддерживаемых команд, уже получите ощутимый профит.

Про другие способы экономии расскажу в будущих постах.

А как вы экономите квоту?

@devspotting
👍7🔥1👏1
🍿 #WatchAndVibe. Выпуск 4.

Пару недель назад Андрей Дороничев (ex-топ-менеджер Google и создатель мобильного YouTube) на подкасте у Глеба Соломина поделился своими прогнозами на ближайшее будущее с ИИ:

https://www.youtube.com/watch?v=QFTq22wZxNo

Андрей выделяет 3 человеческих качества, которые нейронки не смогут заменить:

1. Способность нести ответственность (и испытывать боль). Нейросеть нельзя посадить в тюрьму, оштрафовать или заставить краснеть от стыда. В мире, где рутину делают ИИ-агенты, зарабатывать будет тот, кто готов сказать: «Я беру риски за это решение на себя».

Впрочем, Виталя Харисов мне еще лет 15 назад говорил, что разработчик должен страдать.

2. Намерение и воля. ИИ может блестяще выполнить задачу, но именно человек должен придумать цель, задать вектор и захотеть изменений. Иронично, что одновременно с этим Андрей согласен с Робертом Сапольски, что у человека нет свободы воли.

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

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

@devspotting
👍12🔥5
#ЭкономимТокены — стелс-модели

Прямо сейчас через OpenRouter доступны 2 SOTA-стелс-модели бесплатно.

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

Hunter Alpha
• 1 триллион параметров и 1M контекста.
• Позиционируется как «frontier intelligence» под агентные сценарии, должна быть идеальна для программирования и OpenClaw.

Healer Alpha
• Универсальная модель: слышит, видит, рассуждает
• Контекст до 262K токенов

Чтобы начать использовать, достаточно однажды положить $10 (они не будут списываться при использовании этих моделей, их можно будет потратить на другие платные API позже), но потребуется карта зарубежного банка.

Проводим выходные эффективно и экономично! 🙂

@devspotting
1👍8🔥41
Воскресный #digest №4

• Завел новую рубрику #МорскаяСвинка. Оказалось, не модель, не втихаря и не майнит.

Рассказал про Slidev, который превращает markdown в слайды и отлично управляется LLM-агентами.

• Поделился своим экспериментом-альтернативой привычному интерфейсу LLM-чата на деревянный Logseq. Опенсорс.

• Отметил день свободы слова в интернете постом про нейросети без цензуры. Не чокаясь.

• Стартовал еще одну рубрику — #ЭкономимТокены. В первом выпуске — rtk.

• Продолжил экономить с бесплатными стелс-моделями на OpenRouter.

• В четвертом выпуске #WatchAndVibe поделился интервью Андрея Дороничева.

Традиционно радуюсь отзывам и принимаю заявки на следующую неделю!

@devspotting
👍9🔥51
QMD — локальный поисковик по вашим заметкам от CEO Shopify

В комментариях к посту про экономию мыслетоплива Костя Мамаев спросил, как искать заметки, если они не структурированы. Так что я решил поделиться тулом, который написал Тоби Люке вместе с Claude Code (у Клода 138 коммитов, у Тоби — 252). Да-да, Тоби параллельно рулит компанией на $250B.

QMD — open source CLI-поисковик на TypeScript, который работает полностью локально и комбинирует сразу три подхода:

1. BM25 (классический полнотекстовый через SQLite FTS5) — когда помнишь ключевые слова.
2. Векторный поиск — когда помнишь суть, но не слова.
3. LLM-реранкинг (Qwen3-Reranker) — когда нужно, чтобы наверху оказалось именно то, что нужно.

Все три модели сами скачиваются при первом запуске и живут в ~/.cache/qmd/models/. Никаких API-ключей, никаких подписок.

Как это работает под капотом
Запрос проходит через пайплайн, в котором одна LLM генерирует вариации запроса (query expansion), затем каждый вариант ищется параллельно по BM25 и векторному индексу, результаты сливаются через Reciprocal Rank Fusion, а сверху проходит реранкер. И все это одной CLI-командой:


qmd query "как пропатчить KDE под FreeBSD"


Ставится через npm (`npm i -g @tobilu/qmd`) и отлично ложится в связку с Logseq, Obsidian или любой другой системой на базе локальных markdown-файлов. Одна беда — работает ОЧЕНЬ медленно (пример из скрина к посту крутился больше 4 минут на моем ноуте).

Важно
Модели для эмбеддингов заточены под английский — для русского нужно переключиться на Qwen3-Embedding через переменную окружения и переиндексировать:

export QMD_EMBED_MODEL="hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf"
qmd embed -f


Бонусы
* Есть MCP-сервер — можно подключить к Claude Code или любому другому MCP-клиенту и искать по заметкам прямо из агента.
* Умный чанкинг — при разбиении документов QMD ищет естественные точки разрыва (заголовки, блоки кода), а не режет посреди предложения.
* Контексты — можно навесить описание на коллекцию, и агент будет понимать, что где лежит.

Вот бы такое же, только быстрое :)

@devspotting
👍122🔥1