[002] Cursor для управления знаниями

Alex:

Привет, Глеб! Очередной интересный для нас поворот. Снова получается, оставаясь где-то на границе между техническим и каким-то там исследовательским, двинуться вперед. Мы много говорили про управление знаниями Obsidian какие-то такие экосистемы, оставаясь при этом toolognostic, и сейчас как будто произошел какой-то новый поворот возможность использования сред для разработки, для управления знаниями. В данном случае это курсор.

Alex:

Хочется поговорить об

Gleb:

этом. Да, привет Саша. Действительно хайповый инструмент. Это тот случай, когда он хайповый по заслугам. Очень много у меня лично энтузиазма вокруг применения курсора для управления знаниями.

Gleb:

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

Alex:

Пару слов о курсоре. Вообще хайп начался, наверное, с недавнего подкаста у Лекса Фридмана, но такой потребительский хайп. До этого, конечно, мы сами им пользовались, как-то пробовали, но сейчас это прямо совсем на пике. Можешь кратко рассказать, что такое этот плагин инвест-кода, какой-то его форк, который начал развиваться самостоятельно?

Gleb:

Bursor позиционирует себя как AI редактор кода. Изначально это был плагин для EVSCode, это очень популярный Microsoft редактор кода. В какой то момент им не хватило возможностей, которые дает VSCode, они форкнули его и сделали полностью свой редактор, но который при этом поддерживает плагины VSCode, архитектуру его сохраняет, и интерфейс тоже по большей части сохраняет. Интерфейс у этого редактора, кто не видел, мне кто-то сказал, что он похож на старый интерфейс Outlook, то есть он такой специфичный. И этот редактор получил хороший раунд они недавно подняли 60 миллионов долларов от Andreessen Horowitz и инвесторов из Stripe и GitHub.

Gleb:

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

Alex:

Я так понимаю, его основная фича как бы все-таки для программистов это как бы дополнение или редактирование какого-то блока кода. Мы в кодовом редакторе находимся. Нажимаем Tab, по сути это вот основная такая фича и он предлагает shadow текстом как обычно это было скорее там пару слов или окончание функции, здесь он предлагает скорее элемент кода или даже переписать последний абзац кода. Также эту функцию можно назвать как бы отдельным чатом или поверхом выделенного текста тоже редактируя код исходя из контекста текущего файла или всей код-базы, или там выбранной папки в этой код-базе, да? Вот его основное направление.

Gleb:

Да, это редактор, который называется парное программирование. И он не только может какие-то куски кода генерировать, в принципе при определенном умении, он может полностью целиком писать программы, плагины, экстеншены, серверный софт. Любой софт на большом количестве языков программирования можно на нем писать и языки разметки типа markdown тоже поддерживаются, про эту часть мы будем в большей степени говорить. Мы с тобой пользуемся плагином для Obsidian, который полностью написан с помощью Aider и курсора. Aider это инструмент, который работает в командной строке, а курсор редактор, у которого есть графический интерфейс, то, что называется интегрированная среда разработки

Alex:

IDE. Тут, наверное, стоит вспомнить, что как бы парное программирование это в современном ключе, оно называется программирование SAE. Раньше это было, когда два человека сидят за одним компьютером и смотрят друг другу экран попеременно, да, я так понимаю, правильное определение?

Gleb:

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

Gleb:

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

Alex:

И тут, чтобы не пугать людей, которые не технические, хочется сделать описание того, что в данном случае мы его сейчас стараемся использовать вообще не как tool для программирования, хотя у нас есть какие-то там разработчикие проекты, мы обсидиан плагины пишем, там Raycast какие-то, extension. То есть есть что разрабатывать на нашем уровне, но идея курсора скорее в том, что он может быть применен не для разработки и это редкий use case для него, по крайней мере в текущей версии. Но имея возможность, вот как ты сказал, серверную, получать доступ к контексту, а контекст это не только код база, а например нет кода, только markdown файлы, только наша Obsidian, например world хранилище перенесенное туда, как просто структура папок, структура markdown файлов. К этому можно тоже обращаться через их встроенную серверную архитектуру с эмбеддингами, со встроенным AIS, классными моделями, с подключением интернета и так далее. Я правильно понимаю это?

Gleb:

Да, всё так. Это система, которая позволяет вам общаться с вашей базой знаний, в отличие от каких-то плагинов для Obsidian, Copilot, Smart Connections, которые мы обычно рекомендуем на наших лабораториях. Здесь вы сразу же без всяких плагинов можете задавать вопросы всей своей базе знаний и он очень неплохо по ней ищет. Он реализует что-то похожее на RAG retrival agmented generation, когда вы получаете ответ на свой вопрос не только из базы знаний большой языковой модели, но и из ваших собственных знаний документации, ваших заметок, терапевтических сессий и так далее. Чтобы чуть более конкретно, если я несколько лет вел свои заметки или сохранял транскрипты своей терапии, я могу задать вопрос, например, какие метафоры я использую в своей терапии чаще всего, какие когнитивные искажения можно обнаружить в моих заметках, какие-то факты можно уточнить, спросить про определенные отношения.

Gleb:

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

Alex:

Я правильно понимаю ты просто взял свой Obsidian и открыл его в курсоре без всяких транзакций и прочего, просто папка с олтом?

Gleb:

Я вообще ничего не делал, просто открыл папку как проект и начал с ней сразу же чатиться и буквально сразу же начал получать полезные результаты. Помимо того, что я могу просто вопросы задавать, поскольку курсор это все таки редактор кода, то бишь редактор текста по определению, я могу не только эти ответы получать в текстовом виде, но я могу и создавать контент на основе тех ответов, которые получаю, изучал собственные метафоры, которые я применяю во время своих терапевтических сессий. Я получил ответ, там список из 10 метафор, и я тут же попросил курсор создать мне файл, который называется метафора, которую я использую в терапии, и в этом файле автоматически получился список всех моих метафор. Опять же в Obsidian не такое, по-моему даже, ну наверное можно найти способ как это сделать, но это будет что-то такое требующее пары-тройки плагинов и некоторой настройки. Здесь это просто работает.

Gleb:

Человеческим языком говорю создай мне файл, я общаюсь с ним по-английски и получаю на выходе markdown файл.

Alex:

Что интересно, мне кажется не только создай, а еще и поменяй. Поменяй по абзацу на append, сделай в конце, знай мою markdown разметку. Например, если они указаны какой-то там словарь связанный билинков, он его может такой же использовать. Он может alias добавить вначале. Ну, по крайней мере, из коробки, то, что я пробовал, он разметку файла, которая изначально была, ее AML, которая поддерживает Obsidian, он ее сохраняет и в этом же режиме продолжает или создавать или апдейтить файлы?

Alex:

Да, он учится

Gleb:

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

Gleb:

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

Gleb:

Я напишу какой-то markdown файл. А, вот хороший пример. Вчера я писал собственную биографию для того, чтобы сделать небольшую демку, небольшой график, нарисовать timeline. Я пишу какие-то события собственной жизни, и он мне соджистит следующий год, какое-то событие не относится к моей жизни, он предлагал мне вузы, которые я не заканчивал, указать и так далее. Бывает, немного смешно выглядит, потому что по-прежнему то, чем занимаются большие языковые модели предсказывают следующие токены, и галлюцинации тут никуда не деваются, вы можете получить результат, который является недействительным, но вы можете это игнорировать, то есть в данном случае я не жал tab для того, чтобы закончить это предложение тем, что курсор мне предлагает, просто продолжал дальше писать.

Alex:

Тут стоит, наверное, проговорить, что в Obsidian во многом эти элементы такого flow тоже реализуемы. Там есть и автокомплит, там есть автокомплит предложения, там есть и боковые чаты, с которыми можно взаимодействовать. И где-то они также работают, но курсор, наверное, впечатляет и выделяется тем, что у него действительно большой контекст. То есть, он может выбирать из твоей базы набор файлов и прям быстро к ним обращаться. Это работает реально быстро, это работает сразу.

Alex:

Эти контексты из моих кейсов можно скрещивать, как, например, банальный пример записи терапии, причем, но не саммари, а прям транскрипты, транскрипты часовые сессии. И это хороший контекст для того, чтобы посмотреть на любую тему, которую ты делаешь. Вот курс я составляю или еще что-нибудь, письмо какое-то пишу. Через призму моих вот тех содержаний, которые в рамках терапии изучены. Если, например, AI Studio, ну тоже Google с большой Gemin контекстной моделью, можно тоже было раньше загрузить все транскрипты и сделать с ними что-то но скорее какое-то однонаправленное действие только summary потому что потом когда ты начинаешь другие задачи ему задавать он уже путается у него prompt был какой-то единый он ест контекст но он не может сделать с ним другие задачи иначе там другой чат нужно будет создавать везде это перезагружать здесь ты можешь аплицировать вот этот вот большой контекст файлов там папку набор файлов набор дневник заметок и за несколько лет к новой задаче очень быстро по сути в одно предложение вот что меня впечатляет в курсоре в отличие от Obsidian.

Gleb:

Да, тут видно когда ты делаешь какой-то поисковый запрос по всей кодовой базе, то бишь по всем текстовым заметкам. Курсор выводит список файлов, которые он использует для ответа на твой вопрос и там часто бывают десятки файлов, а количество плагинов для Obsidian используют Lancchain и обычно longchain использует три, может быть чуть больше файлов для того, чтобы дать ответ, и этого часто бывает недостаточно, потому что выбор этих файлов тоже не всегда. В Obsidian не удавалось тоже такие вау-эффекты достигать, но это скорее было случайное совпадение, когда я задаю Obsidian вопрос про себя, про свою биографию, и получаю какой-то ответ, в котором нет лжи, скажем так, но он, скорее всего, не полный. А курсоре получается задать вопрос про себя, например, вчера его спрашивал, чем я занимаюсь. Вот я хочу написать пост про себя, задаю вопрос, чем я занимаюсь, в каком подходе работаю и так далее, и я получил ответ, который я практически мог не редактировать, просто Ctrl+C Ctrl+V, и он соответствовал действительности.

Gleb:

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

Alex:

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

Alex:

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

Alex:

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

Gleb:

Да, тут могу привести пример. Я давно хотел сделать какой-то инструмент, который мне сможет погружаться в определенный домен знаний быстро и как бы сверху вниз. Сначала получить обзор, допустим, большого количества чьих-то лекций или рассылок или еще чего-то. И вот в курсоре это получается делать очень быстро, во-первых, потому что это редактор кода, я могу сделать какие-то операции, отформатировать их. Недавно я взял архив одной рассылки, там 260 выпусков, я скачал все выпуски и просто один большой CSV файл закинул в курсор и прямо оттуда дал команду смотри вот CSV файл, сделай мне пожалуйста структуру markdown файлов, пусть они друг с другом будут связаны, пусть основные термины, которые там часто используются, выделяются как Wikilink двойными квадратными скобками для того, чтобы создать такую базовую структуру и буквально через 20 минут у меня был Obsidian Vault хранилище в Obsidian, в котором было как раз 250 файлов, друг с другом перелинкованные и дальше я мог этим файлом сразу же задавать вопросы.

Gleb:

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

Gleb:

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

Gleb:

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

Alex:

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

Alex:

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

Alex:

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

Alex:

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

Alex:

Как ты это видишь?

Gleb:

Да, ну я подтвержу, что самое важное на любом этапе развития технологии это данные, да, если данных нет, то из воздуха они взяться не могут, данные о вас, данные о том, что вы делаете, о ваших проектах, интересах и так далее. Я 4 года в Obsidian не собираю их, до этого еще было много лет в другой среде the Brain, я немножко забросил, не переносил оттуда данные, Наверное, имело бы смысл к этому вернуться, потому что сейчас явно с ИИ стало проще эти данные достать оттуда. Но вот четыре года архивов, каких-то заметок, дневников, конспектов, у меня есть. Правда я не жалею ни одной минуты потраченной на сбор этих данных, все они сейчас так или иначе пригождаются и сейчас хочется туда еще больше данных собирать, собирать архивы моих диалогов с ChatGPT и с Клодом, какие-то может быть более структурированные данные, данные про здоровье, сон и так далее, для того, чтобы в будущем еще более качественных использовать. Но в каком-то смысле это будущее уже наступило, то есть я уже могу початиться со своими заметками за 22 год и посмотреть, что у меня там в голове было, что происходило, какие были ощущения.

Gleb:

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

Alex:

И вполне вероятно, что Obsidian, ну, то есть Smart Connection это, по сути, какой-то шаг в ту сторону, просто он реализован не на таком уровне скорости и качества, как это можно сделать в Obsidian. Вполне вероятно, что Obsidian может тоже развиться за счет какого-то классного плагина в ту сторону, но пока это не так.

Gleb:

Да, но из интервью с создателями Cursor, у Лекса Фридмана, который ты упоминал, очень немалую работу проделали для того, чтобы все это работало быстро. К сожалению, с одной стороны мы всю дорогу топим за локальные инструменты, за то, чтобы эмбездинги были локальные, файлы локально. К сожалению, пока у нас у всех не стоят какие-то нафаршованные MacBook Pro с огромным количеством оперативной памяти и последними процессорами. Для того, чтобы все это так хорошо работало приходится часть операций делать на сервере. Как раз авторы рассказывали, что там технических челленджей, в том числе в том, как сделать, чтобы это все масштабировалось, работало для больших баз знаний, для больших кодовых баз.

Gleb:

Мы тут говорим про свои базы знаний, где тысячи заметок. У меня, например, семь тысяч заметок, многие из них совсем маленькие. Может звучит как что-то большое, но на самом деле, если вы возьмете среднего размера программный продукт, то там кодовая база может быть на порядки больше, особенно если это корпоративная история. Курсор кажется еще перспективным, потому что он точно не сломается, если ваша база вдруг станет не 7000 заметок, а 7000 заметок. Они точно с этим справятся.

Alex:

Я тут еще хочу сказать про возможность курсора работать с вебом, встроенная, причем любой моделью. Даже, например, klot 3.5, soned, который не ходит в интернет, не обрабатывает ссылки. В данном случае он может это сделать просто потому, что на стороне курсора есть какой-то элемент вытягивания данных из страницы. Ты можешь выдать указать ссылку или даже там цикл ссылок. Он пройдет по этим веб-страницам достанет оттуда, там не знаю, в каком-то формате markdown, возможно, эти данные и обработает их уже с локальной моделью.

Alex:

Ну не локальной, а моделью, которая не ходит в интернет. То же самое, на самом деле, можно сделать и вручную. Пойти на сайт, скопировать это или сохранить страницу как markdown, отправить в Obsidian, подключить к нему какую-то модель или просто в чат какой-нибудь qlod отправить. Просто там это происходит все из одного интерфейса, из контекста, из файла, с контекстом каких-то других файлов сразу, сразу в одном интерфейсе. И это круто.

Gleb:

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

Alex:

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

Alex:

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

Gleb:

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

Alex:

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

Alex:

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

Gleb:

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

Gleb:

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

Gleb:

То есть, курсор никак не могу отвыкнуть от того, что у нас уже не Obsidian, столько лет ему посвящено. Курсор просто открываете, он автоматически находит новые файлики, которые вам какой-то внешний агент насоздавал, и он включает их в базу знаний. Вы, например, можете сохранить какой-то промт, который вам будет давать ответ на запрос по всей вашей кодовой базе с учетом самых последних новостей. Это тоже очень будоражит. Я надеюсь, что API курсора поможет такие делать такие штуки автоматически.

Gleb:

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

Alex:

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

Gleb:

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

Gleb:

Я тогда нашел много сайтов, которые до сих пор читаю. Хочется, чтобы системы умные переходили из режима pool, когда мне нужно зайти, мне нужно нажать кнопочку получить почту, получить RSS фид, прочитать новости в режим push, когда система сама, зная мой контекст, мои интересы, мои потребности, предлагает мне что-то. И это вообще не научная фантастика, это уже сейчас можно сделать, просто пока что нет какого-то хорошего удобного инструмента. Ну, я думаю, что они будут появляться, и, может быть, мы сами что-то будем собирать. Это тоже совсем не сложные задачи.

Gleb:

Хочется, чтобы

Alex:

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

Alex:

Как мы делаем выбор того, что актуально сейчас? Мне кажется, вот это все тоже может быть как-то перемещено на уровень интерфейса. Пока мы сами придумаем как это сделать. Создадим папку и ее используем для контекста, чтобы ответить на запрос, а потом этот контекст используем для вот актуально. Но это все очень такая ручная работа, и это окей, это исследование.

Alex:

Но в рамках этого исследования должна родиться новая среда потребления этого.

Gleb:

Да, но из каких-то самых очевидных источников знаний обо мне и моем контексте У меня есть история моего браузера, какие сайты я смотрю, что я читаю, история моих разговоров каких-то, история моих перемещений по городу, куда я хожу, где я провожу время, книги, которые я читаю или спектакли, которые посещаю. Хочется, конечно, чтобы в будущем умные системы учитывали это все, естественно, с моего согласия. Пока что, если я захочу системе скормить свою историю браузера, например, мне нужно будет там какой-то extension поставить, плагин, что-то такое, тоже не rocket science это все возможно сделать, но требует много усилий. Пока что это, скорее, такая история для хакеров, но в будущем, я уверен, это будет проще. Даже мы видим уже какие-то движения в ту сторону.

Gleb:

Тот продукт, который Microsoft предложили, который все записывает, или тот же Limitless, который мы используем для записи

Alex:

встреч. Revined, который, по сути, компания от Revined.

Gleb:

Да, Revined вот такие вот продукты, которые, с одной стороны, очень дают классный контекст для работы таких систем. С другой стороны, то, что называется privacy nightmare, то есть эта система собирает все-все-все и Microsoft, например, вынудили этот продукт выключить по умолчанию внутри своей системы, внутри windows. Тут конечно мы сами должны редактировать, уметь возможность тонко настраивать, что мы хотим в системе Scarlet, что нет и иметь возможность вручную удалить оттуда какой-то элемент. Но системы, построенные вокруг Obsidian и Cursor, по умолчанию открытый, не закрытый черный ящик. Они открыты, позволяют многое настраивать, автоматически конфигурировать.

Gleb:

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

Alex:

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

Gleb:

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

Gleb:

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

Alex:

То есть в каком-то смысле заплатить за ключ OpenAI сейчас лучше, чем пытаться это поднять. То есть зачем оптимизировать эти центы, если можно чуть переплатить и скорее придумать новый продукт в родной компании? Я

Gleb:

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

Alex:

Мне прям хочется как-то целенаправленно пройтись по этим принципам, которые, в принципе, ограничивают наше мышление. Отчасти мы об этом тоже много думаем, об этом рассуждаем, но, наверное, в рамках какого-то другого выпуска. Вот, а сейчас может быть будем тогда как-то подытоживать, заканчивать. Спасибо за разговор. Я всегда задаю вопросы: что повлияло, что впечатлило себя?

Alex:

Понятно, что это курсор, а может быть все-таки конкретный кейс, если у тебя такой есть.

Gleb:

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

Alex:

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

Alex:

Во-первых, с точки зрения сбора информации по каким-то важным для тебя системным контекстам, чтобы это не занимало времени, а с другой стороны с пониманием, как его еще можно использовать. Опять же, реализовано в курсоре. Спасибо тебе за этот диалог, мне кажется, он получился интересный. Надеюсь, это кого-то замотивирует попробовать, как минимум, не продавая и никак не аффилировано с курсором. Там есть 14 дней бесплатный период, который дает тебе доступ к кладу, к gpt o mini и так далее, что само по себе круто.

Gleb:

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

Alex:

Спасибо.

Gleb:

Подписывайтесь на наш подкаст, поставьте звездочки в Apple Podcast или в Spotify, оцените это очень помогает продвижению. И до новых встреч!

[002] Cursor для управления знаниями
Broadcast by