Горлянка уже есть, но магия ещё не проявилась

11 мин

В последний день 2023 года я опубликовал на этом личном сайте первое эссе — «Прыгнуть в следующую реку». Оно заканчивалось словами: «Я всё ещё в воде».

Прошёл год, а я всё ещё в воде.

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

Главной линией года был продукт, а несколько ограниченных попыток привлечь финансирование стали побочной. Мы не получили инвестиций и не увидели рыночного сигнала, достаточно сильного, чтобы подтвердить выбранное направление, но разработали и выпустили 27 версий.

Прыгнув в следующую реку, мы наконец начали учиться плыть вперёд.

Сначала сделать горлянку

В эссе, написанном в конце прошлого года, я рассказал, что решил начать с умных заметок.

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

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

Много лет я пробовал разные инструменты для заметок, но так и не нашёл продукта, который действительно соответствовал бы этой привычке. После ухода из SenseTime я позвал друга детства — того самого, с которым мы разоряли птичьи гнёзда и дрались, — и мы решили создать такой продукт вместе. В первой половине 2024 года мы большую часть времени работали в коворкинге в башне Sohu.

Мы назвали продукт MagicGourd.

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

Конечно, продукт — не ребёнок. Но у них есть общее: появление на свет — лишь начало. По-настоящему трудна долгая работа по уходу и развитию.

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

Сначала сделать горлянку, способную собирать эти точки.

Продуктовые решения за кнопкой выделения

Вскоре после начала разработки мы столкнулись с вопросом, который казался почти ничтожным: как должна выглядеть кнопка выделения?

Должна ли это быть одна кнопка или панель с несколькими действиями? После выделения текста должна ли она появляться сразу или ждать вызова пользователя? Где она должна возникать и когда исчезать? Если кому-то не нравится автоматическое появление, следует ли дать возможность его отключить?

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

У подобных вопросов нет стандартного ответа в алгоритмическом смысле.

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

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

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

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

Продукт должен выдерживать время

Удобство кнопки пользователь ощущает сразу. Но многие факторы, от которых зависит, будут ли пользоваться продуктом годами, скрыты от глаз.

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

Синхронизация — ещё одна задача, которая кажется простой, но на деле очень сложна. Когда человек создаёт выделение, интерфейс должен ответить мгновенно, а не останавливаться в ожидании сети. Запись не должна прерываться даже при слабом соединении или полном его отсутствии. Когда сеть вернётся, данные с разных устройств должны правильно синхронизироваться, не дублируясь, не перезаписывая друг друга и не исчезая незаметно.

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

Краткосрочное впечатление создать сравнительно легко. Не так уж трудно сделать плавную демонстрацию, которая впечатлит человека на несколько минут. Но для нас это всё равно было бы лишь демо.

Демо должно выдержать только текущий момент. Продукт должен выдерживать время.

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

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

Очень короткая побочная линия финансирования

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

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

Ценность инвестиций заключалась не только в деньгах. Продукт ещё не был готов, и ясного рыночного сигнала не существовало. На этом этапе мы хотели получить взгляд со стороны: считают ли сильные инвесторы выбранное направление осмысленным.

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

Больше размышлений заслуживает моя реакция на сомнения собеседников.

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

Но если цель финансирования — получить честную обратную связь, слова, в которые мы сами не верим, лишают эту обратную связь смысла.

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

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

«Старцы Сюаньмин» в башне Dongsheng

Во второй половине 2024 года мы переехали из башни Sohu в башню Dongsheng.

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

Это было забавно. Два человека, которые в детстве вместе разоряли птичьи гнёзда и дрались, двадцать лет спустя сидели в общем офисе и создавали продукт под названием MagicGourd.

Именно в башне Dongsheng мы познакомились с Кэханем. В MiraclePlus он отвечал за сообщество и поиск предпринимательских проектов. В первый раз он спросил: «Вы ведь предприниматели? Я давно за вами наблюдаю. Во всём этом офисе именно вы двое больше всех похожи на людей в настоящем предпринимательском режиме».

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

Это помогло мне иначе понять собеседование.

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

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

Горлянка уже есть

К концу 2024 года мы разработали и выпустили 27 версий MagicGourd.

Мы начали с аннотаций текста и изображений на обычных веб-страницах, затем добавили поддержку PDF онлайн и распространили тот же подход на Bilibili и YouTube. Пользователь мог отметить тронувший его кадр видео, написать заметку и быстро вернуться к этому моменту на временной шкале. Мы также добавили управление тегами, поиск и экспорт, а данные синхронизировались между браузерами и устройствами.

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

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

В ноябре мы представили функцию видеозаметок на sspai. Пользователи начали оставлять отзывы. Один человек, который прежде сохранял полезные кадры с помощью снимков экрана и вставлял их в другое место, после знакомства с MagicGourd написал: «Это расширение меня спасло!» Другим понравились отметки-капли на временной шкале; кто-то просил отдельные заметки или скорую поддержку Safari.

Отзывы пользователей стали одной из самых радостных частей года.

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

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

Магия ещё не проявилась

Но это ещё не была та магия, которую мы представляли.

Она, конечно, будет использовать ИИ, но не сведётся к созданию краткого содержания статьи. Резюме может сжать информацию, не продвигая познание.

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

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

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

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

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

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

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

Чем глубже ИИ участвует в познавательном процессе человека, тем более частные данные ему нужно видеть. Это ещё сильнее убедило нас, что приватность и владение данными — не инженерные вопросы, отдельные от магии, а условия её существования. Нельзя заявлять, что мы хотим понимать пользователей, и одновременно просить их отказаться от контроля над собственными данными.

Итак, 31 декабря 2024 года горлянка уже была, но магия ещё не проявилась.

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

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

Годом ранее я написал: «Я всё ещё в воде».

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

Но горлянку мы уже сделали.

Магия ещё не проявилась. До противоположного берега мы тоже не добрались. Но по крайней мере начали плыть вперёд.