📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Алексей Корякин - LLM Wiki как память проекта. Skills как способ с ней работать

Кунг-фу конфа58:36

Transcription

[музыка] Ещё раз всем привет. Меня зовут Карикин Алексеев. Работаю в компании Bioteотеchnologies с Одиской где-то с 2010 года. А в различных компаниях работал в Пранче и не только. Есть некоторые экспертизы не только в 1С, но и в других стеках, в других языках.

Вот скажем так, когда я устроился на своё первое, ну, текущее место работы, меня вообще отправили заниматься базой данных на МСКэле, разбираться в ТСQэле и уселиться, скажем, было интересно. Так, по, то есть, знаю, знаю одинску, знаю там спуль немножко тепскрипта, куча всякого разного при этом. А, являюсь автором инструментов для тестирования в 1SIT и RF. Активный контрибьютор в openсорсе. Что ещё? И также активно использую с LLM и агенты в своей работе. Причём как бы с 1S, не с 1S, в разработке, в других задачах.

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

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

А также есть проблемы, например, у нас с проектами. Я думаю, многие тоже сталкивались с подобными. То есть можно разделить их как бы проекты на две части. Проекты, которые долго живут. Раз. Проекты, которые долго живут и проекты, которые, например, активно очень развиваются. У первых проблема, что там есть какие-то наслоения знаний. Одни ТЗшки появляются, другие что-то дорабатывалось, изменялось, [вздыхает][тяжело вздыхает] что-то откатывалось. А [откашливается] с активными, то есть они быстро развиваются, не всегда ты успеваешь во всё это его наникнуть. Так, тут немножко поподробнее. [откашливается] Вот. Вот. И проблема в основном вот этих долго играющих проектов, это приходится в этом деле разбираться, копаться. Непонятно. А как у нас? Ладно, немного сбился. Так, то есть происходится немножко копаться в этом, собирать эту информацию. И есть как бы у нас, да, есть, может быть, ТЗшки, есть какие-то артефакты, но чаще всего они у нас фиксируют некоторые изменения. То есть они не фиксируют, в какое состояние переходит системы, а то есть что-то добавилось, какое-то новополе, правила, какие-то обмены, там форматы добавились. А, и в этом плане будет сложно понять, а как должна сейчас работать система с учётом всех этих изменений. И приходится походить по людям, почитать кучу там задачек в Джире, ещё где-то. И это вызывает сложности. То есть мы видим код, мы видим какие-то задания, а как она должна работать, так она или не так? А почему вот так было сделано? Это всё очень сложно.

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

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

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

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

>> [откашливается]

>> также, то есть это не мёртвая база знаний, то есть она будет постоянно дорабатываться. Когда у вас приходит какой-то вопрос и агент, например, его посчитал чем-то полезным, он также сохраняет [откашливается] это всё в базу, формирует новые связи, новые обновления и так далее.

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

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

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

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

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

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

А за вот получается с апреля у нас сообщество уже так прошевелилось, создало много различных инструментов. Я выделил, наверное, вот четыре штуки, а, в разных форматах. То есть это может быть настольное приложение, это может быть какие-то кла инструменты либо скилы. По поводу настольной, то есть это, скажем так, что-то вроде обсидиана, но с интегрированным вот этим подходом лмвеки. Но мне кажется, это немножко излишнее в обычной работе. То есть у нас и так есть обсидиан. Зачем нам ещё какой-то непонятный инструмент, который как бы не всегда хорошо работает? А, но для первого старта, для свой там, например, а, личной базы знаний вполне пригоден. То есть там есть инструменты автоматического подтягивания, автоматической обработки файлов. и так далее. Клай инструменты удобны для автоматизации, например, но википилера он используется, по-моему, в агентес, но он только наполняет базу знаний, то есть им нельзя воспользоваться для общения. И, скажем так, тот вариант, который я для себя выбрал - это skill. Дальше я расскажу потом, почему, зачем это, почему именно так. Но инструментов много, они различные. там поискать, всё найдётся. Причём во многих агентах они уже предусмотрены. Все они работают по одному и тому же принципу, как вот описано у Андрея Карпаты, но отличаются там небольшими такими. Ну, посмотрите при желании, да? [откашливается]

Не знаю, все ли знают, все ли знают, что вообще такое скилы? >> Кто кто не знает? [откашливается] подувать. >> Так, ну не так много народ. То есть, а что такое молм модели? Все знают. Что такое агенты? Тоже не знаем. Вообще ничего не знаем. Сложно будет. Придётся немножко, наверное, там в Ютубе посмотреть, потому что, а, ну, в общем, модели это у нас искусственный интеллект, генерирую текст и так далее. Дальше там их пошло развитие, их научили вызывать какие-то инструменты, скилы MCP, ой, MCP тулы, а, то есть, да, или руки, чтобы они могли что-то делать, читать файлы и так далее. И добавилася потом такая штука, как скилы. То есть это некоторые инструкции, а, которые рассказывают нашему, ну, агенту, как, что ему нужно сделать, как с этим работать, какой хочется получить результат, какие там требования и так далее. Вот. И с помощью вот этих вот скилов по факту, ну, то есть для Викиса дали скилы, которые автоматизируют вот эту всю идею Андрея Карпаты, то есть, а вот эти вот команды, там, QY, Audit, Link, всё это они умеют. Всё это как бы не надо специально какие-то команды набирать, вызывать. То есть говоришь ему: "Вот у меня файл, загрузи его к себе, вот у меня есть вопрос", там ответь. То есть ничего особенного делать не надо. А [откашливается] также там есть различные, ну, другие инструкции. И в итоге агент читает эти скилы. Они также и в десктопных приложениях, там через системные промто, но всё то же самое. То есть он читает скил, а, вот эти правила, обрабатывает наши сры файлы, загружает данные, а, получает запрос, опять же, читает скил, понимает, как ему искать, какие данные, используя как бы эти навыки, он находит нам ответ, даёт в нужном формате.

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

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

>> [откашливается]

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

А что я, скажем так, делал для этих целей? У нас в качестве корочески хранится в конфлюнте. В первую очередь надо оттуда это достать, привести в нужный формат. Использовался скрипт с гитхаба небольшой доработанный, который просто это всё выгружает, периодически синхронизирует, а переобразует Markдаун, подгружает как бы инкрементально. Если надо потом будут скинуть и и складывать нужный каталог. Примерно у всех хоть понятно, о чём я говорю? [откашливается]

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

Ну, есть там различные способы, как с этим работать. А я выбрал, получается, один такой железобетонный способ, небольшой скрипт, который у нас просто берёт каждый файл и запускает агенты по нему. Загрузи тут, загрузи. А какие ещё есть альтернативные варианты? То есть использование, например, доработать скилл, сказать ему, чтобы он использовал субагентов, хранил какой-то реестр обработанных файлов. Но а модели они нередко ошибаются, они косячат. И этом, поэтому лучше как бы их как-то контролировать, а через алгоритм это проще. Также пробовал там, не знаю, потому вот суть. То есть мы берём каждый файл, мы детектим, изменился он или нет. То есть есть какой-то там, скажем, база знаний, база данных, которая хранится тамши, например, и агент берёт, запускается агент по каждому файлу, чтоб на команду загрузки. В итоге у нас получается как бы каждый файл обработан более-менее качественно, хватило контекста, хватило всего, данные попали в базу, но на каждый вот запуск всё равно тратится время. То есть это в среднем где-то от 2 до 10 минут. Если файлов как бы много, порядка 100, но это уже многовато. А может их больше. А если брать исходники одиннадцатые, это ещё много тысячи. Вот какой вариант. То есть я попробовал тоже там пару вариантов и выбрал пока что распараллеливание. Кажется, что как бы, ну, простой вариант, самый подходящий. А, то есть мы берём, ну, параллели просто запускаем агент, ничего сложного, но как бы тут возникают некоторые проблемы. То есть мы экономим время, но у нас страдает качество в этом плане. То есть, когда у нас агенты начинают вот потреблять файлы, они это обрабатывают в параллель. Они не знают, что сделал, подготовил другой, какой план у другого агент, и они могут создавать несколько файлов сущности, они могутформировать какие-то, затирать друг друга и так далее. Бывают проблемы. А какие варианты? То есть тут добавился, скажем так, шаг revw. То есть вот этот вот файло, он просто на вход принимает промт. для которой будет вызываться. То есть там шаг добавился и то есть я ещё рассматривал вариант кластеризации, например, то есть выбирать несколько файлов и обрабатывать их совместно, чтобы это быстрее происходило. Но тут, скажем так, сам процесс кластеризации, он будет занимать большое количество времени, к сожалению, поэтому оказалось невыгодным. Вот. И тут возникает, так, скажем так, момент вот как раз про здоровье. То есть, когда у нас агенты толпой накинулись на базу знаний, они всё это параллельно сохреначили, да, они что-то смогли проревью, переварить с собой, но всё равно как бы дыр остаётся. И как бы даже без разницы, то есть вы используете параллельность или нет, этот режим как бы нужен. То есть аудит и ревью базознаний. То есть после каких-то изменений рекомендуется запускать, а, то есть в скеле, например, вот говорим выполня аудит, то есть он всё проверит. И чем больше изменения вы прошли, тем больше надо аудитов запускать. То есть они за одну итерацию что-то найдут, за второе опять найдут, за третью, за четвёртую. И, скажем так, чем больше вы запустите, тем будет лучше. А лучше запускать для всё-таки небольшого количества изменений. Если там всю базу загрузили, а потом сказали аудит, то он не справился, скажем так. А какие там есть старики? То есть есть просто проверка, что у нас есть ссылки, они все работают, все связи хорошие, они не ведут куда-то в никуда. А что у нас есть опять же тоже по связям, что у нас есть страницы, которые связаны? То есть если, ну, по разным аспектам, в общем, он проверяет и при необходимости может их исправлять.

Так, о'кей. Мы сейчас разобрались с ТЗКми. А, то есть как бы есть знания, о которых как должна работать система в теории, но нет знаний, как она работает. К сожалению, у меня только опыт по работе с котлинкодом. Там всё в разы проще. С Одиновской пробовал, но пока не очень. А, ну да, там вот реально всё в разы проще. То есть я попросил агента написать в меню skill script, который обработает код, найдёт взаимосвязи и по факту сформирует маркдаун на описание всех там сервисов. То есть есть проект на котлени с микросервисами и как бы вот они маленькие, сервисы сервисы маленькие, сервисы разделённые, всё хорошо, а код тоже как бы аккуратный, маленький, поэтому всё более-менее нормально. А вот с один кодом возникают проблемы за счёт того, что сама у нас база большая, нередко это доработаны типовые, как бы не так уж важно их отслеживать, всё это выверять, но, ну, то есть основная проблема - это вопрос объёма, объёма файлов, одно объёма самой базы. В общем, скрипт, который вытаскивает все наши данные,формирует описание. Вот. То есть анализирует исходники, вытаскивает описание, формирует, а основной упор был сделан на контракты, скажем так, то есть на то, как у нас червисы интегрируются на вход, на выход и так далее. Потом с помощью как бы агент, с помощью скилов это всё нужный формат положил. И в дальнейшем это всё закидывалось опять же вмвики, то есть в исходники выдавался опять же этот процесс загрузки знаний, обработки всего этого дела. Всё это объединилось, всё это использовалось, всё вместе. И таким образом теперь у нас как бы в базе есть и то, как она должна работать, и то, как она работает.

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

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

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

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

Ну, вот, кстати, вот пример вот этого момента. А когда подключил исходники, то у нас, скажем так, разошлась немножко терминология. В ТЗшках у нас использовался термин модификатор цен. В коде же это назывался press modifi агент почему-то price modifier перевёл как корректировщик цен и пошла нестыковка. Он это разделил на две сущности. Где-то смог схлопнуть, где-то не смог. пришлось как бы вот с ним пообщаться, объяснять ему. Он вот справился.

Так, ну и ещё вот один момент. А, то есть как вообще с этой базой работать? То есть у нас есть, это могут быть файлы, то есть просто в каталоге лежать. Ээ скажем так, сейчас >> ладно для работы вот как бы с этими базами изданий я, ну, как бы у нас сейчас используется get двух, скажем так, целей. в первую очередь это то, чтобы поделиться всем с коллегами, то есть могли вносить изменения, чтобы они конфликтовали, как-то это всё закидывали. А, ну и опять же ещё один момент, то есть агенты у нас любят ошибаться. Может быть, что-то пойти не так, загрузили не то. То есть с помощью гита можно отследить, что-то отменить, скорректировать, полечить базу. Но тут опять тоже надо аккуратно, то есть надо не забывать, что нужно постоянно кометить, что-то изменило, надо это, ну, сразу же комит пуш, чтобы синхронизироваться всем остальным, чтобы не был конфликт. Это опять же решается с помощью скилов, как бы это особо сейчас не проблема. [откашливается]

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

И теперь обсудим, как это нам помогает в работе, что это даёт. Ну, в первую очередь, то, что я там пробовал оценить, это, то есть, я разработчик, мне как бы иногда прилетают баги, и надо с ними что-то делать. А надо понять, а баг это или не баг, найти подтверждение, на самом деле. А то есть вот, то есть нам прислал задачу, надо как-то понять, что это. То есть просто берём текст задачи, закидываем агенту, он находит, ну, что-то говорит: "Да, нет, да, нет". И, скажем так, тоже было два прецедента. А, то есть он должен по факту вам доказать, что это точно не баг, то есть предоставить, откуда он это всё взял. То есть вопрос доверия толком нету. Нужны реальные пруфы. Желательно прямо на строки ТЗ, на в какой именно строке, а не просто цитаты брать. Вот. [откашливается]

То есть было, скажем так, два бага. Один мол отмёл, нашёл как бы причины то, почему это валидное поведение. В другом было поинтереснее. Был бак, например, когда вот считалась там сумма оплаты, она оказалась минусовой. То есть подумал, что это баг. О'кей. То есть он завёл его. Как бы сумма оплаты не должна быть такой. То есть сумма скидки должна превышать сумму оплаты. А агент Пурхов не нашёл, но он сказал, что это тоже баг, потому что, ну, как бы по логике, ну, как бы так быть не должно. И вот после этого как бы случае у меня как раз вот и правило велось, что он должен переводить вот эти вот источники. Без этого как бы это не принимается. Плюс, скажем так, это ещё завёрнуто в отдельный скилл, который подключается, ну, при разработке в отдельный скилл, который подключается к позе знаний, всё это верифицирует, валидирует. Если он понимает, что это баг, то он может пойти как бы его исправлять уже зная как бы причины, как она должна работать.

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

А, ну ещё вот один сценарий, то есть это перенос одной системы, скажем так, переработки. Ну вот проект, по крайней мере, то есть мы переносим часть функционала из 1s на микросервис. То есть была вытащена часть описаний из одинаки, часть модулей, скормили это всё в веки. Она сформировала описание, как это должно работать. Я на всякий случай валидирую, правильно ли аналитики составили, правильно ли это. Плюс они используют это как, ну, справку для себя на том, как оно должно работать.

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

Так, а для вас как бы сказать так, сделал небольшой демопроект по вот этим по стандартам и так далее. То есть поднял базу знаний, опубликовал её через бота. То есть тоже ещё вариант, что вы можете со всем этим делом взаимодействовать не обязательно через там чаты и так далее. То есть это здесь, по крайней мере, использован агент Гермес, который без проблем подключается к любому там телеграму, Тромосту, что там ещё у него есть, ну, различным другим инструментом. Также есть там, например, Open UI, то есть это всё можно опубликовать в вебе, сделать какую-нибудь интеграцию в 1S, ещё куда-то. То есть всё это можно прикручивать к разным вещам. >> Так, ну и что у нас получается?

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

>> То, что ли понял?

>> Да, хороший вопрос. [смех]

>> Ты понял? Давай.

>> Что?

>> Что ты понял?

>> А ты мне скажи, вот Гермес, да? А вот он ты прикрутил. Он у тебя где стоит? Сам Гернес

>> вдохкере.

>> Понятно. А у него защита на текущий момент какая есть? Для того, чтобы вот я вот сейчас напишу.

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

>> Нет, [откашливается] не не тот вопрос. А смотри, вот ты туда заинжестил стандарты разработки, да? То есть можно сейчас зайти в бота, спросить: "А как оформлять общий мод?" Угу. Вот. И он, собственно, найдёт сорс, вернёт тебе э результат. А если я ему скажу сейчас вот этому боту, да, а добавь статью про то, как котики смотрят на небо,

>> да, добавят,

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

>> А из проблем в чём? Именно в Гермессе или соломки сделать защиту, чтобы кто подряд не мог инжестить. именно инжестрить, то есть запрашивать может, а это нет,

>> чтобы валидность информации сохранять.

>> Просто

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

>> Как называется? Кто?

>> А

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

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

>> Угу. Ну, применимости.

>> Ну, по сути, нам по факту оно формирует базу зданий в формате, ну, по структуре. А дальше мы накидываем уже рак индексацию и после этого даём там [откашливается] первой линии поддержки пользователям. Пусть сами себе ищут ответ на область.

>> Ну, не просто рак, а всё-таки с графом. Без этого будет тяжело. Ну да, по идее, так можно. Так в будущем планируется. Можешь, например, сказать, есть у нас вот вром ты собрал стандарты свобода. Есть у нас пригадатель 8 декабре стандарта свобода. Если мы будем смотреть с точки зрения концепции применимости, можно в примере рассказать, а когда выиграет у этого бостпичны, а когда дра проиграет, нам будет примерно достаточно просто MCP и будем заморачиваться с клики, графами, рага и прочее.

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

>> Ещё и по смыслам.

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

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

>> И опять же не целиком, а вот кратенько.

>> Ну это опять же нужно отлаживать, смотреть тюнит скила, скорее всего. Я пока сильно не не уходил в эту сторону.

>> Так сильно

>> сейчас

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

>> Устраивайтесь, можете получить. А так она внутри,

>> по-моему, у меня есть вопрос. Значит, а получается, а если я развернусь вот эту базу, я не знаю, как и мы аа пробовали. То есть, если у меня была такая база Угу.

>> о моём проекте, то я совместно с натравливанием Кинокод я бы сделал какой-нибудь MCP на эту базу.

>> Угу.

>> То есть она совместно с кодом ещё есть, то есть где написано, как это реализовано сейчас. А используют Вики. которая говорит ей, что это значит бизнес-мизм.

>> Угу.

>> И, наверное, контекст будет лучше. Не знаю,

>> ну, контекст будет лучше. То есть я это использую у себя, но не в качестве MCP. То есть у нас там используется OpenCд. Я добавил туда. Ну, два варианта есть, скажем так. Можно натравить туда, сделать отдельного агента под это дело. Ну, субагента. То есть это чисто настроечка. То есть там промут, разрешение на такой-то каталог с базой данных, чтобы он там мог туда без проблем читать, и он без проблем будет подтягивать данные. Ему будет там

>> так, то есть это всё дело можно сделать, оно работает, там есть различные варианты, как это организовать. MCP здесь на самом деле не нужен чаще всего ааги.

>> Вот. То есть, ну, это просто надо будет отразить в правилах каких-то и дальше вот прикрепить эти правила к проекту. То есть это агенты, скилы, там агент самд, может быть, какое-то ещё что-то по-разному.

>> Так, этом ви локально,

>> да? Есть локальная.

>> И агенты на базе работа,

>> да? Так, там, по-моему, с вами сильно общался. Алексей, спасибо, что на грелну держите, ну, по крайней мере, освещаете такие темы. Я тут знакомился с Иваном потом казался правильно очень похожи. То есть базы,

>> ну там есть разные форматы как бы вот этих баз знаний есть разные там скилы, форматы баз знаний тоже.

>> А как вы сказали?

>> А, да, знаю такое. Есть там ОФД, по-моему, как-то так. вот это вот шикарный скил видел, не видел

>> его авто

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

>> Угу.

>> Ваш концепт он

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

>> Ну с одинэской всё-таки пока не получилось.

>> То есть вопрос как бы всё равно это большой проект.

>> Самый главный вопрос. То есть вы все свои исходники, кроме трене, кроме документации, кроме всего остального, то есть не сходники тоже самое интересы, да?

>> Угу.

>> И понятно, да? То есть это большая проблема. А,

>> ну да, с аринос проблема. И тут можно частично, то есть вот как мы сделали, то есть часть,

>> ну всё-то базу, может быть, не стоит вам как бы засовывать. Ну все исходники в базу знаний. Можно часть какую-то закинуть.

>> Ну вот теперь по по техникум моментом. КН какой смысл?

>> 35 27Бантизированный. Только не помню точно сколько. Да

>> я просто решил своих.

>> Почему-то он лучше работает.

>> 35. А у него, по-моему, 128, да? Либо 128, либо 180, не помню. Точно.

>> Нет, локальные код.

>> Ну да, но сейчас вот для Вики я использую больше. А я веду. Ну понятно, в принципе, среда залпочная. Угу.

>> Я А самые скилы это вы как-то публикуете или просто?

>> Ну я взял готовые скилы с интернета. То есть можно всё это изобретать, но зачем? То есть взять готовое, адаптировать под себя. Что-то позже слышали начала.

>> То есть скилы берутся готовы, потом уносятся правки, корректировки. Хотелось бы ещё научиться их там тестировать. Хорошо. Концерт. Вопросот. Спасибо.

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

>> кого сносит?

>> Рот.

>> А зачем вы пускаете туда?

>> Потому что это вопрос безопасности. Я поэтому и поднял.

>> У нас безопасники литуют. Там в прот не попадёшь вообще никак.

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

>> Ну такое сделать можно. Это как бы небольшая проблема. Вот тот же я там говорил, есть инструмент пай, который можно пересобрать легко и убрать всё лишнее. Но, но, наверное, тут даже никакого нота и не будет, но пока не думали. У меня первая идея устра делать полтый что [откашливается] агент. Это же набор скриптов, который стучится,

>> ну, не совсем,

>> грубо говоря, набор скриптов, который стучит в формировку.

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

>> если это будет аналитик, о'кей. Если пользователь, то там вообще всё по-другому.

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

>> Куда именно?

>> В код.

>> Не, мы не про код, противо,

>> да, но я его использую в связке с другим агентом. Для чего? Для того, чтобы он взял требования, пошуршал и помог мне что-то сделать.

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

>> ну да, один, который часто обрабатывает.

>> О'кей. Но это сложнее. То есть я могу

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

>> О,

>> так, то есть, когда я буду писать код, та же самая проблема возможна. Или тут больше вопрос про инжеectт, скажем так, каких-то странных вещей в знаний,

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

>> Поставили пользовались.

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

>> если он это умеет.

>> Ну если у него есть ручки, а у всех у них в числе случаях есть ручки, они это сделают. Да,

>> такой момент по поводу молитации. То есть вырмливаете корпус неких знаний, да? Вы самостоятельно будете нужен на актуальность или всё-таки какой-то незй процесс поте валидации сдарил

>> валидации входных данных или выходных? Ну, когда построятся, допустим, есть два,

>> а, ну, результат выход противоречивых дохо, ну, которые перекрывает функциональность, которую уже сла

>> то есть как как получить, ну, и в дальнейшем при поддержке, то есть вот появляется новая версия, ну, папера, допустим, да, то есть как гарантированно получить замещение дальнейшую работу. Тут, на самом деле, то есть не сказал об этом, то есть у Андрея Карпаты есть и вот скила, то есть это не замещение происходит, это как бы подсвечивается факт конфликта. То есть они как бы конфликтуют, а конфликт уже потом в дальнейшем по запросу пользователя каким-то образом решается. То есть когда ты говоришь актуальное состояние, он выберет более новое. Когда ты просто как бы попросишь всё собрать, он как бы включит остальное. Найди конфликты, ну найдёт. То есть в самой базе знания как бы оно всё и старое, и новое сохраняется. Давайте, Лёши, поблагодарим ещё раз вопросы задать и [откашливается] если ты помнишь какие-нибудь вопросы, которые тебе зашли, давай выделим.

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

>> Ещё что-то?

>> Так, Николай, наверное, вам тоже

>> зай

>> что-то забыл уже. Так, тут больше как бы просто кто намелькался, наверное, того и это. Какие ещё вопросы были? Гермес, что можно переставить?

>> Так, это можно, да? Это проблема. Ну давайте, Дими, [музыка] всё, давайте повторим ещё раз. [музыка]

>> [музыка] [музыка]

>> He [музыка]