🔧 Реализация: под капотом вручную структурированная иерархическая база знаний и пачка запросов к GPT-4.
Изначально я надеялся обойтись просто промптом в духе "Эй, напиши-ка мне хорошую статью про продукт. Вот тебе тех спеки вродукта!” Но на выходе была галиматья, впаривание и галлюцинации. 🤪
Пришлось "обучать" систему писать статьи, как правильно, разбивая процесс на шаги. Так и родился подход, когда система делает неблагодарную работу просева информации и перебора вариантов, а человек только оценивает и выбирает.
Плюс, у системы не возникает информационного голода, который она пытается заполнить галлюцинациями.
То есть ключевые шаги:
(1) вот тебе весь контекст про продукт, с которым даже выпускник-маркетолог сможет набросать пару идей. Набросай их мне. Ничего не выдумывай - проверю.
(2) Вот тебе годная идея статьи и весь контекст про продукт. Набросай мне черновиков статей. Ничего не выдумывай - проверю.
🤔 А что там с базой знаний? LLamaIndex или LangChain?
База знаний - это пачка тесно связанных документов. Поиск по embeddings вечно вытаскивал ерунду. Да и любой поиск вытаскивал не совсем то, что надо.
Поэтому я вручную иерархично структурировал документацию как книгу, с оглавлением. Как если бы делал это для человека, у которого стоит такая же задача. А потом я просто спросил у GPT - какие главы про компанию тебе больше всего нужны, чтобы набросать хорошие идеи? А какие главы про отрасль продукта?
Выжимка базы знаний для продукта/отрасли/аудитории по инструкциям GPT и используется для набрасывания идей и последующего набрасывания черновика.
То есть это не агент, и не набор каких-то сторонних библиотек. А просто перекладывание заранее собранной информации из папочек в контекст.
🍀Bonus mode продукта - выбор направлений для маркетинговых исследований.
У нас уже есть хорошая база знаний, с которой система сама неплохо работает. Поэтому можно сделать такую фишку. Если человеку не нравятся идеи или черновики, то можно спросить систему "а какую информацию можно добавить в базу знаний, чтобы в этой статье исправить эти проблемы?" Советы выходят довольно неплохие. Делаем исследования, заполняем базу знаний, и ассистент становится умнее для всех последующих задач.
Примерно так и я заполнял первичную базу знаний - что система просила, то пересылал отделу маркетинга клиента. Итоговый результат, как уже говорилось, им весьма понравился 🎉 Причем я специально не выбирал черновики получше. Отправил первое, что выдала (так разочарований меньше потом будет)
Мне очень понравилось ощущение от продукта, когда вместо возни с embeddings и разными индексами формируешь структурированную базу знаний и работаешь с ней.
Теперь хожу и думаю, что хочу такого же личного ассистента, чтобы он придумывал идеи для прототипов, экспериментов и просто планов на день. А я бы их отвергал 😊
Если у кого есть вопросы и идеи схожих продуктов, где LlamaIndex & LLangChain уже не вытягивают, пишите в чат. Можем обсудить вместе.
Update: вот методичка по сбору базы знаний для такого ассистента.
>>Click here to continue<<