Обновить

Как я искала неизвестно что, но нашла основной принцип для современной базы знаний (в моём представлении)

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели7.1K
Всего голосов 7: ↑6 и ↓1+7
Комментарии13

Комментарии 13

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

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

AI Workspace — это персональная интеллектуальная среда пользователя.

Система хранит знания, историю работы и контекст независимо от используемой LLM.

LLM является сменным инструментом рассуждения, а не владельцем памяти.

Главный принцип

Память принадлежит пользователю.

Не модели.

Не облачному сервису.

Не конкретному чату.

Любая информация, созданная пользователем, сохраняется локально и может использоваться любой LLM.

Назначение системы

Система предназначена для хранения, организации и применения знаний пользователя.

Она должна помогать:

  • продолжать работу спустя любое время;

  • восстанавливать контекст проектов;

  • применять накопленные знания;

  • объяснять принятые решения;

  • сохранять историю появления знаний.

Что НЕ является целью

Система НЕ является:

  • аналогом ChatGPT;

  • очередным веб-чатом;

  • простой RAG-системой;

  • файловым менеджером.

Что является ядром системы

Ядром является Knowledge Engine.

Он отвечает за:

  • хранение знаний;

  • поиск знаний;

  • связывание знаний;

  • извлечение знаний;

  • подготовку контекста для LLM.

LLM не работает напрямую с файлами.

Она работает только с контекстом, подготовленным Knowledge Engine.

Роль LLM

LLM выполняет только задачи рассуждения.

LLM НЕ является:

  • долговременной памятью;

  • базой знаний;

  • источником истины.

LLM можно заменить без потери данных.

Источник истины

Источником истины являются локальные данные пользователя.

К ним относятся:

  • документы;

  • разговоры;

  • изображения;

  • проекты;

  • задачи;

  • знания;

  • нормативные документы;

  • личные заметки;

  • опыт пользователя.

Диалог

Диалог является единственным пользовательским интерфейсом системы.

Пользователь не работает с отдельными чатами.

Для пользователя существует один непрерывный разговор.

Внутри системы этот разговор может храниться как множество технических сессий.

Проекты

Проект является областью деятельности.

Проект НЕ владеет диалогом.

Во время одного разговора пользователь может:

  • работать с несколькими проектами;

  • создавать новые проекты;

  • изменять существующие проекты.

Проект может родиться непосредственно в процессе разговора.

Рабочее состояние

Каждый проект имеет рабочее состояние.

Рабочее состояние включает:

  • последние решения;

  • незавершённые задачи;

  • открытые вопросы;

  • текущие документы;

  • следующий рекомендуемый шаг.

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

Память

Память состоит из нескольких уровней.

Уровень 1

Первичные данные.

Содержит:

  • сообщения;

  • документы;

  • изображения;

  • файлы;

  • чертежи.

Данные никогда не изменяются.

Уровень 2

Извлечённые знания.

Содержит:

  • решения;

  • требования;

  • правила;

  • задачи;

  • сущности;

  • связи;

  • события.

Используется Agent.

Уровень 3

Рабочее состояние.

Представляет собой текущее состояние проекта.

Используется для продолжения работы.

Knowledge Engine

Knowledge Engine является центральным компонентом системы.

Он должен уметь работать с различными типами знаний.

Например:

  • нормативная документация;

  • законодательство;

  • документация проектов;

  • личные знания;

  • переписка;

  • изображения;

  • результаты анализа;

  • накопленный опыт.

Все они являются равноправными источниками знаний.

Анализ

Перед использованием LLM система должна определить:

что анализируется.

Например:

  • договор;

  • чертёж;

  • PDF;

  • изображение;

  • Markdown;

  • проект;

  • переписка.

После этого используются специализированные анализаторы.

Например:

  • OCR;

  • анализ PDF;

  • CAD-анализ;

  • анализ изображений;

  • парсинг Markdown.

LLM получает уже структурированные данные.

Экспертные домены

Каждый специализированный проект представляет собой набор знаний и методик.

Например:

Нормоконтролёр

  • ГОСТ

  • правила проверки

  • типовые ошибки

Юрист

  • законодательство

  • судебная практика

  • методика анализа договора

Поиск работы

  • резюме

  • вакансии

  • история откликов

  • сопроводительные письма

Все они используют одно и то же ядро.

Отличаются только источниками знаний и рабочими процессами.

Методика

Главной интеллектуальной ценностью системы является не промпт.

Ценность представляет методика решения задачи.

Методика должна быть независимой от конкретной LLM.

Любая модель должна иметь возможность выполнить её.

История знаний

Система хранит не только документы.

Она хранит историю появления документов.

Необходимо иметь возможность ответить:

  • почему принято решение;

  • какие альтернативы рассматривались;

  • когда появилась идея;

  • из какого разговора возник проект.

Объяснимость

Каждый вывод должен иметь источник.

Если система утверждает что-либо, она должна иметь возможность показать:

  • документ;

  • пункт нормативного документа;

  • сообщение;

  • решение;

  • файл;

на основании которых сделан вывод.

Универсальность

Ядро системы не должно знать предметную область.

Ядро работает только с универсальными сущностями:

  • Knowledge

  • Source

  • Entity

  • Relation

  • Decision

  • Task

  • Project

  • Session

  • Workflow

  • Working State

Любая предметная область подключается как новый домен знаний.

Масштабируемость

Система должна одинаково работать:

  • на слабом домашнем ПК;

  • на мощной рабочей станции;

  • с локальной LLM;

  • с облачной LLM;

  • с несколькими LLM одновременно.

Архитектура не должна зависеть от вычислительных ресурсов.

Эволюция

Любой новый проект должен расширять ядро только тогда, когда это действительно необходимо.

Если новый проект требует переписывания ядра, архитектура считается ошибочной.

Если достаточно добавить новый источник знаний, новые правила и новый Workflow, архитектура считается успешной.

Главная цель

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

Философия системы

Все специализированные проекты являются проверкой универсальности ядра.

Нормоконтролёр не является отдельной системой.

Юрист не является отдельной системой.

Поиск работы не является отдельной системой.

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

Если ядро спроектировано правильно, добавление новой предметной области требует только:

  • подключения новых источников знаний;

  • описания методики;

  • настройки Workflow.

Архитектура ядра при этом не изменяется.

Добрый вечер! Спасибо за развернутый комментарий. Мне хотелось бы узнать, это описание существующего проекта/архитектуры, которую Вы используете или знаете, или Ваше видение того, как должна быть устроена такая система? Хочу лучше понять контекст

В целом проект над которым я работаю.

Знаете, мне понравились. Постараюсь провести параллели со своим видением, когда буду дома. На данный момент, увы, нет возможности дать развернутый комментарий(((

Добрый вечер! Прошу прощения за поздний ответ. Обстоятельства были не из лучших со здоровьем.

Постараюсь ответить, как я это вижу. Со своей стороны…

В моем случае – тоже да. В системе (как я это вижу) данные хранятся вне зависимости от ЛЛМ. Но вот результаты работы с ЛЛМ идут в базу (как хотелось бы), чтобы потом их можно было использовать для последующих разработок.

С тем, в чем должна помогать – полностью согласна. Должна быть возможность вернуться к логам по принятию решений (я их называю траекториями) спустя и длительное время в том числе. Контекст – маст хэв, откуда взято, что рядом по связям, чтобы было понимание. Применять накопленные знания – чтобы синтезировать новые.

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

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

LLM не является памятью, базой знаний. А вот насчет источника истины… тут, смотря с какой стороны посмотреть. Не чистый источник истины. Резонатор. Движитель, зеркало для идей. Я сохраняю логи с ЛЛМ, чтобы потом сопоставлять их и выводить новое. Но в моем случае это больше как… не данные – те, что уже существуют, а генерация новых.

Что является источником истины – соглашусь. Я сейчас тут пытаюсь построить свое, и в моем, где я генерирую новое, источником истины также может являться мой опыт (но в диалоге с ЛЛМ – чтобы быстрее докопаться, что именно я ищу). Потом, кстати, этот опыт может «переобмозговываться», то есть, он не «застывший в истине». Как… ступеньки, которые потом можно убрать.

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

Я вижу один разговор насчет разных проектов как… плавное перетекание. В моей системе на данный момент есть разные объекты – и «подвешенные» решения – где непонятно, что делать дальше. И закрытые. И неизвестные – но которые могут пригодиться.

 

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

Knowledge Engine пересобирает для ЛЛМ именно эмбеддинги? А потом ЛЛМ дает в диалоге сведения пользователю? О том, что «знает»? Могла тут понять неправильно.

Насчет методики решения задачи… Что конкретно Вы подразумеваете? Генерацию идеи, как решить какую-то проблему (опираясь на базу данных)? Или же что-то другое?

История появления документов – согласна, нужно иметь возможность «откатиться» к источнику.

Универсальные сущности… Увы, тут ничего сказать не могу, в этом не разбираюсь.

Масштабируемость – оптимизация. Да, если у Вас получится вот так – это будет здорово.

Оставлять Ядро и наращивать допы – однозначно.

Ваша цель и философия отзываются во мне. Необходимо сократить возможности перестройки самого тяжелого в среде. Минимизировать риски.

P.S. Спасибо за Ваше мнение! Благодаря Вашему комментарию у меня тоже появились кое-какие мысли по поводу своего проекта.

Как затравка "на подумать" - интересно, спасибо за статью.

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

Но в своих рассуждениях Вы не даёте никаких наводок на то, что для Вас потенциально может являться таким ключом/ключами (возможно, невнимательно прочитал - поправьте меня тогда).

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

Вы не даёте никаких наводок на то, что для Вас потенциально может являться таким ключом/ключами

У БЯМ идей нет. Есть только из пустого в порожнее.

Мало того, что статья нейрослоп, еще и комментарии от ЖПТ.

БЯМ:) Отлично:) Я не буду спорить. У меня есть причины пока не показывать то, что я придумала. Можете считать меня хоть Джипити, хоть... Джемини, хоть еще кем угодно:)

Про что и речь. Доступная мне сейчас БЯМ предлагает ответить очень похоже:

Оставайтесь при своем мнении:) А я буду делать свою работу.

Не думаю. В изложении присутствует определенная непоследовательность, нехарактерная для LLM ))

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации