Обновить

Я «уволил» LLM с должности «мозга» проекта. И его производительность взлетела

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели14K
Всего голосов 27: ↑18 и ↓9+11
Комментарии57

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

Конкретные примеры бы не помешали:)

Коротко и по сути, угу) да не помешали бы но кто их будет смотреть?
можно было вставлять после каждого предложения что-то типа:

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

Или вот пока я отвечал на комментарии у меня дообучилась модель

Обсудим?)

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

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

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

Какую цель вы ставите выкладывая такую статью?

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

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

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

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

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

Боль - в точку. Я много пользуюсь платными моделями последние полгода, это реально шлак, с точки зрения реальной работы, все описанные вами боли там есть. Идея сделать структуру, на которую llm может опираться всегда - достаточно очевидная (если забываешь - вот тебе ПЗУ и не забывай).

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

А примеры?

Вы знаете, я был на многих презентациях именитых вендоров а-ля IBM. Очень красиво говорили, капец как красиво. А просишь реальный пример - и все.

Потому хочется пример. А вы в ответ: потратьте на меня полгода и тогда поговорим - да что за уровень дискуссии на Хабре, вы что? :)

Может все таки найдёте в себе силы почитать что-то кроме комментариев, прежде чем писать все это?) в конце статьи написано же :

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

Говоря вашими словами, да что за уровень дискуссии на Хабре, вы что? :)

а с чего вы взяли, что я прочитал только комментарии?

говоря вашими словами: "Покажите мне место в тексте, которое навело вас на такие мысли"?

а по сути - примеров нет, тон комментариев у вас неконструктивный. Ок, ваше право

Тон комментариев) Пётр, вы находите конструктивным тон вашего комментария который начинается со слов:

peterzh2 часа назад

Ну что за детский сад, серьезно? 

И отвечая на ваш вопрос заданный моими словами:
я вам именно место в тексте и привёл, вы просто не заметили, вот оно:

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

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

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

вы спорите с самим собой и не стараетесь услышать собеседника. Вас спросили не про факапы. Просто пример было-сделали-стало.

оцениваем не обещания, а конкретную статью.

Остальное лирика и ваши выводы, давайте не тратить на это время

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

давайте не тратить на это время

согласен с вами Пётр

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

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

Вы не оценивали хотя бы примерно во что по времени и деньгам обойдётся построение подобной системы?

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

Нет, я не оценивал. Ощущений нет)

Смотрите почему спросил.

Я не специалист в области разработки, обучения и настройки моделей. У меня вообще по математике натянутая 4 :)))

Но мне безусловно интересно практическое применение и я читаю Ваш проект "от заказчика".

Давайте просто на примере. Допустим, обозначена потребность в AI-ассистенте корпоративного юриста. Чистая LLM с этим не справится, есть архитектурные ограничения и по контекстному окну, и по токенизации записей вида "п. 1 ст. 5 фз 777“, да и просто граллюцинации.

И вот мы начинаем. А давайте приставим к LLM: модуль очистки и подготовки входа, RAG, модуль верификации выхода .... список продолжается. В итоге задача вроде и решаемая, но уже уходит в такой бюджет, что проще "пару девочек нанять“

Здесь я тоже вижу огромное количество вроде бы полезных надстроек. Но это всё стоит денег. И тянет вправо срок окупаемости.

А так то конечно космолёт Вы неплохой описали :)))

У вас же в статье написано что есть готовая системы и вы её протестировали, и даже получили великолепные результаты. Значит у вас должны быть оценки - сколько по времени её разработка заняла. Или как вы тестировали?

Значит у вас должны быть оценки - сколько по времени её разработка заняла. Или как вы тестировали?

человеку в среднем нужно 1,5 года чтоб начать говорить ну или как-то складывать мини-слова в микро-предложения, но чтоб написать какую-нибудь какашку(например, к Вам не относится) в комментариях ему нужно потратить минуты две..
По этой аналогии, честно говоря не понимаю вопроса. сколько времени было потрачено - примерно год, сколько времени нужно чтоб интегрировать именно в Вашу деятельность, да черт его знает...
Тестировали.. когда разрабатываешь каждый шаг тестируешь, начиная от "какая модель покажет себя лучше в эмбеддинге" по A(объект)~C(объект), а какая лучше на A(объект)+B(связь)~C(объект) или cos(C - A, B) и тд, иногда из одного теста вытекает много новых заметили что gemma точнее BERT-ы например(в некоторых тестах) но BERT выше score по всем почти тестам на русском языке, но много шума тянет, заметили что например qwen3 или bge-m3 не такие уж и умные , а YandexGPT уделывает всех на тестах по классификации (это у нас) но что это дает Вам? Вы же когда планируете тесты Вы никого не слушаете, Вам цифры должны показать что работает в Вашем случае , на Вашем железе и только им Вы можете доверять, по этому извините Вы и все кто выше пишет "Дайте цифры, где код" это по чесному сказать(как мне кажется) вата, ну что делать с этим куском кода или с результатами теста если нужно все своими ногами проходить.. вот я написал что YandexGPT уделал всех на классификации, сейчас найдется "Эксперт" который скажет что это не так и будет прав, потому что у него другие тесты, другие данные на входе, всё другое ...
Что касается моей статьи, так я ее написал как мне захотелось, я не на нобелевку номинируюсь, и ни кому ничего не собираюсь доказывать или быть кому-то понятным , приятным, каким угодно.. я собрал из известных всем кубиков свой конструктор, и написал об этом. Не нравится - ну я не знаю, посмотрите новости на первом... есть что- то по делу - напишите в личку.

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

Вы абсолютно правы: современные агенты действительно научились делать удивительные вещи "на лету" -декомпозировать задачи, вести чеклисты

И вы также абсолютно точно указали на их фундаментальное ограничение: "размер окна все же не резиновый". Любой контекст, который агент документирует "на лету", - эфемерный. Он исчезает после завершения задачи. Попробуйте поставить одну и ту же задачу хотя бы 100 000 раз и вы удивитесь в каком диапазоне галюцинаций находятся ответы которые Вас устраивают.

Мы разделяем "оперативную память" агента и "долговременную память" проекта:

  1. Агенты (как у вас описано): Они по-прежнему отвечают за тактику - декомпозируют задачу, идут по чеклисту.

  2. "Геном" : служит постоянной, структурированной "долговременной памятью". Это не просто папка с ADR, а живой граф, который агент использует как источник истины и карту для рассуждений.

Ключевое отличие: Наш агент не просто "документирует контекст" в текстовый файл. Он превращает каждое решение, каждый артефакт в структурированный узел графа.

Это позволяет ему отвечать на вопросы, которые недоступны стандартным агентам, например: "Противоречит ли это новое решение принципу, принятому полгода назад в другом модуле?".

Так что да, вы правы, главное не увлекаться...

А без ллм уже и коммент оставить не способны?

Добрый вечер! что конкретно смутило?

чудной фантазёр.

Мы живём в мире чьих-то воплощенных фантазий.

Парень живёт этой идеей. Чего ж плохого, даже если это очередная версия велосипеда за несколько сотен лямов, но при этом идея то однозначно созидательная?

Поддержать, ободрить, направить.

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

И вам добрый вечер)

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

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

Там где начался “принцип модульности” и “разделение ответственности" с паспортами чего-то там, я понял, что кажется нам пудрят мозг.

Ну и забавляет пафосное название "Геном" для системы, которая делает из LLM целый AGI. Прям идея для фильма про блондинку датасаенсиста. )))

Простите, а как вы определили "пафосность" названия "Геном"?
И какое именно ощущение вам сейчас хотелось бы обсудить , Ваше первое или Ваше второе?
Или Вам все таки “принцип модульности”  покоя не дает?
Спасибо за хорошее настроение Андрей) Шутку про блондинку я не понял, наверное что-то личное, но в остальном, я поулыбался, Спасибо вам!

Что бы мне хотелось обсудить? Я бы хотел прочитать про конкретный пример решения задачи.

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

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

Идеи у вас интересные и актуальные. Единственное, что эффективность звучит настолько красиво, что сложно поверить.

Но, я бы и рад ошибиться в своём скептицизме. ))

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

Хотелось бы понять на примере, как это работает. Вот у меня простой бытовой запрос: "Предложи рецепт приготовления грибов ежовик пестрый, который бы снизил их 'парфюмерный' привкус".

Запрос короткий и чёткий, ожидания от результата тоже понятные - ингредиенты, развесовка, последовательность шагов. Проблема в том, что основная информация о "связях" находится не в самом запросе (он короткий), а в весовой матрице LLM в весьма неформализуемом виде. Причём смешана со множеством других связей.

Отсюда вопрос: где и в каком виде хранятся эти самые "релевантные гены" и как и когда они попадают в это хранилище?

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

Вот! Я полностью согласен с этой мыслью! Но я пытаюсь "копать" в сторону уплотнения и насыщения промпта отдельной итерации за счёт повышения концентрации нужных смыслов в контексте всего проекта (проектной базе).

Это когда к короткому запросу пользователя Агент может добавить дополнительную информацию, относящуюся к предметной области проекта, но при этом общий объём расширенного запроса не выйдет за рамки контекстного окна модели и модель сможет выполнить инференс за один раз. Это не RAG, т.к. RAG подтягивает к запросу фрагмента документации по его "внешней похожести" на запрос пользователя. Подход с проектной базой может работать только в среде Агентов (например, Codex), у которых есть собственные алгоритмы планирования шагов обработки запроса и возможности эту самую проектную базу анализировать.

Отсюда вопрос: где и в каком виде хранятся эти самые "релевантные гены" и как и когда они попадают в это хранилище?

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

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

Мы тоже копали туда, но (к примеру) даже небольшая кодовая база 300 файлов или 600 сущностей типа "класс", "функция" и тп, создает необходимость проверки на установление более 100 млн(в том числе неочевидных и вверх по уровням абстракций) связей, которые могут подтолкнуть к междисциплинарному синтезу. Уплотнение нам не помогло когда нужно не только изменить какую то функцию но и применить изменение везде, где она (функция) была использована.

Хотелось бы понять на примере, как это работает. Вот у меня простой бытовой запрос: "Предложи рецепт приготовления грибов ежовик пестрый, который бы снизил их 'парфюмерный' привкус".

Декомпозиция и дообученные эмбеддинги.

У нас написан конвейер миграции который выделяет самодостаточную единицы знания из предоставленных материалов

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

Декомпозиция и дообученные эмбеддинги.

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

Насколько я понимаю, то, что в языковой модели представлено в виде матриц весов и неформализовано (вероятностное), вы частично формализуете (укладываете отношения в ~200 вариантов) и сохраняете в БД (+ индексы в виде графов/векторов). Это позволяет вам подтягивать в контекстное окно языковой модели дополнительные "единицы знания", относящиеся к пользовательскому запросу (даже короткому).

Когда я задаю сложный вопрос ... «Геном»... анализирует запрос, находит в графе все релевантные гены, проходит по их связям и собирает оптимальный контекст.

Насколько я понимаю, примерно так и работают агенты типа Claude & Codex - у них есть некоторая логика анализа проектной базы и свои внутренние протоколы поведения (каким образом "оптимизировать контекст запроса" к модели на каждой итерации). Только они работают с текстом проекта (кодом и документацией) напрямую, без пересборки "графа знаний" при изменении "предоставленных материалов".

Такой вопрос, а сколько "единиц знаний" получается для 'небольшой кодовой базы 300 файлов или 600 сущностей типа "класс", "функция"' и как часто её нужно пересобирать при изменениях этой кодовой базы (или проектной документации)?

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

Все верно, у нас это реализовано кажная единица "ген" , "квант" (название не имеет значения) Основная сущность — Quant == Универсальный контейнер для любой единицы знания: концептов, процессов, мета-правил, слоёв, статусов, типов связей и т.д. Даже когнитивные матрицы и директивы (через proxy-модели). типы связей это тоже Quant что позволяет иметь неограниченное количество связей и динамически добавлять новые типы без изменения схемы. И вобщем -то использовать систему практически в любой области .

Тут вряд ли подразумевается декомпозиция запроса пользователя - он слишком короткий.

именно декомпозиция запроса. в вашем запросе есть минимум 4 вектора с которыми можно работать, "намерение" "объект" "цель" "проблема или противоречие"
эти сущности в системе тоже Quant со всеми вытекающими, "намерение " отлавливает эмбеддинг намерений ну и так далее, сложность настройки этих эмбеддингов в том что иногда позитивы рассыпаются как бы спектрами, например (например верные ответы могут быть около 0,5 и около 0, 7 - 0,78 выше уже чушь, и приходится подключать большую LLM чтоб уже она определила например есть ли связь меджу А и Б сущностями. Мышление Gemini 2,5 устроено примерно так же разница лиш в том что там не так жестко , она намерение кпримеру определяет статистически а в нашем случае это прописано. когда система не может определить намерение у неё есть функция мы еёназвали "Когнитивный голод" когда она ставит задачи дополнить ту пустоту которую она обнаружила в ходе попыток найти верный ответ, а Gemini ну или тот же Клод начинают глючить когда намерение неясное или промпт говорит одно но ты уже отошел от решения костылем к которой был промпт и он уже начинает мешать определить даже намерение. Это проблема всех LLM.

Это позволяет вам подтягивать в контекстное окно языковой модели дополнительные "единицы знания", относящиеся к пользовательскому запросу (даже короткому).

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

 Только они работают с текстом проекта (кодом и документацией) напрямую, без пересборки "графа знаний" при изменении "предоставленных материалов".

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

Такой вопрос, а сколько "единиц знаний" получается для 'небольшой кодовой базы 300 файлов или 600 сущностей типа "класс", "функция"' и как часто её нужно пересобирать при изменениях этой кодовой базы (или проектной документации)?

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

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

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

Но если ограничивать область индексации, то вполне хорошее решение (y)

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

Я позволю себе привести пример из области ТРИЗ и ее развития, раз уж автор статьи ее тут упомянул.

ТРИЗ появился после того, как Г. С. Альшуллер отобрал СИЛЬНЫЕ патенты (отсеял информационный шум, говоря современным языком, ибо примерно 95% всех патентов слабые), составил из них КАРТОТЕКУ и на основании картотеки выявил ЗАКОНЫ развития техники.

На основании этих законов уже делались инструменты для решения изобретательских задач (АРИЗы, Веполи, таблицы приемов и т.д.).

В области знаний, для которой он создавался (механические устройства), ТРИЗ показал просто невероятную и устойчивую эффективность.

Поэтому возник соблазн распространить его успех на иные области. Сам Альшуллер инициировал эти работы в начале 1980-х. И вот здесь разработчиков ждало горькое разочарование. Результаты перестали быть однозначными, приемы нахождения решения то работали, то нет, законы не выделялись вообще.

Альшуллер с причинами неудачи разбираться не стал. Его время уже подходило к концу, и он спешил заложить следующую ступень развития ТРИЗ - ЖСТЛ (жизненная стратегия творческой личности)...

Успех на этом поприще "экспорта ТРИЗ" способствовал лишь одному ученику Альшуллера И.Л. Викентьеву. Викентьев ограничил область знаний жесткими рамками. Например: газетные заголовки. И оказалось что все опять становится однозначным. Приемы срабатывают стабильно, картотеки приемов составляются и законы области выделяются, как ранее это происходило в технике.

Опыт Викентьева показал, что для любой узкой области знаний можно составить (подобрать, выявить) свой "свод законов", которые будут эффективно работать и позволят на порядки сократить трудоемкость разработок. (Что собственно и делает автор статьи для своей области).

Но вот как заставить эффективно взаимодействовать законы из разных областей? (Как вы понимаете, именно об эту проблему и споткнулись "экспортеры ТРИЗ" ).

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

Это я к чему все говорю? Частный "Геном" под локальную область знаний (например, программирования, как строит автор) может быть построен относительно просто. Но вот способов эффективно состыковать из разных областей эти "Геномы" (скрестить ежа с ужом, ага :) ) я не встречал.
Примеров построения "всеобщего" "Генома" где бы то ни было, кроме головы человека (да и то, есть подозрение, что далеко не каждой) лично я не встречал.

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

Итог:
Путь которым движется автор - верный. И, в конце концов, к АГИ приведет. Но нерешенных проблем на этом пути - огромная гора.

И не одна.

похоже на подобие codex

Ссылка на LinkedIn не работает

к сожалению да. обещают в течение 48 часов исправить

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

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

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

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

Дорый вечер! Извинения приняты! На самом деле если вы прочитаете внимательно там есть такая строка:

Если эта тема вам откликнулась — поддержите репостом, чтобы больше специалистов по AI увидели, как еще можно выстраивать память систем иначе.

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

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

Вот я читал, читал, думал как круто! Люди сделали то, о чем я размышлял!

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

По сути вроде начато хорошо, а в конце статьи ощущение что "низкий технический уровень статьи" ставить можно.

И на том спасибо!

понимание что вы тоже только думали

Судя по тексту статьи

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

у автора поста уже есть готовая, работающая и протестированная система.

Так я тоже пока читал, думал что это готовая система. Но вообще никакой конкретики. Настолько, что в конце ощущение, что просмотрел буклет о продаже квартир в новостройке, когда новостройки нет, а рендер в буклете есть.


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

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

типичная презентация среднестатистического вендора на ИТ рынке.

Космические корабли бороздят просторы... Спрашиваешь реальный референс на внедрение - "ой, пока не можем дать". Спрашиваешь доступ к тестовой лабе "ой, пока нет, но если заключим контракт, мы у вас развернем."
Ну-ну.

Признаюсь честно - дочитали до слова геном... И дочитаю завтра.

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

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

Я делаю похожее решение: https://qai.asia. если интересно можем списаться

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

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

На гитхаб можно найти raganything. Он находит важные термины в документах (имена собственные, ключевые понятия и прочие словосочетания, которые LLM посчитала важными). Затем ищет связи между ними и строит граф. Есть неплохой интерфейс как для загрузки документов, так и для визуализации. Конечно это не Геном (именно с большой буквы, как здесь в статье), но что-то близкое, наверное "геном" (с маленькой буквы). Разумеется, там и близко не 12 пунктов, но можно пощупать и покрутить. Даже есть зачаточный "паспорт" (прошу прощения, если употребил неправильный термин). Кстати, задача систематизации знаний очень похожа на перевод текста с одного языка на другой. Поиск важных понятий, связей между ними, сохранение консистентности. Много параллелей, но в переводе всё чуть проще. В работе нужна мультимодальность. Картинки, видео, аудио. И в Геноме они, кажется, тоже игнорируются...

В raganything, например, заявлена мультимодальность, но она ограничена только изображениями. Система пытается разбивать целое изображение на блоки, анализируя каждый либо OCR, либо описывая что там видит и кладет в базу, ищет связи. Кажется, что при описании не всегда хватает контекста из окружающего текста, но хотя бы так... Аудио можно перевести в текст и даже попробовать разобрать его по голосам. Жаль, что с видео пока не очень понятно что делать, можно пока его не замечать, как и похожие на него презентации) А, ещё есть рабочие чаты. Они хоть и текстовые, но структурно больше похожи на транскрибацию аудио и в них проще понять кто сейчас говорит. Пока будет так. Текст текстом, картинки текстом, аудио текстом, чаты... Вроде сейчас можно действительно сделать rag почти anything.

На практике. Ах, гравитация, бессердечная ты су...

В графе видно явные связи между Алексеем (автором одного из документов в базе), Алексеем Александровичем (автором комментариев в других документах), Alex (автором сообщений в чате) и голосом 2 на одной из транскрибаций... Система видит связи, но не понимает, что это синонимы, которые указывают на одну и ту же "сущность". Аналогия: синоним. Как такое решает Геном?

С другой стороны есть документы, например, с идентификаторами рисков RI-1, RI-2 и т.д. Это вполне себе важные, атомарные сущности, которые заслуживают собственного "паспорта в Геноме" (ещё раз прошу прощения, если это правильно называется не "паспорт"). Вот только действуют они строго в рамках одного документа, а в другом могут обозначать что-то совершенно иное. Аналогия: омоним. В Геноме это частично решается датами, а что насчёт других областей видимости?

Описание мультимодальных данных текстом как-то работает, но есть модели, которые делают эмбединги напрямую из текста, изображений, аудио. Аналогия: (извините, нарушаю структуру,не придумал). Возможно, Геном составлен именно из таких?

На что жалуетесь-то по итогу?

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

Публикации