TGViewer
Channel Public Channel
FastNews | Никита Пастухов

FastNews | Никита Пастухов

@fastnewsdev

Welcome! Я - Никита Пастухов: AI-энтузиаст и OpenSource разработчик (автор FastStream, AG2)

Здесь я пишу обо всем, что мне интересно

Чатик: @fastnewsdev_chat
Чатик по FastStream: @python_faststream
Мой GitHub: https://github.com/Lancetnik
Subscribers
2.6K
Photos
117
Videos
4
Links
226

Showing posts older than #198 · Back to latest

Older Posts 20 shown
Post #197 1.03K
Как и обещал, начинаю серию постов про AI-агентов. Давайте разберемся, чем "агентная система" отличается от привычных нам приложений.

Чтобы было понятнее, разделим весь софт на три категории.

1️⃣ Традиционные приложения (Жесткая логика)

Это 99% кода, который мы писали до недавнего времени.

- Как работает: if-then-else. Поведение программы полностью детерминировано и захардкожено разработчиком. Получили запрос -> сходили в базу -> отдали JSON. Каждый шаг заранее известен.
- Пример: Ваш интернет-банк, git, большинство веб-сервисов.

Программа — это исполнитель четких инструкций. Она не может сделать ничего, что разработчик не предусмотрел.

2️⃣ Приложения с LLM (LLM как "фича")

Это то, что мы видим сейчас повсеместно. Берем обычное приложение и вкручиваем в него LLM для решения конкретной, узкой задачи.

- Как работает: Основная логика все еще жесткая, но в определенный момент мы делаем вызов к LLM. "Суммаризируй этот текст", "Переведи это на английский", "Сгенерируй описание товара по характеристикам".
- Пример: Чат-бот поддержки на сайте, который отвечает на вопросы по базе знаний. Функция "AI-рерайт" в вашем текстовом редакторе.

LLM здесь — это просто очень умная функция, которую мы вызываем. Она не управляет процессом, она просто выполняет свою часть работы и возвращает результат в основную, все еще детерминированную, программу.

3️⃣ Агентные системы (LLM-"мозг" + руки-"инструменты")

А вот тут начинается самое интересное. В агентной системе LLM — это уже не просто функция, а ядро, принимающее решения

Как работает: Агент получает от пользователя не инструкцию, а цель. Например, "Забронируй мне столик на двоих в итальянском ресторане в центре на завтрашний вечер". Дальше агент сам решает, что делать исходя из цели и своих возможностей ("инструментов"):
- Cначала мне нужно найти итальянские рестораны в центре. Для этого я воспользуюсь инструментом 'поиск в Yandex Maps'
- Теперь мне нужно проверить их рейтинг и отзывы. Я вызову инструмент 'просмотр карточки организации'
- Отлично, я выбрал 'La Bella Vita'. Теперь мне нужно забронировать столик.Я вызову инструмент 'API бронирования' с параметрами: 2 человека, дата, время
- Бронирование подтверждено. Сообщу результат пользователю
- Создам событие в календаре используя инструмент 'API календаря' с параметрами: название, дата, время, место.

Обратите внимание, что разработчик такой системы не определял последовательность шагов заранее. Агент сам решил, что и в каком порядке делать чтобы достичь поставленной цели.

Агент — это автономная система, которая имеет цель, доступ к набору инструментов (API, функции, другие агенты) и цикл принятия решений (ReAct). Он сам строит план, выполняет его по шагам, анализирует результаты и корректирует план, пока не достигнет цели.

Ключевое отличие: в приложении с LLM вы говорите, что делать. В агентной системе вы говорите, чего хотите достичь, а агент сам решает, как это сделать.

Почему за этим будущее?

- Для пользователя: Это удобнее. Можно ставить задачи в свободной форме, не задумываясь о деталях.
- Для разработчика: Это проще в долгосрочной перспективе. Вместо того чтобы реализовывать все возможные user flow, мы даем агенту набор "кубиков" (инструментов), из которых он сам строит решение.

К тому же, агентные системы легко собираются из уже существующих сервисов. Просто заворачиваешь свой API в MCP-совместимую обертку - и весь его функционал становится доступен агентам.

Так, например, уже делает AWS: чтобы вы могли не париться с terraform, а просто запустить ChatGPT с доступом к AWS API и он сам будет создавать инфраструктуру для вас потратит все ваши бабки😂

#Agents
  • 🔥 23
  • 👍 5
  • ❤ 4
  • 😢 1
  • 💩 1
Post #196 1.24K
FastNews | Никита Пастухов Наконец-то в AG2 вышел первый крупный релиз, который подготовил я! Всего каких-то 6 недель работы😎 Это 0.10.0 релиз с поддержкой A2A протокола взаимодействия между распределенными агентами - теперь мультиагентные системы можно разносить по разным хостам …
Кажется, сейчас не очень много людей понимает, что такое агенты, агентные приложения, мультиагентные системы и тд

Раз уж я сейчас сильно погружен в эту сферу, то постараюсь накидать вам контекста, чтобы мы были на одной волне

В ближайшее время расскажу про:
1. Агентные системы и чем они отличаются от обычных
2. Как устроен констекст агента
3. Сабагенты и мультиагенты
4. Распределенные агентные системы и зачем они нужны

Выкатываю анонс просто чтобы было обязательство перед вами😅

Но вообще - киньте 👍 если надо про такое рассказывать или 🤡 если агенты никому не уперлись
  • 👍 126
  • 🤡 6
  • ❤ 4
  • 🔥 3
  • 🍌 2
  • 🗿 2
  • ❤‍🔥 1
  • 🌭 1
  • 🤝 1
  • 🫡 1
Post #195 1.63K
Я не знаю, что это за говно, но кто-то выложил копию репы нашего проекта dishka-faststream

Все ссылки в README ведут на скачивание архива, который забит вредоносным говном

ОСТОРОЖНО, ССЫЛКА НА ВРЕДОНОСНУЮ РЕПУ

⚠️⚠️⚠️ https://github.com/techverseitbd/dishka-faststream ⚠️⚠️⚠️

И сам репорт о содержимом архива в ней - https://www.virustotal.com/gui/file/87011908d0f82a2ce0676a2f82a8f202bb0f1fa83fbf60e05b59a3f96d466b3a?nocache=1

Прошу всех накидать репортов на этого юзера на Github, чтобы его скорее забанили, а репу снесли
  • 😁 13
  • 🤯 10
  • 🫡 7
  • 🤬 2
  • 😱 1
  • 🙏 1
  • 👌 1
  • 🤡 1
Post #194 1.35K
И вот я снова спотыкаюсь о то, что так и не прочитал талмуд по теории конечных автоматов😢

Не совершайте моих ошибок, читайте классику
  • ❤ 7
  • 🫡 6
  • 💯 2
Post #192 1.52K
Мою либу FastDepends, которая используется внутри FastStream и AG2 таки добавили в Third-party тесты pydantic - https://github.com/pydantic/pydantic/pull/12471

Теперь мы +- официально часть экосистемы Pydantic, придется поддерживать😢

Кстати, эта тема с third-party - отличный показатель зрелости экосистемы. Восторгаюсь продуктами, кто смог настроить такую сложную систему проверок совместимости. Хотя, mypy никто так и не превзошел по количеству реп, с которыми они проверяют совместимость😅
GitHub GitHub - Lancetnik/FastDepends: FastDepends - FastAPI Dependency Injection system extracted from FastAPI and cleared of all HTTP… FastDepends - FastAPI Dependency Injection system extracted from FastAPI and cleared of all HTTP logic. Async and sync modes are both supported. - Lancetnik/FastDepends
  • 🔥 32
  • 👍 10
Post #191 1.35K
Если кто-то все еще хочет поиграться с LLM, но так и не нашел способ достать ключи, то мне тут посоветовали Pollinations

Стартап раздает доступ к разным моделям - как текстовым, так и для генерации изображений БЕСПЛАТНО🤯 Доступные модели:

- GPT-5 Mini
- GPT-4.1 Nano
- o4 Mini
- deepseek-v3.1
- gemini-2.5-flash-lite
- mistral-small-3.1-24b
- Qwen 2.5 Coder 32B
- llama-roblox
- MIDIjourney

Даже регистрироваться не надо...

Конечно, есть ограничения, но вот такой код на AG2 заводится из коробки


from autogen import ConversableAgent, LLMConfig, UserProxyAgent

model_client = LLMConfig({
"model": "gpt-5-nano", # https://text.pollinations.ai/models
"base_url": "https://text.pollinations.ai/openai",
"api_key": "",
"temperature": 1,
"max_tokens": 10,
})

joker_agent = ConversableAgent(
name="joker",
llm_config=model_client,
system_message=(
"Ты немного странный шутник. Твоя шутка должна быть короткой и не слишком смешной."
"Твоя задача - рассказать шутку, которая будет интересна пользователю."
"После каждой шутки ты должен спросить у пользователя, насколько шутка ему понравилась от 1 до 10."
"Если пользователь оценил шутку меньше чем на 5, ты должен рассказать другую шутку."
"Если пользователь оценил шутку на 5 или больше, ты должен закончить диалог."
)
)

user_proxy = UserProxyAgent(name="user_proxy")

if __name__ == "__main__":
joker_agent.initiate_chat(user_proxy, message="Какую шутку ты хочешь услышать?")


Теперь у вас есть чем заняться на выходных🌚
  • ⚡ 7
  • 🤯 4
Post #190 1K
Всем веселого Хеллоуина!🎃

Закидывайте свою стату за этот год. Кто какую тыкву нарисовал?)
  • 👍 9
  • 👻 4
  • ❤ 2
  • 🤡 2
Post #189 1.15K

Forwarded from Сиолошная

Вышел Cursor 2.0, и переход к новой мажорной версии сделан не просто так. Теперь вдобавок к режиму IDE (среде разработки) добавлен режим Agent.

Он сфокусирован и изначально задизайнен с акцентом на агентов, а не на файлы. Когда вам необходимо погрузиться глубже в код, вы можете легко открыть файлы в новом интерфейсе или переключиться обратно на классическую IDE.

Cursor 2.0 позволяет с легкостью запускать множество агентов впараллель, без взаимных пересечений. Можно запускать как одни и те же модели, так и разные — это новый паттен, возникший в последние полгода: люди работают в 3-4-5 копиях одного репозиториря, чтобы не просиживать штаны, пока агент гоняет код.

Но и параллельный запуск нескольких моделей для решения одной и той же задачи с последующим выбором наилучшего результата значительно улучшает итоговый результат.

В Cursor 2.0 мы теперь стало намного проще быстро просмотреть изменения, внесенные агентом, и при необходимости глубже изучить код. Кроме того, в инструмент внедрили специальный браузер, позволяющий Cursor-агенту тестировать свою работу и итерироваться, пока не будет получен корректный конечный результат. Плюс, если вам что-то не понравится — можно выделить элемент и дать обратную связь для исправления.

Вместе с этим компания запускает Composer, модель, обученную ими самими (вот блог, из интересного — используют свои MXFP8 kernels). Она не лучше закрытых проприетарных решений, зато сильно быстрее; но цена — как у GPT-5 (то есть ниже Sonnet 4.5 и тем более Opus).

С дизайна в ролике кайфанул 👇
  • 💩 6
  • 🔥 4
  • 😢 2
  • 🤨 1
  • 😭 1
  • 👀 1
Post #188 996
Вот буквально на днях погрузился в вайбкодинг и разнылся, что у Cursor нет внятных сабагентов. Уже даже начал искать способы оплатить Claude Code. И вот держите, разбирайтесь по новой...

В общем, вышел Cursor 2 - мажорный релиз со вторым режимом работы. Там и сабагенты, и параллельное исполнение, и встроенный браузер (wtf, дайте мне интеграцию с обычным. Хоть плагином, хоть чем)

Хз, как они хотят это все уместить в свои относительно ограниченные лимиты на запросы к LLM, но пробовать будем
  • 😁 3
Post #187 1.33K
Вчера у меня был повторный подход к вайбкодингу: попробовал накидать fullstack проект целиком. Возился часов 10 и от результата в восторге!

В прошлый раз я так пробовал на моделях предыдущего поколения (Gpt4). Текущие же топы (Gpt5, groq-code-fast, Claude 4.5 sonnet) показывают себя просто превосходно.

Сначала пришлось полтора часа повозиться - настроить рулы, засетапить проект, структуру, скелет для тестов, научить агентов запускать тесты и линтеры. Но потом все задачи начали закрываться с одного промпта - модель сама писала код, тесты, правила линтеры, баги. И все это с хорошей архитектурой и удовлетворительным качеством кода. Обычно на ревью мне приносят даже хуже... Мне оставалось только коммитить🤯

А потом я загрустил, что онпремис модели не дотягивают до такого же качества и на работе придется писать CRUD'ы руками😭

И буквально сегодня меня радуют свежим OpenSource дропом - https://github.com/MiniMax-AI/MiniMax-M2

Надо будет потыкать эту модель, насколько она качественно покажет себя в моем workflow. Очень хочется верить, что это новый фаворит для самостоятельного развертывания
GitHub GitHub - MiniMax-AI/MiniMax-M2: MiniMax-M2, a model built for Max coding & agentic workflows. MiniMax-M2, a model built for Max coding & agentic workflows. - MiniMax-AI/MiniMax-M2
  • ❤ 2
  • 🔥 2
  • 👍 1
Post #186 1.19K
Наконец-то в AG2 вышел первый крупный релиз, который подготовил я! Всего каких-то 6 недель работы😎

Это 0.10.0 релиз с поддержкой A2A протокола взаимодействия между распределенными агентами - теперь мультиагентные системы можно разносить по разным хостам

https://github.com/ag2ai/ag2/releases/tag/v0.10.0

Так AG2 становится одним из 4ех фреймворком с поддержкой A2A. А если убрать из этого списка pydantic-ai (у них поддержка только на бумаге) и google-adk (они работают только с Gemini), то вообще вторым

Это был очень нервный для меня релиз, давно не сталкивался с такими сложными и комплексными задачами...

Наверное, запилю отдельный пост про то, как это было (в обязательном порядке, т.к. хочется поделиться наболевшим). И могу сделать отдельный пост про то, как работает A2A по типу поста про MCP, если кому-то интересно залезть в детали
GitHub Release v0.10.0 · ag2ai/ag2 Highlights in 0.10! 🌐 Remote Agents with A2A Protocol – AG2 now supports the open standard Agent2Agent (A2A) protocol, enabling your AG2 agents to discover, communicate, and collaborate with agents...
  • ❤ 9
  • 👍 4
  • 🔥 2
Post #185 2.21K
Если вы вдруг не знаете, как оплатить подписку на OpenAI из РФ, то хочу вам прорекламировать отличный сервис - поисковик Github!🚀

Пара тысяч совершенно бесплатных ключей от вайбкодеров ждет вас🌚

https://github.com/search?q=OPENAI_API_KEY%3D%22&type=code
  • 😁 59
  • 🥰 7
  • 🍾 1
Post #184 1.31K
Наконец-то мне больше не придется искать "ту самую фигню с фотки" на маркетплейсе самостоятельно

https://openai.com/index/introducing-chatgpt-atlas/

Да, у нас уже был браузер от Perplexity, но его я так и не потыкал. Да и в OpenAI больше верю, если честно

Осталось разобраться, как заставить эту штуку выглядеть нормально
  • 🤮 10
  • ❤ 5
  • 😁 3
  • 🤨 2
  • 😢 1
  • 👀 1
  • 🗿 1
Post #183 1.36K
FastNews | Никита Пастухов Еще один пранк, который вышел из-под контроля😅 Изначально идея была в том, чтобы просто отправлять нотификашки об Issue в телегу и я попросил @smqwe12 сделать GitHub Action. Теперь же этот проект оброс кучей фич и пополз по гитхаб репозиториям Кстати, один…
Сегодня @smqwe12 решил закрыть все долги и наконец-то выпустил продолжение статьи про организацию кода вашего приложения! Теперь про тесты👍

Практическое тестирование приложений

Тут как раз Dishka + FastStream + Litestar, бизнес-логика не на котиках. В общем, самое оно, чтобы взять как пример для написания тестов типового приложения с dishka (и FastStream🔥, ага)! Так что - все бегом читать! Будем холиварить в комментах, т.к. я сам пока пролистал до середины и не со всем согласен😅

Если кто-то пропустил, то:
1️⃣ Первая часть статьи - Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
2️⃣ Сам репозиторий на Github с полным кодом

А в комментах предлагаю подкинуть тему для следующей статьи автора, попробуем заставить его работать вместе🌚 Меня заставлять писать статьи бесполезно, я уже почти год торчу TDD
  • 🤮 3
  • 👍 2
  • 💩 2
  • 🗿 2
Post #182 1.25K
Еще один пранк, который вышел из-под контроля😅

Изначально идея была в том, чтобы просто отправлять нотификашки об Issue в телегу и я попросил @smqwe12 сделать GitHub Action. Теперь же этот проект оброс кучей фич и пополз по гитхаб репозиториям

Кстати, один из каналов, куда бот репостит Issues – @opensource_findings_python

Если хотите включиться в Open-source и не знаете, с чего начать - просто подпишитесь. Там можно найти простейшие задачки на +1/-1 PR'ы в cpython, FastStream, dishka, Litestar и другие проекты

А на relator поставьте звездочку на Github😎

https://t.me/rupython_channel/32
Telegram Рупитон 🔔 Relator от reagento (@smqwe12 и @Tishka17) — это GitHub Action, который позволяет отправлять уведомления о новых issues и PRs в телеграм. Решение было разработано, т.к. все существующие альтернативы требуют админский доступ от вашего аккаунта для всех…
  • 🤣 3
  • 🤮 1
  • 💩 1
Post #181 1.45K
Оказывается, если вы хотите подчеркнуть, что ваш контент "NOT BY AI", то для вас уже сделали специальный trademark - https://notbyai.fyi/

Эти ребята сделали целый бизнес по продаже этих вотермарок (не знаю, насколько успешный). Для индивидуального использования вы можете просто задонатить сколько хотите - и значки отправят вам на почту. Но корпоративные юзер - расчехляйте кошельки🌚

Просто удивительно, на чем только люди не делают деньги
notbyai.fyi Not By AI — Add the Badge to Your Human-Created Content Download and add the Not By AI badge to showcase your AI-free & human-first approach to content creation (writings, art, photos, paintings, videos, and music)
  • 😁 10
  • ❤ 1
  • 👍 1
  • 🌭 1
Post #180 1.91K
Суббота - отличный день, чтобы зарелизить что-нибудь! Не пятница же🌚

Например:

FastStream 0.6 (ага, спустя год) - https://github.com/ag2ai/faststream/releases/tag/0.6.0

FastDepends 3.0.0, в котором Pydantic стал опциональным - https://github.com/Lancetnik/FastDepends/releases/tag/3.0.0

taskiq-faststream 0.3 с поддержкой FastStream 0.6 - https://github.com/taskiq-python/taskiq-faststream/releases/tag/0.3.0

dishka-faststream 0.5 - интеграция дишки переехала в отдельный пакет - https://github.com/faststream-community/dishka-faststream/releases/tag/0.5.0

Кстати, часть репозиториев, связанных с FastStream перехали в новую организацию на GitHub - FastStream Community🚀

Объяснить все детали пока не могу - надеюсь, на следующей неделе все прояснится. Пока боюсь сглазить. Но чтобы все получилось, нужна ваша поддержка. Поэтому сейчас очень прошу всех зайти в эту организацию и поставить звезды на репозиториях 🙏

А пока - идем пробовать новые фичи и засыпать меня баг репортами😢
GitHub Release v0.6.0 · ag2ai/faststream Description FastStream 0.6 is a significant technical release that aimed to address many of the current project design issues and unlock further improvements on the path to version 1.0.0. We tried ...
  • ❤ 23
  • 🔥 10
  • 👍 4
  • 👏 1
Post #179 1.4K
Пятничный мем, который больше всего понравился мне на этой неделе

Хотя, мне он кажется не совсем точным - сейчас все больше внедряют AI тулы именно для кодревью, а не написания кода

Типа такого - https://www.coderabbit.ai/

Поэтому моя ситуация выглядит обратно этому мему - я прислал PR, а на меня орет куча нейронок и прочих инструментов😭
  • 😁 16
  • ❤ 1
  • 🤔 1
  • 💯 1
  • 🙉 1
Post #178 3.09K
Как зарабатывать на OpenSource

Когда люди удивляются "а почему ты ничего не зарабатываешь на Open Source? - я вспоминаю вот этот пост. Ни одна из 40 автомобильных компаний, использующих curl не донатит curl😢

Но я решил копнуть чуть глубже и собрать статистику по другим крупным и важным инфраструктурным проектам

1️⃣ Django — "У нас есть фонд!"

У Django, казалось бы, все хорошо. Есть Django Software Foundation (DSF), корпоративные члены, прозрачная страница для сбора средств.

- Спонсоры: Есть несколько "Corporate Fellows" (например, Divio, Sentry), которые платят $2-8k в год. Есть и более мелкие спонсоры.

В 2022 году бюджет DSF составил около $250,000. В 2025 году пока что собрали только 40% от запланированного бюджета. Эти деньги идут на оплату одного-двух фуллтайм-мейнтейнеров, организацию конференций и инфраструктуру. Это бюджет проекта, на котором работают Instagram, Spotify и Dropbox.

2️⃣ Pytest - полная прозрачность

Pytest использует Open Collective, где все финансы видны как на ладони.

- Бюджет: собрано за все время - 80000$, годовой бюджет - 12000$, ежемесячных стабильных поступлений - 390$
- Спонсоры: Есть крупные доноры вроде Bloomberg и Microsoft, но большая часть — это небольшие пожертвования от компаний и частных лиц.

Этих денег хватает на оплату работы нескольких ключевых контрибьюторов на парт-тайм основе и покрытие расходов. Этого достаточно, чтобы проект не умер, но недостаточно для стратегического развития силами выделенной команды.

3️⃣ FastAPI (tiangolo) - человек-оркестр

Здесь спонсорство идет не фонду, а напрямую одному человеку — Себастьяну Рамиресу.

- Спонсоры: На GitHub у него ~140 спонсоров. А еще "золотые спонсоры" получают плашку в документации. Так что Себастьян продает еще и рекламу таким образом. Сумма не раскрывается, но по моим прикидкам - что-то около 8000$ в месяц.

Весь фреймворк, которым пользуются в Uber, Netflix и Microsoft, держится на плечах одного человека. Это колоссальное давление и огромный "bus factor". Видимо, всех все устраивает.

4️⃣ MkDocs-Material (squidfunk) - Open Core бизнес-модель

Основной функционал бесплатен, но есть "Insiders" - платная версия для спонсоров с эксклюзивными фичами.

- Спонсоры: Более 400 спонсоров на GitHub. 15000$ в месяц. Это один из самых успешных примеров индивидуального спонсорства.

Мартин смог сделать это своей фуллтайм-работой. Но опять же, это зарплата одного очень крутого разработчика, а не бюджет, сопоставимый с пользой продукта для тысяч компанийю

5️⃣ FastStream

За все время я получил около 8600 рублей пожертвованиями от пользователей. Спасибо вам за пиво!❤️

В итоге мы видим гиганскую пропасть между ценностью Open Source для бизнеса, и финансовой поддержкой, которую он получает взамен. Даже самые успешные проекты балансируют на грани. Их бюджеты - это не зарплаты топ-менеджеров в FAANG. Это зарплата одного-двух инженеров, которые тащат на себе инфраструктуру, от которой зависят триллионы долларов.

Казалось бы, 500$ в месяц от компании - это ничто. Но 10 таких компаний могут обеспечить фуллтайм-работу одного инженера. Представьте, насколько качественным может быть такой OSS продукт?

А что делать? Ничего. Работает же.

#opensource #карьера
LinkedIn #curl #curl | Daniel Stenberg | 43 comments An Open Source sustainability story in two slides. (for a coming talk of mine) Slide 1: car brands using #curl Slide 2: car brands sponsoring or paying for #curl support | 43 comments on LinkedIn
  • 👍 44
  • 😢 33
  • ❤ 5
  • 😁 1
  • 🤡 1
  • 💅 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →