#Хабр
Друзья!
Мне было довольно неожиданно и приятно обнаружить с утра, что нас уже целых 100 человек в сообществе!🚀
Вот так действует магия Хабра, с которого многие из вас пришли сюда, после моей публикации первой статьи из серии, посвящённой гайду по профессии системного аналитика.
А ещё это значит, что тема актуальна и интересна для сообщества!
Хочу сказать каждому спасибо за доверие❤️
В ближайшее время на Хабре выйдет продолжение цикла статей с актуализированными материалами.
На каждую из них я буду дублировать здесь ссылку.
А пока вы можете ознакомиться с материалами гайда в канале по хештегу #guide.
Если у вас появляются какие-либо вопросы - смело задавайте их в комментариях к постам, я обязательно отвечу.
Друзья!
Мне было довольно неожиданно и приятно обнаружить с утра, что нас уже целых 100 человек в сообществе!
Вот так действует магия Хабра, с которого многие из вас пришли сюда, после моей публикации первой статьи из серии, посвящённой гайду по профессии системного аналитика.
А ещё это значит, что тема актуальна и интересна для сообщества!
Хочу сказать каждому спасибо за доверие
В ближайшее время на Хабре выйдет продолжение цикла статей с актуализированными материалами.
На каждую из них я буду дублировать здесь ссылку.
А пока вы можете ознакомиться с материалами гайда в канале по хештегу #guide.
Если у вас появляются какие-либо вопросы - смело задавайте их в комментариях к постам, я обязательно отвечу.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Системный аналитик. Краткий гайд по профессии. Часть 1. Основы взаимодействия систем
Данный текст является вводной статьей , и преимущественно ориентирован на новичков в IT-индустрии, предназначен для желающих познакомиться с профессией, узнать о ее содержании, основных принципах,...
#Хабр
Друзья!
Сегодня вышла новая часть статьи на Хабре!
Из статьи вы узнаете о типах требований, рассмотрите пример их оформления, узнаете какие существуют методы сбора требований, как проводить интервью и анкетирование, рассмотрите основные типы диаграмм (Use Case, Sequence, State, Class, ER-diagram, BPMN) и инструменты, используемые при документировании требований.
Если статья будет интересной и полезной для вас, можете проголосовать за нее на Хабре - так она выйдет в топ новостной ленты и ее смогут увидеть больше пользователей🔝
Желаю приятного чтения!
Друзья!
Сегодня вышла новая часть статьи на Хабре!
Из статьи вы узнаете о типах требований, рассмотрите пример их оформления, узнаете какие существуют методы сбора требований, как проводить интервью и анкетирование, рассмотрите основные типы диаграмм (Use Case, Sequence, State, Class, ER-diagram, BPMN) и инструменты, используемые при документировании требований.
Если статья будет интересной и полезной для вас, можете проголосовать за нее на Хабре - так она выйдет в топ новостной ленты и ее смогут увидеть больше пользователей
Желаю приятного чтения!
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Системный аналитик. Краткий гайд по профессии. Часть 2. Сбор, анализ и документирование требований (UML, BPMN)
Данный текст является обзорной статьей и преимущественно ориентирован на новичков в IT-индустрии, предназначен для желающих познакомиться с профессией, узнать о ее содержании, основных...
Друзья!
Нас уже 200 человек в сообществе! 🚀
Завтра я планирую выпустить новую статью на Хабре, в которой расскажу об монолитной и распределенной архитектурах (SOA, MSA, EDA), расскажу, как рассчитать нагрузку и стоимость, как масштабировать микросервисы и БД в высоконагруженных системах.
😕 Но есть нюанс. Какие-то снобы ставят мне минусы в карму на Хабре, видимо за то, что я посмел поделиться своими знаниями с аудиторией.
❗️ Поэтому, если мой контент вам помог, или просто нравится, и у вас есть профиль на Хабре, я хочу попросить поставить мне «плюсик» в карму на Хабре. Для этого необходимо перейти в мой профиль и нажать «стрелочку вверх», которая будет изображена рядом с показателем кармы (не путать с рейтингом).
https://habr.com/ru/users/nick_oldman/
Это будет важно для того, чтобы статья не попадала в Recovery Mode и чаще показывалась в новостной ленте аудитории.
✅ Даже если завтра в течение дня показатель кармы не выйдет в плюс, то я все равно выпущу эту статью в Recovery Mode и выложу сюда ссылку на неё.
Благодарю за понимание❤️
Нас уже 200 человек в сообществе! 🚀
Завтра я планирую выпустить новую статью на Хабре, в которой расскажу об монолитной и распределенной архитектурах (SOA, MSA, EDA), расскажу, как рассчитать нагрузку и стоимость, как масштабировать микросервисы и БД в высоконагруженных системах.
😕 Но есть нюанс. Какие-то снобы ставят мне минусы в карму на Хабре, видимо за то, что я посмел поделиться своими знаниями с аудиторией.
https://habr.com/ru/users/nick_oldman/
Это будет важно для того, чтобы статья не попадала в Recovery Mode и чаще показывалась в новостной ленте аудитории.
✅ Даже если завтра в течение дня показатель кармы не выйдет в плюс, то я все равно выпущу эту статью в Recovery Mode и выложу сюда ссылку на неё.
Благодарю за понимание
Please open Telegram to view this post
VIEW IN TELEGRAM
#Хабр
Друзья!
Как я вчера и обещал, на Хабре вышла новая часть статьи об архитектуре приложений!
В ней вы познакомитесь с основными типами архитектуры, узнаете как оценить нагрузку и рассчитать стоимость, как масштабировать микросервисы и БД в высоконагруженных системах, познакомитесь с понятием CAP-теоремы и уровнями изоляции транзакций в БД.
Если статья будет интересной и полезной для вас, можете проголосовать за нее на Хабре - так она выйдет в топ новостной ленты и ее смогут увидеть больше пользователей🔝
Желаю приятного чтения!
Друзья!
Как я вчера и обещал, на Хабре вышла новая часть статьи об архитектуре приложений!
В ней вы познакомитесь с основными типами архитектуры, узнаете как оценить нагрузку и рассчитать стоимость, как масштабировать микросервисы и БД в высоконагруженных системах, познакомитесь с понятием CAP-теоремы и уровнями изоляции транзакций в БД.
Если статья будет интересной и полезной для вас, можете проголосовать за нее на Хабре - так она выйдет в топ новостной ленты и ее смогут увидеть больше пользователей
Желаю приятного чтения!
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Системный аналитик. Краткий гайд по профессии. Часть 3. Архитектура приложений и их масштабирование
Из этой статьи вы узнаете об основных широко используемых типах программной архитектуры, их преимуществах и недостатках, узнаете, как выбрать архитектуру и рассчитать нагрузку при проектировании...
#Хабр
Друзья!
Сегодня вышли две новые статьи на Хабре!🚀
Статья о синхронных и асинхронных интеграциях: REST, gRPC, Kafka, RabbitMQ, WebSocket.
Статья о методологиях разработки: Waterfall и Agile (Scrum, Kanban).
На этом серия статей, посвященных основам профессии системного аналитика, закончена.
Надеюсь, было познавательно и полезно.
Задавать интересующие вас вопросы вы можете в комментариях, или мне в лс @oldschoolsysdes
Желаю приятного чтения!
Друзья!
Сегодня вышли две новые статьи на Хабре!
Статья о синхронных и асинхронных интеграциях: REST, gRPC, Kafka, RabbitMQ, WebSocket.
Статья о методологиях разработки: Waterfall и Agile (Scrum, Kanban).
На этом серия статей, посвященных основам профессии системного аналитика, закончена.
Надеюсь, было познавательно и полезно.
Задавать интересующие вас вопросы вы можете в комментариях, или мне в лс @oldschoolsysdes
Желаю приятного чтения!
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Системный аналитик. Краткий гайд по профессии. Часть 4. Синхронные и асинхронные интеграции. REST, gRPC, Kafka, RabbitMQ
Из этой статьи вы узнаете об основных наиболее часто используемых типах интеграции приложений и распределенных систем, таких как REST, gRPC, Kafka, RabbitMQ, WebSocket. Системный аналитик....
#Хабр
Друзья, привет!
Выложил на Хабре новую статью о best practices проектирования REST API👨💻
В статье рассмотрено, как реализовать получение данных с пагинацией с помощью GET и POST методов, приложен шаблон описания методов, а также форматов данных на примере JSON-схемы и спецификации OpenAPI в YAML-формате.
По ссылкам в статье вы можете перейти в песочницу swagger, скопировать туда этот YAML и самостоятельно поисследовать реализацию.
Приятного чтения!
Друзья, привет!
Выложил на Хабре новую статью о best practices проектирования REST API
В статье рассмотрено, как реализовать получение данных с пагинацией с помощью GET и POST методов, приложен шаблон описания методов, а также форматов данных на примере JSON-схемы и спецификации OpenAPI в YAML-формате.
По ссылкам в статье вы можете перейти в песочницу swagger, скопировать туда этот YAML и самостоятельно поисследовать реализацию.
Приятного чтения!
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Реализация REST API-метода с пагинацией на примере JSON-Schema и OpenAPI
Данный текст преимущественно ориентирован на начинающих системных аналитиков, а также всех, кто интересуется проектированием IT-систем. Постановка задачи Представим, что есть компания, продающая...
Друзья, привет!
Последний месяц у меня выдался несколько напряженным, поэтому совсем не было времени вести канал 🥲
Тем не менее, я вижу, что вас становится все больше, и это очень мотивирует продолжать❤️
А пока я предлагаю вам ознакомиться с интересными IT-роадмапами на сайте https://roadmap.sh
Они больше ориентированы на подходы к разделению зон ответственности в западной IT-индустрии (США, Европа), но тем не менее будут очень полезны для расширения кругозора и закрытия пробелов в знаниях👨💻
Наиболее релевантные скиллам системного аналитика роадмапы:
Software Architect
API Design Roadmap
System Design Roadmap
Последний месяц у меня выдался несколько напряженным, поэтому совсем не было времени вести канал 🥲
Тем не менее, я вижу, что вас становится все больше, и это очень мотивирует продолжать
А пока я предлагаю вам ознакомиться с интересными IT-роадмапами на сайте https://roadmap.sh
Они больше ориентированы на подходы к разделению зон ответственности в западной IT-индустрии (США, Европа), но тем не менее будут очень полезны для расширения кругозора и закрытия пробелов в знаниях
Наиболее релевантные скиллам системного аналитика роадмапы:
Software Architect
API Design Roadmap
System Design Roadmap
Please open Telegram to view this post
VIEW IN TELEGRAM
roadmap.sh
Developer Roadmaps - roadmap.sh
Community driven roadmaps, articles and guides for developers to grow in their career.
Ознакомиться с содержанием и стоимостью вы можете здесь.
Что ждет вас на обучении?
• 7 онлайн-занятий с изучением теории и отработкой практики. Никаких записанных видео и кучи ссылок. Только живое общение со мной
• Акцент на техническую составляющую самых распространенных типов интеграций (REST, gRPC, Kafka, RabbitMQ) и архитектуру систем
• Резюме Middle аналитика с ориентиром на 200+
• Консультации во время испытательного срока
Для записи прошу писать мне в личные сообщения - @oldschoolsysdes.
Постараюсь быстро каждому ответить на все вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, привет!
Вас становится все больше, и я рад, что имею возможность создавать и нести ценность для окружающих🔥
Меня давно здесь не было, поэтому решил кратко поделиться основными новостями и событиями:
1⃣ Ранее я планировал канал, как сугубо технический, для желающих стать СА или узнать что-то новое, но в этом году хочу создать тут вовлеченное сообщество, поэтому попробую писать что-то более неформальное из жизни и работы.
Надеюсь из этой затеи выйдет что-нибудь путное и мне хватит времени поддерживать здесь активность👨💻
2⃣ В конце года в семье случилось пополнение 🐕
Теперь у меня живет той-пудель Юна.
Могу сказать, что собака - одновременно и большая радость и ощутимые хлопоты. При желании можете поделиться фото питомцев в комментариях🙂
3⃣ Все слоты на менторство заняты до конца января.
Сегодня открываю запись на февраль-март, при этом до 31 января стоимость останется прежней, затем увеличится. Записаться по-прежнему можно в лс @oldschoolsysdes
4⃣ Сегодня вышла моя новая статья на Хабре: «Как аналитику научиться читать код без навыков программирования».
Не скажу, что удалось полностью охватить все нюансы, но постарался на примере фреймворка Flask для Python подробно показать, как могут выглядеть простые приложения, и как можно читать их код.
Делитесь в комментариях, приходилось ли вам сталкиваться с такой необходимостью в работе👨💻
Вас становится все больше, и я рад, что имею возможность создавать и нести ценность для окружающих
Меня давно здесь не было, поэтому решил кратко поделиться основными новостями и событиями:
Надеюсь из этой затеи выйдет что-нибудь путное и мне хватит времени поддерживать здесь активность
Теперь у меня живет той-пудель Юна.
Могу сказать, что собака - одновременно и большая радость и ощутимые хлопоты. При желании можете поделиться фото питомцев в комментариях
Сегодня открываю запись на февраль-март, при этом до 31 января стоимость останется прежней, затем увеличится. Записаться по-прежнему можно в лс @oldschoolsysdes
Не скажу, что удалось полностью охватить все нюансы, но постарался на примере фреймворка Flask для Python подробно показать, как могут выглядеть простые приложения, и как можно читать их код.
Делитесь в комментариях, приходилось ли вам сталкиваться с такой необходимостью в работе
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как аналитику научиться читать код без навыков программирования
Я, как системный аналитик, хочу чтобы начинающие специалисты могли самостоятельно разбираться в коде своих коллег, имели возможность самостоятельно находить ответы на свои вопросы. А зачем аналитикам...
Приходилось ли вам самостоятельно разбираться в коде коллег? 👨💻
Final Results
44%
Я СА/БА, приходилось
21%
Я СА/БА, не приходилось
35%
Посмотреть результаты 👀
Записки системного аналитика
Приходилось ли вам самостоятельно разбираться в коде коллег? 👨💻
По результатам опроса в канале и под статьей на Хабре образовалась интересная статистика, которая превзошла мои ожидания.
А если учесть, что и в канале и на Хабре треть опрошенных (35% и 40% соответственно) проголосовала за вариант «посмотреть результаты», то получим около 70% аналитиков, сталкивавшихся с необходимостью погружаться в код своих коллег и это колоссальные цифры! 🤯
О чем же они говорят?
На это могло повлиять множество факторов. Как основные: или отсутствие аналитиков, или сложный запутанный домен, или команда работала в режиме «стартап», когда главное было пилить как можно быстрее новый функционал для бизнеса. Или все вместе взятое
Возможно, что в команде не были должным образом выстроены процессы проектирования, разработки и тестирования:
отсутствовали соглашения по проектированию и описанию требований, отсутствовала культура тестирования (напомню, что хорошо описанные требования на разработку являются основой для формирования тест-кейсов, и хорошие QA будут требовать документацию от аналитиков).
Что делать?
В целом в таких ситуациях я использую следующий порядок действий:
На всем этом этапе очень полезным станет отрисовка схемы микросервисов и определение структуры моделей данных в БД.
На схему микросервисов будет необходимо нанести сервисы, стрелочками изобразить взаимодействие между ними, и желательно написать имя используемого метода и его URL.
БД можно описывать в табличном виде или в виде ER-диаграмм.
Please open Telegram to view this post
VIEW IN TELEGRAM
16 февраля стартует последний в уходящей зиме трек моего менторства для системных аналитиков.
Записаться - ко мне в личку @oldschoolsysdes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, привет!
Сегодня немного теории🤓
Если вам в работе придётся сталкиваться с необходимостью гарантировано доставлять сообщения до какого-либо сервиса, то вам необходимо будет реализовать архитектурный паттерн Transactional Outbox (или просто Outbox), гарантирующий модель доставки at least once (хотя бы один раз).
Как работает паттерн?
Предположим, что есть два микросервиса: Сервис А и Сервис В.
Задача состоит в том, чтобы после получения сообщения в Сервис А, гарантировано передать данные из него в Сервис В.
Без использования какого-либо механизма обеспечения надежности этот процесс мог бы выглядеть следующим образом:
1. Сервис А обрабатывает запрос клиента.
2. После успешной обработки сообщения Сервис А отправляет сообщение в Сервис В через брокер (например, Kafka).
Но тут возникает проблема: если при передаче сообщения произойдет сбой (сеть упадет, очередь окажется перегруженной), мы можем потерять данные.
Сообщение будет обработано сервисом А, но до сервиса В не дойдет.
Чтобы избежать этой проблемы, используется паттерн Transactional Outbox.
В рамках этого подхода сообщение сначала сохраняется локально в базе данных, вместе с основным изменением состояния системы, что гарантирует атомарность сохранения данных, а затем в отдельном процессе отправляются во внешний сервис.
Примерный порядок действий выглядит так:
1⃣ Сервис А получает запрос.
2⃣ Затем внутри транзакции:
🔘 Сохраняется информация о запросе
🔘 Создается запись в таблице Outbox с информацией о сообщении, которое должно быть доставлено
🔘 Транзакция фиксируется
3⃣ Асинхронная задача (например шедулер в сервисе А) берет записи из таблицы Outbox и пытается отправить их в сервис В:
🔘 Если доставка прошла успешно, то в БД данной записи проставляется атрибут (например status), свидетельствующий об ее успешной отправке в сервис В, или запись удаляется из таблицы Outbox
🔘 Если происходит ошибка при доставке, асинхронная задача продолжает попытки до тех пор, пока доставка не завершится удачно
4⃣ Сервис В читает сообщения из брокера.
Таким образом, таблица Outbox действует как временный буфер для хранения сообщений, гарантирующий, что данные будут переданы независимо от внешних факторов.
Сегодня немного теории
Если вам в работе придётся сталкиваться с необходимостью гарантировано доставлять сообщения до какого-либо сервиса, то вам необходимо будет реализовать архитектурный паттерн Transactional Outbox (или просто Outbox), гарантирующий модель доставки at least once (хотя бы один раз).
Как работает паттерн?
Предположим, что есть два микросервиса: Сервис А и Сервис В.
Задача состоит в том, чтобы после получения сообщения в Сервис А, гарантировано передать данные из него в Сервис В.
Без использования какого-либо механизма обеспечения надежности этот процесс мог бы выглядеть следующим образом:
1. Сервис А обрабатывает запрос клиента.
2. После успешной обработки сообщения Сервис А отправляет сообщение в Сервис В через брокер (например, Kafka).
Но тут возникает проблема: если при передаче сообщения произойдет сбой (сеть упадет, очередь окажется перегруженной), мы можем потерять данные.
Сообщение будет обработано сервисом А, но до сервиса В не дойдет.
Чтобы избежать этой проблемы, используется паттерн Transactional Outbox.
В рамках этого подхода сообщение сначала сохраняется локально в базе данных, вместе с основным изменением состояния системы, что гарантирует атомарность сохранения данных, а затем в отдельном процессе отправляются во внешний сервис.
Примерный порядок действий выглядит так:
Таким образом, таблица Outbox действует как временный буфер для хранения сообщений, гарантирующий, что данные будут переданы независимо от внешних факторов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, привет!
Сегодня пост посвящен самой хайповой теме - AI😅
В работе системного аналитика AI ускоряет и автоматизирует довольно много рутинных операций.
На своем курсе я показываю обучающимся, как можно использовать LLM для:
🔘 формирования Use Case’ов
🔘 построения по ним Sequence-диаграмм в PlantUML
🔘 формирования ER-диаграмм при проектировании БД
🔘 проектирования спецификаций REST API в формате OpenAPI, проектирования protobuf-файлов для gRPC, описания json-схем.
По итогу человеку остается лишь провалидировать ответ LLM и, при необходимости, внести минорные правки.
А вчера мои коллеги поделились ссылкой на вот такой продукт калифорнийского стартапа https://www.cursor.com
Это форк среды разработки VSCode, к которому прикручен AI-copilot, умеющий бесплатно из коробки формировать структуру репозитория прямо в IDE, устанавливать зависимости, писать код, дебажить, запускать скрипты и сам проект на твоей машине🤯
Под капотом бесплатный gpt-4o-mini и даже он творит нечто нереальное - можно собрать MVP проекта на любом языке меньше чем за час в пару десятков кликов, что, собственно, мои коллеги и сделали🤑
Интересно было бы узнать ваше мнение и опыт использования AI в повседневной работе в комментариях😊
Сегодня пост посвящен самой хайповой теме - AI
В работе системного аналитика AI ускоряет и автоматизирует довольно много рутинных операций.
На своем курсе я показываю обучающимся, как можно использовать LLM для:
По итогу человеку остается лишь провалидировать ответ LLM и, при необходимости, внести минорные правки.
А вчера мои коллеги поделились ссылкой на вот такой продукт калифорнийского стартапа https://www.cursor.com
Это форк среды разработки VSCode, к которому прикручен AI-copilot, умеющий бесплатно из коробки формировать структуру репозитория прямо в IDE, устанавливать зависимости, писать код, дебажить, запускать скрипты и сам проект на твоей машине
Под капотом бесплатный gpt-4o-mini и даже он творит нечто нереальное - можно собрать MVP проекта на любом языке меньше чем за час в пару десятков кликов, что, собственно, мои коллеги и сделали
Интересно было бы узнать ваше мнение и опыт использования AI в повседневной работе в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
Cursor
Cursor - The AI Code Editor
Built to make you extraordinarily productive, Cursor is the best way to code with AI.
Старт занятий - 22 марта.
Ознакомиться с содержанием и стоимостью вы можете здесь.
Что ждет вас на обучении?
• 8 онлайн-занятий с изучением теории и отработкой практики. Никаких записанных видео и кучи ссылок. Только живое общение со мной
• Акцент на техническую составляющую самых распространенных типов интеграций (REST, gRPC, Kafka, RabbitMQ) и архитектуру систем
• Резюме Middle аналитика с ориентиром на 200+
Записаться - ко мне в личные сообщения @oldschoolsysdes
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Всем, привет!
У меня две новости:
1⃣ Я выздоровел, а это значит, что у меня хорошее настроение, поэтому объявляется минута юмора 🤣
Лучше смотреть со звуком.
2⃣ Осталось 1 свободное место для записи на обучение до оффера, стартуем в субботу 22 марта. Записаться - ко мне в личные сообщения
Всем хорошего дня!⭐
У меня две новости:
Лучше смотреть со звуком.
Всем хорошего дня!
Please open Telegram to view this post
VIEW IN TELEGRAM
AI-хайп. Что такое AI-агенты и как работает RAG?
RAG (Retrieval Augmented Generation) — это метод работы с большими языковыми моделями, когда пользователь пишет свой вопросы, а вы программно к этому вопросу «подмешиваете» дополнительную информацию из каких‑то внешних источников и подаете все целиком на вход языковой модели. Другими словами вы добавляете в контекст запроса к языковой модели дополнительную информацию, на основе которой языковая модель может дать пользователю более полный и точный ответ.
О том, что же такое RAG более подробно можно почитать тут.
Как работает RAG.
Рассмотрим схему на рисунке.
1⃣ Предположим у нас есть UI (интерфейс). Сначала мы загрузим документы в нашу базу знаний (в любом формате: pdf, doc, да хоть в json) через сервис DocumentLoader.
2⃣ Сервис DocumentLoader перед тем, как поместить документы в хранилище, преобразует их в векторный вид с помощью Embedding Model - например из английского слова «cat» вы получите нечто похожее на [0.2, -0.4, 0.7]
3⃣ Получив в ответе от Embedding Model векторное представление документа сервис DocumentLoader сохраняет его в векторную БД Vector Database.
4⃣ После того, как мы загрузили в БД документы нашей базы знаний в векторном формате, мы можем начать работу с RAG и LLM.
Вопрос пользователя попадает в сервис Mediator, который направляет запрос в сервис RAG для поиска релевантной вопросу информации в хранилище.
5⃣ Сервис RAG преобразует вопрос пользователя в векторный вид с помощью Embedding Model и ищет совпадения в векторном хранилище, которые возвращает в качестве ответа.
6⃣ Сервис Mediator использует полученную в ответе от сервиса RAG информацию для обогащения контекста запроса в LLM.
7⃣ Ответ от LLM, при формировании которого был учтен контекст из базы знаний, возвращается пользователю на UI.
Как работают AI-агенты
Сервис Mediator в связке с LLM также может реализовывать функции AI-агента.
Если в процессе обработки запроса пользователя необходимо выполнить какие то действия, в том числе, основываясь на результатах обработки языковой моделью (LLM) вашего запроса, то здесь на помощь вам могут прийти AI-агенты.
Один из самых популярных подходов к реализации агентов называется ReAct - парадигма, объединяющая рассуждение и выполнение действий. Более подробно об устрйостве можно почитать по ссылке.
Для примера:
Вы задаете LLM вопрос: проанализируй, как текущие новости о снижении нефтедобычи могут отразиться на стоимости моего портфеля акций.
При этом в векторное хранилище у вас загружена информация о вашем портфеле, предыдущих сделках, аналитическая информация о рынке акций и что нибудь еще.
Mediator сходит в векторное хранилище за релевантной информацией, затем вызовет LLM, которая, обработав запрос, может принять решение, что ей недостаточно данных для того, чтобы фактологически точно дать ответ на вопрос и вызовет ту часть (Tools - см. статью по ссылке выше) сервиса Mediator, которая имеет подключение к внешним API (например API поиска Google), для того, чтобы она нашла в интернете релевантную информацию с новостями о нефтедобыче, дообогатила ей контекст запроса и снова вызвала LLM, а затем вернула ответ пользователю.
P.S. Не претендую на фактологическую точность материала, рассказываю то, как я это понимаю сам и с чем сталкивался в работе. Если среди подписчиков есть специалисты в ds/ml/ai, буду рад комментариям/исправлениям/дополнениям🐈
RAG (Retrieval Augmented Generation) — это метод работы с большими языковыми моделями, когда пользователь пишет свой вопросы, а вы программно к этому вопросу «подмешиваете» дополнительную информацию из каких‑то внешних источников и подаете все целиком на вход языковой модели. Другими словами вы добавляете в контекст запроса к языковой модели дополнительную информацию, на основе которой языковая модель может дать пользователю более полный и точный ответ.
О том, что же такое RAG более подробно можно почитать тут.
Как работает RAG.
Рассмотрим схему на рисунке.
Вопрос пользователя попадает в сервис Mediator, который направляет запрос в сервис RAG для поиска релевантной вопросу информации в хранилище.
Как работают AI-агенты
Сервис Mediator в связке с LLM также может реализовывать функции AI-агента.
Если в процессе обработки запроса пользователя необходимо выполнить какие то действия, в том числе, основываясь на результатах обработки языковой моделью (LLM) вашего запроса, то здесь на помощь вам могут прийти AI-агенты.
Один из самых популярных подходов к реализации агентов называется ReAct - парадигма, объединяющая рассуждение и выполнение действий. Более подробно об устрйостве можно почитать по ссылке.
Для примера:
Вы задаете LLM вопрос: проанализируй, как текущие новости о снижении нефтедобычи могут отразиться на стоимости моего портфеля акций.
При этом в векторное хранилище у вас загружена информация о вашем портфеле, предыдущих сделках, аналитическая информация о рынке акций и что нибудь еще.
Mediator сходит в векторное хранилище за релевантной информацией, затем вызовет LLM, которая, обработав запрос, может принять решение, что ей недостаточно данных для того, чтобы фактологически точно дать ответ на вопрос и вызовет ту часть (Tools - см. статью по ссылке выше) сервиса Mediator, которая имеет подключение к внешним API (например API поиска Google), для того, чтобы она нашла в интернете релевантную информацию с новостями о нефтедобыче, дообогатила ей контекст запроса и снова вызвала LLM, а затем вернула ответ пользователю.
P.S. Не претендую на фактологическую точность материала, рассказываю то, как я это понимаю сам и с чем сталкивался в работе. Если среди подписчиков есть специалисты в ds/ml/ai, буду рад комментариям/исправлениям/дополнениям
Please open Telegram to view this post
VIEW IN TELEGRAM
Развеиваем сомнения начинающих аналитиков и не только 👨💻
1⃣ У меня нет технической «вышки», какой из меня технарь, если я даже ни разу не писал код.
В обязанности СА не входит разработка, следовательно вам не стоит опасаться того, что вас заставят это делать.
Если вы умеете читать/писать код, то это просто добавит вам авторитета в глаза команды, а также, возможно, некоторую сумму к офферу🤑
Техническая вышка также совершенно не нужна. Знание того, как устроен процессор или того, как работает сетевой стек на физическом уровне, вам не пригодится в роли СА в 99,99 % случаев.
Безусловно, техническое образование добавляет тот же процент «респекта» со стороны команды и снижает порог вхождения и освоения в профессии, но не является камнем преткновения (ну разве что если вы собеседуетесь на вакансии в гос.учреждения).
2⃣ Я прошел обучение и все еще сомневаюсь в своих навыках. Боюсь выходить на рынок и собеседоваться.
Это нормальная ситуация, которая может сложиться по разным причинам (было мало практики на обучении, ментор не делился обратной связью, не давал ответы на вопросы о том, как это устроено и применяется в реальной работе, итд)
Вместе с тем, если вы знаете:
• как работает протокол HTTP, что такое JSON и можете описать его с помощью json-схемы;
• как устроены базы данных и можете спроектировать структуру таблиц и описать их в ER-диаграммах;
• знакомы с нотациями UML и BPMN и можете описывать процессы с их помощью;
• как устроена архитектура распределенных систем (микросервисы и как они могут взаимодействовать друг с другом);
• можете спроектировать REST API и задокументировать его в формате OpenAPI
• имеете общее понимание того, как работают брокеры (Kafka, RabbitMQ) и можете спроектировать обмен сообщениями с их помощью;
то поздравляю, вы можете смело выходить на рынок на middle позицию, поверьте, вы знаете больше доброй половины аналитиков данного грейда, и трети сеньеров.
Но в целом senior позиция это не только про сильные софт/хард-скилы, а еще и про насмотренность, способность быть центром компетенций и притяжения людей, наряду с готовностью брать ответственность за результат работы на себя.
3⃣ Боюсь провалов на собеседованиях и попасть в чёрный список.
Если коротко - черных списков и прочих гетто не существует, это как минимум не в интересах самих HR.
Если все же вы считаете, что с этим есть какие то проблемы - смените сим-карту и зарегистрируйте новый аккаунт на hh.
Как только вы выходите на рынок, то первые 3-5 собеседований с вероятностью 90% будут провальными, к этому надо быть готовым.
Затем вы понимаете, чего от вас ждут и что хотят услышать, и начинаете выстраивать и адаптировать свою линию диалога под ожидания собеседующих.
Прохождение собеседований это отдельный навык, который тренируется периодическими повторениями.
Все что вам нужно для успеха, это четкая цель и стойкое желание освоить профессию, а также систематичные занятия и изучение материала.
Опыт моих учеников это подтверждает - многие параллельно с моими занятиями проходят платные/бесплатные/слитые курсы на различных ресурсах, что в совокупности дает огромный буст знаниям и резко повышает вероятность успешного вхождения в профессию или внутреннего роста в ней.
Верьте в себя, не опускайте руки, идите к своей цели и у вас обязательно все получится вне зависимости от пола/возраста/локации, потому что формула результата по прежнему очень проста - это время, помноженное на усилия👨💻
В обязанности СА не входит разработка, следовательно вам не стоит опасаться того, что вас заставят это делать.
Если вы умеете читать/писать код, то это просто добавит вам авторитета в глаза команды, а также, возможно, некоторую сумму к офферу
Техническая вышка также совершенно не нужна. Знание того, как устроен процессор или того, как работает сетевой стек на физическом уровне, вам не пригодится в роли СА в 99,99 % случаев.
Безусловно, техническое образование добавляет тот же процент «респекта» со стороны команды и снижает порог вхождения и освоения в профессии, но не является камнем преткновения (ну разве что если вы собеседуетесь на вакансии в гос.учреждения).
Это нормальная ситуация, которая может сложиться по разным причинам (было мало практики на обучении, ментор не делился обратной связью, не давал ответы на вопросы о том, как это устроено и применяется в реальной работе, итд)
Вместе с тем, если вы знаете:
• как работает протокол HTTP, что такое JSON и можете описать его с помощью json-схемы;
• как устроены базы данных и можете спроектировать структуру таблиц и описать их в ER-диаграммах;
• знакомы с нотациями UML и BPMN и можете описывать процессы с их помощью;
• как устроена архитектура распределенных систем (микросервисы и как они могут взаимодействовать друг с другом);
• можете спроектировать REST API и задокументировать его в формате OpenAPI
• имеете общее понимание того, как работают брокеры (Kafka, RabbitMQ) и можете спроектировать обмен сообщениями с их помощью;
то поздравляю, вы можете смело выходить на рынок на middle позицию, поверьте, вы знаете больше доброй половины аналитиков данного грейда, и трети сеньеров.
Но в целом senior позиция это не только про сильные софт/хард-скилы, а еще и про насмотренность, способность быть центром компетенций и притяжения людей, наряду с готовностью брать ответственность за результат работы на себя.
Если коротко - черных списков и прочих гетто не существует, это как минимум не в интересах самих HR.
Если все же вы считаете, что с этим есть какие то проблемы - смените сим-карту и зарегистрируйте новый аккаунт на hh.
Как только вы выходите на рынок, то первые 3-5 собеседований с вероятностью 90% будут провальными, к этому надо быть готовым.
Затем вы понимаете, чего от вас ждут и что хотят услышать, и начинаете выстраивать и адаптировать свою линию диалога под ожидания собеседующих.
Прохождение собеседований это отдельный навык, который тренируется периодическими повторениями.
Все что вам нужно для успеха, это четкая цель и стойкое желание освоить профессию, а также систематичные занятия и изучение материала.
Опыт моих учеников это подтверждает - многие параллельно с моими занятиями проходят платные/бесплатные/слитые курсы на различных ресурсах, что в совокупности дает огромный буст знаниям и резко повышает вероятность успешного вхождения в профессию или внутреннего роста в ней.
Верьте в себя, не опускайте руки, идите к своей цели и у вас обязательно все получится вне зависимости от пола/возраста/локации, потому что формула результата по прежнему очень проста - это время, помноженное на усилия
Please open Telegram to view this post
VIEW IN TELEGRAM
Старт занятий - 24 мая.
Ознакомиться с содержанием и стоимостью вы можете здесь.
Что ждет вас на обучении?
• 7 онлайн-занятий с изучением теории и отработкой практики. Никаких записанных видео и кучи ссылок. Только живое общение со мной
• Акцент на техническую составляющую самых распространенных типов интеграций (REST, gRPC, Kafka, RabbitMQ) и архитектуру систем
• Резюме Middle аналитика с ориентиром на 200+
Записаться - ко мне в личные сообщения @oldschoolsysdes
Please open Telegram to view this post
VIEW IN TELEGRAM