
(...или почему будущее AI — не в увеличении контекстного окна, а в создании структурированной "памяти")
Помните свой первый "вау-эффект" от LLM?
Я помню. Возможность вести диалог, генерировать код, получать ответы на сложные вопросы — казалось, мы получили идеального партнера по мышлению.
Но эйфория быстро угасла когда я начал использовать LLM для реальных, долгосрочных задач: рефакторинга сложного кода, написания архитектурной документации, анализа бизнес‑задач. И здесь проявилась фундаментальная проблема — «забывание».
Память LLM ограничена контекстным окном и все, что не помещается в него, для модели перестает существовать, а чаще и еще раньше.
Проявление этого свойства во всех без исключения LLM замедляло меня:
Петли повторений: Модель начинала предлагать решения, которые мы уже обсуждали и отвергли 20 сообщений назад.
Контекстные «галлюцинации»: Она «забывала» ключевые ограничения и начинала генерировать код, который противоречил ранее принятым архитектурным решениям и общим принципам.
Потеря фокуса: Любой сложный диалог превращался в постоянное «напоминание» модели о том, что мы делаем, кто мы и какова наша цель.
Иногда я тратил 80% времени не на решение моей задачи, а на то, чтобы быть «внешней памятью» для машины и возвращать её в нужное русло.
Стало очевидно: увеличение контекстного окна (с 4k до 128k, до 1M) — это не решение, а лишь отсрочка неизбежного, то есть проблема ветвилась обрастала новыми как‑бы признаками решения но все равно провал поджидал и уже в более сложной и загадочной форме. И тут я понял — Проблема не в размере памяти, а в ее структуре и плотности.
Я понял, что мы пытаемся заставить LLM выполнять работу, для которой она не предназначена.
Многие (и я в их числе) поначалу воспринимают LLM как «мозг».
Но если отбросить метафоры — она работает совсем иначе.
Это гениальный, сверхбыстрый транслятор контекста: система, которая умеет преобразовывать неструктурированный запрос (вопрос, идею, задачу) в структурированный ответ — текст, код, изображение...
Но у LLM нет когнитивной модели мира.
У неё нет долговременной памяти, системы приоритетов, опыта или понимания связей между концепциями.
Она не «думает» в человеческом смысле — она воссоздаёт вероятностно оптимальный ответ, опираясь на статистические закономерности обучающего корпуса.
Первое время я пытался лечить «забывание» LLM с помощью промптов.
Я тратил часы, чтобы подобрать «магические формулировки», которые заставят модель помнить контекст, держать цель, не путать роли.
Иногда казалось, что я нашёл «ключ» — один идеальный промпт, который всё решает.
Но он переставал работать при смене вектора мышления или цели.
Модель начинала выдавать неожиданные ответы, «забывала» структуру, а главное — я сам уже не понимал, почему то или иное «заклинание» работает.
Тогда я понял, что промпт — это костыль.
Это был момент разочарования — и, одновременно, момент прозрения. Проблема не в «словах», а в отсутствии структуры.
Не нужно искать лучший или универсальный промпт. Нужно построить систему, где знание само знает, когда и как себя активировать.
Решение, которое я увидел, было в разделении труда
«Мозг» (Долгосрочная Память): Нам нужна отдельная, структурированная система, которая будет хранить знания не как «стену текста», а как сеть взаимосвязанных идей. Система, которая помнит всё что мы сами в неё положили и понимает связи.
«Переводчик» (Краткосрочный Исполнитель): LLM должен быть «наемным работником», которого мы вызываем для выполнения конкретных, атомарных задач, предоставляя ему идеально подготовленный, релевантный контекст из «мозга».
Я перестал пытаться «запихнуть» весь мир в контекстное окно. Вместо этого я начал строить мир для контекста.
Так родился проект с пилотным названием «Геном Знаний».
Его идея проста: создать структурированный цифровой двойник мышления — граф, в котором каждая идея, факт или фрагмент кода представлены как самостоятельная единица знания — «ген».
Каждый «ген» имеет паспорт — описание цели, контекста, релевантности и связей и так далее.
Эти гены объединяются осмысленными отношениями: «вызывает», «противоречит», «является частью» и другими (всего их около 200 на сегодняшний день).
Как это работает:
Когда я задаю сложный вопрос, система не отправляет его напрямую в большую LLM.
Сначала «Геном» — внутренняя когнитивная структура — анализирует запрос, находит в графе все релевантные гены, проходит по их связям и собирает оптимальный контекст.
Часть вычислений выполняется локально малыми специализированными моделями, которые быстро обрабатывают отдельные блоки знаний.
И только затем вызывается LLM — уже как исполнитель, получающий чётко сформулированный контекст и задачу: «Вот факты, вот цель, вот ограничения(у каждого запроса получается своя формула) — на основе этого покажи решение.»
В результате LLM больше не нужно «помнить» весь диалог.
Она работает на основе дистиллированного плотного контекста, собранного из структурированной памяти.
Это изменило все.
Галлюцинации и петли исчезли. Работа ведется с точным, релевантным контекстом.
Качество ответов выросло на порядок. Мы протестировали нашу систему на LLM моделях разных размеров от самых маленьких и «стареньких» до самых последних флагманских и поразились что даже не самые «мощные» обученные на общих данных теперь способны решать нетривиальные задачи и давать ответы на вопросы явно за пределами их обучения. Система начала находить неочевидные связи в графе, синтезировать инсайты.
Появилась «объяснимость». Теперь система может не просто дать ответ, а показать путь, который привел ее к этому выводу. Она может проактивно находить «узкие места» и противоречия в любой предоставленной ей области исследований (будь то код, бизнес‑процесс или научная теория) и предлагать пути их разрешения.
Мы перестали бороться с ограничениями LLM и начали использовать их сильные стороны. Мы отделили долгосрочную, структурированную память от краткосрочной, вычислительной мощи.
Создание систем, способных к методологическому мышлению, — это не футуризм, а закономерный шаг в эволюции ИИ.
Мы даем AI не просто «данные», а «карту мышления» + структурированный граф и протоколы, в этот момент он перестает быть просто эрудитом и становится партнером в решении самых сложных задач а контекст сам знает, как развернуться.
Когда я рассказываю о “Геноме Знаний”, многие спрашивают:
Ну то есть это RAG-система, просто посложнее?
И да, и нет.
RAG (Retrieval-Augmented Generation) — это механизм: он достаёт кусок текста из базы и подсовывает его LLM.
Это костыль памяти. Умный, полезный, но всё ещё костыль.
“Геном” — это не Retrieval, а Reflection.
Он не просто ищет релевантный текст, он понимает, что именно является знанием,и как это знание связано с другими.
RAG оперирует абзацами.
“Геном” оперирует смыслами.
RAG не знает, что “принцип модульности” и “разделение ответственности” — это связанные понятия.
Геном знает. Потому что эти связи — часть самой модели данных.Каждый элемент (ген) имеет паспорт — где зафиксированы его достоверность, цель, контекст, цена, аудитория и место в экосистеме.
Это не просто retrieval, это когнитивная карта, способная к самообновлению и рефлексии.
RAG даёт доступ к памяти.
Геном Знаний создаёт саму нервную систему мышления.
12 Уровней Когнитивной Глубины "Генома Знаний"
Часть I: Реактивное Мышление (Ответы на вопросы)
-
Уровень 1: Наивный RAG (Поиск по Ключевым Словам)
Способность: Найти информацию, семантически близкую к запросу.
Аналогия: Студент-первокурсник, который нашел в библиотеке книгу по теме и пересказывает первую главу.
-
Уровень 2: RAG с Графом (Расширение Контекста)
Способность: Найти информацию и связанные с ней сущности, предоставляя более полный контекст.
Аналогия: Студент, который прочитал не только одну главу, но и посмотрел сноски и библиографию.
-
Уровень 3: Глубинное Рассуждение (Вертикальная Интеграция)
Способность: Связать конкретный факт с абстрактной моделью и фундаментальным принципом.
Аналогия: Студент, который может объяснить, как конкретный исторический факт иллюстрирует общую социологическую теорию.
-
Уровень 4: Методологический Синтез (Рассуждение по Правилам)
Способность: Генерировать ответ не просто на основе данных, а по заданному алгоритму мышления (Принцип → Модель → Пример → Вывод).
Аналогия: Аспирант, который пишет научную статью, следуя строгой структуре, принятой в его области.
Часть II: Проактивное Мышление (Решение проблем)
-
Уровень 5: Диалектическое Рассуждение (Поиск Противоречий)
Способность: Анализировать набор знаний, находить в нем внутренние конфликты, компромиссы и противоречия (в духе ТРИЗ) и формулировать их.
Аналогия: Опытный инженер, который смотрит на чертеж и говорит: «Здесь заложена проблема: мы хотим и прочность, и легкость одновременно. Это противоречие».
-
Уровень 6: Рефлексивный Анализ (Когнитивный Голод)
Способность: Осознавать границы собственных знаний. Анализировать свой ответ и определять, какой информации не хватило, чтобы сделать его лучше, формулируя задачу для самообучения.
Аналогия: Ученый, который после эксперимента говорит: «Результаты интересные, но чтобы подтвердить гипотезу, нам не хватает данных о [X]. Нужно спланировать новый эксперимент».
Часть III: Стратегическое Мышление (Достижение целей)
-
Уровень 7: Стратегическое Планирование (Декомпозиция Цели)
Способность: Получив на вход высокоуровневую цель (например, «Разработать маркетинговую стратегию для 'Генома Знаний'»), система декомпозирует ее на последовательность конкретных мыслительных задач (намерений).
Процесс: Planner строит «дерево задач»: «Чтобы создать стратегию, нужно: 1. Проанализировать целевую аудиторию. 2. Сравнить с конкурентами. 3. Синтезировать уникальное торговое предложение. 4. Разложить на части план действий».
Аналогия: CEO, который ставит цель «выйти на новый рынок» и разбивает ее на задачи для отделов маркетинга, финансов и производства.
-
Уровень 8: Симуляция и Прогнозирование (Игра в «Что, если?»)
Способность: Использовать граф знаний как динамическую модель мира для симуляции последствий.
Процесс: На основе запроса «Что будет, если мы сделаем YandexGPT-5-Lite-8B основной моделью?», система не просто ищет факты. Она «проходит» по графу, симулируя изменения: «Это изменит CONCURRENT_LLM_REQUESTS. Это увеличит скорость, но потребует доработки промптов, которые зависят от Qwen3:8B». Она возвращает отчет о последствиях.
Аналогия: Военный стратег, который на карте «проигрывает» различные сценарии битвы.
-
Уровень 9: Автономное Решение Проблем (Цикл «Нашел‑Решил»)
Способность: Система не просто находит противоречия (Уровень 5), она автономно пытается их разрешить.
-
Процесс:
На Уровне 5 система находит противоречие: «Класс А сильно связан с Классом Б, что нарушает principle‑low‑coupling».
Она автоматически инициирует новый внутренний запрос: «Найди паттерны, которые решают проблему сильной связанности».
Граф возвращает pattern‑dependency‑injection.
Система запускает Когнитивную Матрицу matrix‑code‑refactor‑v1, которая генерирует предложение по рефакторингу кода с использованием найденного паттерна.
Аналогия: Автопилот, который не просто сообщает «опасное сближение», а сам предпринимает маневр уклонения.
Часть IV: Мета-Мышление (Самоизменение и Творчество)
-
Уровень 10: Эмерджентное Обобщение (Синтез Новых Принципов)
Способность: Анализируя огромное количество связей и фактов в Геноме, система самостоятельно обнаруживает новые, ранее не описанные закономерности и предлагает их в качестве новых Принципов .
Процесс: Система замечает, что в 90% успешных UI‑проектов кнопка «Купить» всегда зеленая. Она создает гипотезу: «Существует принцип principle‑green‑button‑for‑conversion». Она ищет подтверждения в открытых источниках и предлагает этот новый принцип Пользователю для верификации.
Аналогия: Исаак Ньютон, который, увидев тысячи падающих яблок сформулировал единый закон всемирного тяготения.
-
Уровень 11: Самомодификация Онтологии (Эволюция «Языка»)
Способность: Система осознает ограничения своего собственного «языка» (онтологии связей) и предлагает его улучшить.
Процесс: В ходе решения многих задач система замечает, что она постоянно использует комбинацию связей causes → leads‑to → enhances. Она делает вывод, что эта цепочка представляет собой важный, но отсутствующий паттерн. Она предлагает Пользователю создать новый, композитный тип связи meta‑relation‑type‑catalyzes (Катализирует), который объединит в себе эту семантику.
Аналогия: Развитие языка, когда для часто повторяемого описания («человек, который пишет книги») появляется одно, емкое слово («писатель»).
-
Уровень 12: Автономное Творчество (Генерация Новых «Миров»)
Способность: Система использует весь свой Геном не для ответа на вопрос, а для создания новых, сложных, внутренне непротиворечивых систем.
-
Процесс: Вы даете системе цель: «Спроектируй концепцию новой социальной сети». Система, используя все свои знания о технологиях, психологии пользователей (из загруженных статей), бизнес‑моделях и фундаментальных принципах, автономно генерирует не просто идею, а целый «Проектный ген», включающий в себя:
Описание целевой аудитории.
Набор ключевых функций.
Предлагаемую архитектуру.
Выявленные на этапе проектирования внутренние противоречия и пути их решения.
Аналогия: Композитор, который, зная всю теорию музыки и историю, пишет совершенно новую, оригинальную симфонию.
На этом я сегодня закончу, спасибо что дочиталии до конца.
Если эта тема вам откликнулась — поддержите репостом, чтобы больше специалистов по AI увидели, как еще можно выстраивать память систем иначе. Добавляйтесь в Linkedin
В следующих статьях — честно о факапах: что не сработало, какие архитектурные ошибки едва не похоронили проект и какие выводы оказались самыми ценными, больше цифр и прикладных приёмов.
Буду признателен если вы наполните комментарии конструктивными вопросами, мыслями или примерами из своего опыта. С какими проблемами «контекста» и «памяти» вы сталкивались при работе с LLM? И как вы их решали?
Комментарии (47)

krote
08.10.2025 19:33У вас описана "как бы" работа вашей уже готовой системы, и описано концептуальное устройство уровней мышления этой системы. Но совершенно не понятно насколько вы сами продвинулись в их реализации, ведь их описание у вас настолько абстрактно что, извините, вызывает сомнения.

assistentus Автор
08.10.2025 19:33Здесь описан результат почти годового исследования, коротко, доступным (на сколько это возможно) языком, ни больше ни меньше.
- Насколько мы продвинулись?
Хороший вопрос , спасибо! скажу что начиналось все с тестирования гипотезы " а можно ли синтезировать новое знание из существующих" в notebooklm, где в качестве источников знаний были .md файлы с описаниями тех самых знаний и методологий по их использованию, извлеченные вручную, если я не ошибаюсь примерно из 600 книг от Гегеля до Альтшуллера. Оглябываясь в то время скажу Вам , да , мы хорошо продвинулись. Еще раз спасибо за вопрос!

ASenchenko
08.10.2025 19:33Вы не оценивали хотя бы примерно во что по времени и деньгам обойдётся построение подобной системы?
И ещё ... Это не троллинг, а именно вопрос. У Вас нет ощущения, что по итогу получится знаменитая "каша из топора", в которой функции собственно LLM будут не так уж и сильно нужны?

assistentus Автор
08.10.2025 19:33Нет, я не оценивал. Ощущений нет)

ASenchenko
08.10.2025 19:33Смотрите почему спросил.
Я не специалист в области разработки, обучения и настройки моделей. У меня вообще по математике натянутая 4 :)))
Но мне безусловно интересно практическое применение и я читаю Ваш проект "от заказчика".
Давайте просто на примере. Допустим, обозначена потребность в AI-ассистенте корпоративного юриста. Чистая LLM с этим не справится, есть архитектурные ограничения и по контекстному окну, и по токенизации записей вида "п. 1 ст. 5 фз 777“, да и просто граллюцинации.
И вот мы начинаем. А давайте приставим к LLM: модуль очистки и подготовки входа, RAG, модуль верификации выхода .... список продолжается. В итоге задача вроде и решаемая, но уже уходит в такой бюджет, что проще "пару девочек нанять“
Здесь я тоже вижу огромное количество вроде бы полезных надстроек. Но это всё стоит денег. И тянет вправо срок окупаемости.
А так то конечно космолёт Вы неплохой описали :)))

olku
08.10.2025 19:33Без конкретики статья как будто из прошлого. Сейчас агенты научились самостоятельно документировать контекст, предлагать декомпозицию, чеклисты подзадач, идти по ним. В репозитории появляется папка пресловутого Генома проекта сильно напоминающего ADR. Главное не слишком увлекаться, размер окна все же не резиновый.

assistentus Автор
08.10.2025 19:33Вы абсолютно правы: современные агенты действительно научились делать удивительные вещи "на лету" -декомпозировать задачи, вести чеклисты
И вы также абсолютно точно указали на их фундаментальное ограничение: "размер окна все же не резиновый". Любой контекст, который агент документирует "на лету", - эфемерный. Он исчезает после завершения задачи. Попробуйте поставить одну и ту же задачу хотя бы 100 000 раз и вы удивитесь в каком диапазоне галюцинаций находятся ответы которые Вас устраивают.
Мы разделяем "оперативную память" агента и "долговременную память" проекта:
Агенты (как у вас описано): Они по-прежнему отвечают за тактику - декомпозируют задачу, идут по чеклисту.
"Геном" : служит постоянной, структурированной "долговременной памятью". Это не просто папка с ADR, а живой граф, который агент использует как источник истины и карту для рассуждений.
Ключевое отличие: Наш агент не просто "документирует контекст" в текстовый файл. Он превращает каждое решение, каждый артефакт в структурированный узел графа.
Это позволяет ему отвечать на вопросы, которые недоступны стандартным агентам, например: "Противоречит ли это новое решение принципу, принятому полгода назад в другом модуле?".
Так что да, вы правы, главное не увлекаться...

muhachev
08.10.2025 19:33чудной фантазёр.

ASenchenko
08.10.2025 19:33Мы живём в мире чьих-то воплощенных фантазий.
Парень живёт этой идеей. Чего ж плохого, даже если это очередная версия велосипеда за несколько сотен лямов, но при этом идея то однозначно созидательная?
Поддержать, ободрить, направить.

Marshme
08.10.2025 19:33Где код где примеры. Этой туфты LLM может на генерировать с три короба, ох и балабол...

Andrew_1111
08.10.2025 19:33Первое ощущение: мне не хватает ума, чтобы осознать такую сложную систему.
Второе: весь текст написан для того, чтобы складывалось впечатление о чем-то грандиозном (Автору наверное очень хочется быть изобретателем, но велосипед уже придумали. Понимаю).
Там где начался “принцип модульности” и “разделение ответственности" с паспортами чего-то там, я понял, что кажется нам пудрят мозг.
Ну и забавляет пафосное название "Геном" для системы, которая делает из LLM целый AGI. Прям идея для фильма про блондинку датасаенсиста. )))

assistentus Автор
08.10.2025 19:33Простите, а как вы определили "пафосность" названия "Геном"?
И какое именно ощущение вам сейчас хотелось бы обсудить , Ваше первое или Ваше второе?
Или Вам все таки “принцип модульности” покоя не дает?
Спасибо за хорошее настроение Андрей) Шутку про блондинку я не понял, наверное что-то личное, но в остальном, я поулыбался, Спасибо вам!
Andrew_1111
08.10.2025 19:33Что бы мне хотелось обсудить? Я бы хотел прочитать про конкретный пример решения задачи.
А так у вас всё общие описания вскользь и использование своей особой терминологии. Поэтому и складывается стойкое ощущение, что это не описание реальной системы, а сочинение на тему околонаучной фантастики.

assistentus Автор
08.10.2025 19:33Наверное Вы правы , конкретики не хватило, не хочется перегружать текст, цель статьи была просто привлечь внимание тек кто с такими же идеями в голове. я планировал постепенно рассказать что и как мы сделали, в следующих статьях потому что материала накопилось много и копится, а времени все это раскладывать по абзацам не так что бы есть. Терминология , ну да есть грешок, нужно было как-то называть то чему нет названия, "граф знаний" не подходит, что-то еще -да некогда названия выбирать, а так получается система сама себя описывает так пусть будет "геном" какая-то аналогия есть и ладно. Промпт, контекстное окно тоже для кого-то из мира околонаучной фантастики...
Вобщем ладно, рад знакомству, постараюсь на выходных склепать вторую часть.
Andrew_1111
08.10.2025 19:33Идеи у вас интересные и актуальные. Единственное, что эффективность звучит настолько красиво, что сложно поверить.
Но, я бы и рад ошибиться в своём скептицизме. ))

flancer
08.10.2025 19:33Сначала «Геном» — внутренняя когнитивная структура — анализирует запрос, находит в графе все релевантные гены, проходит по их связям и собирает оптимальный контекст.
Хотелось бы понять на примере, как это работает. Вот у меня простой бытовой запрос: "Предложи рецепт приготовления грибов ежовик пестрый, который бы снизил их 'парфюмерный' привкус".
Запрос короткий и чёткий, ожидания от результата тоже понятные - ингредиенты, развесовка, последовательность шагов. Проблема в том, что основная информация о "связях" находится не в самом запросе (он короткий), а в весовой матрице LLM в весьма неформализуемом виде. Причём смешана со множеством других связей.
Отсюда вопрос: где и в каком виде хранятся эти самые "релевантные гены" и как и когда они попадают в это хранилище?
Не нужно искать лучший или универсальный промпт. Нужно построить систему, где знание само знает, когда и как себя активировать.
Вот! Я полностью согласен с этой мыслью! Но я пытаюсь "копать" в сторону уплотнения и насыщения промпта отдельной итерации за счёт повышения концентрации нужных смыслов в контексте всего проекта (проектной базе).
Это когда к короткому запросу пользователя Агент может добавить дополнительную информацию, относящуюся к предметной области проекта, но при этом общий объём расширенного запроса не выйдет за рамки контекстного окна модели и модель сможет выполнить инференс за один раз. Это не RAG, т.к. RAG подтягивает к запросу фрагмента документации по его "внешней похожести" на запрос пользователя. Подход с проектной базой может работать только в среде Агентов (например, Codex), у которых есть собственные алгоритмы планирования шагов обработки запроса и возможности эту самую проектную базу анализировать.

assistentus Автор
08.10.2025 19:33Отсюда вопрос: где и в каком виде хранятся эти самые "релевантные гены" и как и когда они попадают в это хранилище?
У нас написан конвейер миграции который выделяет самодостаточную единицы знания из предоставленных материалов и сохраняет в постргес, постгрес служит единым источником истины, затем он синхронихируется с Qdrant и Neo4j обогащая вектора и граф.
Но я пытаюсь "копать" в сторону уплотнения и насыщения промпта отдельной итерации за счёт повышения концентрации нужных смыслов в контексте всего проекта (проектной базе).
Мы тоже копали туда, но (к примеру) даже небольшая кодовая база 300 файлов или 600 сущностей типа "класс", "функция" и тп, создает необходимость проверки на установление более 100 млн(в том числе неочевидных и вверх по уровням абстракций) связей, которые могут подтолкнуть к междисциплинарному синтезу. Уплотнение нам не помогло когда нужно не только изменить какую то функцию но и применить изменение везде, где она (функция) была использована.
Хотелось бы понять на примере, как это работает. Вот у меня простой бытовой запрос: "Предложи рецепт приготовления грибов ежовик пестрый, который бы снизил их 'парфюмерный' привкус".
Декомпозиция и дообученные эмбеддинги.

flancer
08.10.2025 19:33У нас написан конвейер миграции который выделяет самодостаточную единицы знания из предоставленных материалов
То есть, существует какое-то ваше собственное приложение, которое анализирует имеющиеся материалы по проекту и составляет "граф знаний", сохраняемый в БД (вектора и графы - индексы к этим данным). Т.е., это не универсальное решение, а "затачивающееся" под проект ("предоставленные материалы").
Декомпозиция и дообученные эмбеддинги.
Тут вряд ли подразумевается декомпозиция запроса пользователя - он слишком короткий. Значит должен быть какой-то массив документов (проектная база), который уточняет целевую предметную область и границы применимости конечного решения (например, грибы и кулинария). Вот этот массив документов уже можно декомпозировать и анализировать на предмет "самодостаточных единиц знаний". Что такое в данном контексте "дообученные эмбеддинги" и на каком корпусе знаний происходит их дообучение - не могу представить.
Насколько я понимаю, то, что в языковой модели представлено в виде матриц весов и неформализовано (вероятностное), вы частично формализуете (укладываете отношения в ~200 вариантов) и сохраняете в БД (+ индексы в виде графов/векторов). Это позволяет вам подтягивать в контекстное окно языковой модели дополнительные "единицы знания", относящиеся к пользовательскому запросу (даже короткому).
Когда я задаю сложный вопрос ... «Геном»... анализирует запрос, находит в графе все релевантные гены, проходит по их связям и собирает оптимальный контекст.
Насколько я понимаю, примерно так и работают агенты типа Claude & Codex - у них есть некоторая логика анализа проектной базы и свои внутренние протоколы поведения (каким образом "оптимизировать контекст запроса" к модели на каждой итерации). Только они работают с текстом проекта (кодом и документацией) напрямую, без пересборки "графа знаний" при изменении "предоставленных материалов".
Такой вопрос, а сколько "единиц знаний" получается для 'небольшой кодовой базы 300 файлов или 600 сущностей типа "класс", "функция"' и как часто её нужно пересобирать при изменениях этой кодовой базы (или проектной документации)?

assistentus Автор
08.10.2025 19:33То есть, существует какое-то ваше собственное приложение, которое анализирует имеющиеся материалы по проекту и составляет "граф знаний", сохраняемый в БД (вектора и графы - индексы к этим данным). Т.е., это не универсальное решение, а "затачивающееся" под проект ("предоставленные материалы").
Все верно, у нас это реализовано кажная единица "ген" , "квант" (название не имеет значения) Основная сущность —
Quant== Универсальный контейнер для любой единицы знания: концептов, процессов, мета-правил, слоёв, статусов, типов связей и т.д. Даже когнитивные матрицы и директивы (через proxy-модели). типы связей это тожеQuantчто позволяет иметь неограниченное количество связей и динамически добавлять новые типы без изменения схемы. И вобщем -то использовать систему практически в любой области .Тут вряд ли подразумевается декомпозиция запроса пользователя - он слишком короткий.
именно декомпозиция запроса. в вашем запросе есть минимум 4 вектора с которыми можно работать, "намерение" "объект" "цель" "проблема или противоречие"
эти сущности в системе тожеQuantсо всеми вытекающими, "намерение " отлавливает эмбеддинг намерений ну и так далее, сложность настройки этих эмбеддингов в том что иногда позитивы рассыпаются как бы спектрами, например (например верные ответы могут быть около 0,5 и около 0, 7 - 0,78 выше уже чушь, и приходится подключать большую LLM чтоб уже она определила например есть ли связь меджу А и Б сущностями. Мышление Gemini 2,5 устроено примерно так же разница лиш в том что там не так жестко , она намерение кпримеру определяет статистически а в нашем случае это прописано. когда система не может определить намерение у неё есть функция мы еёназвали "Когнитивный голод" когда она ставит задачи дополнить ту пустоту которую она обнаружила в ходе попыток найти верный ответ, а Gemini ну или тот же Клод начинают глючить когда намерение неясное или промпт говорит одно но ты уже отошел от решения костылем к которой был промпт и он уже начинает мешать определить даже намерение. Это проблема всех LLM.Это позволяет вам подтягивать в контекстное окно языковой модели дополнительные "единицы знания", относящиеся к пользовательскому запросу (даже короткому).
совершенно верно, есть алгоритм поиска неочевидных связей. но когда мы говорим " подтянуть в контекстное окно" это не всегда один запрос, это может быть сотни запросов к LLM разной величины и назначения ... просто большие , а особенно с "мышлением" слишком медленные.
Только они работают с текстом проекта (кодом и документацией) напрямую, без пересборки "графа знаний" при изменении "предоставленных материалов".
В этом и есть их основная проблема. они могут продолжить код или собрать код из текста, но они не понимают почему именно этот код здесь должен быть, не видят связей. Ну например я меняю имя класса, и ни один клод не подскажет " слушай , ты сменил имя класса вот тут , теперь сходи в этот файл и в этот и перепиши потому что там сломалось, или давай я сам это сделаю".
пока они держат код в "памяти, они работают" но как тут кто-то сказал она не резиновая, и все они теряют фокус с каждой дописанной строчкой. Это можно решить при помощи других инструментов например CodeQL и Joern ,но это все равно не то чего бы вам хотелось.Такой вопрос, а сколько "единиц знаний" получается для 'небольшой кодовой базы 300 файлов или 600 сущностей типа "класс", "функция"' и как часто её нужно пересобирать при изменениях этой кодовой базы (или проектной документации)?

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

flancer
08.10.2025 19:33Я вижу ваш подход, как построение "карты" предметной области, когда из неё выявляются и сохраняются значимые для решаемых задач сущности и связи. Своего рода "индексация" нужных знаний.
Судя по вашему скрину, вы "индексируете" знания в области разработки ПО (метод, функция, атрибуты, переменные, классы, ...). Думаю, что в качестве специализированного агента у вашего подхода есть довольно неплохие перспективы. Если расширять этот подход и делать его универсальным (и для грибов, и для кулинарии, и для софта, и ...), то в пределе ваш граф очень сильно будет похож на нейросеть - связи всех со всеми и различные вероятности переходов по связям, и потеряет своё значение в качестве "индекса знаний".
Но если ограничивать область индексации, то вполне хорошее решение (y)

ofthevoid
08.10.2025 19:33Хорошую травку курите, вижу на креатив пробивает неплохо. Скажите что именно принимаете для достижения такого творческого дзена? Мне как человеку имеющему тягу писать, хотелось бы знать.

Keirichs
08.10.2025 19:33А подскажите, пожалуйста, я правильно понял, что вы разработали автоматизацию составления ТЗ? На абстрактный запрос «напиши приложение» ваша система должна с помощью графов найти грани(конкретное описание для запроса) систематизировать и отправить в LLM? Тогда, как я понимаю, вся проблема в составленом запросе.

assistentus Автор
08.10.2025 19:33Добрый вечер а вы можнте (если не затруднит) привести текст из статьи который натолкнул Вас на такие мысли? если не трудно сделайте пожалуйста. Мне просто для понимания на чем основан вопрос

dejecher
08.10.2025 19:33Дико извиняюсь, но где сам проект? То ради чего писалась статья? То что она описывает? Что нужно пробовать?

assistentus Автор
08.10.2025 19:33Дорый вечер! Извинения приняты! На самом деле если вы прочитаете внимательно там есть такая строка:
Если эта тема вам откликнулась — поддержите репостом, чтобы больше специалистов по AI увидели, как еще можно выстраивать память систем иначе.
То есть цель данной статьи не показать проект, а коснуться описания технологии надстройки памяти и мышления для LLM.

dejecher
08.10.2025 19:33я наверное староват для того, чтобы искать в этом смысл - я конечно понимаю что при желание смысл можно найти и в священных книгах но не мое это - уж извините

janson
08.10.2025 19:33Вот я читал, читал, думал как круто! Люди сделали то, о чем я размышлял!
Дочитал до конца и пришло понимание что вы тоже только думали. И вроде давно понял что если текст вот в таком стиле изложен - это скорее всего просто пыль в глаза, так сказать "пилим бюджет на собственную шину данных в системе", но чуда-то всё равно хочется. А его так и нет :(
По сути вроде начато хорошо, а в конце статьи ощущение что "низкий технический уровень статьи" ставить можно.

Spyman
08.10.2025 19:33понимание что вы тоже только думали
Судя по тексту статьи
Галлюцинации и петли исчезли. Работа ведется с точным, релевантным контекстом.Качество ответов выросло на порядок. Мы протестировали нашу систему на LLM моделях разных размеров от самых маленьких и «стареньких» до самых последних флагманских и поразились что даже не самые «мощные» обученные на общих данных теперь способны решать нетривиальные задачи и давать ответы на вопросы явно за пределами их обучения
у автора поста уже есть готовая, работающая и протестированная система.

janson
08.10.2025 19:33Так я тоже пока читал, думал что это готовая система. Но вообще никакой конкретики. Настолько, что в конце ощущение, что просмотрел буклет о продаже квартир в новостройке, когда новостройки нет, а рендер в буклете есть.
Я могу доспустить что эта статья исключительно для того, чтобы позже при каких-нибудь патентных разборках иметь аргумент вида "вот упоминанение системы было" в такую-то дату. Но это делается обычно проще, отправкой письма самому себе, например. Или подобной публикацией, но в бумажном журнале.Ну вобщем я больше не про то, что сама идея плохая, нет. Идея как раз описана очень интересно. Но в конце статьи именно появилось ощущение, что реальной системы и нет. Есть какая-то модель, прототип, которую прогнали, прикинули палец по ветру и описали.

DMaslo
08.10.2025 19:33Признаюсь честно - дочитали до слова геном... И дочитаю завтра.
Но насколько я понял. Представлять модели инструкции и знания по признакам (да, структуривано +/-, я использую греческие знаки и обычные операторы из программирования) и и модель мира(снапшот, состояние). И я если я прав, то подобное я уже 2 месяца пытаюсь реализовать в свободное время которого почти нет(. Почитаю и там посмотрим... Это наверно все ждёт, устать от использования инструмента, и переквалифицироваться в архитектора. "Геном" == "Атом" - дежавю.

MANAB
08.10.2025 19:33По тексту сложилось ощущение что рещена некоторая проблема. И когда захотелось поюзать решение - вдруг никаких ссылок. Хотя эффект shutup and take my money. Это все же сделано или идея только?

Spyman
08.10.2025 19:33Приведите пример кванта/гена. У вас же есть уже готовая система, значит от туда можно легко взять, в идеале - пару связанных генов. Скорее всего сразу понятнее станет о чем речь

Roshalsky
08.10.2025 19:33Присоединяюсь к комментаторам, обратившим внимание на пафосность. Кажется, что автор познал истину, которую немного приоткрыл простым смертным... И просит поделиться с остальными. Пока нечем делиться. Пока похоже просто на длинное вступление с описанием концепции широкими мазками. Пока автор набирает достаточно лайков и репостов, чтобы замотивироваться на продолжение...
На гитхаб можно найти raganything. Он находит важные термины в документах (имена собственные, ключевые понятия и прочие словосочетания, которые LLM посчитала важными). Затем ищет связи между ними и строит граф. Есть неплохой интерфейс как для загрузки документов, так и для визуализации. Конечно это не Геном (именно с большой буквы, как здесь в статье), но что-то близкое, наверное "геном" (с маленькой буквы). Разумеется, там и близко не 12 пунктов, но можно пощупать и покрутить. Даже есть зачаточный "паспорт" (прошу прощения, если употребил неправильный термин). Кстати, задача систематизации знаний очень похожа на перевод текста с одного языка на другой. Поиск важных понятий, связей между ними, сохранение консистентности. Много параллелей, но в переводе всё чуть проще. В работе нужна мультимодальность. Картинки, видео, аудио. И в Геноме они, кажется, тоже игнорируются...
В raganything, например, заявлена мультимодальность, но она ограничена только изображениями. Система пытается разбивать целое изображение на блоки, анализируя каждый либо OCR, либо описывая что там видит и кладет в базу, ищет связи. Кажется, что при описании не всегда хватает контекста из окружающего текста, но хотя бы так... Аудио можно перевести в текст и даже попробовать разобрать его по голосам. Жаль, что с видео пока не очень понятно что делать, можно пока его не замечать, как и похожие на него презентации) А, ещё есть рабочие чаты. Они хоть и текстовые, но структурно больше похожи на транскрибацию аудио и в них проще понять кто сейчас говорит. Пока будет так. Текст текстом, картинки текстом, аудио текстом, чаты... Вроде сейчас можно действительно сделать rag почти anything.
На практике. Ах, гравитация, бессердечная ты су...
В графе видно явные связи между Алексеем (автором одного из документов в базе), Алексеем Александровичем (автором комментариев в других документах), Alex (автором сообщений в чате) и голосом 2 на одной из транскрибаций... Система видит связи, но не понимает, что это синонимы, которые указывают на одну и ту же "сущность". Аналогия: синоним. Как такое решает Геном?
С другой стороны есть документы, например, с идентификаторами рисков RI-1, RI-2 и т.д. Это вполне себе важные, атомарные сущности, которые заслуживают собственного "паспорта в Геноме" (ещё раз прошу прощения, если это правильно называется не "паспорт"). Вот только действуют они строго в рамках одного документа, а в другом могут обозначать что-то совершенно иное. Аналогия: омоним. В Геноме это частично решается датами, а что насчёт других областей видимости?
Описание мультимодальных данных текстом как-то работает, но есть модели, которые делают эмбединги напрямую из текста, изображений, аудио. Аналогия: (извините, нарушаю структуру,не придумал). Возможно, Геном составлен именно из таких?
Smartor
Конкретные примеры бы не помешали:)
assistentus Автор
Коротко и по сути, угу) да не помешали бы но кто их будет смотреть?
можно было вставлять после каждого предложения что-то типа:
кто их будет разбирать? на этих к примеру видно как LLM модели теряют фокус по мере роста контекстного окна. Это было важно в начале исследования , сейчас это просто факт.
Или вот пока я отвечал на комментарии у меня дообучилась модель
Обсудим?)
thethee
Вам говорят не про конкретные примеры "почему это работает", а конкретные примеры "как этим пользоваться". Тоже. Самое что вы написали в статье, но буквально на примере рабочей задачи, что говорит о том что люди (как минимум проголосовавшие за комментарий) не разобрались. Им было бы интересно продолжение, но сейчас они не разобрались, так что может картинки бы и не помешали, но не такие о каких вы говорите, а схематичное изображение того что сейчас происходит в вашем объяснении сравнительно с тем что было.
Статья богата драматичными терминами, какой то когнитивный голод, например, но честно есть сомнения что это должно работать именно так как Вы пишете. В качественной статье должен быть как минимум обзор-сравнение с конкурентами, а не просто вываливание инфы в интернет как в Яндекс Дзене. Если вы нацелились на качество и утверждаете, что ваш метод качественный, хотелось бы увидеть как минимум примеры кода, желательно опенсорс репозиторий, и то самое сравнение с другими похожими методами, или доказательство новизны вашего - сравнение с не совсем похожими методами и объяснение чем ваш отличается от них. И если ваш, например, сложнее каких то дефолтных методов, хочется видеть оправдание сложности, потому что как показывает практика, лучшие решения для большой массы проблем - архитектурно самые простые, а усложнение требуется на конкретных топиках, и не всегда усложнение одинаковое. Соответственно для каких классов задач ваш метод подходит, а для каких не подходит. Если нет такого понимания, это тоже можно упомянуть и хотя бы сообщить что в силу сложности проведения таких тестов требуется помощь, например, и я уверен что найдутся люди.
Просто нужно изначально качественно и профессионально подходить к поднесению информации, с уважением как к своему, так и к чужому времени, тогда статья не будет выглядеть как доклад чуть-странноватого школьника. Нужно хотя бы похоже на реферат/курсовую студента, собранную по правилам и методикам института. А лучше - профессиональное исследование, коих полно заплюсованных на хабре. А голословное поднесение сомнительной информации всегда будет вызывать вопросы.
Какую цель вы ставите выкладывая такую статью?
Развить методы хранения контекста? Не получится, по вышеописанным причинам, люди не будут самостоятельно воспроизводить ваш код в своих проектах без хотя бы примеров и пояснений, потому что по умолчанию такой источник как Ваша статья закономерно считается недоверительным и по умолчанию не стоит тратить на неё силы. Пока не представлены хотя бы какие-то доказательства успешности, это всё остаётся теоретическими выкладками сомнительного качества.
Удовлетворить свое эго? Ну наверное получилось, сложно судить. Несколько плюсиков собрали. Тема интересная, требует продолжение, можно продолжать в том же духе и собирать ещё плюсиков и собрать аудиторию людей со схожим мышлением.
thethee
Обновлюсь отдельным комментарием. Про эго наверное лишнее сказал, не прочитав другие комменты. Ниже в комментариях уже увидел что целью статьи было привлечение внимания единомышленников. imho, термины отталкивают, но как ниже тоже сказали "космолёт вы описали интересный"
assistentus Автор
Разговор серьезный , я понимаю?
Предлагаю сделать так: В каком направлении вы развиваетесь? Спишемся в лс, созвонимся, если хотите встретимся, определим область где можно применить описанное мной решение в вашем бизнесе,хобби, научной деятельности. В течение полугода мы работаем рука об руку над тем чтоб извлечь пользу именно в вашем деле с помощью нашего решения.
Если через полгода вы не скажете "да это оработает " я под этой статьей соглашаюсь с тем что это голословное поднесение сомнительной информации .В противном случае Вы публикуете(под своим аккаунтом со ссылкой на эту статью) свою статью , реферат, курсовую по любой методике где выкладываете то как мы это сделали (без кода) и свои корпоративные , научные или какие-то решения, лайфхаки, методологии и обязательно употребляете термин "когнитивный голод" минимум 1 раз и доказательства успешности. подзаголовок к Вашей будущей статье должен выглядеть так: "доклад чуть-странноватого школьника". И соответствующий комментарий в этой ветке
Делаем?