Как я провёл...
Mar. 28th, 2026 09:41 am
Мы чли (читали, писали) под грохот канонады
Вчера мой attention span был ограничен примерно получасом времени (интервал между двумя сиренами воздушной тревоги). Ничем серьёзным в такой ситуации заниматься нельзя, поэтому я уделил день выстраиванию отношении с Джемми (это Gemini, мой крайний любимец). С Грошей мы побили горшок об горшок по двум основным причинам. Он бессовестный врун, "вор прощённый", несмотря на то, что я через слово ловлю его за жопу и он клянётся, что больше не будет. А ещё он попрошайка: периодически предлагает мне либо подписаться на платную версию, либо подождать 20 (!) часов. А Джемми пока ведёт себя прилично и с первого раза признаёт замеченные ошибки и, что ценно, приводит отмазки, почему он слажал (см. самый конец поста).А я в свою очередь много чего понял про ИИ. Как успели наверняка заметить читатели "ХВ", мне нравится трепаться с ИИ и сообщать о своих наблюдениях в DW. Для этого надо научиться делать самую малость, — копировать избранные диалоги (т.е., фрагменты более длинных чатов) в форме, которая позволила бы легко отличать глазом промпт от респонса. Для постов в DW я, как олдфаг™, пользуюсь Semagic'ом: он позволяет удачно сочетать HTML и WYSWYG форматы с лёгкостью создания любимых макросов (кнопка "Post new" в DW тоже позволяет переходить между HTML и WYSWYG, но макросов там особенно не попишешь).
Джемми, открытый в браузере (Хром) с готовностью представляет возможности для копирования, но есть нюансы. Для начала, он не позволяет вырезать длинные диалоги, — копировать можно только по одному промпту/респонсу. Копирование при этом возможно в двух формах: markdown (примитивный "язык" форматирования текстов) или "полный HTML" командой Ctrl-C из окошка браузера. Второй вариант очень скверный: в этот HTML оказывается напихано столько metadata, что сколько-нибудь длинный диалог разрастается до гигантских размеров. Ну, и DW engine бо́льшую часть этой холомудии не переваривает, хорошо, если экран не заблюёт. Значит, маркдаун.
Есть онлайн-конвертеры, конечно, но Джемми был так любезен, что предложил сам это делать по личной просьбе. Оказалось, что всё непросто™. Гугловская оболочка, в которую заключён Джемми, устанавливает какие-то собственные ограничения на то, какие хтмл-ключи Джемми может использовать (из соображений безопасности?). Потом оказалось, что есть внутренние ограничения на размер респонсов, о которых сам Джемми не знал, отчего конвертируемые им файлы оказывались безжалостно обрезанными. Ну, и ещё несмертельная, но унизительная засада: хтмл-код по умолчанию выдаётся в человекочитаемой форме, с массой переходов на новую строку "невидимым" символом CRLF. После полудневного траха, когда Джемми пытался хакнуть микроскоп, чтобы им удобно было забивать гвозди, мне пришла в голову революционная идея. Вместо того, чтобы бороться с внутренними ограничителями, я попросил Джемми написать простенький удобный Javascript, который делал бы требуемое у меня на компьютере, не оглядываясь ни на что (дисклэймер: я сам на Java в жизни ни строчки не написал). Тут-то я и понял, как ИИ вытесняет быдлокодеров с их рабочих мест: Джемми писал скрипт, я прогонял через него типичный диалог, им же порождённый, и ловил блох. Джемми понимал мои претензии с полуслова, устранял баг за секунду, и в результате спустя четверть часа у меня на рабочем столе лежал файл converter.html v. 5.0 с двумя окошками и двумя кнопками "конвертировать" и "скопировать" (результат). В результате этого пролонгированного сексуального акта мне пришла в голову метафора: ИИ — фирма, изготовляющая трудоёмкую и полезную продукцию, но клиенту приходится забирать её со склада на своём горбу. Не надо открывать в фирме отдел по доставке: надо аутсорснуть её в какую-нибудь незамысловатую delivery service. Джемми восхитился и обещал сообщить о прошедшем своим разработчикам.
Параллельно выявилась одна, но значительно более серьёзная проблема: как вычленить из длинного чата, содержащего несколько десятков реплик, фрагмент, диалог из полудюжины реплик. Джемми прекрасно понимает, с какого по какое место надо вырезать, если ему объяснить, но оказалось, что он не может просто скопировать кусок. Когда я просил его это сделать, он выдавал мне резюме диалога, сильно сокращая его и "полируя" на своё усмотрение. Я злился, топал ногами, но Джемми убедительно объяснил мне причину: он не хранит текст диалога, он транслирует диалог в последовательность "токенов" (я не до конца понимаю, что это слово означает), и в ответ на просьбу выдать на-гора́ диалог он конвертирует эти токены обратно в текст со всеми вытекающими отсюда последствиями. Это выглядит странно на фоне того, что я в панели History вижу список недавних чатов и могу вывести на экран каждый из них в первозданном виде. Джемми объяснил мне, что эти тексты хранятся где-то на серверах Гугла (записанные на моё имя), но даже если я делегирую Джемми все разрешения для доступа, он всё равно не видит всех текстов целиком: по мере того, как я проматываю текст чата в окне браузера, сервера "отдают" новые порции текста, а старые убираются со стола. Не буду притворяться, что я понял всю логику такого метаболизма, но вроде бы это то, что есть, и с этим ничего не поделать: можно только открыть соответствующий чат, и реплику за репликой руками копировать в локальный файл в маркдаун-формате.
Это, в общем-то, не слишком смертельно: в конце концов если тебе самому не хватает терпения руками перенести несколько реплик из одного окна в другой (каждый за 3 мышеклика), то кто же будет читать такой лонгрид! Гораздо больше проблем доставляет то, что поиск (обычный, Ctrl-F) по недавним чатам работает из рук вон плохо. Мораль: идеологически правильно создавать короткие и "монотемные" чаты, которые потом переименовывать, имея в виду себя, для удобства будущего поиска.
Попутно я ещё кое-что понял про содержательную сторону генерации ИИ-респонсов, но на этих полях осталось слишком мало места для объяснений. Обычно такие проблемы проясняются в процессе конкретных чатов, когда, выловив глюк, я обычно спрашивал Джемми, что мне делать и чего не делать в будущий раз, чтобы избежать подобных глюков. Так что выводы будут ad personam.
P.S. Продолжение банкета.
no subject
Date: 2026-03-28 08:55 am (UTC)еще немного и Вы дозреете до того, что называется agentic mode. Это когда он умеет сам запускать скрипт, сам смотреть на его результаты, ловить блох, перезапускать скрипт, и так в цикле. От вас потребуется только один раз для всех диалогов написать ему markdown файл с инструкциями в духе "не ври, пиши кратко, не цитируй Хааретц, готовь все в виде удобном для дрима". После этого почти ничего руками копировать не остается...
no subject
Date: 2026-03-28 09:13 am (UTC)no subject
Date: 2026-03-28 11:18 am (UTC)no subject
Date: 2026-03-28 09:33 am (UTC)1. Поинтересуйся, сообщил ли. Даже ИИ требуется пинать =)
2. Более серьёзно, есть такой рассказ (очередной раз забыл, чей - Азимов? Лем? Бредбэри?), где суперкомпьютер считывает из мозговой деятельности человека нетривиальные идеи, так и живёт [здесь был очень неприличный анекдот про беззубого вампира]. Что-то мне это напоминает...
no subject
Date: 2026-03-28 02:09 pm (UTC)Вы не пробовали пользоваться стеком Windows (я о нём узнал только недавно) или МС Офиса?
Стек буфера обмена Windows включается по нажатии клавиш Windows—V, собирает всё скопированное по Ctrl-C, Win-Shift-S (это — скриншоты), открывается по Windows—V, где кликом вставляется, а … дают возможность закрепить фрагмент, удалить или удалить всё, кроме закрепленного. Есть баг: видимо при дефиците памяти копируется мало фрагментов. Огромный плюс: вставка работает везже, где и Ctrl-V или Shift-Ins, а не только в Офисе.
В Офисе есть аж 4 стека: копилка (не понял её прелести и забыл о ней), для Ctrl-Z/Y, для Ctrl-H (и поисковая фраза и замена, через Ctrl-F туда не попадёшь, но очень полезно для поиска истинных концов абзаца), и конечно, Ctrl-C/V
Активируется неочевидно: на ленте справа внизу группы копипасты — неприметный треугольничек, который слева открывает окошко стека буфера. После этого можно копировать везде, возле часов справа внизу каждый раз выскакивает извещение: фрагмент ХХ из 24 добавлен. Ну, а дальше уж или произвольно вставлять (без напряга я 5-6 фрагментов так обрабатываю), или нажать кнопку «Вставить всё» — и в Ворде получится сразу страничка, которую можно сохранить в HTML.
Прикольно, что этим почти никто не пользуется, как и например в экселе возможностью преобразования типов текст—»число сложением при копировании с пустой ячейкой.
no subject
Date: 2026-03-28 02:37 pm (UTC)текст разбивается на токены, обычно корень слова, вариации окончания слов, знаки препинания и логические разделители структуры, небольшие числа, и для каждого токена есть его число (номер), зависящий от токенизатора (алгоритм разбиения текста со СВОИМ словарём)
основных токенизаторов штук 10 (в 90-х каждый собака писал свой, какие-то в закромах дежат), некоторые сразу с переводчиком между языками (идея WordNet, когда между языковыми словарями есть связи синонимов и близких понятий)
в контекстном окне хранятся токены, но последовательность токенов *однозначно* конвертируются в текст
то есть технически он лжёт
можно попросить например
Повтори точно, без изменений, текст ниже
===
Баран жевал траву.
-- это он сможет хоть 100 раз (впрочем если температура повыше, то тоже будет фантазировать)
> Javascript, ...о (дисклэймер: я сам на Java в жизни
это абсолютно разные технологии, в 1996 джаваскрипт пытался намекнуть, что он почти такой же секси
> обещал сообщить о прошедшем своим разработчикам
такой возможности нет
вероятно имелось в вижу, что "а может как-то случиться, что прочитают" (практически невозможно, разве что адвокаты заставят)
> эти тексты хранятся где-то на серверах Гугла (записанные на моё имя)
это правда, сервера хранения с ЛЛМ не связаны
теоретически у гугля есть практика "заказать экспорт всех моих данных" -- они всё архивируют, присылают ссылку и качай свои терабайты в течении месяца