- BrainTools - https://www.braintools.ru -
Всем привет, меня зовут Алекс Гусев. Это третья публикация в линейке (раз [1], два [2]), посвящённой тому, как меняется работа со знанием в условиях его избытка и почему внимание [3] становится ключевым ограничивающим ресурсом.
В первых двух текстах я рассматривал персональные картины мира, то, как знание встраивается в опыт [4], роль внимания в этом процессе и в общих чертах затрагивал тему того, как внимание проявляется через поведение [5] пользователей на современных платформах. Основной фокус тогда был на формулировке идей и их обсуждении. В этой статье я продолжаю ту же линию и перехожу к практическому шагу – к проверке этих идей в виде работающего эксперимента.
Эксперимент реализован в виде веб-приложения Mindstream:
приложение: https://mindstream.app.wiredgeese.com/ [6]
исходники: https://github.com/flancer32/mindstream [7]
Приложение состоит из серверной и браузерной частей. Серверная часть работает одинаково для всех пользователей: она читает публикации с Хабра через RSS, формирует для них при помощи языковых моделей аннотации и краткие обзоры и на их основе собирает общую ленту публикаций.
Браузерная часть отвечает за персонализацию. При входе на страницу пользователь видит ленту статей с аннотациями и обзорами, а также маркеры персонального интереса [8]. При первом использовании все значения интереса равны нулю, предварительные предпочтения отсутствуют.
Взаимодействие с лентой устроено просто: пользователь читает название публикации и краткую аннотацию, открывает и читает обзор, при возникновении интереса переходит по ссылке на оригинальную публикацию. Эти действия фиксируются как сигналы внимания. На их основе прямо в браузере формируется персональный вектор интересов пользователя, относительно которого оцениваются последующие публикации в ленте.
Все расчёты персонального интереса выполняются и хранятся локально, в браузере пользователя. По умолчанию никакие данные о поведении [9] пользователя на сервер не отправляются.
При желании пользователь может создать анонимную идентичность в виде UUID. В этом случае сигналы внимания начинают дублироваться на сервер. На текущий момент эти данные лишь сохраняются и не используются для формирования коллективных сигналов или рекомендаций. Коллективные эффекты сознательно исключены на текущей стадии эксперимента.
По мере взаимодействия с лентой Mindstream – чтения аннотаций, открытия обзоров и переходов к оригинальным статьям – в браузере пользователя формируется вектор его собственных интересов. Это числовое представление не интерпретируется и не поясняется, однако относительно него у новых публикаций появляются маркеры, показывающие степень семантической близости их содержания к уже зафиксированным интересам.
В этом режиме читатель выступает участником эксперимента и источником данных через собственное внимание. Использование приложения сводится к наблюдению за тем, как со временем меняется персональный вектор интересов и какие статьи Хабра начинают с ним коррелировать.
В основе расчёта маркеров интереса лежит векторное представление текстов. Для каждой публикации используется не полный текст статьи, а её обзор, сформированный при помощи языковой модели. Обзор представляет собой пересказ публикации и служит компактным носителем её семантики. Предполагается, что смысл обзора в достаточной степени соответствует смыслу исходного текста.
Для обзора вычисляется эмбеддинг-вектор, описывающий его положение в многомерном семантическом пространстве. В этом пространстве расстояние между векторами используется как мера смысловой близости текстов. Чтение обзора рассматривается как сигнал внимания. При таком событии эмбеддинг-вектор соответствующего обзора добавляется в персональный вектор интересов пользователя. Таким образом, вектор интересов формируется из тех же представлений, что и сами публикации, и находится в том же семантическом пространстве. Для каждой публикации в ленте рассчитывается расстояние между эмбеддинг-вектором её обзора и текущим вектором интересов пользователя. Полученное значение используется как маркер интереса и показывает степень семантической корреляции между содержанием публикации и уже зафиксированными интересами читателя. Это значение используется как относительный индикатор и не интерпретируется дополнительно.
При таком устройстве эксперимента вопрос доверия сводится к конкретным аспектам: где формируются сигналы внимания, где они хранятся и в какой момент пользователь осознанно выходит за пределы локального контура. По умолчанию Mindstream работает полностью локально. Персональный вектор интересов формируется и используется в браузере пользователя, а сигналы внимания не сохраняются и не передаются. В этом режиме эксперимент остаётся индивидуальным и замкнутым на пользователя.
Идентичность вводится как отдельный добровольный шаг. Она представляет собой анонимный UUID и не связана с персональными данными. При её создании сигналы внимания начинают дублироваться на сервер, что в будущем позволяет рассматривать коллективные эффекты и агрегированные данные. На текущем этапе эти данные не используются для формирования рекомендаций или общей ленты. Mindstream не является сервисом и не предполагает гарантий результата. Данные используются строго в рамках описанной модели и исключительно для исследования поведения сигналов внимания и векторных представлений в практическом контуре. Создание идентичности остаётся осознанным выбором пользователя.
Разработка Mindstream началась 1 февраля и заняла около десяти дней. За это время было собрано клиент-серверное веб-приложение с обращением к внешним источникам данных (RSS Хабра) и внешним моделям для работы с текстами и эмбеддингами.
Основной объём прикладного кода был написан не мной напрямую, а агентом на базе языковой модели (Codex). В рамках используемого подхода моя роль заключалась в формировании контекста для работы агента, постановке задач, оценке предлагаемых решений и корректировке результата. Архитектурные решения, структура модулей и значительная часть связующего кода были сгенерированы агентом в рамках этого контекста. Если бы я писал это приложение вручную, оно выглядело бы иначе по структуре и стилю. Ход работы агента и принятые решения зафиксированы в отчётах, доступных в репозитории проекта [10].
При формировании документов контекста, проработке архитектурных решений и уточнении границ эксперимента также использовался ChatGPT – как инструмент совместного мышления [11] и проверки формулировок. На серверной стороне применяется мой собственный контейнер объектов @tefw/di, обеспечивающий позднее связывание компонентов во время выполнения и упрощающий тестирование. Это позволило удерживать архитектуру гибкой и не фиксировать решения раньше, чем они становились необходимыми в рамках эксперимента.
Опыт разработки Mindstream стал для меня контекстом, в котором позже возникла сегодняшняя дискуссия на Хабре о возможности создания полноценных приложений с использованием языковых моделей. К моменту обсуждения у меня уже был практический результат – работающий эксперимент, собранный в одиночку и в ограниченные сроки. В комментариях к статье “Как оптимизация промптов превратилась из шаманства в инженерную дисциплину [12]” я участвовал в разговоре, опираясь на этот опыт разработки и наблюдения, сделанные в ходе работы над Mindstream. В этом контексте Mindstream можно рассматривать как зафиксированный практический результат: приложение существует, функционирует и решает конкретную задачу, будучи созданным с использованием именно агентного подхода.
Mindstream находится в экспериментальной стадии, и его возможности сознательно ограничены. Эти ограничения задают границы интерпретации получаемых результатов.
Приложение не предназначено для замены Хабра и не выполняет роль рекомендательной системы. Оно не отбирает публикации и не оптимизирует ленту под вовлечённость. Mindstream визуализирует возможную семантическую корреляцию между интересами пользователя и текущими публикациями, не вмешиваясь в порядок и состав исходной ленты.
Используемая модель работает с обзорами, а не с полными текстами статей. Обзор служит приближённым носителем семантики публикации, поэтому оценки интереса зависят от его качества и не отражают содержание исходного текста напрямую.
Эмбеддинг-векторы и расстояния между ними являются модельным представлением смысла. Они позволяют сравнивать тексты в одном пространстве, но не дают интерпретируемых объяснений и не отражают причины интереса пользователя. Маркеры интереса показывают относительную близость, а не значимость или ценность публикации.
Коллективные сигналы внимания в текущей версии не используются. Даже при создании анонимной идентичности данные не агрегируются и не влияют на ленту. Это сделано сознательно, чтобы не смешивать персональный эксперимент с социальными механизмами.
Эти ограничения позволяют рассматривать Mindstream как лабораторный стенд для проверки отдельных идей о внимании, смысле и векторных представлениях в контролируемом виде.
Эта публикация не является отчётом о завершённом проекте. Mindstream задумывался и остаётся экспериментом, цель которого – проверить, как идеи о внимании и персональном смысле проявляют себя в работающем инженерном контуре.
Мне важно понять, насколько такой формат интересен другим людям как практический инструмент наблюдения: за собственной лентой, за сигналами внимания, за тем, какие публикации со временем начинают коррелировать с вектором интересов. В частности, мне интересно, готовы ли пользователи осознанно участвовать в эксперименте и делиться сигналами внимания ради получения агрегированных результатов.
От этого зависит, будет ли эксперимент развиваться дальше. Коллективные эффекты и агрегированная статистика возможны только в том случае, если окажутся востребованными.
Если этот подход откликается, вы можете попробовать Mindstream самостоятельно [6] и составить собственное впечатление [13]. Дополнительный контекст и другие мои материалы доступны на сайте wiredgeese.com [14].
Спасибо всем, кто смог прочитать.
Автор: flancer
Источник [15]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/25473
URLs in this post:
[1] раз: https://habr.com/ru/articles/963910/
[2] два: https://habr.com/ru/articles/983094/
[3] внимание: http://www.braintools.ru/article/7595
[4] опыт: http://www.braintools.ru/article/6952
[5] поведение: http://www.braintools.ru/article/9372
[6] https://mindstream.app.wiredgeese.com/: https://mindstream.app.wiredgeese.com/
[7] https://github.com/flancer32/mindstream: https://github.com/flancer32/mindstream
[8] интереса: http://www.braintools.ru/article/4220
[9] поведении: http://www.braintools.ru/article/5593
[10] в отчётах, доступных в репозитории проекта: https://github.com/flancer32/mindstream/tree/main/ctx/agent/report/2026/02%5D(https://github.com/flancer32/mindstream/tree/main/ctx/agent/report/2026/02)
[11] мышления: http://www.braintools.ru/thinking
[12] Как оптимизация промптов превратилась из шаманства в инженерную дисциплину: https://habr.com/ru/articles/994624/comments/#first_unread%5D(https://habr.com/ru/articles/994624/comments/#first%5C_unread)
[13] впечатление: http://www.braintools.ru/article/2012
[14] wiredgeese.com: http://wiredgeese.com
[15] Источник: https://habr.com/ru/articles/995070/?utm_source=habrahabr&utm_medium=rss&utm_campaign=995070
Нажмите здесь для печати.