Небольшой хак про то, как ускорить проверку результатов поиска при помощи LLM в n8n
Ситуация: у вас есть запрос пользователя и векторный поиск из которого вы достаёте результаты запроса. Но не все результаты подходят под запрос.
Чтобы удобнее работать с результатами привожу их в формат json. Примерно вот так:
Задача: провалидировать результаты запроса с самим запросом и вернуть только то, что актуально и релевантно для пользователя.
Решение:
Использую open ai как финальный шаг по валидации результатов.
Изначально я просил LLM проанализировать запрос с полученными результатами и вернуть то, что релевантно. В таком случае я и на вход передавал JSON и на выходе получал JSON и это отрабатывало долго. 3-4 секунды в среднем.
Решил пойти другим путём и просить LLM вернуть только индексы результатов, которые подходят под запрос. А уже следующим шагом уже кодом достаю нужные результаты и возвращаю их пользователю.
Получился своеобразный костыль-валидатор, но это заметно улучшило качество выдачи и скорость проверки. Использую mini модель.
Пример промпта для валидации:
В результате получил и более быструю проверку(прикрепил к посту) на релевантность и сокращение количества токенов для проверки.
Ситуация: у вас есть запрос пользователя и векторный поиск из которого вы достаёте результаты запроса. Но не все результаты подходят под запрос.
Чтобы удобнее работать с результатами привожу их в формат json. Примерно вот так:
{
"articles": [
{
"name": "Статья 1",
"description": "Автоматизация процессов с гибкими настройками.",
"url": "https://example.com/art1"
},
{
"name": "Статья 2",
"description": "Анализ данных для принятия решений.",
"url": "https://example.com/art2"
},
{
"name": "Статья 3",
"description": "Упрощение коммуникации и автоматизация задач.",
"url": "https://example.com/art3"
}
]
}
Задача: провалидировать результаты запроса с самим запросом и вернуть только то, что актуально и релевантно для пользователя.
Решение:
Использую open ai как финальный шаг по валидации результатов.
Изначально я просил LLM проанализировать запрос с полученными результатами и вернуть то, что релевантно. В таком случае я и на вход передавал JSON и на выходе получал JSON и это отрабатывало долго. 3-4 секунды в среднем.
Решил пойти другим путём и просить LLM вернуть только индексы результатов, которые подходят под запрос. А уже следующим шагом уже кодом достаю нужные результаты и возвращаю их пользователю.
Получился своеобразный костыль-валидатор, но это заметно улучшило качество выдачи и скорость проверки. Использую mini модель.
Пример промпта для валидации:
You have a user request and a list of articles that can help them solve their request. Your task is to select the most relevant articles and return their index. Use key "indexes". Indexes should start from 0. Rank the indexes by relevance in descending order.
User request:
{{ выражение для n8n }}
Articles:
{{ выражение для n8n }}
В результате получил и более быструю проверку(прикрепил к посту) на релевантность и сокращение количества токенов для проверки.
2👍12❤1
Считаем денежки токены в Open AI Ассистентах в n8n
Если собираете агента в n8n, у вас есть несколько вариантов, как это сделать:
⁃ Лэнгчейн нода Agent, куда подключаете модели, БД, тулзы и т.д
⁃ Самостоятельно собирать флоу с "мозгами" агента и контролировать runs и вызовы функций на своей стороне. Не сегодня
⁃ Вызывать ноду OpenAI - Message assistant
Не знаю почему, но нативно и удобно из первого и третьего варианта нельзя вытаскивать usage - то есть вы не видите сколько токенов тратится у вас за один вызов агента. Но вот как вы можете просто делать это одним дополнительным вызовом к API Open AI.
После выполнения ноды Assistant у вас в ответе будет только thread_id и output. Чтобы получить логи просто отправьте вызов и передайте параметр thread_id из ноды
В ответе у вас будет массив из run и вам нужно просто достать последний run - внутри него будет usage.
Если дополнительно хотите посмотреть что происходило внутри этого рана, можно отправить запрос на
Тогда можно разобрать какие функции вызывались, сколько каждая съела токенов и т.д. При вызове информации о треде в usage суммируется usage всех шагов для каждого рана.
И ещё один способ нашел вчера в чате n8n, от @alfomin - тык сюда. Посмотрите - там полезно и тоже просто
Если собираете агента в n8n, у вас есть несколько вариантов, как это сделать:
⁃ Лэнгчейн нода Agent, куда подключаете модели, БД, тулзы и т.д
⁃ Самостоятельно собирать флоу с "мозгами" агента и контролировать runs и вызовы функций на своей стороне. Не сегодня
⁃ Вызывать ноду OpenAI - Message assistant
Не знаю почему, но нативно и удобно из первого и третьего варианта нельзя вытаскивать usage - то есть вы не видите сколько токенов тратится у вас за один вызов агента. Но вот как вы можете просто делать это одним дополнительным вызовом к API Open AI.
После выполнения ноды Assistant у вас в ответе будет только thread_id и output. Чтобы получить логи просто отправьте вызов и передайте параметр thread_id из ноды
curl
-X GET "https://api.openai.com/v1/threads/THREAD_ID/runs
-H "Authorization: Bearer YOUR_API_KEY" \
-H "OpenAI-Beta: assistants=v2"
В ответе у вас будет массив из run и вам нужно просто достать последний run - внутри него будет usage.
Если дополнительно хотите посмотреть что происходило внутри этого рана, можно отправить запрос на
curl
-X GET "https://api.openai.com/v1/threads/THREAD_ID/runs/RUN_ID/steps
-H "Authorization: Bearer YOUR_API_KEY" \
-H "OpenAI-Beta: assistants=v2"
Тогда можно разобрать какие функции вызывались, сколько каждая съела токенов и т.д. При вызове информации о треде в usage суммируется usage всех шагов для каждого рана.
И ещё один способ нашел вчера в чате n8n, от @alfomin - тык сюда. Посмотрите - там полезно и тоже просто
👍7
Короче, каждый день появляется куча исследований, новых решений и подходов к тому как можно улучшать продукты на базе LLM. Будь то RAG, или какие-то агентские системы. Угнаться и переварить это, имея 100500 других задач нереально, но я для себя выработал более менее рабочий подход по тому, как генерировать гипотезы для теста.
Все довольно просто:
◾️ Регулярно мониторю, какие новые исследования появляются через. Ищу через всяких умных людей в телеграм/твиттер.
◾️ В Голове всегда есть список задач, которые нужно решить сейчас/в ближайшее время. И то, что может быть релевантно просто кидаю себе в сохраненки. 95% это статьи и исследования с arxiv. Обычно это 10-15-30 страниц текста, с какими-то сложными графиками и объяснениями. Переваривать такое моему гуманитарному мозгу сложно и больно.
◾️ Поэтому я закидываю пдф со статьей в LLM. Либо chatgpt, либо deepseek.
◾️ Для начала просто прошу подробное саммари с объяснением основных моментов, подходов и идей из статьи. Это позволяет мне понять о чем вообще это исследование и релевантно ли оно мне сейчас.
◾️ Далее перевариваю эту информацию и прикидываю как это можно применить в моём кейсе.
◾️ Потом описываю свою задачу, идею которую взял из статьи и как это можно применить - закидываю в LLM. Делаю это для того, чтобы удостовериться, что я правильно понял суть и это реально можно применить так, как я понял.
◾️ Ну и дальше начинается итеративные процесс вопросов для того, как это можно реализовать. Можно ли, например, брать облачную LLM, а не обучать свою, как описано в статье и т.д
На выходе получается некий базовый план шагов, с которых стоит начать, чтобы протестировать решение.
А дальше уже начинаешь делать. Видишь, что работает не так как ожидалось и докручиваешь.
Так, например, недавно узнал про подход к улучшению RAG через токены памяти - вот пытаюсь раскрутить на одном внутреннем проекте.
Все довольно просто:
◾️ Регулярно мониторю, какие новые исследования появляются через. Ищу через всяких умных людей в телеграм/твиттер.
◾️ В Голове всегда есть список задач, которые нужно решить сейчас/в ближайшее время. И то, что может быть релевантно просто кидаю себе в сохраненки. 95% это статьи и исследования с arxiv. Обычно это 10-15-30 страниц текста, с какими-то сложными графиками и объяснениями. Переваривать такое моему гуманитарному мозгу сложно и больно.
◾️ Поэтому я закидываю пдф со статьей в LLM. Либо chatgpt, либо deepseek.
◾️ Для начала просто прошу подробное саммари с объяснением основных моментов, подходов и идей из статьи. Это позволяет мне понять о чем вообще это исследование и релевантно ли оно мне сейчас.
◾️ Далее перевариваю эту информацию и прикидываю как это можно применить в моём кейсе.
◾️ Потом описываю свою задачу, идею которую взял из статьи и как это можно применить - закидываю в LLM. Делаю это для того, чтобы удостовериться, что я правильно понял суть и это реально можно применить так, как я понял.
◾️ Ну и дальше начинается итеративные процесс вопросов для того, как это можно реализовать. Можно ли, например, брать облачную LLM, а не обучать свою, как описано в статье и т.д
На выходе получается некий базовый план шагов, с которых стоит начать, чтобы протестировать решение.
А дальше уже начинаешь делать. Видишь, что работает не так как ожидалось и докручиваешь.
Так, например, недавно узнал про подход к улучшению RAG через токены памяти - вот пытаюсь раскрутить на одном внутреннем проекте.
🔥14👍3
Часто стал встречать мнение, что с текущим уровнем генеративок nocode скоро умрёт или станет не актуален. Отчасти согласен. Мой стэк сейчас больше выглядит так:
Cursor - для создания бэка и логики
Плюс недавно подтянул инструменты и для фронта: lovable + Vercel или v0 + Vercel, пока не оч определился, что мне больше нравится, продолжаю экспериментировать в свободное время. Но lovable пока выигрывает.
Но поймал себя на интересном кейсе при работе с бэком:
Мне визуально проще сначала собрать логику в n8n. Т.е собрать процесс там, проверить что все работает, настроить взаимодействия между компонентами, форматы ответа и т.д. А потом уже пойти в cursor и перенести логику на код. Плюсом, можно просто скопировать рабочий процесс из n8n (он в JSON если что) и попросить ЛЛМку переписать его на питон или что-то ещё. И чаще всего работает либо с первого раза, либо после небольшого количества итераций.
А вообще, все создание логики идет по одному сценарию: накидываю сам процесс в Miro -> Собираю рабочую версию в n8n -> Если нужно перенести на код, то в Cursor. Если нет, то оставляю всё в n8n
Cursor - для создания бэка и логики
Плюс недавно подтянул инструменты и для фронта: lovable + Vercel или v0 + Vercel, пока не оч определился, что мне больше нравится, продолжаю экспериментировать в свободное время. Но lovable пока выигрывает.
Но поймал себя на интересном кейсе при работе с бэком:
Мне визуально проще сначала собрать логику в n8n. Т.е собрать процесс там, проверить что все работает, настроить взаимодействия между компонентами, форматы ответа и т.д. А потом уже пойти в cursor и перенести логику на код. Плюсом, можно просто скопировать рабочий процесс из n8n (он в JSON если что) и попросить ЛЛМку переписать его на питон или что-то ещё. И чаще всего работает либо с первого раза, либо после небольшого количества итераций.
А вообще, все создание логики идет по одному сценарию: накидываю сам процесс в Miro -> Собираю рабочую версию в n8n -> Если нужно перенести на код, то в Cursor. Если нет, то оставляю всё в n8n
3👍17🔥2😁1
Забавный факт:
Если делать проект с supabase на v0 и нативно хостить его через Vercel (это два продукта от одной компании), то вылезает ошибка при деплое из-за того, что там почему-то криво работает интеграция, если данные для подключения к supabase написаны в env файле. Ну либо я криворукий.
При этом, если сделать все через lovable, залить на гитхаб и захостить на Vercel, то все будет работать корректно. Там правда есть тонкость, что нужно создать отдельный файл для Vercel vercel.json, чтобы он знал как роутить пользователя на нужные страницы. Короче просто при генерации упомяните, что будете хостить на Vercel и это все сразу будет заложено.
Вот так мне объяснил ошибку lovable
Если делать проект с supabase на v0 и нативно хостить его через Vercel (это два продукта от одной компании), то вылезает ошибка при деплое из-за того, что там почему-то криво работает интеграция, если данные для подключения к supabase написаны в env файле. Ну либо я криворукий.
При этом, если сделать все через lovable, залить на гитхаб и захостить на Vercel, то все будет работать корректно. Там правда есть тонкость, что нужно создать отдельный файл для Vercel vercel.json, чтобы он знал как роутить пользователя на нужные страницы. Короче просто при генерации упомяните, что будете хостить на Vercel и это все сразу будет заложено.
Вот так мне объяснил ошибку lovable
This is a common issue with client-side routing in Single Page Applications (SPAs) hosted on Vercel. The error occurs because Vercel doesn't know how to handle direct navigation to routes like /share/video_id and returns a 404 page instead.
To fix this, we need to add a vercel.json configuration file to tell Vercel to redirect all requests to the index.html file, allowing React Router to handle the routing client-side.
👍5🤔2❤1🤡1
Все же слышали про DeepResearch от OpenAI. Как обычно это и бывает, появилось куча опенсорс решений, которые кричат "Не плати OpenAI, вот бесплатно, всё как там"
Решил для одной рабочей задачки потестить подобные решения. Делюсь, что получилось.
Решение №1
https://github.com/dzhng/deep-research
Из плюсов: оч просто запускается и настраивается. 2 команды и вставить 2 ключа: OpenAI и Firecrawl. Но если у вас в API OpenAI не поддерживается o3-mini, то работать не будет. Поэтому я использовал API Nebius и модель R1 от deepseek. Настраивается тоже просто: прописываем url и так же добавляем ключ. Firecrawl даёт 500 запросов бесплатно - поэтому для теста хватит. Ключ получаете у них в админке.
Поставил простую задачку: собрать и проанализировать компании и сервисы, которые занимаются речевой аналитикой в России. На выходе полная дичь. И как такового исследования, как будто и не было. Например, во второй ссылке Гугла есть подборка на 30 сервисов аналитики откуда можно бы было взять информацию и расширить. Но этого сделано не было.
Попробовал упростить задачу и передал уже список конкурентов с ссылками на сайт и попросил сделать сравнительный анализ функционала и цен. Опять мимо. Цены не бьются от слова совсем. Где-то доллары, где-то рубли. По функционалу где-то попал, но нет ощущения, что это взято из сайта, а не из модели.
Решил дать финальный шанс: попросил подобрать сервис аналитики для маркетплейсов для Вб. В результатах ни одного актуального сервиса, лидером рынка назвал какого-то ноунейма, который даже в поиске не ищется.
❌ Вердикт: не рекомендасьон
Решение №2
DeepResearch от Hugginface
Не буду описывать подробно, но результат в целом не далеко ушел от первого варианта.
❌ Поэтому тоже не рекомендасьон.
Решение №3
https://github.com/mshumer/OpenDeepResearcher
Для работы нужно прописать 3 ключа:
⁃ OpenRouter
⁃ Jina
⁃ SerpAPI
Везде есть бесплатные лимиты.
Тоже запускается и работает в 2 клика. Здесь результат мне понравился больше.
Видно что он смотрит и какие ссылки посещает. Валидирует эти ссылки на предмет того, является ли она релевантной для запроса или нет.
Так же можно посмотреть ссылки, которые находит и поизучать их отдельно.
На генерации финального ответа информация была без галлюцинаций, но при этом достаточно сухая и поверхностная. Т.е мне с этим инструментом удобно посмотреть именно вширь того, что есть к изучению, но всё равно придется залезать и дополнять инфу руками.
⁉️Вердикт: 50/50
Решение №4
И напоследок затестил DeepResearch от Perplexity
Здесь был самый лучший результат.
Во-первых, визуально прикольно смотреть как он анализирует, делает выводы и описывает рассуждения.
Во-вторых, указывает все ссылки откуда брал инфу, подробно описал фунционал, особенности и фишки инструментов.
Из неприятного: потерял часть компаний для анализа т.к там не оказалось всей нужной информации. После дозапроса вернул и эту информацию.
✅ Вердикт: рекомендасьон
Вывод
Моё скромное ИМХО: это пока не vibe research когда ты отправляешь запросы и наблюдаешь за магией(как в cursor при разработке). Поисследовать пока все равно придется самостоятельно, но как инструменты для расширения собственного контекста вполне себе.
Сравнить с DeepResearch от OpenAI не могу т.к жаба душит отдавать для этого 200$
Решил для одной рабочей задачки потестить подобные решения. Делюсь, что получилось.
Решение №1
https://github.com/dzhng/deep-research
Из плюсов: оч просто запускается и настраивается. 2 команды и вставить 2 ключа: OpenAI и Firecrawl. Но если у вас в API OpenAI не поддерживается o3-mini, то работать не будет. Поэтому я использовал API Nebius и модель R1 от deepseek. Настраивается тоже просто: прописываем url и так же добавляем ключ. Firecrawl даёт 500 запросов бесплатно - поэтому для теста хватит. Ключ получаете у них в админке.
Поставил простую задачку: собрать и проанализировать компании и сервисы, которые занимаются речевой аналитикой в России. На выходе полная дичь. И как такового исследования, как будто и не было. Например, во второй ссылке Гугла есть подборка на 30 сервисов аналитики откуда можно бы было взять информацию и расширить. Но этого сделано не было.
Попробовал упростить задачу и передал уже список конкурентов с ссылками на сайт и попросил сделать сравнительный анализ функционала и цен. Опять мимо. Цены не бьются от слова совсем. Где-то доллары, где-то рубли. По функционалу где-то попал, но нет ощущения, что это взято из сайта, а не из модели.
Решил дать финальный шанс: попросил подобрать сервис аналитики для маркетплейсов для Вб. В результатах ни одного актуального сервиса, лидером рынка назвал какого-то ноунейма, который даже в поиске не ищется.
❌ Вердикт: не рекомендасьон
Решение №2
DeepResearch от Hugginface
Не буду описывать подробно, но результат в целом не далеко ушел от первого варианта.
❌ Поэтому тоже не рекомендасьон.
Решение №3
https://github.com/mshumer/OpenDeepResearcher
Для работы нужно прописать 3 ключа:
⁃ OpenRouter
⁃ Jina
⁃ SerpAPI
Везде есть бесплатные лимиты.
Тоже запускается и работает в 2 клика. Здесь результат мне понравился больше.
Видно что он смотрит и какие ссылки посещает. Валидирует эти ссылки на предмет того, является ли она релевантной для запроса или нет.
Так же можно посмотреть ссылки, которые находит и поизучать их отдельно.
На генерации финального ответа информация была без галлюцинаций, но при этом достаточно сухая и поверхностная. Т.е мне с этим инструментом удобно посмотреть именно вширь того, что есть к изучению, но всё равно придется залезать и дополнять инфу руками.
⁉️Вердикт: 50/50
Решение №4
И напоследок затестил DeepResearch от Perplexity
Здесь был самый лучший результат.
Во-первых, визуально прикольно смотреть как он анализирует, делает выводы и описывает рассуждения.
Во-вторых, указывает все ссылки откуда брал инфу, подробно описал фунционал, особенности и фишки инструментов.
Из неприятного: потерял часть компаний для анализа т.к там не оказалось всей нужной информации. После дозапроса вернул и эту информацию.
✅ Вердикт: рекомендасьон
Вывод
Моё скромное ИМХО: это пока не vibe research когда ты отправляешь запросы и наблюдаешь за магией(как в cursor при разработке). Поисследовать пока все равно придется самостоятельно, но как инструменты для расширения собственного контекста вполне себе.
Сравнить с DeepResearch от OpenAI не могу т.к жаба душит отдавать для этого 200$
👍15❤3🔥2🤔1
Стремно, когда в канале больше 2х месяцев нет постов. Ну так и я не ссыкло💪
Вообще, конечно, не пишу по 2м причинам:
1. Тупо не хватает времени
2. Вообще потерял интерес к ноукоду в том виде в котором он задумывался для этого канала
Понял, что остыл к формат в котором хотелось что-то изучить, осмыслить и выдать в массы. Сейчас интереснее что-то узнать и пойти пилить)
Собственно, вот эти мои «пилить» и съедают все рабочее и не рабочее время, а так же миллионы токенов в курсоре😀
Из интересного: помните я как-то делал бесплатный транскрибатор, который работал прямо в браузере. Ничего интересного из этого тогда не получилось, но привело к тому, что внутри компании я стал заниматься проектом по внедрению анализа звонков в отделе контроля качества, а потом как-то плавно это вылилось в отдельный продукт.
Собстна, 80% фокуса у меня сейчас на том, чтобы вывести это на рынок и запустить продажи. Я в этом профан и только набиваю шишки. Так что дальше, надеюсь, смогу вытаскивать что-то интересное из всей этой движухи и делиться с вами)
А пока вот, что интересного я узнал, осознал и сделал. Постараюсь тезисно, чтобы не грузить:
Короче, сервисов речевой аналитики появляется сейчас вагон и маленькая тележка
Нужно как-то выделяться, но в целом функционал +- у всех похожий
Прям какого-то крупного игрока нет, но увидел что в основном все идут через формат продажи на демо
А там где не через демо, то прям вообще не понятно с чего начать и как потестить
Я тоже пошел через лендинг и полить трафик. Но даже на целевых запросах заметил, что отказы большие. Оно в целом и понятно. Базовый лендос, без каких либо отличий. Ну и мне наш маркетолог потом ещё объяснил где я не прав)
Решил попробовать: "А что если сделать демонстрацию работы в 2 клика. Без регистраций, смс и т.д".
Сделал, залил и вот сейчас хочу потратить ещё времени на то, чтобы посмотреть на обратную связь. Транскрибатором из этого канала активно пользовались, а тут прям как будто больше пользы и ценности, но для более узкой аудитории.
Поэтому если у вас есть звонки, которые надо слушать и анализировать, то велком пробовать. Ещё раз без регистрации и смс. А если прям на полную мощь хочется, со своими чек-листами и хотелками, то приходите в личку. Дадим крутые условия по цене + супер персонализированный подход т.к только выходим)
Потестить можно здесь:
https://speeqa.io
Написать сюда:
@esporykhin
А своё мнение, комментарии и предложения в комменты
Вообще, конечно, не пишу по 2м причинам:
1. Тупо не хватает времени
2. Вообще потерял интерес к ноукоду в том виде в котором он задумывался для этого канала
Понял, что остыл к формат в котором хотелось что-то изучить, осмыслить и выдать в массы. Сейчас интереснее что-то узнать и пойти пилить)
Собственно, вот эти мои «пилить» и съедают все рабочее и не рабочее время, а так же миллионы токенов в курсоре😀
Из интересного: помните я как-то делал бесплатный транскрибатор, который работал прямо в браузере. Ничего интересного из этого тогда не получилось, но привело к тому, что внутри компании я стал заниматься проектом по внедрению анализа звонков в отделе контроля качества, а потом как-то плавно это вылилось в отдельный продукт.
Собстна, 80% фокуса у меня сейчас на том, чтобы вывести это на рынок и запустить продажи. Я в этом профан и только набиваю шишки. Так что дальше, надеюсь, смогу вытаскивать что-то интересное из всей этой движухи и делиться с вами)
А пока вот, что интересного я узнал, осознал и сделал. Постараюсь тезисно, чтобы не грузить:
Короче, сервисов речевой аналитики появляется сейчас вагон и маленькая тележка
Нужно как-то выделяться, но в целом функционал +- у всех похожий
Прям какого-то крупного игрока нет, но увидел что в основном все идут через формат продажи на демо
А там где не через демо, то прям вообще не понятно с чего начать и как потестить
Я тоже пошел через лендинг и полить трафик. Но даже на целевых запросах заметил, что отказы большие. Оно в целом и понятно. Базовый лендос, без каких либо отличий. Ну и мне наш маркетолог потом ещё объяснил где я не прав)
Решил попробовать: "А что если сделать демонстрацию работы в 2 клика. Без регистраций, смс и т.д".
Сделал, залил и вот сейчас хочу потратить ещё времени на то, чтобы посмотреть на обратную связь. Транскрибатором из этого канала активно пользовались, а тут прям как будто больше пользы и ценности, но для более узкой аудитории.
Поэтому если у вас есть звонки, которые надо слушать и анализировать, то велком пробовать. Ещё раз без регистрации и смс. А если прям на полную мощь хочется, со своими чек-листами и хотелками, то приходите в личку. Дадим крутые условия по цене + супер персонализированный подход т.к только выходим)
Потестить можно здесь:
https://speeqa.io
Написать сюда:
@esporykhin
А своё мнение, комментарии и предложения в комменты
2🔥11❤5👏4👍2
Придумалось, короче, пет-проект на пару вечеров. Отдаю в мир, вдруг кто-то сделает)
Telegram Balabol Check
В чем суть:
Я делю авторские каналы в телеге на 2 типа:
⁃ одни постоянно рассказывают что они планируют делать и льют воду. Типо: вот поставил себе такие-то цели и дальше ничего. Или какие-то странные рассуждения о том, что надо делать хорошо, а плохо делать не надо, пиздострадания и тому подобное. Короче контент-импотент. Реального опыта 0
⁃ Вторые рассказывают про реальные действия. Вот затестили, вот тут такое реализовали, вот сделали А и ничего не вышло. Ну вы поняли. Не посты про то, как сделать успешный стартап, а конкретные шаги как человек делает успешный стартап, строит карьеру или решает какие-то свои задачи.
И вот в качестве фан проекта можно собрать такую штуку, которая:
⁃ Парсит последние 50-100 постов автора на его канале
⁃ Прогоняет их через LLM по какому-нибудь простому чек-листу. Тут еще нужно подумать над конкретными и описываемыми критериями того, что считать пиздаболией, а что реальными действиями/пользой
⁃ Далее по каждому посту есть оценка по критериям
⁃ Суммируем и выводим общий рейтинг всех постов
⁃ Подсвечиваем посты без пользы/с пользой
Дальше можно еще прикрутить какую-нибудь аналитику/корреляцию по тому насколько пиздабольские посты хороши по метрикам и т.д, но это уже детали
Кому это нужно:
Я тут вижу 2 задачи, которые может решить подобный проектик:
1. Авторы телеграм каналов: проанализировать свои посты, посмотреть на них не только с точки зрения числовых метрик, но и с точки зрения "человека". Можно, кстати, еще зашить роль проверяющего при проверке. Т.е чтобы LLM оценивала посты с точки зрения аудитории канала
2. Всякие телеграм разработчики, чтобы сделать виральный продукт и чуть чуть похайповать
Прям прямых денег я здесь не вижу. Но чисто ради фана и опыта - почему бы и нет.
Что для этого понадобиться:
⁃ Какой-нибудь Telethon или подобное, чтобы парсить посты. Чтобы не париться с развертыванием можно использовать Yandex Cloud Functions
⁃ Доступ к LLM. Чтобы разные сетки удобно тестить я бы выбрал openrouter
⁃ Автоматизация. Тут, конечно, n8n
Ну и ради фана, если вдруг пост наберет 20 000 звезд, то сделаю сам😀
P.s слово "разъебу" chatgpt мне ни разу правильно не написал)
Telegram Balabol Check
В чем суть:
Я делю авторские каналы в телеге на 2 типа:
⁃ одни постоянно рассказывают что они планируют делать и льют воду. Типо: вот поставил себе такие-то цели и дальше ничего. Или какие-то странные рассуждения о том, что надо делать хорошо, а плохо делать не надо, пиздострадания и тому подобное. Короче контент-импотент. Реального опыта 0
⁃ Вторые рассказывают про реальные действия. Вот затестили, вот тут такое реализовали, вот сделали А и ничего не вышло. Ну вы поняли. Не посты про то, как сделать успешный стартап, а конкретные шаги как человек делает успешный стартап, строит карьеру или решает какие-то свои задачи.
И вот в качестве фан проекта можно собрать такую штуку, которая:
⁃ Парсит последние 50-100 постов автора на его канале
⁃ Прогоняет их через LLM по какому-нибудь простому чек-листу. Тут еще нужно подумать над конкретными и описываемыми критериями того, что считать пиздаболией, а что реальными действиями/пользой
⁃ Далее по каждому посту есть оценка по критериям
⁃ Суммируем и выводим общий рейтинг всех постов
⁃ Подсвечиваем посты без пользы/с пользой
Дальше можно еще прикрутить какую-нибудь аналитику/корреляцию по тому насколько пиздабольские посты хороши по метрикам и т.д, но это уже детали
Кому это нужно:
Я тут вижу 2 задачи, которые может решить подобный проектик:
1. Авторы телеграм каналов: проанализировать свои посты, посмотреть на них не только с точки зрения числовых метрик, но и с точки зрения "человека". Можно, кстати, еще зашить роль проверяющего при проверке. Т.е чтобы LLM оценивала посты с точки зрения аудитории канала
2. Всякие телеграм разработчики, чтобы сделать виральный продукт и чуть чуть похайповать
Прям прямых денег я здесь не вижу. Но чисто ради фана и опыта - почему бы и нет.
Что для этого понадобиться:
⁃ Какой-нибудь Telethon или подобное, чтобы парсить посты. Чтобы не париться с развертыванием можно использовать Yandex Cloud Functions
⁃ Доступ к LLM. Чтобы разные сетки удобно тестить я бы выбрал openrouter
⁃ Автоматизация. Тут, конечно, n8n
Ну и ради фана, если вдруг пост наберет 20 000 звезд, то сделаю сам😀
P.s слово "разъебу" chatgpt мне ни разу правильно не написал)
😁9❤5👍4
Короче, продолжаю нативно рассказывать про то, что делается и с чем сталкиваюсь в нашем AI-менеджере контроля качества
Самая муторная часть - это калибровка ассистента. Чтобы он оценивал так, как это делает человек. Так как логика некоторых пунктов может быть очень запутанной и нужно это все заложить в критерии оценки. Типо, если клиент целевой, то мы оцениваем пункт одним образом, а если не целевой, то другим образом.
Но самое бесячее, это когда вроде всё описано, разбито на блоки и т.д, а процент совпадений оценок все равно супер низкий. Тогда начинаю сам слушать звонки и тут обычно 3 варианта:
🔘 Человек ошибся и оценил не корректно. Тут просто исправляем оценку и двигаемся дальше
🔘 Человек оценил корректно, но руководствовался какими-то неписанными правилами, которые передаются из уст в уста внутри отдела. Тогда приходится повторно встречаться с ответственным, уточнять все эти узкие моменты и корректировать логику оценки
🔘 Робот ошибся. Тут все понятно, косяк на нашей стороне и нужно копать в причины ошибки
По последнему пункту остановлюсь чуть подробнее. Что вообще помогает улучшать качество оценки:
☑️ Для каждого критерия описывать формат фиксации т.е что и в каком виде нужно достать из звонка, чтобы оценить критерий
☑️ Для сложных случаев в формате фиксации описать цепочку рассуждений, которые должен зафиксировать ассистент
☑️ Порядок полей в ответе: фиксация всегда идет перед финальным ответом по критерию
☑️ Для больших чек-листов и звонков(больше 30 пунктов например) разбивать оценку на этапы диалога и оценивать каждый этап отдельно
Возможно банальщина и вы это все знали, но такие штуки верхнеуровнево позволяют выровнять качество оценки и продолжать дальше докапывать до деталей. А как оказалось для каждого чек-листа или методики оценки их там херова туча)
Самая муторная часть - это калибровка ассистента. Чтобы он оценивал так, как это делает человек. Так как логика некоторых пунктов может быть очень запутанной и нужно это все заложить в критерии оценки. Типо, если клиент целевой, то мы оцениваем пункт одним образом, а если не целевой, то другим образом.
Но самое бесячее, это когда вроде всё описано, разбито на блоки и т.д, а процент совпадений оценок все равно супер низкий. Тогда начинаю сам слушать звонки и тут обычно 3 варианта:
🔘 Человек ошибся и оценил не корректно. Тут просто исправляем оценку и двигаемся дальше
🔘 Человек оценил корректно, но руководствовался какими-то неписанными правилами, которые передаются из уст в уста внутри отдела. Тогда приходится повторно встречаться с ответственным, уточнять все эти узкие моменты и корректировать логику оценки
🔘 Робот ошибся. Тут все понятно, косяк на нашей стороне и нужно копать в причины ошибки
По последнему пункту остановлюсь чуть подробнее. Что вообще помогает улучшать качество оценки:
☑️ Для каждого критерия описывать формат фиксации т.е что и в каком виде нужно достать из звонка, чтобы оценить критерий
☑️ Для сложных случаев в формате фиксации описать цепочку рассуждений, которые должен зафиксировать ассистент
☑️ Порядок полей в ответе: фиксация всегда идет перед финальным ответом по критерию
☑️ Для больших чек-листов и звонков(больше 30 пунктов например) разбивать оценку на этапы диалога и оценивать каждый этап отдельно
Возможно банальщина и вы это все знали, но такие штуки верхнеуровнево позволяют выровнять качество оценки и продолжать дальше докапывать до деталей. А как оказалось для каждого чек-листа или методики оценки их там херова туча)
👍7❤4
Слышали историю про парня, который вайбкодил SaaS, активно рассказывал про это в твиттере, а потом бросил это дело так как его проект захерачили из-за проблем с безопасностью?
Много, кто говорит про проблемы с безопасностью на вайбкодовых проектах (слово то какое😃), но это не проблема вайбкодинга. Точно так же говорили и про бабл когда-то, когда кто-то не углублялся в настройки privacy rules. Нашел в твиттере пост про базовые настройки безопасности при работе в cursor/windsurf и несу их вам) Больше всего подойдет тем, кто вайбкодит на Next JS с Supabase и Vercel, но в целом под себя докрутить не проблема
Итак:
1. Ключи доступа
Проблема: Жёстко закодированные ключи в коде
Решение:
- NEXT_PUBLIC_* (публичные настройки) записываем в .env файл
- Секреты (API keys, токены) записываем в .env.local (и добавляем в `.gitignore`)
Промт для Cursor/Windsurf:
Если используете Vercel, то прописывайте все секреты в Environment Variables. Как у других хз, не работал
2. Supabase: RLS (Row Level Security)
Проблема: Anon Key Supabase по умолчанию читает все данные из БД.
Решение: Включить RLS и политики доступа.
Промт:
Теперь вашу БД не скачают через DevTools.
3. Защита API
Проблема: Любой может спамить ваши /api -роуты.
Решение:
- JWT в Authorization header
- Валидация полей (Zod)
- Rate-limiting (~5 запросов/мин на IP) - но тут, думаю, корректнее каждому самому определить нужный лимит
Промт:
Теперь API под замком.
4. Итог
Что мы починили:
Секреты — не в GitHub
Supabase — данные только для своих
API — аутентификация + лимиты
Много, кто говорит про проблемы с безопасностью на вайбкодовых проектах (слово то какое😃), но это не проблема вайбкодинга. Точно так же говорили и про бабл когда-то, когда кто-то не углублялся в настройки privacy rules. Нашел в твиттере пост про базовые настройки безопасности при работе в cursor/windsurf и несу их вам) Больше всего подойдет тем, кто вайбкодит на Next JS с Supabase и Vercel, но в целом под себя докрутить не проблема
Итак:
1. Ключи доступа
Проблема: Жёстко закодированные ключи в коде
Решение:
- NEXT_PUBLIC_* (публичные настройки) записываем в .env файл
- Секреты (API keys, токены) записываем в .env.local (и добавляем в `.gitignore`)
Промт для Cursor/Windsurf:
Используй process.env.<VAR> для всех секретов. Если нужна новая переменная, скажи точный ключ для .env.local. Предполагай, что .env.local уже существует.
Если используете Vercel, то прописывайте все секреты в Environment Variables. Как у других хз, не работал
2. Supabase: RLS (Row Level Security)
Проблема: Anon Key Supabase по умолчанию читает все данные из БД.
Решение: Включить RLS и политики доступа.
Промт:
Включи Row Level Security на всех таблицах. Создай политики через auth.uid(), чтобы пользователи видели только свои данные. Никогда не используй service_role в клиенте. Для админ-действий — только RPC + серверные вызовы. Все запросы должны быть параметризованы.
Теперь вашу БД не скачают через DevTools.
3. Защита API
Проблема: Любой может спамить ваши /api -роуты.
Решение:
- JWT в Authorization header
- Валидация полей (Zod)
- Rate-limiting (~5 запросов/мин на IP) - но тут, думаю, корректнее каждому самому определить нужный лимит
Промт:
Для каждого /api роута:
- Проверяй JWT в заголовке
- Отклоняй некорректные данные
- Лимитируй запросы (429 при превышении)
- Валидируй ввод через Zod
Затем просканируй репозиторий на наличие хардкодных токенов.
Теперь API под замком.
4. Итог
Что мы починили:
Секреты — не в GitHub
Supabase — данные только для своих
API — аутентификация + лимиты
🔥14👍4👌1
Ребрендинг канала
Короче я уже больше года работаю в найме. И это пока самый спокойный год в моей жизни. Денег стало больше, гемора меньше. Да еще и оплаты ни у кого выбивать не нужно😀
Но при чем тут вообще ИП и ЗП и не пора ли отписаться от канала?
Постараюсь объяснить:
ИП - это про предпринимательство. Причем предпринимательство у меня как в рамках работы по найму, так и в рамках каких-то своих собственных проектов. Тема про пет-проекты, микросаасы и прочие индихакерские движухи как раз сюда.
ЗП - это про найм. В тырнете оч много про «не работай на дядю», делай бизнес и миллионы на {{любая хайповая тема от зерокодинга до ИИ}}. Но как оказалось, и для меня это тоже стало открытием, можно в рамках компании реализовывать свои хотелки, доносить идеи и получать ресурсы. Можно даже проебываться и не отдать за это почку. Когда ты фрилансишь, делаешь студию или какой-то продукт, то постоянно на нервяках и живешь в стиле американских горок «буду богатым»-«умру под мостом». А тут, как говориться, можно и рыбку съесть, и пет проект по вечерам делать.
«ИП на ЗП» - это моя адаптация твиттерского «full time developer by day, indiehacker by night». А с учетом текущих ИИ-приблуд от генерации картинок до курсора трудно представить время лучше для такого совмещения, чем сейчас. Ну и само название меня прикалывает, чего уж там😀
Поэтому буду шитпостить про пет-проекты, солопренерство и работу в найме, старательно закручивая это в увлекательный сторителинг(но тут хз)
Курсы продавать не планирую, карьерные консультации не провожу, фриланс не беру. Иногда ругаюсь матом, а про темы выше всегда рад пообщаться лично - пишите в сообщения канала.
Короче я уже больше года работаю в найме. И это пока самый спокойный год в моей жизни. Денег стало больше, гемора меньше. Да еще и оплаты ни у кого выбивать не нужно😀
Но при чем тут вообще ИП и ЗП и не пора ли отписаться от канала?
Постараюсь объяснить:
ИП - это про предпринимательство. Причем предпринимательство у меня как в рамках работы по найму, так и в рамках каких-то своих собственных проектов. Тема про пет-проекты, микросаасы и прочие индихакерские движухи как раз сюда.
ЗП - это про найм. В тырнете оч много про «не работай на дядю», делай бизнес и миллионы на {{любая хайповая тема от зерокодинга до ИИ}}. Но как оказалось, и для меня это тоже стало открытием, можно в рамках компании реализовывать свои хотелки, доносить идеи и получать ресурсы. Можно даже проебываться и не отдать за это почку. Когда ты фрилансишь, делаешь студию или какой-то продукт, то постоянно на нервяках и живешь в стиле американских горок «буду богатым»-«умру под мостом». А тут, как говориться, можно и рыбку съесть, и пет проект по вечерам делать.
«ИП на ЗП» - это моя адаптация твиттерского «full time developer by day, indiehacker by night». А с учетом текущих ИИ-приблуд от генерации картинок до курсора трудно представить время лучше для такого совмещения, чем сейчас. Ну и само название меня прикалывает, чего уж там😀
Поэтому буду шитпостить про пет-проекты, солопренерство и работу в найме, старательно закручивая это в увлекательный сторителинг(но тут хз)
Курсы продавать не планирую, карьерные консультации не провожу, фриланс не беру. Иногда ругаюсь матом, а про темы выше всегда рад пообщаться лично - пишите в сообщения канала.
1👍18❤8🔥4👏2
Как я зафакапил Speeqa
Когда нибудь в этом канале будет пост про то, что всё получилось. Ну а пока пишу как есть) Речь, если что, про это
Когда в компании только начались разговоры о том, чтобы сделать анализ звонков в виде отдельного продукта я за это зацепился т.к мне это интересно, это поможет вырасти внутри + возможность делать что-то «своё» внутри компании. Поэтому при первом видимом успехе на внутренних отделах закинул биг боссам челлендж о том, что я легко найду первых клиентов и смогу вывести это на рынок. Вообще, я почему-то решил, что среди своих старых контактов у кого есть бизнес и читателей канала я быстро сделаю 2-3 продажи и получу ресурсы на то, чтобы развивать это дальше.
Тут меня накрыло в первый раз т.к быстро и просто не получилось и у кого-то уже были внедрены подобные решения, кому-то это было не нужно, кто-то просто заигнорил.
Второй раз накрыло, когда наши внутренние пользователи пришли и сказали: «Жень, ну продукт говно, мы не пользуемся». Тут тоже все косяки мои: пытаясь привлечь кого-то извне я больше времени тратил на то, чтобы «вычистить» все перед демо, вместо того, чтобы улучшать качество продукта внутри. И второе, основное, сам пайплайн оценки звонков был кривой, что приводило к не прогнозируемому и не стабильному качеству.
Ну и вишенка, я почему-то решил, что сначала сделать интерфейс и личный кабинет будет отличной идеей😀 Но когда в этот личный кабинет одному отделу понадобилось отображать данные в одном виде, другому в другом, а третьим вообще нужна сводка - я понял, что пилить интерфейс под каждого не вариант, а делать сложный конструктор отчетов не было ни желания, ни ресурсов.
В итоге решил, что делать в таком режиме дальше это прямой путьбыть опущенным в чушпаны просрать проект, поэтому собрался с мыслями, публично перед всеми признал, что пошел не в ту дверь и предложил план как из этой жопы выбраться.
Он, по сути, свелся к трём вещам:
⁃ убрать все внешние активности
⁃ сфокусироваться на том, чтобы перезапустить отделы внутри компании
⁃ Улучшить качество и стабильность самого продукта
Дальше расскажу что делали, чтобы начать затаскивать ценность, а не показывать красивые интерфейсы.
Если вы любители плотных инсайтов, то вот он:старайтесь сразу всё сделать правильно, а не правильно старайтесь не делать.
Когда нибудь в этом канале будет пост про то, что всё получилось. Ну а пока пишу как есть) Речь, если что, про это
Когда в компании только начались разговоры о том, чтобы сделать анализ звонков в виде отдельного продукта я за это зацепился т.к мне это интересно, это поможет вырасти внутри + возможность делать что-то «своё» внутри компании. Поэтому при первом видимом успехе на внутренних отделах закинул биг боссам челлендж о том, что я легко найду первых клиентов и смогу вывести это на рынок. Вообще, я почему-то решил, что среди своих старых контактов у кого есть бизнес и читателей канала я быстро сделаю 2-3 продажи и получу ресурсы на то, чтобы развивать это дальше.
Тут меня накрыло в первый раз т.к быстро и просто не получилось и у кого-то уже были внедрены подобные решения, кому-то это было не нужно, кто-то просто заигнорил.
Второй раз накрыло, когда наши внутренние пользователи пришли и сказали: «Жень, ну продукт говно, мы не пользуемся». Тут тоже все косяки мои: пытаясь привлечь кого-то извне я больше времени тратил на то, чтобы «вычистить» все перед демо, вместо того, чтобы улучшать качество продукта внутри. И второе, основное, сам пайплайн оценки звонков был кривой, что приводило к не прогнозируемому и не стабильному качеству.
Ну и вишенка, я почему-то решил, что сначала сделать интерфейс и личный кабинет будет отличной идеей😀 Но когда в этот личный кабинет одному отделу понадобилось отображать данные в одном виде, другому в другом, а третьим вообще нужна сводка - я понял, что пилить интерфейс под каждого не вариант, а делать сложный конструктор отчетов не было ни желания, ни ресурсов.
В итоге решил, что делать в таком режиме дальше это прямой путь
Он, по сути, свелся к трём вещам:
⁃ убрать все внешние активности
⁃ сфокусироваться на том, чтобы перезапустить отделы внутри компании
⁃ Улучшить качество и стабильность самого продукта
Дальше расскажу что делали, чтобы начать затаскивать ценность, а не показывать красивые интерфейсы.
Если вы любители плотных инсайтов, то вот он:
1👍13❤3❤🔥2
Итак, продолжаю историю. Это третий вариант этого поста. Сначала хотел углубиться в технические детали того, как переделали решение под капотом, но потом пообщался и послушал как делают конкуренты, с какими проблемами борются и как пытаются их решать и понял, что с концептуальной и технической точки зрения мы эти проблемы неплохо решаем и как-то глупо вываливать это в паблик. Мы же вообще то на этом деньги хотим зарабатывать💸
Поэтому уберегу вас от технических подробностей и нудятины. Вот по шагам, что мы сделали для того, чтобы перезапуститься:
1. Задались вопросом как давать стабильное качество оценки и упоролись в поиск решения - нашли. На самом деле оно с одной стороны и на поверхности, но как обычно дьявол в деталях.
2. По заветам Пола Грэма - начали делать вещи, которые не масштабируются. А именно, ручная настройка под конкретный отдел, построение индивидуальных дашбордов и отчётов. Короче, по сути, временный отказ от модели SaaS в пользу кастомного внедрения под конкретный кейс конкретного заказчика.
3. Посмотрели на старые процессы свежей головой и увидели оптимизации, которые сильно облегчили жизнь. Например, я сэкономил пару часов на чтении документации АМО и мы сделали какой-то ебический и ненадежный говнолет для мэтчинга звонков и сделок, хотя все решается простым вебхуком 😵
В итоге, у нас сейчас раскатано это в 5 отделах, под тысячу звонков анализируется ежедневно и постепенно запускаются продажи с первыми небольшими успехами
Поэтому уберегу вас от технических подробностей и нудятины. Вот по шагам, что мы сделали для того, чтобы перезапуститься:
1. Задались вопросом как давать стабильное качество оценки и упоролись в поиск решения - нашли. На самом деле оно с одной стороны и на поверхности, но как обычно дьявол в деталях.
2. По заветам Пола Грэма - начали делать вещи, которые не масштабируются. А именно, ручная настройка под конкретный отдел, построение индивидуальных дашбордов и отчётов. Короче, по сути, временный отказ от модели SaaS в пользу кастомного внедрения под конкретный кейс конкретного заказчика.
3. Посмотрели на старые процессы свежей головой и увидели оптимизации, которые сильно облегчили жизнь. Например, я сэкономил пару часов на чтении документации АМО и мы сделали какой-то ебический и ненадежный говнолет для мэтчинга звонков и сделок, хотя все решается простым вебхуком 😵
В итоге, у нас сейчас раскатано это в 5 отделах, под тысячу звонков анализируется ежедневно и постепенно запускаются продажи с первыми небольшими успехами
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Запустили, кстати, продажи. Пока в холодную через email аутрич и звонки. Аутрич работает лучше😂
Тут пока ковыряюсь с аутричем помимо автоматизации собрал себе сегодняприблуду хром расширение, которое выступает небольшим копайлотом по написанию и отправке персонализированного первого письма.
Логика у меня простая:
- Найти компании которые сейчас нанимают кого-то, кто должен слушать и анализировать звонки. Ищу через datanewton - там как раз есть такой фильтр
- Из расширения вся инфа по компании парсится и летит в n8n
- Там анализируется сайт компании (как основная, так и не основные страницы)
- Формируется общее представление о компании + холодное письмо
- По кнопке "Отправить" тоже через n8n отправляю с личных почт, созданных под это дело, письмо лидам
Хз что получится, если будет что рассказать - расскажу)
Сами рассылки через сервис coldy делаю, российский, работает с почтами от мэйл.ру + есть бесплатный прогрев почт - так что если надо, то знайте теперь.
Ну и само расширение в видосе. Накидал в перерывах между основными задачками при помощи gpt5
Тут пока ковыряюсь с аутричем помимо автоматизации собрал себе сегодня
Логика у меня простая:
- Найти компании которые сейчас нанимают кого-то, кто должен слушать и анализировать звонки. Ищу через datanewton - там как раз есть такой фильтр
- Из расширения вся инфа по компании парсится и летит в n8n
- Там анализируется сайт компании (как основная, так и не основные страницы)
- Формируется общее представление о компании + холодное письмо
- По кнопке "Отправить" тоже через n8n отправляю с личных почт, созданных под это дело, письмо лидам
Хз что получится, если будет что рассказать - расскажу)
Сами рассылки через сервис coldy делаю, российский, работает с почтами от мэйл.ру + есть бесплатный прогрев почт - так что если надо, то знайте теперь.
Ну и само расширение в видосе. Накидал в перерывах между основными задачками при помощи gpt5
🔥9👍3
В какое же говно превратилась трибуна на VC 🥲
Где сейчас на новые проекты можно посмотреть? Только на радаре?
Где сейчас на новые проекты можно посмотреть? Только на радаре?
👍2