Как создавать простых и надёжных LLM-агентов
(Итоги моего 2024 года по работе с LLM)
Всё больше убеждаюсь, что ключ к успеху в создании LLM-агентов — это не сложность, а ясность и эффективность. В 2024-м видел и провел множество экспериментов, а в ближайшие годы, уверен, фокус сместится на надёжность и практичность.
🐾 Простота — это сила
Первое, правило: агент должен решать конкретную задачу. Пример — перевести текст, обработать данные или предложить улучшения в коде. Чем чётче задача, тем меньше сюрпризов на выходе.
Не стоит сразу строить сложные системы. Начните с минимальной версии: один вызов модели для основной задачи, плюс дополнительные шаги для проверки результата. Проверяйте, работает ли решение. Если да, двигайтесь дальше.
И главное — тестируйте. Используйте метрики, автотесты, сравнивайте результаты. Это лучший способ понять, где слабые места, и вовремя всё исправить.
🧠 А что с агентами?
Иногда действительно нужен агент, который будет самостоятельно определять порядок действий и выбирать инструменты. Это полезно, если процесс сложный и заранее прописать всё невозможно.
Например, представьте систему, которая работает с несколькими файлами, анализирует их и принимает решения, что нужно исправить. Такие агенты впечатляют, но их важно ограничивать: задайте предел итераций, чтобы не допустить бесконечных циклов.
🛠 Основы построения агента
💡 Чем проще, тем лучше. Сложные системы часто ломаются в самых неожиданных местах.
🔍 Прозрачность. Агент должен "объяснять", что делает: какой план действий и почему он выбрал именно этот путь.
📖 Ясный интерфейс. Хорошая документация, понятные инструкции и примеры помогут избежать недоразумений.
⚙️ Стоит ли использовать фреймворки?
Фреймворков сейчас предостаточно: LangChain, LangGraph, решения от Amazon и других компаний. Они дают возможность быстро создавать агентов, но из-за сложности реализации могут затруднять отладку.
Поэтому мой совет — начинать с прямого использования API LLM. Это помогает лучше понять работу системы и держать процесс под контролем.
🔧 Полезные практики
⚡️ Используйте минимально возможный подход: если задачу решают два вызова LLM, не добавляйте лишнего.
✅ Всегда проверяйте результат: автооценка, дополнительные проверки или даже ручной просмотр.
🧩 Не бойтесь комбинировать подходы: например, разбивайте задачу на этапы или работайте параллельно. Главное — сохранять структуру и чёткость.
🛠 Пример: агент для кода
📂 Простая задача: LLM анализирует файл и предлагает улучшения.
🧑💻 Распределение задач: добавьте агента, который управляет несколькими "помощниками".
🔍 Проверка результатов: используйте вторую модель или ручную проверку для финальной оценки.
✨ Главный инсайт
Работа с LLM — это не про сложность ради сложности. Успешная система должна быть предсказуемой, точной и управляемой. Лучше начать с малого и постепенно добавлять новые возможности, чем сразу пытаться охватить всё.
P.S. Если думаете о разработке своего помощника, чётко определите его границы. Давайте доступ только к тем данным, с которыми агенту действительно нужно работать. Да, это может казаться ограничением, но правильный подход всегда окупается.
Для вдохновения рекомендую заглянуть в статью от Anthropic — там много примеров и полезных схем.
А вы уже пробовали создавать агентов? Делитесь своими методами и идеями! 🚀
И всех с наступающим!☃️
(Итоги моего 2024 года по работе с LLM)
Всё больше убеждаюсь, что ключ к успеху в создании LLM-агентов — это не сложность, а ясность и эффективность. В 2024-м видел и провел множество экспериментов, а в ближайшие годы, уверен, фокус сместится на надёжность и практичность.
🐾 Простота — это сила
Первое, правило: агент должен решать конкретную задачу. Пример — перевести текст, обработать данные или предложить улучшения в коде. Чем чётче задача, тем меньше сюрпризов на выходе.
Не стоит сразу строить сложные системы. Начните с минимальной версии: один вызов модели для основной задачи, плюс дополнительные шаги для проверки результата. Проверяйте, работает ли решение. Если да, двигайтесь дальше.
И главное — тестируйте. Используйте метрики, автотесты, сравнивайте результаты. Это лучший способ понять, где слабые места, и вовремя всё исправить.
🧠 А что с агентами?
Иногда действительно нужен агент, который будет самостоятельно определять порядок действий и выбирать инструменты. Это полезно, если процесс сложный и заранее прописать всё невозможно.
Например, представьте систему, которая работает с несколькими файлами, анализирует их и принимает решения, что нужно исправить. Такие агенты впечатляют, но их важно ограничивать: задайте предел итераций, чтобы не допустить бесконечных циклов.
🛠 Основы построения агента
💡 Чем проще, тем лучше. Сложные системы часто ломаются в самых неожиданных местах.
🔍 Прозрачность. Агент должен "объяснять", что делает: какой план действий и почему он выбрал именно этот путь.
📖 Ясный интерфейс. Хорошая документация, понятные инструкции и примеры помогут избежать недоразумений.
⚙️ Стоит ли использовать фреймворки?
Фреймворков сейчас предостаточно: LangChain, LangGraph, решения от Amazon и других компаний. Они дают возможность быстро создавать агентов, но из-за сложности реализации могут затруднять отладку.
Поэтому мой совет — начинать с прямого использования API LLM. Это помогает лучше понять работу системы и держать процесс под контролем.
🔧 Полезные практики
⚡️ Используйте минимально возможный подход: если задачу решают два вызова LLM, не добавляйте лишнего.
✅ Всегда проверяйте результат: автооценка, дополнительные проверки или даже ручной просмотр.
🧩 Не бойтесь комбинировать подходы: например, разбивайте задачу на этапы или работайте параллельно. Главное — сохранять структуру и чёткость.
🛠 Пример: агент для кода
📂 Простая задача: LLM анализирует файл и предлагает улучшения.
🧑💻 Распределение задач: добавьте агента, который управляет несколькими "помощниками".
🔍 Проверка результатов: используйте вторую модель или ручную проверку для финальной оценки.
✨ Главный инсайт
Работа с LLM — это не про сложность ради сложности. Успешная система должна быть предсказуемой, точной и управляемой. Лучше начать с малого и постепенно добавлять новые возможности, чем сразу пытаться охватить всё.
P.S. Если думаете о разработке своего помощника, чётко определите его границы. Давайте доступ только к тем данным, с которыми агенту действительно нужно работать. Да, это может казаться ограничением, но правильный подход всегда окупается.
Для вдохновения рекомендую заглянуть в статью от Anthropic — там много примеров и полезных схем.
А вы уже пробовали создавать агентов? Делитесь своими методами и идеями! 🚀
И всех с наступающим!
Please open Telegram to view this post
VIEW IN TELEGRAM
Anthropic
Building Effective AI Agents
Discover how Anthropic approaches the development of reliable AI agents. Learn about our research on agent capabilities, safety considerations, and technical framework for building trustworthy AI.
❤1🔥1
Как мы будем взаимодействовать с LLM в этом году?
Как вы знаете, 2025 год объявлен годом LLM-агентов. И мне стало интересно: как LLM (и в какой степени) может самостоятельно справляться со сложными задачами, если у неё есть возможность использовать сторонние инструменты или агентов?
🤖 Оказывается, существует несколько паттернов проектирования, которые помогают организовать взаимодействие LLM с инструментами:
- ReAct (Reason + Act) — модель размышляет над задачей пошагово и вызывает нужные агенты по мере необходимости.
- Plan-and-Execute — сначала формируется план (какие шаги нужно сделать), а потом они выполняются.
- Self-Ask — LLM задаёт себе вопросы и ищет ответы через вызовы агентов.
- Controller + Executors — контроллер управляет процессом, вызывая необходимые инструменты.
Я подробно разобрал эти подходы, посмотрел их плюсы и минусы, и выбрал ReAct как оптимальный паттерн для задач, требующих гибкости и пошагового выполнения.
📚 На эту тему я написал пост в блог:
Читать статью на Nerdit
💻 А для разработчиков подготовил репозиторий с примером реализации ReAct на Python в виде телеграм бота:
Посмотреть код на GitHub
Если вам интересно, как научить LLM использовать инструменты эффективно — заходите, читайте и пробуйте код!
Делитесь своим мнением в комментариях. 😊
#LLM #ReAct #AI #Разработка
Как вы знаете, 2025 год объявлен годом LLM-агентов. И мне стало интересно: как LLM (и в какой степени) может самостоятельно справляться со сложными задачами, если у неё есть возможность использовать сторонние инструменты или агентов?
🤖 Оказывается, существует несколько паттернов проектирования, которые помогают организовать взаимодействие LLM с инструментами:
- ReAct (Reason + Act) — модель размышляет над задачей пошагово и вызывает нужные агенты по мере необходимости.
- Plan-and-Execute — сначала формируется план (какие шаги нужно сделать), а потом они выполняются.
- Self-Ask — LLM задаёт себе вопросы и ищет ответы через вызовы агентов.
- Controller + Executors — контроллер управляет процессом, вызывая необходимые инструменты.
Я подробно разобрал эти подходы, посмотрел их плюсы и минусы, и выбрал ReAct как оптимальный паттерн для задач, требующих гибкости и пошагового выполнения.
📚 На эту тему я написал пост в блог:
Читать статью на Nerdit
💻 А для разработчиков подготовил репозиторий с примером реализации ReAct на Python в виде телеграм бота:
Посмотреть код на GitHub
Если вам интересно, как научить LLM использовать инструменты эффективно — заходите, читайте и пробуйте код!
Делитесь своим мнением в комментариях. 😊
#LLM #ReAct #AI #Разработка
👍1
AI на дровах 🪵
Как мы будем взаимодействовать с LLM в этом году? Как вы знаете, 2025 год объявлен годом LLM-агентов. И мне стало интересно: как LLM (и в какой степени) может самостоятельно справляться со сложными задачами, если у неё есть возможность использовать сторонние…
Самое интересное!
Буквально вчера я задался вопросом: а как сделать так, чтобы LLM сама могла решать поставленные задачи, даже если у неё нет нужных инструментов?
И знаете что? Это тоже возможно! 🤯
🔄 Как это работает?
Через агента, который способен...создавать новых агентов!
Представьте:
- Пользователь ставит задачу, для которой у системы ещё нет подходящего инструмента.
- Агент анализирует задачу и пишет код нового агента, который способен её решить.
- Система автоматически регистрирует и запускает созданный агент, а затем выполняет задачу.
Это уже напоминает самовоспроизводимую систему, где LLM может не только решать задачи, но и динамически расширять свои возможности.
🤖 Пример:
Пользователь: «Подсчитай, сколько уникальных слов в этом тексте.»
Система: Понимает, что такого агента нет → пишет код нового агента для подсчёта слов → регистрирует его → вызывает → возвращает результат.
И тут возникают новые вопросы:
Что, если таким способом LLM сможет самообучаться и улучшать себя?
Где граница между автономным решением задач и полной автоматизацией?
Похоже год будет интересным☃️
Буквально вчера я задался вопросом: а как сделать так, чтобы LLM сама могла решать поставленные задачи, даже если у неё нет нужных инструментов?
И знаете что? Это тоже возможно! 🤯
🔄 Как это работает?
Через агента, который способен...
Представьте:
- Пользователь ставит задачу, для которой у системы ещё нет подходящего инструмента.
- Агент анализирует задачу и пишет код нового агента, который способен её решить.
- Система автоматически регистрирует и запускает созданный агент, а затем выполняет задачу.
Это уже напоминает самовоспроизводимую систему, где LLM может не только решать задачи, но и динамически расширять свои возможности.
🤖 Пример:
Пользователь: «Подсчитай, сколько уникальных слов в этом тексте.»
Система: Понимает, что такого агента нет → пишет код нового агента для подсчёта слов → регистрирует его → вызывает → возвращает результат.
И тут возникают новые вопросы:
Что, если таким способом LLM сможет самообучаться и улучшать себя?
Где граница между автономным решением задач и полной автоматизацией?
Похоже год будет интересным
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
В этот последний праздничный день решил привнести что-то новое в свои рабочие будни (уже завтра 🙃)
У меня вечная проблема: куда-то записывать свои задачи. В итоге пишу куда попало, в основном в текстовые файлики, которых накопилась целая куча, а хочется большой структурированности.
Давно хотел подойти к Obsidian, но создание и тегирование заметок там кажется чем-то трудоёмким.
Хочется, чтобы вжух — и готово! 😂
И вот, в качестве эксперимента над собой, решил создать бота, который будет всё делать за меня: записывать, автотегировать и сохранять заметки, чтобы потом быстро просматривать их в Obsidian.
Посмотрим, что из этого выйдет!
На видео пример работы. Пока только базовый функционал, но если мне зайдёт, буду расширять и поделюсь с вами 😎
Всем хорошего начала трудовых будней 🚀
#Obsidian #LLM #Bots
У меня вечная проблема: куда-то записывать свои задачи. В итоге пишу куда попало, в основном в текстовые файлики, которых накопилась целая куча, а хочется большой структурированности.
Давно хотел подойти к Obsidian, но создание и тегирование заметок там кажется чем-то трудоёмким.
Хочется, чтобы вжух — и готово! 😂
И вот, в качестве эксперимента над собой, решил создать бота, который будет всё делать за меня: записывать, автотегировать и сохранять заметки, чтобы потом быстро просматривать их в Obsidian.
Посмотрим, что из этого выйдет!
На видео пример работы. Пока только базовый функционал, но если мне зайдёт, буду расширять и поделюсь с вами 😎
Всем хорошего начала трудовых будней 🚀
#Obsidian #LLM #Bots
🔥6
Newwhitepaper_Agents2.pdf
4.1 MB
Google выпустил базовый документ, посвященный AI-агентам
Под агентами в нём понимаются программы, которые расширяют возможности генеративных AI-моделей, позволяя им использовать инструменты для доступа к актуальной информации и выполнения действий во внешнем мире.
#ai #google #agents
Под агентами в нём понимаются программы, которые расширяют возможности генеративных AI-моделей, позволяя им использовать инструменты для доступа к актуальной информации и выполнения действий во внешнем мире.
#ai #google #agents
🔥3
Эксперты из Центра непрерывного образования ФКН ВШЭ, магистратуры «Искусственный интеллект» и «Яндекс Образования» разработали и опубликовали бесплатный хендбук по математике для анализа данных. Это седьмое онлайн-издание из серии цифровых учебников, посвященных конкретным IT-направлениям для самостоятельного изучения.
Хендбуки — это новый формат онлайн-учебников, которые состоят из нескольких глав для самостоятельного изучения и доступны всем на платформе «Яндекс Образования». Новый хендбук по математике пригодится тем, кто хочет разобраться в математической стороне работы алгоритмов машинного и глубинного обучения. Он подойдет как новичкам в высшей математике, так и тем, кто уже знаком с базовыми концепциями и хочет углубить свои знания.
#вшэ #аналитика #yandex
Хендбуки — это новый формат онлайн-учебников, которые состоят из нескольких глав для самостоятельного изучения и доступны всем на платформе «Яндекс Образования». Новый хендбук по математике пригодится тем, кто хочет разобраться в математической стороне работы алгоритмов машинного и глубинного обучения. Он подойдет как новичкам в высшей математике, так и тем, кто уже знаком с базовыми концепциями и хочет углубить свои знания.
#вшэ #аналитика #yandex
education.yandex.ru
Хендбук по математике для аналитики и машинного обучения - Высшая математика с нуля
Практическое руководство по математике для начинающих специалистов в анализе данных. Теория, код и задачи для прикладного машинного обучения.
Друзья, я не пропал!
Последнее время работа меня плотно засосала, и писать сюда удаётся не так часто, как хотелось бы. Но! Это не значит, что мне нечем с вами поделиться. Наоборот — за этот период накопилось столько интересных инсайтов, что скоро будем разбирать их вместе!
Спасибо, что остаетесь здесь. Скоро вернусь с крутым контентом! 🚀🔥
Последнее время работа меня плотно засосала, и писать сюда удаётся не так часто, как хотелось бы. Но! Это не значит, что мне нечем с вами поделиться. Наоборот — за этот период накопилось столько интересных инсайтов, что скоро будем разбирать их вместе!
Спасибо, что остаетесь здесь. Скоро вернусь с крутым контентом! 🚀🔥
👍6
Реранкер, или кто такие би-энкодер и кросс-энкодер? 🤔🚀
Решил не откладывать в долгий ящик новую информацию, которой готов поделиться. Итак, первый инсайт за последнее время! Сейчас плотно занимаюсь задачей создания и поиска по базе знаний, и — с пылу с жару — хочу рассказать про реранкер и как он помогает в задачах RAG (Retrieval-Augmented Generation).
А теперь обо всём по порядку…
Знали ли вы, что в мире поиска информации есть два таинственных «персонажа», которые помогают быстро докопаться до сути? Представляем:
🤝 Би-энкодер: Спид-дэйтинг с текстами
Представьте, что ваш запрос и документы ходят на быстрые свидания. Встреча длится пару секунд (прогнали текст через модель) — бац, у каждого свой вектор-профиль!
- Би-энкодер отдельно «снимает мерки» (эмбеддинги) запроса и документов.
- Затем они сравниваются по «уровню совместимости» (косинусная близость, евклидово расстояние — кому что нравится).
- Результат: модель мгновенно предлагает список возможных «кандидатов», которые могут вам подойти.
🤔 Кросс-энкодер: Строгий финальный судья
Когда из толпы претендентов отобраны «возможные фавориты», в дело вступает кросс-энкодер — такой себе строгий критик с лупой:
- Он одновременно читает и запрос, и документ, высматривает малейшие детали и выдаёт оценку релевантности.
- Работает медленнее, зато справедливее — идеально подходит для «реранкинга» и расстановки финальных приоритетов. 🤓
Как помогает в задачах RAG?
RAG (Retrieval-Augmented Generation) — подход, когда система (например, ChatGPT) берёт контекст из векторной базы и на его основе генерирует ответ. Чем точнее «подтягивается» этот контекст, тем более релевантной получается генерация.
- Быстрый отбор: Би-энкодер выуживает из большой базы подходящие документы — своего рода «черновой» отбор.
- Снайперская точность: Кросс-энкодер дорабатывает список, убирая нерелевантные фрагменты и расставляя всё по местам.
- Итог: Генеративная модель получает наиболее подходящие данные и выдаёт более «умный» ответ.
Если вы хотите, чтобы ваша векторная база знаний работала, как швейцарские часы, и при этом молниеносно и точно отвечала на запросы (а особенно если используете RAG), то комбинация би-энкодера для быстрого поиска и кросс-энкодера для реранкинга — ваш лучший выбор! ⏰✨
А если у вас есть своя метафора про би- и кросс-энкодеры — делитесь в комментах!
#Нейросети #NLP #ML #DataScience #ВекторныеБазы #БиЭнкодер #КроссЭнкодер #Поиск #Реранкер #AI #DeepLearning #SemanticSearch
Решил не откладывать в долгий ящик новую информацию, которой готов поделиться. Итак, первый инсайт за последнее время! Сейчас плотно занимаюсь задачей создания и поиска по базе знаний, и — с пылу с жару — хочу рассказать про реранкер и как он помогает в задачах RAG (Retrieval-Augmented Generation).
А теперь обо всём по порядку…
Знали ли вы, что в мире поиска информации есть два таинственных «персонажа», которые помогают быстро докопаться до сути? Представляем:
🤝 Би-энкодер: Спид-дэйтинг с текстами
Представьте, что ваш запрос и документы ходят на быстрые свидания. Встреча длится пару секунд (прогнали текст через модель) — бац, у каждого свой вектор-профиль!
- Би-энкодер отдельно «снимает мерки» (эмбеддинги) запроса и документов.
- Затем они сравниваются по «уровню совместимости» (косинусная близость, евклидово расстояние — кому что нравится).
- Результат: модель мгновенно предлагает список возможных «кандидатов», которые могут вам подойти.
Шутка дня: «Разошлись как-то би-энкодер с документом» — очень быстро, но всё же успели узнать друг о друге достаточно, чтобы подойти или нет.😎
🤔 Кросс-энкодер: Строгий финальный судья
Когда из толпы претендентов отобраны «возможные фавориты», в дело вступает кросс-энкодер — такой себе строгий критик с лупой:
- Он одновременно читает и запрос, и документ, высматривает малейшие детали и выдаёт оценку релевантности.
- Работает медленнее, зато справедливее — идеально подходит для «реранкинга» и расстановки финальных приоритетов. 🤓
Аналогия: Би-энкодер — это фейс-контроль на входе клуба, а кросс-энкодер — диджей, который расставляет главных звёзд вечеринки по местам.
Как помогает в задачах RAG?
RAG (Retrieval-Augmented Generation) — подход, когда система (например, ChatGPT) берёт контекст из векторной базы и на его основе генерирует ответ. Чем точнее «подтягивается» этот контекст, тем более релевантной получается генерация.
- Быстрый отбор: Би-энкодер выуживает из большой базы подходящие документы — своего рода «черновой» отбор.
- Снайперская точность: Кросс-энкодер дорабатывает список, убирая нерелевантные фрагменты и расставляя всё по местам.
- Итог: Генеративная модель получает наиболее подходящие данные и выдаёт более «умный» ответ.
Если вы хотите, чтобы ваша векторная база знаний работала, как швейцарские часы, и при этом молниеносно и точно отвечала на запросы (а особенно если используете RAG), то комбинация би-энкодера для быстрого поиска и кросс-энкодера для реранкинга — ваш лучший выбор! ⏰✨
А если у вас есть своя метафора про би- и кросс-энкодеры — делитесь в комментах!
#Нейросети #NLP #ML #DataScience #ВекторныеБазы #БиЭнкодер #КроссЭнкодер #Поиск #Реранкер #AI #DeepLearning #SemanticSearch
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2👌2
🔥 Автоматизация создания базы знаний с помощью LLM
Привет, друзья! Сегодня расскажу, как мы автоматизировали процесс создания базы знаний, интегрировав генерацию контента с помощью LLM. Основная идея – взять данные из Confluence, дополнить их сгенерированными описаниями и сохранить в виде структурированных записей. Ниже описаны ключевые моменты нашего подхода:
1. Определение структуры данных
Мы задаём структуру записи базы знаний с помощью TypedDict, чтобы гарантировать единообразие данных. Пример:
2. Генерация краткого описания (summary)
Используем LLM для создания краткого описания каждой страницы. Промт формируется с учетом заголовка, контента и контекста родительской страницы:
Ключевой момент – учитывать родительский контекст, чтобы summary было максимально информативным.
3. Генерация недостающих полей
Для каждой записи мы хотим получить дополнительные данные: вопрос пользователя, подробную инструкцию, ключевые слова, оценку полезности и дату обновления. Для этого составляем детальный промт:
В этом промте мы просим модель сгенерировать нужные данные в виде корректного JSON, что упрощает последующую обработку.
4. Рекурсивное получение родительского summary
Привет, друзья! Сегодня расскажу, как мы автоматизировали процесс создания базы знаний, интегрировав генерацию контента с помощью LLM. Основная идея – взять данные из Confluence, дополнить их сгенерированными описаниями и сохранить в виде структурированных записей. Ниже описаны ключевые моменты нашего подхода:
1. Определение структуры данных
Мы задаём структуру записи базы знаний с помощью TypedDict, чтобы гарантировать единообразие данных. Пример:
from typing import TypedDict
class KnowledgeBaseEntry(TypedDict):
ticket_key: str
title: str
question: str # Пользовательский запрос, сформулированный по содержанию
content: str
instruction_text: str # Подробная инструкция
keywords: str
usefulness_score: float # Оценка полезности (от 0 до 1)
components: str # Компонент, о котором идёт речь
page_link: str # Ссылка на документ в Confluence
updated: str # Дата обновления (например, "YYYY-MM-DD")
2. Генерация краткого описания (summary)
Используем LLM для создания краткого описания каждой страницы. Промт формируется с учетом заголовка, контента и контекста родительской страницы:
def generate_summary_with_llm(title: str, content: str, parent_summary: str = "") -> str:
prompt = f"""
У нас есть страница (или чанк) из Confluence.
- Заголовок: "{title}"
- Содержание (HTML или Markdown):
{content}
Ниже приводится краткое описание родительской страницы (для контекста):
{parent_summary}
Задача: сделай короткое (1-2 предложения) summary для этой страницы,
дополняющее родительский контекст (если нужно).
Верни ТОЛЬКО текст summary.
"""
# Отправляем запрос к LLM и возвращаем сгенерированный текст
Ключевой момент – учитывать родительский контекст, чтобы summary было максимально информативным.
3. Генерация недостающих полей
Для каждой записи мы хотим получить дополнительные данные: вопрос пользователя, подробную инструкцию, ключевые слова, оценку полезности и дату обновления. Для этого составляем детальный промт:
def generate_missing_fields_with_llm(
title: str,
content: str,
components: str,
parent_summary: str = ""
) -> dict:
prompt = f"""
У нас есть информация о статье (или инструкции) из Confluence.
- Заголовок: "{title}"
- Содержание (HTML/Markdown):
{content}
Краткое описание родительской страницы (для контекста):
{parent_summary}
Прошу сгенерировать JSON со следующими полями:
1) "question":
- Формулировка в стиле реального пользовательского запроса,
- Вопрос должен быть сформулирован с учётом компонента "{components}".
2) "instruction_text":
- Подробное и структурированное описание (или пошаговая инструкция).
3) "keywords":
- Ключевые слова (не более 5-7), через запятую, отражающие основную суть.
- Последним элементом добавь {components}.
4) "usefulness_score":
- Число от 0 до 1 (1 — максимально полезно).
5) "updated":
- Реальная дата, если указана, иначе "неизвестно".
Ответ верни в формате JSON без лишнего текста.
"""
# Выполняем запрос к LLM, парсим ответ и возвращаем словарь с полями
В этом промте мы просим модель сгенерировать нужные данные в виде корректного JSON, что упрощает последующую обработку.
4. Рекурсивное получение родительского summary
👍1
Чтобы добавить контекст, мы рекурсивно получаем summary для родительских страниц:
5. Обработка JSON-файлов и сбор итоговой базы
Наконец, мы обрабатываем все исходные JSON-файлы, формируем записи базы знаний и сохраняем промежуточные и финальные результаты.
Такой подход позволяет автоматизировать создание базы знаний и значительно ускорить процесс документирования инструкций и статей. Если у вас есть вопросы – пишите в комментариях!
def get_summary(page_id: str, visited: set = None) -> str:
if not page_id:
return ""
if visited is None:
visited = set()
if page_id in visited:
return ""
visited.add(page_id)
if page_id not in data_map:
return ""
if page_id in summary_map:
return summary_map[page_id]
page_data = data_map[page_id]
payload = page_data.get("payload", {})
parent_id = payload.get("parent_id", "")
parent_summary = get_summary(parent_id, visited)
title = payload.get("title", "")
content = payload.get("content", "")
summary_text = generate_summary_with_llm(title, content, parent_summary)
summary_map[page_id] = summary_text
return summary_text
5. Обработка JSON-файлов и сбор итоговой базы
Наконец, мы обрабатываем все исходные JSON-файлы, формируем записи базы знаний и сохраняем промежуточные и финальные результаты.
Такой подход позволяет автоматизировать создание базы знаний и значительно ускорить процесс документирования инструкций и статей. Если у вас есть вопросы – пишите в комментариях!
🤔 Чем это круче классического подхода при формировании базы в RAG?
- LLM-based подход: Не нужно вручную парсить и аннотировать документы — LLM сделает большую часть работы.
- Богатый контекст: Благодаря рекурсивному получению summary мы получаем не просто набор статей, а целую систему, где каждая запись знает, откуда она пришла и как вписывается в общую картину.
- Готовые запросы: Подготовленные вопросы сразу «знают», что может быть интересно пользователю, что помогает лучше организовать поиск.
- Гибкость: Изменились требования? Легко перенастроить промты, и база данных адаптируется под новые условия.
В общем, я увидел, что интеграция LLM не только ускоряет процесс создания базы знаний, но и делает её более интеллектуальной, релевантной и гибкой по сравнению с классическим RAG, где всё сводится к извлечению эмбеддингов и статичному анализу текста.
Надеюсь, мой опыт будет вам полезен 😎
- LLM-based подход: Не нужно вручную парсить и аннотировать документы — LLM сделает большую часть работы.
- Богатый контекст: Благодаря рекурсивному получению summary мы получаем не просто набор статей, а целую систему, где каждая запись знает, откуда она пришла и как вписывается в общую картину.
- Готовые запросы: Подготовленные вопросы сразу «знают», что может быть интересно пользователю, что помогает лучше организовать поиск.
- Гибкость: Изменились требования? Легко перенастроить промты, и база данных адаптируется под новые условия.
В общем, я увидел, что интеграция LLM не только ускоряет процесс создания базы знаний, но и делает её более интеллектуальной, релевантной и гибкой по сравнению с классическим RAG, где всё сводится к извлечению эмбеддингов и статичному анализу текста.
Надеюсь, мой опыт будет вам полезен 😎
🚀 Сегодня я хочу рассказать вам про Structured Outputs — очень удобную вещь, которая здорово облегчает работу с искусственным интеллектом.
Structured Outputs — это подход, когда модель искусственного интеллекта выдает результаты не просто в виде текста или чисел, а в виде чётко организованных структур данных: JSON, XML, таблицы или даже графы.
Почему это важно лично для меня? Потому что это делает работу с ИИ-проектами намного проще. Например, вместо того, чтобы вручную разбирать текстовые ответы модели, я сразу получаю готовые данные, которые легко интегрировать в другие приложения.
Например, если я спрашиваю у модели:
«Какой прогноз погоды в Москве на завтра?»
То она возвращает мне вот такой структурированный ответ:
Теперь мне не нужно гадать, что именно имелось в виду — информация чётко структурирована и готова к использованию.
Кроме того, Structured Outputs значительно ускоряют аналитику и отчётность. Данные уже разбиты по категориям и готовы к агрегации и визуализации.
Если вы ещё не используете Structured Outputs в своих AI-проектах — советую попробовать.
Это сэкономит вам массу времени и нервов!
#StructuredOutputs #AI #МашинноеОбучение #Автоматизация #AI #JSON #API #DataScience #Интеграция #Технологии
Structured Outputs — это подход, когда модель искусственного интеллекта выдает результаты не просто в виде текста или чисел, а в виде чётко организованных структур данных: JSON, XML, таблицы или даже графы.
Почему это важно лично для меня? Потому что это делает работу с ИИ-проектами намного проще. Например, вместо того, чтобы вручную разбирать текстовые ответы модели, я сразу получаю готовые данные, которые легко интегрировать в другие приложения.
Например, если я спрашиваю у модели:
«Какой прогноз погоды в Москве на завтра?»
То она возвращает мне вот такой структурированный ответ:
{
"intent": "weather_forecast",
"entities": {
"location": "Москва",
"date": "2025-03-08"
}
}Теперь мне не нужно гадать, что именно имелось в виду — информация чётко структурирована и готова к использованию.
Кроме того, Structured Outputs значительно ускоряют аналитику и отчётность. Данные уже разбиты по категориям и готовы к агрегации и визуализации.
Если вы ещё не используете Structured Outputs в своих AI-проектах — советую попробовать.
Это сэкономит вам массу времени и нервов!
#StructuredOutputs #AI #МашинноеОбучение #Автоматизация #AI #JSON #API #DataScience #Интеграция #Технологии
Привет, друзья! Хочу поделиться с вами новыми возможностями @summ_youtube_bot бота 🚀.
Теперь бот умеет преобразовывать YouTube видео в адаптивные образовательные материалы с учетом современных педагогических принципов 🎓.
Вот что нового:
Образовательное видео.
Бот создает структурированные учебные материалы, включающие:
- Учебные цели 📌 — что вы узнаете из материала
- Ключевые концепции 📚 — основные идеи с подробными объяснениями
- Концептуальная карта 🗺 — визуальное представление связей между идеями
- Подробный разбор 🔍 — организованное объяснение содержания
- Резюме 📝 — краткий обзор важнейших моментов
- Применение ⚙️ — как использовать знания на практике
- Самооценка ✅ — вопросы для проверки понимания
Подписывайтесь и используйте бота: https://t.iss.one/summ_youtube_bot
Теперь бот умеет преобразовывать YouTube видео в адаптивные образовательные материалы с учетом современных педагогических принципов 🎓.
Вот что нового:
Образовательное видео.
Бот создает структурированные учебные материалы, включающие:
- Учебные цели 📌 — что вы узнаете из материала
- Ключевые концепции 📚 — основные идеи с подробными объяснениями
- Концептуальная карта 🗺 — визуальное представление связей между идеями
- Подробный разбор 🔍 — организованное объяснение содержания
- Резюме 📝 — краткий обзор важнейших моментов
- Применение ⚙️ — как использовать знания на практике
- Самооценка ✅ — вопросы для проверки понимания
Подписывайтесь и используйте бота: https://t.iss.one/summ_youtube_bot
Telegram
YouTube Bot - Полный доступ к YouTube без ограничений
Помогает искать, просматривать и скачивать видео или аудио напрямую в Telegram ❤️
🔥2
🤖 Давно не делился новыми статьями в блоге – пора исправляться! 📢
За последнее время появилось много полезных материалов для всех, кто интересуется машинным обучением и анализом данных.
Делюсь:
📌 Что такое Structured Outputs?
Как модели машинного обучения могут выдавать не просто числа, а сложные структурированные данные? Разбираем этот важный концепт!
🔗 Читать →
📌 Pandas за 10 минут
Если вам нужно быстро освежить в памяти основы Pandas или освоить его с нуля – этот краткий гайд поможет вам разобраться!
🔗 Читать →
📌 Подготовка к собеседованию на позицию ML-инженера
Какие темы стоит повторить? Какие задачи вас могут ждать?
Вопросы и ответы по теме.
🔗 Читать →
📌 SMOTE: объяснение алгоритма с примерами на Python
Боремся с несбалансированными данными в ML: разбираем алгоритм SMOTE и показываем, как применять его на практике.
🔗 Читать →
📚 Надеюсь, эти статьи окажутся полезными!
Пишите, какие темы вас интересуют – будем разбирать их в следующих статьях. 🚀
За последнее время появилось много полезных материалов для всех, кто интересуется машинным обучением и анализом данных.
Делюсь:
📌 Что такое Structured Outputs?
Как модели машинного обучения могут выдавать не просто числа, а сложные структурированные данные? Разбираем этот важный концепт!
🔗 Читать →
📌 Pandas за 10 минут
Если вам нужно быстро освежить в памяти основы Pandas или освоить его с нуля – этот краткий гайд поможет вам разобраться!
🔗 Читать →
📌 Подготовка к собеседованию на позицию ML-инженера
Какие темы стоит повторить? Какие задачи вас могут ждать?
Вопросы и ответы по теме.
🔗 Читать →
📌 SMOTE: объяснение алгоритма с примерами на Python
Боремся с несбалансированными данными в ML: разбираем алгоритм SMOTE и показываем, как применять его на практике.
🔗 Читать →
📚 Надеюсь, эти статьи окажутся полезными!
Пишите, какие темы вас интересуют – будем разбирать их в следующих статьях. 🚀
🤖 LLM-агенты: хайп или новая реальность? 📦
В этом году вокруг LLM-агентов особенно много хайпа. Все говорят, что вот-вот автономные агенты на базе GPT и других моделей заменят целые команды людей. Но на самом деле мы пока далеки от полноценного «коробочного» решения, которое можно просто поставить и забыть.
Да, агенты умеют решать узкие задачи: анализировать документы, отвечать на вопросы, генерировать тексты и даже выполнять простые действия в приложениях. Но пока это скорее инструменты, расширяющие возможности человека, а не полноценная замена сотрудников.
Основная сложность в том, что любой агент, даже на самом мощном LLM, всё ещё требует настройки, понимания контекста и непрерывного контроля. Чем сложнее и многограннее задача, тем выше вероятность ошибок и непредсказуемого поведения.
Поэтому мой прогноз: ближайший год-два мы будем активно экспериментировать с агентами, выявлять их ограничения и накапливать опыт. Но до массового появления готовых «агентов в коробке», которые заменят сотрудников на сложных задачах, ещё далеко.
А что думаете вы? 🚀 Верите ли в скорое появление автономных коробочных решений или считаете, что это очередной технологический хайп без реального продолжения?
В этом году вокруг LLM-агентов особенно много хайпа. Все говорят, что вот-вот автономные агенты на базе GPT и других моделей заменят целые команды людей. Но на самом деле мы пока далеки от полноценного «коробочного» решения, которое можно просто поставить и забыть.
Да, агенты умеют решать узкие задачи: анализировать документы, отвечать на вопросы, генерировать тексты и даже выполнять простые действия в приложениях. Но пока это скорее инструменты, расширяющие возможности человека, а не полноценная замена сотрудников.
Основная сложность в том, что любой агент, даже на самом мощном LLM, всё ещё требует настройки, понимания контекста и непрерывного контроля. Чем сложнее и многограннее задача, тем выше вероятность ошибок и непредсказуемого поведения.
Поэтому мой прогноз: ближайший год-два мы будем активно экспериментировать с агентами, выявлять их ограничения и накапливать опыт. Но до массового появления готовых «агентов в коробке», которые заменят сотрудников на сложных задачах, ещё далеко.
А что думаете вы? 🚀 Верите ли в скорое появление автономных коробочных решений или считаете, что это очередной технологический хайп без реального продолжения?
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2
AI на дровах 🪵
🤖 LLM-агенты: хайп или новая реальность? 📦 В этом году вокруг LLM-агентов особенно много хайпа. Все говорят, что вот-вот автономные агенты на базе GPT и других моделей заменят целые команды людей. Но на самом деле мы пока далеки от полноценного «коробочного»…
This media is not supported in your browser
VIEW IN TELEGRAM
❤1👍1🔥1
💡 Ян Лекун: AGI — это миф. Встречайте AMI
Ян Лекун — лауреат премии Тьюринга, один из отцов глубокого обучения и главный ИИ-учёный вMeta — считает, что термин AGI (Artificial General Intelligence) пора отправить в архив.
🧠 Почему? AGI предполагает создание интеллекта, который справляется с любыми задачами не хуже (или лучше) человека. Но Лекун указывает: человеческий интеллект сам по себе вовсе не "general". Он состоит из набора специализированных механизмов, наточенных эволюцией под конкретные типы задач. Мы не универсальны — мы просто хорошо приспособлены к определённому контексту.
⚙️ Вместо AGI, Лекун и его команда продвигают другой термин — AMI: Advanced Machine Intelligence. Это направление сфокусировано на создании систем, которые будут по-своему интеллектуальны — способные к обучению, планированию, восприятию и действию — но не обязаны повторять или копировать человеческий ум.
📌 Смысл в том, чтобы создавать интеллект, который дополняет человека, а не имитирует его.
🤖 Возможно, AMI — это и есть реальное будущее ИИ, без мифов и футуристических фантомов.
Ян Лекун — лауреат премии Тьюринга, один из отцов глубокого обучения и главный ИИ-учёный в
🧠 Почему? AGI предполагает создание интеллекта, который справляется с любыми задачами не хуже (или лучше) человека. Но Лекун указывает: человеческий интеллект сам по себе вовсе не "general". Он состоит из набора специализированных механизмов, наточенных эволюцией под конкретные типы задач. Мы не универсальны — мы просто хорошо приспособлены к определённому контексту.
⚙️ Вместо AGI, Лекун и его команда продвигают другой термин — AMI: Advanced Machine Intelligence. Это направление сфокусировано на создании систем, которые будут по-своему интеллектуальны — способные к обучению, планированию, восприятию и действию — но не обязаны повторять или копировать человеческий ум.
📌 Смысл в том, чтобы создавать интеллект, который дополняет человека, а не имитирует его.
🤖 Возможно, AMI — это и есть реальное будущее ИИ, без мифов и футуристических фантомов.
👍3
Бесплатный дизайн-проект 👌
Продолжаю исследовать возможности генерации картинок через llm. В этот раз загрузил фото участка и попросил GPT4.5 придумать вариант благоустройства.
Дальше было предложено нарисовать план схему и подготовить список необходимых материалов.
В какое интересное время живем, не правда ли? ☀️
Продолжаю исследовать возможности генерации картинок через llm. В этот раз загрузил фото участка и попросил GPT4.5 придумать вариант благоустройства.
Дальше было предложено нарисовать план схему и подготовить список необходимых материалов.
В какое интересное время живем, не правда ли? ☀️
🔥8👍4❤1