Привет всем!
Давно не писал. Есть несколько причин.
Первое. Немного охладел к классическому системному дизайну, даже взял отпуск от интервью по этой секции. Почти всё, что хотел сказать, уже сказал и чаще использую канал как референс на паттерны (вот тут, кстати, сборник постов, рекомендую). Есть ощущение, что дальше нужно либо уходить в очень глубокие дебри, либо повторять прописные истины.
Второе. В ТБанке я сильно сфокусировался на построении продуктов и платформ на базе AI (буквально моя зона ответственности). Индустрия развивается очень быстро: если ещё вчера все делали Single Prompt Applications, то сегодня модно строить мультиагентные архитектуры, всё больше приближая нас к AGI.
Теперь про канал и его позиционирование. Хочу открыть новую главу. Он по-прежнему будет про технические вещи, но с акцентом на то, что у меня сейчас в фокусе — AI. В ближайшее время я, скорее всего, переименую его. Давайте начнём с первого поста.
А пока и держите трейнспоттинг с моего рабочего места офиса на Белорусской.
Давно не писал. Есть несколько причин.
Первое. Немного охладел к классическому системному дизайну, даже взял отпуск от интервью по этой секции. Почти всё, что хотел сказать, уже сказал и чаще использую канал как референс на паттерны (вот тут, кстати, сборник постов, рекомендую). Есть ощущение, что дальше нужно либо уходить в очень глубокие дебри, либо повторять прописные истины.
Второе. В ТБанке я сильно сфокусировался на построении продуктов и платформ на базе AI (буквально моя зона ответственности). Индустрия развивается очень быстро: если ещё вчера все делали Single Prompt Applications, то сегодня модно строить мультиагентные архитектуры, всё больше приближая нас к AGI.
Теперь про канал и его позиционирование. Хочу открыть новую главу. Он по-прежнему будет про технические вещи, но с акцентом на то, что у меня сейчас в фокусе — AI. В ближайшее время я, скорее всего, переименую его. Давайте начнём с первого поста.
А пока и держите трейнспоттинг с моего рабочего места офиса на Белорусской.
This media is not supported in your browser
VIEW IN TELEGRAM
👍15🔥3
доклад ВШЭ.Вселенная.pdf
7 MB
Когнитивные архитектуры.
В воскресенье выступал в ВШЭ на мероприятии от Центра непрерывного образования ФКН с обзорным докладом о развитии "когнитивных архитектур" и, в частности, о Вселенной ассистентов ТБанка. Рассказал про рынок AI, историю продуктов и эволюцию генеративных архитектур, топ-10 угроз безопасности и то, как под капотом устроена наша система.
Прикрепляю слайды.
В воскресенье выступал в ВШЭ на мероприятии от Центра непрерывного образования ФКН с обзорным докладом о развитии "когнитивных архитектур" и, в частности, о Вселенной ассистентов ТБанка. Рассказал про рынок AI, историю продуктов и эволюцию генеративных архитектур, топ-10 угроз безопасности и то, как под капотом устроена наша система.
Прикрепляю слайды.
🔥29
Forwarded from [30/100] Витя Тарнавский
Собрал для вас табличку сервисов и фреймворков для создания агентских систем по уровню абстракции - от высокого и простого к низкоуровневым инструментам.
Если хотите посмотреть что такое агенты или сделать простую штуку, начинайте сверху. На уровень 4 спускаться примерно никогда не требуется.
Го в комменты где что забыл и у кого какой опыт
Если хотите посмотреть что такое агенты или сделать простую штуку, начинайте сверху. На уровень 4 спускаться примерно никогда не требуется.
Го в комменты где что забыл и у кого какой опыт
🔥13👎2
Think tank with LLM.
Первый раз увидел упоминания этого метода в прекрасном видео AI as Software Architect и с тех пор пользуюсь.
В классическом мире «think tank» — это исследовательский центр, где работают эксперты разных специальностей, которые совместно анализируют проблему, обсуждают разные точки зрения и формируют рекомендации.
В мире LLM можно моделировать нечто подобное за счёт «разделения» одной или нескольких моделей на несколько ролей или «агентов». Каждый «агент» имеет свою задачу (например, «эксперт по статистике», «консультант по маркетингу», «скептик» и т.д.).
Все «агенты» последовательно обмениваются своими мнениями, и в результате формируется сводное решение или ответ.
Я пользуюсь подходом chain-of-thought, вы даёте модели инструкцию вроде «
Позволяет не столько что-то нагенерировать, сколько посмотреть на проблему с разных сторон и увидеть неочевидные вещи в решении.
Держите несколько примеров:
— Линус Торвальдс, Эрик Эванс и Сэм Альтман решают как должен выгдядеть линукс через 10 лет
— Мобильный и бекенд разработчик выбирают между нативом, bdui и вебвью
— Команда придумывает стартап на 1М в велосипедной индустрии
Первый раз увидел упоминания этого метода в прекрасном видео AI as Software Architect и с тех пор пользуюсь.
В классическом мире «think tank» — это исследовательский центр, где работают эксперты разных специальностей, которые совместно анализируют проблему, обсуждают разные точки зрения и формируют рекомендации.
В мире LLM можно моделировать нечто подобное за счёт «разделения» одной или нескольких моделей на несколько ролей или «агентов». Каждый «агент» имеет свою задачу (например, «эксперт по статистике», «консультант по маркетингу», «скептик» и т.д.).
Все «агенты» последовательно обмениваются своими мнениями, и в результате формируется сводное решение или ответ.
Я пользуюсь подходом chain-of-thought, вы даёте модели инструкцию вроде «
Представь, что у нас есть команда экспертов: Эксперт A, Эксперт B и Эксперт C. Каждый по очереди высказывает своё мнение по задаче, основываясь на своей специализации, а потом они приходят к общему выводу».Позволяет не столько что-то нагенерировать, сколько посмотреть на проблему с разных сторон и увидеть неочевидные вещи в решении.
Держите несколько примеров:
— Линус Торвальдс, Эрик Эванс и Сэм Альтман решают как должен выгдядеть линукс через 10 лет
— Мобильный и бекенд разработчик выбирают между нативом, bdui и вебвью
— Команда придумывает стартап на 1М в велосипедной индустрии
👍13
Forwarded from Denis Sexy IT 🤖
Сделал простой гайд какие модели когда использовать в ChatGPT:
GPT-4o mini – лучше не использовать, самая слабая и придумывает ответы; не способна следовать сложным инструкциям
GPT-4o – быстрая модель, для быстрых ответов не требующих проверки фактов, может их придумывать; перевожу ей картинки в текст если нужно быстро. Ее ответы нужно всегда факт-чекать. Зато эта модель имеет доступ к памяти (где все про вас), с ней можно общаться голосом, через нее можно вызывать генерацию картинок Dalle. Не рекомендую обрабатывать большие файлы с ней
GPT-4o with scheduled tasks (beta) – использую только для To Do: модель пишет мне каждое утро и спрашивает приоритеты, показывает текущий список задач и тп
o3-mini – хорошая модель для кодинга и жизни, хорошо ищет в интернете, неплохо следуют инструкциям и при этом очень быстрая; если вам некогда и нужен быстрый ответ, то берите ее. Для анализа картинок и файлов «быстро» хороший кандидат. Не имеет доступа к памяти. Реже ошибается в фактах, но ошибается. В Plus тире – 150 сообщений в день.
✨o3-mini-high – это просто версия o3-mini, которую просят думать подольше перед тем как дать ответ – работает она медленнее, но еще реже ошибается, и еще качественнее решает задачи. Великолепно следует инструкциям. Хорошо работает с файлами. Я бы советовал сначала тратить 50 запросов этой модели, и дальше переходить к o3-mini или o1.
o1 – модель генератор отчетов, эссе и рефератов. Медленная модель. Хорошо следует инструкциям, может ошибиться в фактах. Не может искать в интернете. Хорошо видит картинки и читает файлы, не теряя деталей. У вас всего 50 запросов в неделю. Требует промптинга с описанием отчета которого вы хотите получить.
o1 pro mode – лучшая модель на рынке: почти никогда не ошибается в фактах, решает самые сложные задачи кодинга, дольше всех думает, лучше всех понимает изображения, но не умеет искать в интернете и не умеет работать с файлами напрямую. С точки зрения фактов – модель всегда сама себя перепроверяет, за ~3 месяца использования я только один раз поймал ее на неточности. Требует детального промптинга с описанием отчета который вы хотите. Доступна только в Pro тире, лимитов нет.
Deep research – несмотря на то, что модель выведена в отдельную кнопку, это версия новой o3 для поиска в интернете, как ей лучше пользоваться я напишу отдельно когда дадут доступ всем. Модель ищет в интернете и сама пишет код (который вам не покажет) для анализа найденных данных, чтобы, например включить в отчет графики. Лучшее, что есть на рынке для поиска данных в интернете. Пока доступна только в Pro. Если активируете эту кнопку - выбор модели в выпадашке – игнорируется, UX который мы заслужили
Tldr:
Для повседневных задач ваш лучший выбор – o3-mini-high, потом o3-mini, когда у первой кончились лимиты
GPT-4o mini – лучше не использовать, самая слабая и придумывает ответы; не способна следовать сложным инструкциям
GPT-4o – быстрая модель, для быстрых ответов не требующих проверки фактов, может их придумывать; перевожу ей картинки в текст если нужно быстро. Ее ответы нужно всегда факт-чекать. Зато эта модель имеет доступ к памяти (где все про вас), с ней можно общаться голосом, через нее можно вызывать генерацию картинок Dalle. Не рекомендую обрабатывать большие файлы с ней
GPT-4o with scheduled tasks (beta) – использую только для To Do: модель пишет мне каждое утро и спрашивает приоритеты, показывает текущий список задач и тп
o3-mini – хорошая модель для кодинга и жизни, хорошо ищет в интернете, неплохо следуют инструкциям и при этом очень быстрая; если вам некогда и нужен быстрый ответ, то берите ее. Для анализа картинок и файлов «быстро» хороший кандидат. Не имеет доступа к памяти. Реже ошибается в фактах, но ошибается. В Plus тире – 150 сообщений в день.
✨o3-mini-high – это просто версия o3-mini, которую просят думать подольше перед тем как дать ответ – работает она медленнее, но еще реже ошибается, и еще качественнее решает задачи. Великолепно следует инструкциям. Хорошо работает с файлами. Я бы советовал сначала тратить 50 запросов этой модели, и дальше переходить к o3-mini или o1.
o1 – модель генератор отчетов, эссе и рефератов. Медленная модель. Хорошо следует инструкциям, может ошибиться в фактах. Не может искать в интернете. Хорошо видит картинки и читает файлы, не теряя деталей. У вас всего 50 запросов в неделю. Требует промптинга с описанием отчета которого вы хотите получить.
o1 pro mode – лучшая модель на рынке: почти никогда не ошибается в фактах, решает самые сложные задачи кодинга, дольше всех думает, лучше всех понимает изображения, но не умеет искать в интернете и не умеет работать с файлами напрямую. С точки зрения фактов – модель всегда сама себя перепроверяет, за ~3 месяца использования я только один раз поймал ее на неточности. Требует детального промптинга с описанием отчета который вы хотите. Доступна только в Pro тире, лимитов нет.
Deep research – несмотря на то, что модель выведена в отдельную кнопку, это версия новой o3 для поиска в интернете, как ей лучше пользоваться я напишу отдельно когда дадут доступ всем. Модель ищет в интернете и сама пишет код (который вам не покажет) для анализа найденных данных, чтобы, например включить в отчет графики. Лучшее, что есть на рынке для поиска данных в интернете. Пока доступна только в Pro. Если активируете эту кнопку - выбор модели в выпадашке – игнорируется, UX который мы заслужили
Tldr:
Для повседневных задач ваш лучший выбор – o3-mini-high, потом o3-mini, когда у первой кончились лимиты
👍10🔥2
Паттерны GenAI приложений от Martin Fowler: Emerging Patterns in Building GenAI Products
Мартин Фаулер, эксперт по программной инженерии, известный многим по ряду статей о паттернах микросервисной архитектуры. Автор, чей сайт я неоднократно перечитывал и часто приводил ссылки на этом канале, опубликовал большую работу по паттернам построения GenAI приложений.
Новых концепций Мартин и его соавтор не вводят, но систематизируют и подают информацию о том, как нужно строить GenAI приложения со стороны программистов-практиков.
Не обходят стороной и такие вещи, которые даже Google в своих whitepappers пропускает - Embeddings и Evaluations.
Паттерны:
— Direct Prompting
— Embeddings
— Evals
— Hybrid Retriever
— Query Rewriting
— Reranker
— Retrieval Augmented Generation (RAG)
Мартин Фаулер, эксперт по программной инженерии, известный многим по ряду статей о паттернах микросервисной архитектуры. Автор, чей сайт я неоднократно перечитывал и часто приводил ссылки на этом канале, опубликовал большую работу по паттернам построения GenAI приложений.
Новых концепций Мартин и его соавтор не вводят, но систематизируют и подают информацию о том, как нужно строить GenAI приложения со стороны программистов-практиков.
Не обходят стороной и такие вещи, которые даже Google в своих whitepappers пропускает - Embeddings и Evaluations.
Паттерны:
— Direct Prompting
— Embeddings
— Evals
— Hybrid Retriever
— Query Rewriting
— Reranker
— Retrieval Augmented Generation (RAG)
martinfowler.com
Emerging Patterns in Building GenAI Products
Patterns from our colleagues' work building with Generative AI
👍22
Lecture 10.03.2025.DB.Indexes.pdf
4.2 MB
Сегодня из отпуска читаю лекцию в Академии Бэкенда - интересный экспириенс =). Тема - “индексы в СУБД”.
Если вдруг хочется вспомнить теорию, где они располагаются, сколько весят, что такое BRIN индексы и как частичные индексы могут облегчить жизнь — прикладываю презентацию. Пересылай в своих коллег.
Если вдруг хочется вспомнить теорию, где они располагаются, сколько весят, что такое BRIN индексы и как частичные индексы могут облегчить жизнь — прикладываю презентацию. Пересылай в своих коллег.
👍30
Я тут не так давно купил квартиру, делаю ремонт и ломаю голову как обустроить свое рабочее место.
Но вот на днях chatgpt выпустил убийцу фотошопа — в режиме gpt-4o научился редактировать изображения. Работает очень медленно, но очень помогает представить как это может выглядеть.
Попробовать тут.
Как варианты?)
Но вот на днях chatgpt выпустил убийцу фотошопа — в режиме gpt-4o научился редактировать изображения. Работает очень медленно, но очень помогает представить как это может выглядеть.
Попробовать тут.
Как варианты?)
🔥12👍9😢2🦄2🤷♂1👎1
MCP — не production-ready.
24 ноября 2024 года Anthropic представили MCP — унифицированный протокол взаимодействия ассистентов/агентов с тулами (API, плагинами, локальными базами и т.д.), расширяющий возможности GenAI-приложений.
Протокол описывает, как формировать запросы, обрабатывать ответы и какие форматы данных использовать, чтобы всё было совместимо и предсказуемо. В духе plug-and-play. Прикрепляю картинку.
И если вначале это воспринималось как мем "ещё один стандарт", то сейчас — сила комьюнити порешала. Уже можно найти MCP-серверы для чего угодно — от управления Raspberry Pi до интеграции с Miro. Смотри, например, вот такую подборку.
Мы уже достаточно долго на него смотрим, и внутри команды мнения сильно разделились.
Напомню, что Anthropic, выпуская этот гайдлайн, делал больший акцент на локальные агенты, даже более конкретно — на Claude Desktop App, а не для распределённых production-систем. Отсюда появляется ряд минусов:
— небезопасный (разбор) — совсем ничего про то, как делать аутентификацию;
— довольно узкая задача протокола (вся сложность перенесена, по сути, на уровень MCP-клиента и хоста);
— сыроват;
— сложный в реализации — минус к adoption;
— мультиагентность обычно не имплементируют, в итоге получается однопромптовый агент.
В итоге, MCP — классная задумка для локальных use-case'ов, особенно при разработке десктопных агентов. Но строить на нём production-продукты пока рискованно — как минимум из-за незрелости и отсутствия базовой безопасности.
Будущее за локальными агентами?
UPD: пока писал этот пост на прошлой неделе, вышел "ответ от Google" — A2A-протокол. Они попытались учесть большинство болячек MCP, вроде безопасности. Интересно, что из этого выйдет. Краткий разбор можно почитать вот тут.
24 ноября 2024 года Anthropic представили MCP — унифицированный протокол взаимодействия ассистентов/агентов с тулами (API, плагинами, локальными базами и т.д.), расширяющий возможности GenAI-приложений.
Протокол описывает, как формировать запросы, обрабатывать ответы и какие форматы данных использовать, чтобы всё было совместимо и предсказуемо. В духе plug-and-play. Прикрепляю картинку.
И если вначале это воспринималось как мем "ещё один стандарт", то сейчас — сила комьюнити порешала. Уже можно найти MCP-серверы для чего угодно — от управления Raspberry Pi до интеграции с Miro. Смотри, например, вот такую подборку.
Мы уже достаточно долго на него смотрим, и внутри команды мнения сильно разделились.
Напомню, что Anthropic, выпуская этот гайдлайн, делал больший акцент на локальные агенты, даже более конкретно — на Claude Desktop App, а не для распределённых production-систем. Отсюда появляется ряд минусов:
— небезопасный (разбор) — совсем ничего про то, как делать аутентификацию;
— довольно узкая задача протокола (вся сложность перенесена, по сути, на уровень MCP-клиента и хоста);
— сыроват;
— сложный в реализации — минус к adoption;
— мультиагентность обычно не имплементируют, в итоге получается однопромптовый агент.
В итоге, MCP — классная задумка для локальных use-case'ов, особенно при разработке десктопных агентов. Но строить на нём production-продукты пока рискованно — как минимум из-за незрелости и отсутствия базовой безопасности.
Будущее за локальными агентами?
UPD: пока писал этот пост на прошлой неделе, вышел "ответ от Google" — A2A-протокол. Они попытались учесть большинство болячек MCP, вроде безопасности. Интересно, что из этого выйдет. Краткий разбор можно почитать вот тут.
👍10
Practical Design Patterns for Modern AI Systems
Интересная картинка из статьи про архитектурные паттерны AI-систем, ориентированных на взаимодействие с LLM через API: Prompting & Context, Responsible AI, User Experience, AI-Ops и Optimization.
Жаль только, что рассмотрели достаточно простую схему вызовов модели вместо агентской архитектуры.
Интересная картинка из статьи про архитектурные паттерны AI-систем, ориентированных на взаимодействие с LLM через API: Prompting & Context, Responsible AI, User Experience, AI-Ops и Optimization.
Жаль только, что рассмотрели достаточно простую схему вызовов модели вместо агентской архитектуры.
👍11
Попробовал за вас Codex от OpenAI.
Под капотом — O3. Агенту можно скормить свой GitHub-репозиторий, и он начнёт выполнять за вас вашу программистскую работу.
Тулзе можно давать задания (вроде «порефач за меня»), и она будет писать код, запускать команды (и даже какой-нибудь Makefile) и отвечать на вопросы по репозиторию.
Натравил его на свой старенький репозиторий с реализацией динамического массива на C.
Codex нашёл пару несуществующих багов, вроде проверки count перед тем как делать memcpy (но мы с вами знаем, как работает memcpy), и проверил либу на актуальность в 2025.
Попросил порефакторить и переписать её так, как пишут C-либы в 2025 году (а пишут?).
Если вдруг пользуетесь и есть реальные рабочие кейсы — поделитесь в комментариях.
Под капотом — O3. Агенту можно скормить свой GitHub-репозиторий, и он начнёт выполнять за вас вашу программистскую работу.
Тулзе можно давать задания (вроде «порефач за меня»), и она будет писать код, запускать команды (и даже какой-нибудь Makefile) и отвечать на вопросы по репозиторию.
Натравил его на свой старенький репозиторий с реализацией динамического массива на C.
Codex нашёл пару несуществующих багов, вроде проверки count перед тем как делать memcpy (но мы с вами знаем, как работает memcpy), и проверил либу на актуальность в 2025.
Попросил порефакторить и переписать её так, как пишут C-либы в 2025 году (а пишут?).
Если вдруг пользуетесь и есть реальные рабочие кейсы — поделитесь в комментариях.
👍4💩1
Архитектура Стартапа - Anton Skogorev Engineering & AI
Попробовал за вас Codex от OpenAI. Под капотом — O3. Агенту можно скормить свой GitHub-репозиторий, и он начнёт выполнять за вас вашу программистскую работу. Тулзе можно давать задания (вроде «порефач за меня»), и она будет писать код, запускать команды (и…
Сижу, изучаю логи работы Codex на своём репозитории и вижу, что агент пытается найти в проекте файл AGENTS.MD. Из документации видно, что это специфичный промпт для LLM-тулов о том, как правильно навигироваться по кодовой базе (т.е. «документация для ИИ»).
Это наводит на мысль. Вот есть закон Конвея, по которому архитектура строится исходя из того, как организованы команды разработки. А вот если все разработчики становятся вайбкодерами, то кодовую базу нужно адаптировать не для того, чтобы её человек лучше понимал, а для того, чтобы агент вроде Codex по ней лучше навигировался и выполнял свои задачи.
Я вот сейчас нанимаю вайбкодера в команду. Это наши первые шаги в смелом эксперименте превратить кодовую базу в AI-adapted.
Это наводит на мысль. Вот есть закон Конвея, по которому архитектура строится исходя из того, как организованы команды разработки. А вот если все разработчики становятся вайбкодерами, то кодовую базу нужно адаптировать не для того, чтобы её человек лучше понимал, а для того, чтобы агент вроде Codex по ней лучше навигировался и выполнял свои задачи.
Я вот сейчас нанимаю вайбкодера в команду. Это наши первые шаги в смелом эксперименте превратить кодовую базу в AI-adapted.
🔥4👎1😱1🦄1