FastNews | Никита Пастухов
785 subscribers
63 photos
1 video
118 links
Привет! Я - Никита Пастухов: автор FastStream, опенсорсер, python (и не только) разработчик

Здесь я пишу обо всем, что мне интересно:
- создание продуктов
- личная эффективность
- программирование
- Open Source

Чатик по FastStream: @python_faststream
Download Telegram
Как не пилить фичи, которые никому не нужны? Модель Кано в разработке.

Вот и отпуск прошел, пора возвращаться к работе...

Сейчас я работаю над AG2 и пытаюсь make this project great again. В общем, составляем родмап для фич.

И в этом мне сильно помогает модель Кано, которую я изначально подсмотрел у Дорофеева. Максим в своей книге адаптировал 5 категорий "фич" под продуктивность. Но это только подтверждает состоятельность методолгии – ведь ее можно применять к любой области!

Итак, 5 категорий фич (задач) по Дорофееву (Кано):

🤩 1. Ублажители (Delighters)
Это те самые "вау-фичи". Их никто не ждет, но их минимальное наличие вызывает восторг.

- Пример: AI-ассистент в документации, который отвечает на вопросы. Или забавная анимация загрузки. FastStream, который сам генерирует документацию для сервиса.
- Суть: Пользователь не расстроится, если их нет (он их может даже не ожидать), но будет в восторге, если они есть. Хотя, может быть и сильным конкурентным преимуществом.

2. "Должно быть" (Must-be)
Это базовые, ожидаемые вещи. Если они работают хорошо, этого никто не замечает. Но если они сломаны — удовлетворенность пользователя падает до нуля.

- Пример: Кнопка "Сохранить" действительно сохраняет. pip install вашего пакета работает без ошибок. API отдает валидный JSON.
- Суть: Их наличие не радует, но их отсутствие или плохая работа — это катастрофа. Это фундамент, на котором все строится.

🚀 3. "Больше — лучше" (Performance)
Здесь все просто: чем лучше реализация, тем выше удовлетворенность.

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

🤷‍♂️ 4. Нейтральные (Indifferent)
Пользователям на них все равно. Вы можете потратить недели на их реализацию, но никто этого не оценит.

- Пример: 15-й способ кастомизации цвета кнопки в настройках, которым воспользуются 0.01% пользователей.
- Суть: Чистая трата ресурсов. Главная задача - научиться распознавать их до начала разработки.

🤬 5. Реверсивные (Reverse)
Фичи, наличие которых ухудшает пользовательский опыт. Да, и такое бывает.

- Пример: Обязательная регистрация для того, чтобы воспользоваться простейшей утилитой. Слишком сложный и запутанный UI там, где все могло быть просто.
- Суть: Это выстрел себе в ногу. Такие фичи не просто не приносят пользы — они вредят.

Как это применить на практике?

Эта модель — мощный инструмент для приоритизации и принятия решений. Прежде чем бросаться кодить очередную гениальную идею, спросите себя:

- Это "ублажитель", который можно сделать потом, или "должно быть", без которого все развалится?
- Мы сейчас улучшаем метрику "больше — лучше" или пилим "нейтральную" фичу, которая никому не нужна?
- А не создаем ли мы "реверсивную" фичу, которая только усложнит жизнь пользователю?

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

А теперь вопрос в зал: какая самая бесполезная или даже "реверсивная" фича, которую вам приходилось делать?🌚

#программирование #продуктивность #карьера #дорофеев
1👍12🔥71
FastNews | Никита Пастухов
В полку AI IDE прибыло –Amazon выпустили своего конкурента Cursor https://kiro.dev/ UPD: я упустил еще одну IDE'шку https://www.trae.ai/🤯 Теперь у нас есть на выбор Cursor, Windsurf, Kiro, Trae, Codebuddy, Claude Code, Aider. Посмотрим, как рынок поделится…
Оказывается Open Router выкладывает у себя на странице ранкинги - там можно посмотреть, на какие модели через них идет больше всего запросов, что может помочь сориентироваться, какую модель для каких целей юзать

А еще - там есть ранкинг LLM тулов (IDE плагины, CLI утилиты, библиотеки и тд)🤯 А вот это уже прикольнее, т.к. там можно подсмотреть какие-нибудь прикольные тулы, о которых ты не знал.

Например, я увидел, что можно попробовать юзать Kilocode вместо Continue в качестве AI плагина для VSCode🚀 (continue безбожно лагает по моему опыту)
👍5😢1🏆1
Так, я уже третий день сижу разбираюсь с библиотеками, протоколами и прочей LLM и агентным тулингом. И просто накипело😑

Пожалуйста, позовите меня на какой-нибудь митап ныть про то, как все плохо, когда
1) нет стандартов
2) нет библиотек для работы с экспериментальными стандартами
3) то, что есть - написано MLщиками или LLM
4) ничего друг с другом не стыкуется

Я потратил около 6ти часов, чтобы запустить хоть что-то осмысленное поверх A2A, т.к. документации нет, примеры кода в samples устарели, а те, что запустились - так и сыплют ошибками и варнингами в рандомных местах😭

Если вы думаете, что "умные ребята из Google уже написали все библиотеки, мне просто нужно сделать pip install" - ЭТО ТАК НЕ РАБОТАЕТ. По крайней мере для меня💀
Please open Telegram to view this post
VIEW IN TELEGRAM
🤬123
Как работает MCP

MCP - это очень простой протокол, который изменил мир. По сути, MCP - это RPC (Remote Procedure Call) для LLM, где "процедурами" выступают поставщики контекста. Весь обмен построен на стандартизированных JSON-сообщениях. ЭТО ПРОСТО HTTP РУЧКИ С ОПРЕДЕЛЕННЫМ ПОРЯДКОМ ВЫЗОВА

В протокол MCP вовлечены 3 действующих лица:

- MCP Server - HTTP (и не только) приложение, которое поддерживает обращения по протоколу MCP. Например, в IDE включены некоторые MCP-тулы по работе с файловой системой / историей коммитов / etc. Но вы можете поднять любые удаленные MCP серверы и просто указать их для работы.
- MCP Client - приложение, которое хочет работать с MCP сервером. Например, IDE-ассистент, CLI-утилита, или даже ChatGPT (ему тоже можно дать доступ к MCP)
- LLM провайдер - это "голова" вашего MCP клиента. Туда клиент передает вопросы и получает ответы (или команды на запуск MCP)

Основной флоу: Знакомство, Запрос, Ответ

Представим, что вы подключили к Chat GPT MCP сервер для арифметики. И задаете ему вопрос: "Сколько будет 2 + 2 * 2?" (я пропущу пару шагов, чтобы не усложнять)

Шаг 1: Tool Discovery (Знакомство)

Как только вы начинаете диалог, MCP Client (Chat GPT) опрашивает MCP Server'ы, чтобы узнать, что те вообще умеют. MCP Server отвечает сообщением типа ContextProvider.

Это как если бы сервер сказал клиенту: "Привет, я сервер. Вот мой Swagger / OpenAPI. Ты можешь вызывать вот такие эндпоинты".


// Сообщение от MCP Server -> MCP Client
{
"jsonrpc": "2.0",
"result": {
"tools": [{
"name": "calculator_arithmetic",
"title": "Calculator",
"description": "Perform mathematical calculations including basic arithmetic, trigonometric functions, and algebraic operations",
"inputSchema": {
"type": "object",
"properties": {
"expression": {
"type": "string",
"description": "Mathematical expression to evaluate (e.g., '2 + 3 * 4', 'sin(30)', 'sqrt(16)')"
}
},
"required": ["expression"]
}
},
]}
}


Что здесь происходит:

* name: calculator_arithmetic — уникальное имя операции.
* title + description: Человекопонятное описание, чтобы LLM поняла, что эта штука делает и когда ее стоит вызывать.
* inputSchema: А вот и "сигнатуры функций". Это, по сути, JSON Schema, описывающая, какие параметры принимают методы этого сервера.

Теперь LLM Client отправит это сообщение вместе с вашим вопросом прямо в GPT. И GPT уже знает, что он может вызвать операцию calculator_arithmetic, если понадобится что-то посчитать.

Шаг 2: Request (Запрос контекста)

Агент анализирует ваш вопрос и решает, что для ответа ему нужно вызвать операцию calculator_arithmetic с параметром expression равным 2 + 2 * 2.
Агент формирует и отправляет MCP Client сообщение ContextRequest. Client понимает, что LLM хочет вызвать MCP сервер и передает ему это сообщение.


// Сообщение от Агента (LLM) -> MCP Server
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "calculator_arithmetic",
"arguments": { "expression": "2 + 2 * 2" }
}
}


Это и есть тот самый "вызов функции".

Шаг 3: Response (Ответ)

MCP Server получает этот запрос (HTTP запрос), делает свое дело и возвращает результат MCP Client'у. А тот отправляет его обратно LLM.


// Сообщение от MCP Server -> MCP Client
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [{
"type": "text",
"text": "6"
}]
}
}


Теперь LLM "мозг" решает – готов ли он дать окончательный ответ или нужно вызвать еще парочку MCP

И вот так MCP Client менеджит команды LLM "мозга" на выполнение разных запросов к MCP серверам. Так мы приделали к "мозгу" "руки". С помощью MCP нейронки могут общаться с внешним миром - спрашивать данные, выполнять действия во внешних системах и тд.

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

#MCP #протоколы #LLM #AI
👍123🙏2👌1
Кстати, чтобы написать свой простейший MCP сервер очень просто:


from fastmcp import FastMCP

mcp = FastMCP("Demo 🚀")

@mcp.tool
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b


FastMCP - это небольшая обертка над библиотекой Starlette, которая позволяет легко создавать MCP серверы - тут вы видите и title, и description, и inputSchema каждого метода.

#MCP #протоколы #LLM #AI
👍9🔥2😁2
Спасибо dependanbot за такую "классную" поддержку uv

https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#package-ecosystem-

А я все думал, почему у меня локфайл не обновляется?😕

Вот скажите, почему pip - pip, pip-compile - pip, даже poetry - pip, но uv - uv!?🤬
🥴11😭21
FastNews | Никита Пастухов
Моя система эффективности: как я выбрался из выгорания и начал перформить Как и обещал вчера, делюсь своим списком "рецептов", которые помогают мне быть не просто продуктивным, а именно эффективным. Это не волшебная таблетка, а система, которую я выстраивал…
Моя система планирования

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

Сразу скажу: я фанат бумаги и списков. И дело не только в эстетике.

Существует РЕАЛЬНОЕ подтверждение тому, что запись целей от руки напрямую влияет на вероятность их достижения. Dr. Gail Matthews из Доминиканского университета выяснила, что люди, которые записывают свои цели, достигают их на 42% чаще, тех, кто держит их в голове. И в принципе чаще тех, кто их не формулирует вообще. Вот ссылка на резюме исследования

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

Наверное, поэтому моя система на 90% аналоговая. Хотя мне просто нравится писать от руки. Итак, основные принципы:

1️⃣ Вечерний ритуал: Анализ и план на завтра (каждый день)

Каждый вечер я трачу 15-20 минут, чтобы подвести итоги дня в ежедневнике:
- Что сделал? - просто радуемся галочкам
- Что планировал, но не сделал? - выкидываем или переносим на другой день
- Что помешало? - анализируем, почему не получилось закрыть список. Если задача часто переносится - переформулируем
- План на завтра - смотрим, что уже записано в ежедневнике. Докидываем задачи из беклога или головы

Этот ритуал — моя петля обратной связи. Она помогает проталкивать залежавшиеся задачи и выполнять "важное и срочное".

2️⃣ Воскресная синхронизация: Стратегический обзор недели

Каждое воскресенье я открываю свой календарь и блокнот. Это время для расстановки задач на предстоящую неделю:
- Жесткие встречи - все, что привязано к конкретному времени (митинги, записи к врачу, митапы, доставки), достается из календаря и переносится в ежедневник
- Ритуалы - выделяю время под спорт, изучение чего-то нового, личные проекты. Не "два раза в неделю займусь спортом", а конкретно: "Вторник, 19:00 — зал", "Пятница, 8:00 — пробежка".
- Цели на неделю - достаю из беклога задачи, которые хочу "подвигать" за неделю

3️⃣ Рабочий спринт: Тактический планер-помидорка

Когда я сажусь за работу (утром на основной или вечером за свои проекты), я не смотрю в огромный список дел. Я беру отдельный лист или страницу и выписываю 3-4 задачи на ближайший спринт (1.5-2 часа). Напротив каждой ставлю примерное количество "помидорок" (25-минутных слотов), которые планирую потратить.

Это превращает аморфный список дел в конкретный, выполнимый план на сейчас.

4️⃣ Сверка с курсом (в течение дня)

Каждые 1-2 часа я быстро заглядываю в свой ежедневник или планер-помидорку. Это помогает понять, то ли я вообще делаю. Если я не знаю, что делать дальше — ответ всегда там.

Главный результат всего этого — разгрузка мозга🧠

Самое главное тут - разгрузить мозг от "блин, мне еще надо сделать Х во вторник, не забыть бы". Я всегда знаю, что делать сегодня, завтра и в четверг. Где-то примерно, где-то в конкретные часы. Но ничего помнить и думать не надо. Ну и аналитика очень важна - если ты постоянно делаешь не то, что планируешь, то это повод задуматься, что тебя отвлекает.

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

А как вы планируете свое время? Я слышал что-то про GTD, но сильно не углублялся.

#продуктивность #планирование #саморазвитие
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍17🔥12👏31❤‍🔥1
Шок-контент - Django 6.0 (господи, я последний раз на третьей писал), которая выйдет в декабре, релизит built-in Celery🤯

https://docs.djangoproject.com/en/dev/topics/tasks/

Кажется, Celery убьют не с той стороны, с которой все ждали😂

Ладно, это не совсем Celery, но очень похоже.

А еще они планируют дропать python3.10 и 3.11 - кто-нибудь объясните мне, почему я поддерживаю все живые версии питона в FastStream?
🔥11😁9🤯6
Как зарабатывать на 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 #карьера #экономика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41😢3344😁1🤡1💅1
Пятничный мем, который больше всего понравился мне на этой неделе

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

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

Поэтому моя ситуация выглядит обратно этому мему - я прислал PR, а на меня орет куча нейронок и прочих инструментов😭
😁151🤔1💯1🙉1
Суббота - отличный день, чтобы зарелизить что-нибудь! Не пятница же🌚

Например:

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🚀

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

А пока - идем пробовать новые фичи и засыпать меня баг репортами😢
Please open Telegram to view this post
VIEW IN TELEGRAM
2723🔥10👍4👏1
Оказывается, если вы хотите подчеркнуть, что ваш контент "NOT BY AI", то для вас уже сделали специальный trademark - https://notbyai.fyi/

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

Просто удивительно, на чем только люди не делают деньги
😁1091👍1🌭1
Еще один пранк, который вышел из-под контроля😅

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

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

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

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

https://t.iss.one/rupython_channel/32
20🤣3🤮1💩1
FastNews | Никита Пастухов
Еще один пранк, который вышел из-под контроля😅 Изначально идея была в том, чтобы просто отправлять нотификашки об Issue в телегу и я попросил @smqwe12 сделать GitHub Action. Теперь же этот проект оброс кучей фич и пополз по гитхаб репозиториям Кстати, один…
Сегодня @smqwe12 решил закрыть все долги и наконец-то выпустил продолжение статьи про организацию кода вашего приложения! Теперь про тесты👍

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

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

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

А в комментах предлагаю подкинуть тему для следующей статьи автора, попробуем заставить его работать вместе🌚 Меня заставлять писать статьи бесполезно, я уже почти год торчу TDD
Please open Telegram to view this post
VIEW IN TELEGRAM
24🤮3👍2💩2🗿2
Наконец-то мне больше не придется искать "ту самую фигню с фотки" на маркетплейсе самостоятельно

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

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

Осталось разобраться, как заставить эту штуку выглядеть нормально
🤮105😁3🤨2😢1👀1🗿1
Если вы вдруг не знаете, как оплатить подписку на OpenAI из РФ, то хочу вам прорекламировать отличный сервис - поисковик Github!🚀

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

https://github.com/search?q=OPENAI_API_KEY%3D%22&type=code
Please open Telegram to view this post
VIEW IN TELEGRAM
2😁58🥰75🍾1
Наконец-то в 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, если кому-то интересно залезть в детали
359👍4🔥2
Вчера у меня был повторный подход к вайбкодингу: попробовал накидать fullstack проект целиком. Возился часов 10 и от результата в восторге!

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

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

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

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

Надо будет потыкать эту модель, насколько она качественно покажет себя в моем workflow. Очень хочется верить, что это новый фаворит для самостоятельного развертывания
82🔥2👍1
Вот буквально на днях погрузился в вайбкодинг и разнылся, что у Cursor нет внятных сабагентов. Уже даже начал искать способы оплатить Claude Code. И вот держите, разбирайтесь по новой...

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

Хз, как они хотят это все уместить в свои относительно ограниченные лимиты на запросы к LLM, но пробовать будем
😁3
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).

С дизайна в ролике кайфанул 👇
Media is too big
VIEW IN TELEGRAM
💩6🔥4😢2🤨1😭1👀1
Всем веселого Хеллоуина!🎃

Закидывайте свою стату за этот год. Кто какую тыкву нарисовал?)
Please open Telegram to view this post
VIEW IN TELEGRAM
101👍9👻42🤡2