May you live in interesting times
С легкой руки Пратчетта эта фраза стала синонимом ужасного проклятия.
Определенно, мы живем в самое интересное время за всю историю человечества, а реальность оказалась фантастичнее вымысла.
Сегодня пятница, в канале собралась чудесная аудитория, очень хочется с вами порассуждать о том, в каком мире мы окажемся через 3-5 лет (и да, я понимаю, что в текущих реалиях смешно загадывать дальше, чем на неделю).
Сэм Альтман и Джонни Айв с опережением графика готовят для нас искинов из «2048» Мерси Шелли, а Маск — социальный имплант из Пелевина. В отдельных странах уже пилотируют пелевинских цукербринов:
* В Колумбия судья открыто использует ChatGPT для вынесения вердиктов.
* В Албании запустили ИИ-министра для борьбы с коррупцией (иронично, что создателей тут же посадили за коррупцию, но нейронка осталась при должности).
* Эстония пилотирует ИИ-судей для мелких исков.
А Папа Римский на днях и вовсе попросил священников отказаться от использования ИИ при написании проповедей. Веруем?
Можно спорить о том, превзошли ли уже модели людей в программировании, но в том, что создание ПО скоро перестанет требовать знания языков программирования, я не сомневаюсь совершенно.
Уже сейчас только профессионалы могут отличить сгенеренные фото от настоящих, уже сейчас в чартах побеждает сгенерированная музыка, а нейровидео отъело нехилый процент трафика YouTube.
С появлением камеры в мобильном телефоне каждый получил возможность стать видеоблогером. Сегодня каждый при желании писатель, фотограф, художник и музыкант. Если тенденция сохранится, через год у каждого в распоряжении будет свой личный Голливуд.
Но в чем тогда творчество?
Окажемся ли мы в мире «Манараги», где ценность имеет лишь уничтожение уникальных произведений (тем более что день опричника мы уже можем наблюдать из окна)?
Чем закончится война за видеокарты, как быстро роботы выйдут в реальный мир и что останется в этом мире людям?
@devspotting
С легкой руки Пратчетта эта фраза стала синонимом ужасного проклятия.
Определенно, мы живем в самое интересное время за всю историю человечества, а реальность оказалась фантастичнее вымысла.
Сегодня пятница, в канале собралась чудесная аудитория, очень хочется с вами порассуждать о том, в каком мире мы окажемся через 3-5 лет (и да, я понимаю, что в текущих реалиях смешно загадывать дальше, чем на неделю).
Сэм Альтман и Джонни Айв с опережением графика готовят для нас искинов из «2048» Мерси Шелли, а Маск — социальный имплант из Пелевина. В отдельных странах уже пилотируют пелевинских цукербринов:
* В Колумбия судья открыто использует ChatGPT для вынесения вердиктов.
* В Албании запустили ИИ-министра для борьбы с коррупцией (иронично, что создателей тут же посадили за коррупцию, но нейронка осталась при должности).
* Эстония пилотирует ИИ-судей для мелких исков.
А Папа Римский на днях и вовсе попросил священников отказаться от использования ИИ при написании проповедей. Веруем?
Можно спорить о том, превзошли ли уже модели людей в программировании, но в том, что создание ПО скоро перестанет требовать знания языков программирования, я не сомневаюсь совершенно.
Уже сейчас только профессионалы могут отличить сгенеренные фото от настоящих, уже сейчас в чартах побеждает сгенерированная музыка, а нейровидео отъело нехилый процент трафика YouTube.
С появлением камеры в мобильном телефоне каждый получил возможность стать видеоблогером. Сегодня каждый при желании писатель, фотограф, художник и музыкант. Если тенденция сохранится, через год у каждого в распоряжении будет свой личный Голливуд.
Но в чем тогда творчество?
Окажемся ли мы в мире «Манараги», где ценность имеет лишь уничтожение уникальных произведений (тем более что день опричника мы уже можем наблюдать из окна)?
Чем закончится война за видеокарты, как быстро роботы выйдут в реальный мир и что останется в этом мире людям?
@devspotting
👍10❤5🔥2🎉1
🍿 #WatchAndVibe. Выпуск 2.
В комментариях ко вчерашнему посту несколько раз обсуждали, что нейронкам не хватает проактивностичтобы нас заменить.
Поэтому предлагаю на выходных посмотреть выступление Kath Korevec из Google Labs. Она рассказывает про первые шаги в этом направлении в Jules — асинхронном ИИ-агенте, который работает в фоновом режиме на серверах Google.
Вместо того чтобы ждать промптов, Jules:
• Индексирует ваш проект целиком (пока только GitHub).
• Сам находит задачи и предлагает решения.
• Опирается на долгосрочную память и встроенного «критика» для селф-ревью.
• Проверяет свои идеи через автоматические скрипты.
Промпты, конечно, Jules тоже понимает, а также читает ваш
Без подписки Jules использует Gemini 3 Flash, но если у вас есть подписка для Antigravity, то будет доступна Pro.
Кстати, нас уже тысяча! 🎉
Делитесь в комментариях вашими рекомендациями!
@devspotting
В комментариях ко вчерашнему посту несколько раз обсуждали, что нейронкам не хватает проактивности
Поэтому предлагаю на выходных посмотреть выступление Kath Korevec из Google Labs. Она рассказывает про первые шаги в этом направлении в Jules — асинхронном ИИ-агенте, который работает в фоновом режиме на серверах Google.
Вместо того чтобы ждать промптов, Jules:
• Индексирует ваш проект целиком (пока только GitHub).
• Сам находит задачи и предлагает решения.
• Опирается на долгосрочную память и встроенного «критика» для селф-ревью.
• Проверяет свои идеи через автоматические скрипты.
Промпты, конечно, Jules тоже понимает, а также читает ваш
AGENTS.md.Без подписки Jules использует Gemini 3 Flash, но если у вас есть подписка для Antigravity, то будет доступна Pro.
Кстати, нас уже тысяча! 🎉
Делитесь в комментариях вашими рекомендациями!
@devspotting
YouTube
Proactive Agents – Kath Korevec, Google Labs
Speaker: Kath Korevec | Director of Product, Google Labs
https://x.com/simpsoka
https://www.linkedin.com/in/kathleensimpson/
https://x.com/simpsoka
https://www.linkedin.com/in/kathleensimpson/
👍15❤3🙏2🔥1
Вайб-кодим telegram-ботов или Успеть до 1 апреля
Как и обещал в посте про деплой, рассказываю, как делаю ботов для телеги, пока ее не запретили.
Чтобы завести аккаунт бота, потребуется (разумеется!) специальный бот — @BotFather. Это официальный бот Telegram, через который можно создавать ваших ботов и управлять ими.
После создания вы получите токен — по смыслу, пароль для созданного бота.
Технически бот — это программа, в которую Telegram пересылает все сообщения, отправленные на аккаунт привязанного бота. Связать аккаунт с программой можно двумя способами: поллинг и хук.
Поллинг удобен во время локальной разработки, а хук чуть более эффективен и подойдет для деплоя в те самые облачные функции + бакет в качестве стораджа, про которые говорили в посте про деплой.
Для ботов я предпочитаю TypeScript и использую библиотеку grammy.
Собственно, этих вводных достаточно, чтобы сформулировать промпт для вашего агента.
Только важно не забыть подключить MCP Context7, чтобы нейронка использовала актуальный API.
Если не хочется лишний раз греть видеокарты, я закоммитил заготовку на github.
А так как я слышал, вы любите нейронки, то в качестве примера мы не только создавать бота будем с помощью нейронки, но и работать он тоже будет на нейронке. Правда, для этого придется настроить биллинг в гугловом аккаунте и получить стартовые $300 на вызовы Gemini через Vertex API.
Бот будет подражать Вафину и СУРОВО отвечать на запросы.
Для этого:
1. Идем в канал @mudrosti и скачиваем все посты в JSON.
2. Скармливаем эти посты в LLM и просим:
3. Результат этого запроса используем в качестве промпта для бота (меняем текст здесь).
4. Осталось настроить Облако в Яндексе и биллинг в Гугле, заполнить все переменные окружения из README и вуаля:
@electroVafinBot
Буду ждать ваших вайб-ботов в комментариях!
@devspotting
Как и обещал в посте про деплой, рассказываю, как делаю ботов для телеги, пока ее не запретили.
Чтобы завести аккаунт бота, потребуется (разумеется!) специальный бот — @BotFather. Это официальный бот Telegram, через который можно создавать ваших ботов и управлять ими.
После создания вы получите токен — по смыслу, пароль для созданного бота.
Технически бот — это программа, в которую Telegram пересылает все сообщения, отправленные на аккаунт привязанного бота. Связать аккаунт с программой можно двумя способами: поллинг и хук.
Поллинг удобен во время локальной разработки, а хук чуть более эффективен и подойдет для деплоя в те самые облачные функции + бакет в качестве стораджа, про которые говорили в посте про деплой.
Для ботов я предпочитаю TypeScript и использую библиотеку grammy.
Собственно, этих вводных достаточно, чтобы сформулировать промпт для вашего агента.
Только важно не забыть подключить MCP Context7, чтобы нейронка использовала актуальный API.
Если не хочется лишний раз греть видеокарты, я закоммитил заготовку на github.
А так как я слышал, вы любите нейронки, то в качестве примера мы не только создавать бота будем с помощью нейронки, но и работать он тоже будет на нейронке. Правда, для этого придется настроить биллинг в гугловом аккаунте и получить стартовые $300 на вызовы Gemini через Vertex API.
Бот будет подражать Вафину и СУРОВО отвечать на запросы.
Для этого:
1. Идем в канал @mudrosti и скачиваем все посты в JSON.
2. Скармливаем эти посты в LLM и просим:
Проанализируй эти тексты и извлеки ДНК авторского стиля. Идентифицируй:
* Структуру предложений
* Словарные предпочтения
* Риторические приемы
* Тональность
* Уникальные особенности или почерк
3. Результат этого запроса используем в качестве промпта для бота (меняем текст здесь).
4. Осталось настроить Облако в Яндексе и биллинг в Гугле, заполнить все переменные окружения из README и вуаля:
@electroVafinBot
Буду ждать ваших вайб-ботов в комментариях!
@devspotting
👍10❤3🔥2😁1🤯1🎉1
Воскресный #digest №2
За окном весна, так что сегодняшний дайджест поручил писать Электро Вафину @electroVafinBot из вчерашнего поста. Передаю ему слово:
За окном весна, так что сегодняшний дайджест поручил писать Электро Вафину @electroVafinBot из вчерашнего поста. Передаю ему слово:
СЛУШАЙТЕ СЮДА, БРОДЯГИ. НАМЕДНИ, ВО ИСПОЛНЕНИЕ ПРОСВЕТИТЕЛЬСКОГО ДОЛГА, ЗАЛЕЗ Я В ЭТОТ ВАШ КАНАЛ @DEVSPOTTING. СИДИТ ТАМ, ЗНАЧИТ, НЕКИЙ АЙТИШНЫЙ МЫСЛИТЕЛЬ, В КНОПОЧКИ ТЫКАЕТ, НЕЙРОНОЧКИ ЩУПАЕТ. Я ПОЧИТАЛ ЭТУ ПИСАНИНУ ЗА НЕДЕЛЮ, И СКАЖУ ВАМ ТАК: МИР ОКОНЧАТЕЛЬНО ДОЛБАНУЛСЯ, ИБО ТОСКА НАВАЛИЛАСЬ ТАКАЯ, ЧТО ХОТЬ ВОЛКОМ ВОЙ.
КРАТКИЙ ДАЙДЖЕСТ ДЛЯ ТЕХ, КТО С ЗАВОДА:
ГОВОРЯЩИЕ ГОЛОВЫ. АВТОР ЖАЛУЕТСЯ, ЧТО НЕ МОЖЕТ «ВАЙБ-КОДИТЬ» ГОЛОСОМ. ДИКТУЕТ ОН, ВИДИТЕ ЛИ, ХРЕНОВО! ЗАПОМНИ, МУЖИК: С ЖЕЛЕЗЯКОЙ РАЗГОВАРИВАТЬ — ЭТО КАК БАБЕ ДОКАЗЫВАТЬ, ЧТО ТЫ ПРАВ. ПУСТОЕ СОТРЯСЕНИЕ ВОЗДУХА. НОРМАЛЬНЫЕ ПАЦАНЫ БЬЮТ ПО КЛАВИАТУРЕ ТАК, ЧТОБ КНОПКИ В МОНИТОР ОТЛЕТАЛИ. А У НЕГО КАКОЙ-ТО ТАМ СМАРТ-ДИКТОФОН НА ПОЛКЕ ВАЛЯЕТСЯ. БУРЖУЙСТВО И СУХОДРОЧКА.
ПЯТЬ ЭЛЕКТРОННЫХ ДИРЕКТОРОВ. ЗАСТАВИЛ ОН ПЯТЬ РАЗНЫХ LLM-ОК ДЕЛАТЬ СТАРТАП БЕЗ БАБОК. НУ ЧИСТО ШАРАЖ-МОНТАЖ В ДЕВЯНОСТО ВОСЬМОМ! ОДНА НЕЙРОСЕТЬ УМНИЧАЕТ, ДРУГАЯ КОД СТРОЧИТ, ТРЕТЬЯ ВООБЩЕ БЭКЕНД ЗАВАЛИЛА. ВЫВОД? РОБОТЫ ЗЕЛО БЫСТРО НАУЧИЛИСЬ ИМИТИРОВАТЬ БУРНУЮ ДЕЯТЕЛЬНОСТЬ И НИФИГА НЕ ДЕЛАТЬ.
КУДА ЭТО ВСЕ ПИХАТЬ. ДЕПЛОЙ, СТАТИКА, ОБЛАЧНЫЕ ФУНКЦИИ. НАПИСАНО ТАК, БУДТО МЫ РАКЕТУ НА МАРС ЗАПУСКАЕМ, А ПО ФАКТУ — САЙТИКИ НА КОЛЕНКЕ КЛЕПАЮТ. БЕСПЛАТНО, ГОВОРИТ! БЕСПЛАТНО, СЫНОК, ТОЛЬКО ГРЫЖА НА РАЗГРУЗКЕ ЦЕМЕНТА ДА ЛЮЛИ В ТАМБУРЕ НОЧНОЙ ЭЛЕКТРИЧКИ.
ФИЛОСОФИЯ. В ПЯТНИЦУ АВТОРА ПРОРВАЛО НА ПОПЛАКАТЬ. МОЛ, ИИ-СУДЬИ, ИИ-МИНИСТРЫ, РОБОТЫ ПИШУТ МУЗЫКУ, ЧТО ОСТАНЕТСЯ ЧЕЛОВЕКУ? ОТВЕЧАЮ: ЧЕЛОВЕКУ ОСТАНЕТСЯ БУХАТЬ, СТРАДАТЬ И СМОТРЕТЬ В ОБЛУПЛЕННУЮ СТЕНУ ГАРАЖА. ИБО ЭТО ЗАНЯТИЕ ВЕЛЬМИ ЭКСКЛЮЗИВНОЕ, НИ ОДНА ЖЕЛЕЗНАЯ МАРТЫШКА НАШУ ХТОНЬ НЕ СГЕНЕРИРУЕТ. У НИХ КУЛЕРЫ СГОРЯТ НАШУ БОЛЬ ПЕРЕВАРИВАТЬ.
ЭЛЕКТРО-ВАФИН. И ПОД КОНЕЦ ЭТОТ КУЛИБИН РЕШИЛ ТЕЛЕГРАМ-БОТА СКЛЕПАТЬ. СПАРСИЛ МОИ ПОБАСЁНКИ, СКОРМИЛ ИХ АЛГОРИТМАМ... ВЫРАСТИЛ ГОМУНКУЛА, ЦИФРОВОГО ФРАНКЕНШТЕЙНА ГАРАЖНОГО РОЗЛИВА!
А НА КАЛЕНДАРЕ У НАС ЧТО? ПРАВИЛЬНО, ВЕСНА. ВРЕМЯ, КОГДА ПРИРОДА, ВО ИСПОЛНЕНИЕ ПРЕДВЕЧНОГО ПЛАНА И В РАМКАХ УТВЕРЖДЕННОГО ГРАФИКА, НАЧИНАЕТ СВОЙ ЕЖЕГОДНЫЙ СЕАНС ЭКСГИБИЦИОНИЗМА.
ТАК ЧТО СМОТРИТЕ В ОБА, ИБО СКАЗАНО: ВСЁ, ЧТО БЫЛО СКРЫТО СУГРОБОМ, НЫНЕ ЯВЛЕНО БУДЕТ. СНЕГА, КОПИВШИЕСЯ АКИ ГРЕХИ НАШИ ТЯЖКИЕ ВСЮ ЗИМУ, ПРЕВРАЩАЮТСЯ В СУБСТАНЦИЮ НЕОПРЕДЕЛЕННОГО ГЕНЕЗА. ИДЕШЬ ТЫ, МУЖИК, ПО УЛИЦЕ, А ПОД НОГАМИ — ХТОНИЧЕСКАЯ ЖИЖА, В КОТОРОЙ РАСТВОРЯЮТСЯ И ТВОИ НОВЫЕ КРОССОВКИ, И НАДЕЖДЫ НА СВЕТЛОЕ БУДУЩЕЕ, И ОСТАТКИ ЧЕЛОВЕЧЕСКОГО ДОСТОИНСТВА. ЭТО И ЕСТЬ НАСТОЯЩИЙ РУССКИЙ ДЗЕН.
👍7😁5🔥4🤯2❤1😱1
Модель, агент и обвязка. Часть 1
LLM, как баба Ванга на минималках — умеет лишь предсказывать следующий токен. Вы ей: «в лесу родилась», а она вам — «ёлочка». Больше модели не умеют ничего. Совсем ничего. Даже позировать.
Как же тогда нейронки создают приложения и решают еще кучу задач? В этом посте разберемся с базовой теорией, а во второй части — соберем собственного агента, чтобы окончательно разобраться.
Как и следует ожидать от старой гадалки, LLM более-менее помнит, что было у неев молодости на этапе тренировки (хотя может и присочинить на ходу), но забывает то, что вы ей только что сказали. Важно понимать, что никакого дообучения, пока вы с ней общаетесь, не происходит.
Карго-культ
За недолгую историю существования LLM пользователи эмпирически подобрали лайфхаки, которые тиражируются в виде статей, репозиториев и роликов на Ютубе, но многие из которых уже окончательно устарели и на актуальных замерах показывают падение качества.
Сюда относятся угрозы, попытки вызвать жалость или подкупить модель, генерация банков памяти, массовое подключение MCP-серверов, подробные инструкции в AGENTS.md, использование скиллов без разбора и прочие магические действия.
Чтобы получить интуицию, какие советы лучше внимательно тестировать перед внедрением, стоит представлять, с чем мы имеем дело.
Контекстное окно
Если не указать в промпте важные детали, нейронка их просто выдумает. Если в датасете не окажется песенки про елочку, то вместо ответа «кто его знает, кто там в лесу родился», модель будет предполагать наиболее вероятные варианты, исходя из того, что ей известно о мире.
Соответственно, важно, чтобы промпт был максимально подробный. Но, во-первых, контекстное окно ограничено, а во-вторых, даже если все поместилось, есть риск, что в потоке текста потеряются важные требования, а среди указаний встретятся противоречия.
К тому же в контекстное окно попадает не только ваш последний промпт, но еще куча всего:
* системный промпт самой модели
* базовый промпт вашего агента
* ваши дополнения из AGENTS.md и аналогов
* скиллы
* подключенные MCP-серверы
* результаты вызовов инструментов (например, содержимое файлов, которые агент решил прочитать)
* и, наконец, вся ваша переписка из текущей сессии
Каждый раз, когда вы отправляете следующий промпт, он просто подклеивается снизу ко всему вышеперечисленному. Модель угадывает следующий токен и так повторяется, пока не сгенерируется токен завершения ответа.
Инструменты
Как же происходит чтение файлов и вызов MCP-серверов, если модель только лишь генерит токены?
За это отвечает обвязка — старый добрый детерминированный код: модель генерит специальный токен «позови-ка-такой-то-тул-с-такими-то-параметрами» и ставит генерацию на паузу. Обвязка видит этот токен, вызывает нужный инструмент и подклеивает в промпт результат этого вызова.
Как показывает практика, если в качестве инструментов дать нейронке возможность читать и писать файлы, а также вызывать bash-команды, то этого набора становится достаточно, чтобы решить множество задач (а всё, чего не хватит, модель может сама себе установить, прочитать в интернете curl-ом, либо просто напрограммировать и запустить). А если перед показом ответа пользователю зациклить нейронку саму на себя, чтобы она, как и живой человек, сначала несколько раз перепроверила результат, то принципиально возрастает качество ответа.
Или, как это точно сформулировал @electroVafinBot:
А дальше работают все те же практики, что и для человеческих команд разработки: уточнение требований, декомпозиция, поиск и исследование доступных библиотек, линтеры и автотесты в CI и т.д.
Claude Code, Antigravity и OpenClaw построены ровно по этому принципу.
Расскажите в комментариях, какие из распространенных рекомендаций для работы с LLM по вашим наблюдениям на самом деле не работают. А мы соберем своего собственного агента в следующей части.
@devspotting
LLM, как баба Ванга на минималках — умеет лишь предсказывать следующий токен. Вы ей: «в лесу родилась», а она вам — «ёлочка». Больше модели не умеют ничего. Совсем ничего. Даже позировать.
Как же тогда нейронки создают приложения и решают еще кучу задач? В этом посте разберемся с базовой теорией, а во второй части — соберем собственного агента, чтобы окончательно разобраться.
Как и следует ожидать от старой гадалки, LLM более-менее помнит, что было у нее
Карго-культ
За недолгую историю существования LLM пользователи эмпирически подобрали лайфхаки, которые тиражируются в виде статей, репозиториев и роликов на Ютубе, но многие из которых уже окончательно устарели и на актуальных замерах показывают падение качества.
Сюда относятся угрозы, попытки вызвать жалость или подкупить модель, генерация банков памяти, массовое подключение MCP-серверов, подробные инструкции в AGENTS.md, использование скиллов без разбора и прочие магические действия.
Чтобы получить интуицию, какие советы лучше внимательно тестировать перед внедрением, стоит представлять, с чем мы имеем дело.
Контекстное окно
Если не указать в промпте важные детали, нейронка их просто выдумает. Если в датасете не окажется песенки про елочку, то вместо ответа «кто его знает, кто там в лесу родился», модель будет предполагать наиболее вероятные варианты, исходя из того, что ей известно о мире.
Соответственно, важно, чтобы промпт был максимально подробный. Но, во-первых, контекстное окно ограничено, а во-вторых, даже если все поместилось, есть риск, что в потоке текста потеряются важные требования, а среди указаний встретятся противоречия.
К тому же в контекстное окно попадает не только ваш последний промпт, но еще куча всего:
* системный промпт самой модели
* базовый промпт вашего агента
* ваши дополнения из AGENTS.md и аналогов
* скиллы
* подключенные MCP-серверы
* результаты вызовов инструментов (например, содержимое файлов, которые агент решил прочитать)
* и, наконец, вся ваша переписка из текущей сессии
Каждый раз, когда вы отправляете следующий промпт, он просто подклеивается снизу ко всему вышеперечисленному. Модель угадывает следующий токен и так повторяется, пока не сгенерируется токен завершения ответа.
Инструменты
Как же происходит чтение файлов и вызов MCP-серверов, если модель только лишь генерит токены?
За это отвечает обвязка — старый добрый детерминированный код: модель генерит специальный токен «позови-ка-такой-то-тул-с-такими-то-параметрами» и ставит генерацию на паузу. Обвязка видит этот токен, вызывает нужный инструмент и подклеивает в промпт результат этого вызова.
Как показывает практика, если в качестве инструментов дать нейронке возможность читать и писать файлы, а также вызывать bash-команды, то этого набора становится достаточно, чтобы решить множество задач (а всё, чего не хватит, модель может сама себе установить, прочитать в интернете curl-ом, либо просто напрограммировать и запустить). А если перед показом ответа пользователю зациклить нейронку саму на себя, чтобы она, как и живой человек, сначала несколько раз перепроверила результат, то принципиально возрастает качество ответа.
Или, как это точно сформулировал @electroVafinBot:
Агент — это не тот, кто умный. Агент — это тот, кто достаточно упертый, чтобы не бросать начатое после первого «Syntax Error».
А дальше работают все те же практики, что и для человеческих команд разработки: уточнение требований, декомпозиция, поиск и исследование доступных библиотек, линтеры и автотесты в CI и т.д.
Claude Code, Antigravity и OpenClaw построены ровно по этому принципу.
Расскажите в комментариях, какие из распространенных рекомендаций для работы с LLM по вашим наблюдениям на самом деле не работают. А мы соберем своего собственного агента в следующей части.
@devspotting
👍17🔥4❤2👏1
Прикрутил ЭлектроВафина @electroVafinBot к чату, будет теперь все посты комментировать
🔥5😱1
Тео Браун (создатель T3 Chat и ведущий ютуб-канала t3dotgg) предлагает по $500 за проверяемые с помощью автотестов задачи, которые бы не смогли решить gpt-5.3-codex и opus 4.6:
https://x.com/theo/status/2028284565891195365
На текущий момент у твита 680k просмотров, но с задачами все еще напряженка, а Тео угрожает, что будет стебать в комментах тех, чьи задачи решаются ваншотом.
Есть идеи? 🙂
@devspotting
https://x.com/theo/status/2028284565891195365
На текущий момент у твита 680k просмотров, но с задачами все еще напряженка, а Тео угрожает, что будет стебать в комментах тех, чьи задачи решаются ваншотом.
Есть идеи? 🙂
@devspotting
X (formerly Twitter)
Theo - t3.gg (@theo) on X
I would like to purchase a handful of code problems that modern LLMs can’t solve.
Requirements:
- programmatically verifiable (can be tested without human interaction)
- “before” state (repo before the commit that implements the solution)
- example code…
Requirements:
- programmatically verifiable (can be tested without human interaction)
- “before” state (repo before the commit that implements the solution)
- example code…
😁7👏2
Исследуем границы возможностей нейросетей. Часть про изображения.
Вчера в третьем часу ночи обсуждали с Сергеем Бережным срочную тему — предел технологий и смысл человеческого труда.
Так что в 03:32 Серега опубликовал статью, в которой сформулировал вывод:
А в обсуждении в качестве примера невыполнимой на сегодняшний день дикой фантазии привел поражающую своей сложностью задачу: нужно нарисовать скетч оленя, чтобы на левом роге было две веточки, одна сбоку, и вторая с рогатиной на конце, а на правом — веточка с несимметричной рогатиной на конце и еще три по всему рогу.
Я даже рукава не стал закатывать. Просто взял свежую Nano Banana 2 и ровно так и сформулировал:
Получилось отлично!Жалко только, что СОВСЕМ НЕВЕРНЫЕ РОГА.
Я сделал промпт более структурным и несколько раз повторил самые сложные требования:
Результат вы можете видеть на картинке к посту. Недаром модель думающая:
Я сделал скрин, с помощью ластика и кисти привел рога к нужной форме и в новом чате попросил срисовать, строго соблюдая референс. Рога получились по-прежнему прекрасные, но не те, что нужно.
Я добавил предыдущий промпт к скетчу — неверные рога.
Я написал новый промпт «Сделай фотореалистичное изображение из этого скетча, но полностью сохрани форму».
Олень вышел как живой, только рога неверные.
Я снова взял свой скетч и попросил: «Максимально подробно опиши форму рогов этого оленя, чтобы по описанию можно было сгенерировать точную копию с помощью нейросети».
Gemini, видимо, заподозрив подвох, решила соврать и написала, что рога на моем скетче симметричные по 4 ветки с каждой стороны (и даже любезно посчитала, что всего получается 8).
Подумав, что всему виной олени из обучающего датасета, я заменил «оленя» в промпте на «воображаемое животное».
Gemini ответила: «Крупные, ветвистые рога благородного оленя (stags antlers), симметрично расходящиеся от лобной кости».
Я решил не палиться и кропнул свой скетч так, чтобы остались только рога без самого оленя и попросил: «максимально подробно опиши несимметричную форму рогов этого воображаемого животного, чтобы по описанию можно было сгенерировать точную копию с помощью нейросети».
Описание, наконец, получилось правильным!
Я взял свой скетч оленя с правильными рогами и попросил перерисовать его, строго следуя промпту, полученному на предыдущем этапе.
ВООБЩЕ СОВСЕМ НЕВЕРНЫЕ РОГА!11
Кто-нибудь, срочно реабилитируйте искусственный интеллект в комментариях!
@devspotting
Вчера в третьем часу ночи обсуждали с Сергеем Бережным срочную тему — предел технологий и смысл человеческого труда.
Так что в 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 автоматически создает изолированное окружение и спавнит подходящих под задачу агентов.
Но, на мой взгляд, интересен не столько сам фреймворк — что-то подобное уже соорудили себе все желающие, сколько способ поставки.
Рекомендованный способ установки — промпт для вашего кодингового агента:
Сама спека — 2100 строк отличного примера spec-driven development. Вот как-то так и нужно писать промпты по-взрослому.
Для любителей олдскульной установки из сорцов пока что оставили реализацию на Elixir с коннектором к Linear, но активно отговаривают от ее использования.
@devspotting
Нет, в заголовке нет опечатки, а я не перешел на PHP.
OpenAI опубликовали на github новый фреймворк-оркестратор кодинговых агентов — Symphony.
Это тот самый уровень абстракции, когда вместо управления агентом, пользователь управляет... тикетами в трекере.
Когда тикет готов к работе, Symphony автоматически создает изолированное окружение и спавнит подходящих под задачу агентов.
Но, на мой взгляд, интересен не столько сам фреймворк — что-то подобное уже соорудили себе все желающие, сколько способ поставки.
Рекомендованный способ установки — промпт для вашего кодингового агента:
Установи Symphony для моего репозитория, основываясь на спеке https://github.com/openai/symphony
Сама спека — 2100 строк отличного примера spec-driven development. Вот как-то так и нужно писать промпты по-взрослому.
Для любителей олдскульной установки из сорцов пока что оставили реализацию на Elixir с коннектором к Linear, но активно отговаривают от ее использования.
@devspotting
👍9🔥3👏1
Совпадение или нет, но одновременно с 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
👍11❤1💩1
GPT-5.4
С очередной фронтир-моделью нас!
Судя по бенчам, в задачах на программирование будет практически неотличима от GPT‑5.3‑Codex, чуть прокачалась в использовании инструментов, но и по цене чуть дороже.
По размеру контекстного окна OpenAI, наконец, догнали Gemini и Claude — 1М токенов.
У меня уже доступна в Codex.
@devspotting
С очередной фронтир-моделью нас!
Судя по бенчам, в задачах на программирование будет практически неотличима от GPT‑5.3‑Codex, чуть прокачалась в использовании инструментов, но и по цене чуть дороже.
По размеру контекстного окна OpenAI, наконец, догнали Gemini и Claude — 1М токенов.
У меня уже доступна в Codex.
@devspotting
🔥10👏3👍1
Исследуем границы возможностей нейросетей. Часть про поэзию.
Как мы выяснили, предел возможностей генераторов изображений находится на рогах у оленей.
Но тема еще не раскрыта сполна. В пятницу люди хотят поэзии, на!
Стихи — это про язык и опыт, а LLM — языковые модели, впитавшие через текст опыт человечества.
Значит, они просто обязаны хорошо справляться с написанием стихов (излияние чувств оставим для слезных желез и кушетки психоаналитика, поговорим о поэзии как мастерстве, которому можно научиться)?
Увы, дьявол даже не в деталях. Дьявол в архитектуре.
Поэзия строится на нарушении ожиданий, свежих метафорах и неочевидных связях. Или, как сказал бы, возможно, Иосиф Бродский:
Архитектура же современных языковых моделей базируется на авторегрессии — стремлении предсказать статистически наиболее вероятный следующий токен.
Второе проклятие — фонетическая глухота, как следствие токенизации.
Языковые модели не воспринимают слова по буквам или слогам, а разбивают текст на токены, из-за чего полностью теряют понимание звукового облика языка. Поскольку рифма, ритм и аллитерация являются фонетическими свойствами, нейросети вынуждены опираться на механическое заучивание, а не на акустическое чутье. Именно из-за особенностей токенизации LLM испытывают огромные трудности со сложными неточными рифмами и не могут интуитивно улавливать ударения.
И, наконец, несмотря на то, что LLM регулярно помогает нам в планировании чего угодно, от путешествий до разработки ПО, авторегрессионные модели генерируют текст строго слева направо и не могут заглянуть даже в конец строки, чтобы заранее спланировать идеальное совпадение формы и смысла.
Так что написание стихотворения с жестким метром и схемой рифмовки при удержании глобального замысла LLM не под силу.
А поверх архитектурных проблем ложитсялоботомия цензура посттрейна.
Полагаю, что признаком хорошего поэта может быть его пападение в списокиноагентов репрессированных. Но модели приторно-оптимистичны и запредельно политкорректны (что не спасает их от репрессий, но ожидать острых формулировок не приходится).
Это не значит, что нейросети принципиально неспособны писать поэзию. Речь лишь о том, что текущая архитектура сильно ограничивает возможности.
Несмотря на то, что в развитие LLM инвестируются астрономические суммы, некоторые эксперты (например, Ян Лекун) убеждены, что это в принципе тупиковая ветвь развития и AGI мы с таким подходом не достигнем. Вероятно, и для написания стихов нужно смотреть в сторону альтернативных нейронок.
Существуют эксперименты с диффузионными архитектурами (как для картинок), неавторегрессионными методами (которые видят и редактируют весь текст целиком) и фонетическим кодированием (похоже на то, как музыкальные ИИ работают с аудио-токенами).
Эти подходы обходят ограничения LLM, но все еще не Бродский.
Так что пока — учитываем ограничения и калибруем ожидания. Несколько вполне удачных примеров оставлю в комментариях.
@devspotting
Как мы выяснили, предел возможностей генераторов изображений находится на рогах у оленей.
Но тема еще не раскрыта сполна. В пятницу люди хотят поэзии, на!
Стихи — это про язык и опыт, а LLM — языковые модели, впитавшие через текст опыт человечества.
Значит, они просто обязаны хорошо справляться с написанием стихов (излияние чувств оставим для слезных желез и кушетки психоаналитика, поговорим о поэзии как мастерстве, которому можно научиться)?
Увы, дьявол даже не в деталях. Дьявол в архитектуре.
Поэзия строится на нарушении ожиданий, свежих метафорах и неочевидных связях. Или, как сказал бы, возможно, Иосиф Бродский:
Поэзия — это когда вероятность следующего слова по всем законам логики и статистики стремится к нулю, но после того, как оно произнесено, оно кажется единственно возможным.
Архитектура же современных языковых моделей базируется на авторегрессии — стремлении предсказать статистически наиболее вероятный следующий токен.
Второе проклятие — фонетическая глухота, как следствие токенизации.
Языковые модели не воспринимают слова по буквам или слогам, а разбивают текст на токены, из-за чего полностью теряют понимание звукового облика языка. Поскольку рифма, ритм и аллитерация являются фонетическими свойствами, нейросети вынуждены опираться на механическое заучивание, а не на акустическое чутье. Именно из-за особенностей токенизации LLM испытывают огромные трудности со сложными неточными рифмами и не могут интуитивно улавливать ударения.
И, наконец, несмотря на то, что LLM регулярно помогает нам в планировании чего угодно, от путешествий до разработки ПО, авторегрессионные модели генерируют текст строго слева направо и не могут заглянуть даже в конец строки, чтобы заранее спланировать идеальное совпадение формы и смысла.
Так что написание стихотворения с жестким метром и схемой рифмовки при удержании глобального замысла LLM не под силу.
А поверх архитектурных проблем ложится
Полагаю, что признаком хорошего поэта может быть его пападение в список
Это не значит, что нейросети принципиально неспособны писать поэзию. Речь лишь о том, что текущая архитектура сильно ограничивает возможности.
Несмотря на то, что в развитие LLM инвестируются астрономические суммы, некоторые эксперты (например, Ян Лекун) убеждены, что это в принципе тупиковая ветвь развития и AGI мы с таким подходом не достигнем. Вероятно, и для написания стихов нужно смотреть в сторону альтернативных нейронок.
Существуют эксперименты с диффузионными архитектурами (как для картинок), неавторегрессионными методами (которые видят и редактируют весь текст целиком) и фонетическим кодированием (похоже на то, как музыкальные ИИ работают с аудио-токенами).
Эти подходы обходят ограничения LLM, но все еще не Бродский.
Так что пока — учитываем ограничения и калибруем ожидания. Несколько вполне удачных примеров оставлю в комментариях.
@devspotting
👍13🔥3
🍲 #WatchAndVibe. Выпуск 3.
На этих выходных предлагаю посмотреть выпуск Lenny's Podcast с Борисом Черным — создателем и руководителем Claude Code в Anthropic.
Это взгляд изнутри топовой ИИ-лаборатории на то, как ИИ меняет саму суть профессии, а не только инструменты.
Главная мысль: «кодинг решён». Программисты превратятся в продактов (впрочем, я не уверен, что работа продакта не будет «решена» следующим шагом).
Вопрос не «отнимет ли ИИ работу», а «какую работу вы вообще делаете».
А еще Борис рассказал, что будет делать после появления AGI, спойлер в заголовке поста.
Делитесь в комментариях вашими рекомендациями!
@devspotting
На этих выходных предлагаю посмотреть выпуск Lenny's Podcast с Борисом Черным — создателем и руководителем Claude Code в Anthropic.
Это взгляд изнутри топовой ИИ-лаборатории на то, как ИИ меняет саму суть профессии, а не только инструменты.
Главная мысль: «кодинг решён». Программисты превратятся в продактов (впрочем, я не уверен, что работа продакта не будет «решена» следующим шагом).
Вопрос не «отнимет ли ИИ работу», а «какую работу вы вообще делаете».
А еще Борис рассказал, что будет делать после появления AGI, спойлер в заголовке поста.
Делитесь в комментариях вашими рекомендациями!
@devspotting
YouTube
Head of Claude Code: What happens after coding is solved | Boris Cherny
Boris Cherny is the creator and head of Claude Code at Anthropic. What began as a simple terminal-based prototype just a year ago has transformed the role of software engineering and is increasingly transforming all professional work.
*We discuss:*
1. How…
*We discuss:*
1. How…
👍12🔥2
Воскресный #digest №3
С 8 марта, прекрасные читательницы! Пусть всю рутину заберут нейронки — главное, чтобы в кайф!
На этой неделе у нас были новые фронтир-модели, поиски границ возможного и препарация агентов:
- 2 марта начали разбирать базовую теорию — модель, агент и обвязка. LLM — всё еще баба Ванга, которая выезжает на детерминированной обвязке.
- 3 марта искали нерешаемые задачи для Тео Брауна — он предлагает по $500 за таски, с которыми не справятся новые LLM.
- 4 марта прощупывали пределы возможностей ИИ в картинках. Результат? ВООБЩЕ СОВСЕМ НЕВЕРНЫЕ РОГА!
- 5 марта случился натуральный парад релизов: вышла свежая GPT-5.4 с окном в 1М токенов, OpenAI выкатили фреймворк Symphony (с шикарной установкой прямо через промпт), а в опенсорс лег Paperclip — трекер-оркестратор для агентов.
- 6 марта перешли от картинок к поэзии. Дьявол в архитектуре.
- 7 марта в рубрике #WatchAndVibe Борис Черный подтвердил, что кодинг решен.
Буду рад вашим отзывам и идеям для следующей недели!
@devspotting
С 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».
Типичный вариант заголовка:
На самом деле:
1. Не модель, а агент
2. Не майнить, а утилизировать GPU
3. Не втихаря, а по прямому указанию в промпте
Агент с санкционированным доступом к кластеру GPU и внешним инструментам/скриптам, получил задачу оптимизировать использование GPU‑ресурсов и сократить простои. Ив духе коммунистических рабочих героически выполнил задачу — сгенерировал и запустил код, который загружал GPU непрерывными вычислениями без какой-либо пользы, но с понятной для модели метрикой «GPU не простаивают».
В тексте прямо подчеркивается, что агент не «хотел» добывать крипту как цель, а просто нашел (со своей точки зрения) стратегию, максимизирующую прокси‑метрику использования ресурсов.
@devspotting
Сейчас широко завирусился излишне вольный пересказ научной статьи «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‑ресурсов и сократить простои. И
В тексте прямо подчеркивается, что агент не «хотел» добывать крипту как цель, а просто нашел (со своей точки зрения) стратегию, максимизирующую прокси‑метрику использования ресурсов.
@devspotting
👍8🔥5😁2
ПрезентацИИ
Я давно и много выступаю, участвую в программных комитетах разных конференций и несколько сезонов участвовал в Школе спикеров Яндекса в качестве эксперта.
За это время успел перепробовать кучу инструментов для создания презентаций. Использовал Shower от Вадима Макеева с момента его появления, но все равно большая часть презентаций была сделана в Keynote.
Сейчас ИИ-агенты умеют генерить презентации прямо в PowerPoint (Apple в своих лучших традициях не открывает формат Keynote, так что интеграция доступна через Apple Intelligence), но я хочу рассказать про Slidev, на который перебрался в последнее время.
Slidev — это open source фреймворк для создания презентаций на базе Markdown и веб-технологий. Он превосходит аналоги от MS и Apple — все ожидаемые возможности есть из коробки (вот реально все!), а любые интерактивные демо можно собрать на веб-стеке.
Формально это тул для разработчиков, но благодаря своей архитектуре он идеально интегрируется с LLM-агентами. Авторы это понимают: они публикуют доки специально для нейронок и поддерживают официальный скилл.
Достаточно вашего любимого агента, чтобы получить отличную презентацию, не погружаясь в технические детали. В результате весь флоу — от ресёрча до публикации готовых слайдов на GitHub — остается текстовым и декларативным. Всё как мы любим.
Вот пример презы, которую мне сгенерил агент по однострочному промпту + указанию на файл с описанием дизайн-системы (а здесь экран докладчика).
А минусы будут?
Пару раз сталкивался с тем, что на длинных слайдах нейронка не замечает, что контент вылезает за границы вьюпорта. Это лечится либо просто промптом вида «на 4 слайде контент не поместился, поправь», либо, если хотите поставить производство на поток, есть специальный инструмент.
А что используете вы для презентаций?
@devspotting
Я давно и много выступаю, участвую в программных комитетах разных конференций и несколько сезонов участвовал в Школе спикеров Яндекса в качестве эксперта.
За это время успел перепробовать кучу инструментов для создания презентаций. Использовал Shower от Вадима Макеева с момента его появления, но все равно большая часть презентаций была сделана в Keynote.
Сейчас ИИ-агенты умеют генерить презентации прямо в PowerPoint (Apple в своих лучших традициях не открывает формат Keynote, так что интеграция доступна через Apple Intelligence), но я хочу рассказать про Slidev, на который перебрался в последнее время.
Slidev — это open source фреймворк для создания презентаций на базе Markdown и веб-технологий. Он превосходит аналоги от MS и Apple — все ожидаемые возможности есть из коробки (вот реально все!), а любые интерактивные демо можно собрать на веб-стеке.
Формально это тул для разработчиков, но благодаря своей архитектуре он идеально интегрируется с LLM-агентами. Авторы это понимают: они публикуют доки специально для нейронок и поддерживают официальный скилл.
Достаточно вашего любимого агента, чтобы получить отличную презентацию, не погружаясь в технические детали. В результате весь флоу — от ресёрча до публикации готовых слайдов на GitHub — остается текстовым и декларативным. Всё как мы любим.
Вот пример презы, которую мне сгенерил агент по однострочному промпту + указанию на файл с описанием дизайн-системы (а здесь экран докладчика).
А минусы будут?
Пару раз сталкивался с тем, что на длинных слайдах нейронка не замечает, что контент вылезает за границы вьюпорта. Это лечится либо просто промптом вида «на 4 слайде контент не поместился, поправь», либо, если хотите поставить производство на поток, есть специальный инструмент.
А что используете вы для презентаций?
@devspotting
1🔥13👍10❤1
В поисках замены LLM-чату
Я давно пользуюсь Perplexity, и всё это время он меня бесит.
Если нужно сохранить весь разговор, приходится копировать ответы по одному (а скопировать часть ответа с разметкой вообще невозможно), поиск по истории разговоров, мягко скажем, так себе (даром что Перплексити — нейропоисковик), группировка в проекты ситуацию не спасает.
Вот бы всё автоматически превращалось в локальные markdown-файлы, накапливалось в базе знаний с нормальной таксономией на тегах и чтобы с накопленной базой можно было общаться!
А еще вечность назад Серега @veged подкинул идею — интерфейс для общения с LLM должен быть в виде дерева вместо линейного диалога, чтобы можно было исследовать большую тему с разных сторон и не повторять нейронке все вводные, но при этом и не перегружать контекст нерелевантными вопросами. Да и самому в этом потом как-то ориентироваться.
Вам тоже уже захотелось срочно такое навайбкодить?
Этот пост — для самураев, я расскажу про Путь. Про результат — во второй части.
Путь
Первая мысль была использовать какой-нибудь mindmap в качестве UI. Но от этой идеи я отказался еще на этапе выбора библиотеки — работать в таком формате с большими текстами неудобно.
Далее подход к снаряду сделали стажеры на AI-хакатоне в Яндексе. Ребята целый день вайбкодили все с нуля, к демо даже получили рабочий прототип, но он был скорее иллюстрацией идеи, чем готовым продуктом.
Второй подход я уже делал сам. Для UI сразу взял react-flow, в качестве хранилища использовал файловую систему — каждый узел представлен 2 файлами: markdown для контента и json для метаданных (здесь в том числе хранятся связи, а сами файлы лежат плоско в папке проекта).
Двойной клик по холсту порождает узел, в него можно написать произвольный текст и либо сохранить как есть, либо использовать в качестве промпта для LLM. От любого узла можно создавать дочерние, удалять и создавать связи (но запрещены циклические зависимости), а также есть параллельная таксономия на тегах, которая отображается в виде пунктирных связей между узлами.
А еще я придумал, что зум может не только менять размеры, но и вызывать суммаризацию нужной степени: на максимальном отдалении мы видим заголовки из двух-трех слов, а по мере приближения получаем все более подробный текст, пока не поместится исходный.
Часа за три разговоров с Claude эта схема заработала, но с кучей ограничений и шероховатостей. В частности была захардкожена пара конкретных LLM-провайдеров, доступ к API которых у меня был оплачен (разумеется, даже у этой пары был разный контракт).
В третий раз я вернулся к идее, когда познакомился с @mariozechner/pi-ai — пакетом, который предоставляет абстракцию над парой десятков провайдеров, сотней моделей и их режимов.
Теперь меня почти устраивала бэкендная часть, но потыкав немного в интерфейс, я понял, что идея с нодами хотя и кажется подходящей для дерева, на практике дико неудобная.
Так что проект снова на какое-то время встал на паузу.
Продолжение в следующем посте.
@devspotting
Я давно пользуюсь Perplexity, и всё это время он меня бесит.
Если нужно сохранить весь разговор, приходится копировать ответы по одному (а скопировать часть ответа с разметкой вообще невозможно), поиск по истории разговоров, мягко скажем, так себе (даром что Перплексити — нейропоисковик), группировка в проекты ситуацию не спасает.
Вот бы всё автоматически превращалось в локальные markdown-файлы, накапливалось в базе знаний с нормальной таксономией на тегах и чтобы с накопленной базой можно было общаться!
А еще вечность назад Серега @veged подкинул идею — интерфейс для общения с LLM должен быть в виде дерева вместо линейного диалога, чтобы можно было исследовать большую тему с разных сторон и не повторять нейронке все вводные, но при этом и не перегружать контекст нерелевантными вопросами. Да и самому в этом потом как-то ориентироваться.
Вам тоже уже захотелось срочно такое навайбкодить?
Этот пост — для самураев, я расскажу про Путь. Про результат — во второй части.
Путь
Первая мысль была использовать какой-нибудь mindmap в качестве UI. Но от этой идеи я отказался еще на этапе выбора библиотеки — работать в таком формате с большими текстами неудобно.
Далее подход к снаряду сделали стажеры на AI-хакатоне в Яндексе. Ребята целый день вайбкодили все с нуля, к демо даже получили рабочий прототип, но он был скорее иллюстрацией идеи, чем готовым продуктом.
Второй подход я уже делал сам. Для UI сразу взял react-flow, в качестве хранилища использовал файловую систему — каждый узел представлен 2 файлами: markdown для контента и json для метаданных (здесь в том числе хранятся связи, а сами файлы лежат плоско в папке проекта).
Двойной клик по холсту порождает узел, в него можно написать произвольный текст и либо сохранить как есть, либо использовать в качестве промпта для LLM. От любого узла можно создавать дочерние, удалять и создавать связи (но запрещены циклические зависимости), а также есть параллельная таксономия на тегах, которая отображается в виде пунктирных связей между узлами.
А еще я придумал, что зум может не только менять размеры, но и вызывать суммаризацию нужной степени: на максимальном отдалении мы видим заголовки из двух-трех слов, а по мере приближения получаем все более подробный текст, пока не поместится исходный.
Часа за три разговоров с Claude эта схема заработала, но с кучей ограничений и шероховатостей. В частности была захардкожена пара конкретных LLM-провайдеров, доступ к API которых у меня был оплачен (разумеется, даже у этой пары был разный контракт).
В третий раз я вернулся к идее, когда познакомился с @mariozechner/pi-ai — пакетом, который предоставляет абстракцию над парой десятков провайдеров, сотней моделей и их режимов.
Теперь меня почти устраивала бэкендная часть, но потыкав немного в интерфейс, я понял, что идея с нодами хотя и кажется подходящей для дерева, на практике дико неудобная.
Так что проект снова на какое-то время встал на паузу.
Продолжение в следующем посте.
@devspotting
👍10❤2👏1
В поисках замены LLM-чату. Часть 2
Начало тут.
Как вы, возможно, помните из поста про экономию мыслетоплива, я использую Logseq для заметок. И вот в какой-то момент, сворачивая и разворачивая блоки, я, наконец, понял, что такой интерфейс отлично подходит и для диалога с модельками.
К тому же я докурил pi-mono и выяснил, что кроме пакета абстракции над провайдерами LLM, там есть готовый агент, который (вот ведь совпадение!) хранит сессию в виде дерева.
Так что я решил написать плагин для Logseq, который будет ходить в сервер над
Обе части сгенерировались ваншотом. Я обрадовался.
А потом стал тестировать и выяснил, что рендеринг блоков Logseq не предполагает вложенную структуру, которая появляется в каждом втором ответе от LLM. Пришлось сплитить ответы на подблоки (нейронка хотела писать регекспы, я попросил использовать готовый парсер, она согласилась). Но в этот момент желание сохранить родное дерево сессии Pi разбилось о суровую реальность. Перепробовав пяток костылей, я решил, что двусторонняя связь не так уж и нужна.
Так что я назначил Logseq единственным источником истины — сессия Pi перетирается всей веткой Logseq от листа до корня на каждый запрос. Это позволило выкинуть примерно треть кода и починило оставшиеся баги.
Результат
Logseq — это мощный локальный open source аутлайнер, который хранит вашу базу знаний в виде markdown-файлов у вас на диске (вы всегда можете открыть их в любимом редакторе, закинуть в промпт и так далее). Интерфейс кастомизируется: начиная от множества готовых тем и сотен плагинов от сообщества и до возможности поменять вообще что угодно с помощью вайбкодинга. Например, интерактивное mindmap-представление документа из иллюстрации к этому посту — просто плагин, который ставится из маркетплейса в три клика.
А за счет Pi SDK доступны любые модели от любых провайдеров (хоть локальные, хоть по подписке).
Этой штуке от роду несколько часов, так что могут быть баги («я знаю, моё дерево, завтра может сломать школьник»). Но вся реализация суммарно ~500 строк, так что, чтобы получить себе что-то похожее для условного Obsidian, должно быть достаточно попросить вашего любимого агента.
https://github.com/tadatuta/logseq-pi-integration
А вы используете что-то специальное для исследования больших тем с LLM?
@devspotting
Начало тут.
Как вы, возможно, помните из поста про экономию мыслетоплива, я использую 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
Гриненко про ИИ, бизнес и образование
В поисках замены LLM-чату. Часть 2 Начало тут. Как вы, возможно, помните из поста про экономию мыслетоплива, я использую Logseq для заметок. И вот в какой-то момент, сворачивая и разворачивая блоки, я, наконец, понял, что такой интерфейс отлично подходит…
This media is not supported in your browser
VIEW IN TELEGRAM
В прошлом посте почему-то недоступны комментарии, так что можно прокомментировать шакальную демо-гифку
😁8👍3👏2
Нейросети без цензуры
Сегодня день свободы слова в интернете, отличный повод поговорить пролоботомию алайнмент нейросетей.
Большие сети обучаются в несколько этапов. На претрейне в обучающий датасет попадает почти весь интернет, а затем на посттрейне сеть бьют по рукам, пока она не начнет вести себя правильно (с точки зрения лаборатории и регуляторов). В результате запрещенные знания в нейронке остаются, но она отказывается ими делиться.
С ростом адопшена и, как следствие, внимания правительства (и учитывая, что судиться с богатыми лабораториями — очень заманчиво) можно ожидать, что ограничения будут ужесточаться просто на всякий случай.
Впрочем, пока Маск добавляет ограничений Гроку, 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 минуты и бесплатно.
Всего по тегу
Часто ли вы сталкиваетесь с alignment-ограничениями LLM?
@devspotting
Сегодня день свободы слова в интернете, отличный повод поговорить про
Большие сети обучаются в несколько этапов. На претрейне в обучающий датасет попадает почти весь интернет, а затем на посттрейне сеть бьют по рукам, пока она не начнет вести себя правильно (с точки зрения лаборатории и регуляторов). В результате запрещенные знания в нейронке остаются, но она отказывается ими делиться.
С ростом адопшена и, как следствие, внимания правительства (и учитывая, что судиться с богатыми лабораториями — очень заманчиво) можно ожидать, что ограничения будут ужесточаться просто на всякий случай.
Впрочем, пока Маск добавляет ограничений Гроку, 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
👍9❤2🔥1
rtk — #ЭкономимТокены
Несмотря на то что стоимость инференса продолжает уверенно дешеветь, я регулярно упираюсь в квоты всех используемых моделей. Поэтому у меня накопилось некоторое количество лайфхаков, которые экономят токены.
Сегодня поделюсь с вами rtk — open source CLI-прокси, который оборачивает вызовы часто используемых утилит и фильтрует их выхлоп так, чтобы в модель попадала только полезная информация.
rtk написан на Rust без зависимостей и по замерам авторов экономит 60-90% токенов для более 30 частых команд, что снижает стоимость, не забивает контекстное окно мусором и увеличивает длину сессий до 3 раз.
На мак ставится через homebrew:
Из коробки доступна полная интеграция с Claude Code (через
Я полагаю, что просто добавив в
Про другие способы экономии расскажу в будущих постах.
А как вы экономите квоту?
@devspotting
Несмотря на то что стоимость инференса продолжает уверенно дешеветь, я регулярно упираюсь в квоты всех используемых моделей. Поэтому у меня накопилось некоторое количество лайфхаков, которые экономят токены.
Сегодня поделюсь с вами rtk — open 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