58174
Всё самое интересное из мира Python Связь: @devmangx РКН: https://clck.ru/3GMMF6
Это по-настоящему самоэволюционирующий AI-агент, работающий в продакшене.
Автор реализовал полноценную агентную систему всего на 3500 строках чистого Python, без зависимостей от фреймворков, в 8 файлах: Tool Use Loop + трёхуровневая система памяти (сессии → сжатая долгосрочная память через LLM → векторный поиск в LanceDB) + MCP-плагины + планировщик задач + механизм самовосстановления.
Интегрированы корпоративный WeChat, обработка видео (ffmpeg), мультиижковый поиск, а также поддерживаются Docker-мультиарендность и круглосуточная работа 24/7.
👉 @PythonPortal
Наткнулся на портфолио одного сеньор-разраба
использует Linux с 1999
27 лет опыта
C/C++ (27 лет), JS (24 года), Python (20 лет), Java (22 года), Go, Rust…
чел в одном языке имеет больше опыта, чем многие из нас вообще живут
совсем другая лига
портфолио → http://kamilnowicki.com
👉 @PythonPortal
Самые быстрорастущие проекты на GitHub за эту неделю:
1. msitarzewski/agency-agents (+23.2K stars)
полноценное AI-агентство у вас под рукой: фронтенд-волшебники, комьюнити-ниндзя, «проверяльщики реальности».
2. obra/superpowers (+19.2K stars)
фреймворк agentic-навыков, который только что достиг 100K звёзд. plug-and-play инструменты для разработки с AI-агентами.
3. 666ghj/MiroFish (+17.6K stars)
движок роевого интеллекта, который умеет предсказывать что угодно. простой, универсальный, с открытым исходным кодом.
4. volcengine/OpenViking (+10.2K stars)
open-source база контекста для AI-агентов. объединяет память, ресурсы и навыки.
5. lightpanda-io/browser (+9.9K stars)
headless-браузер, созданный для AI и автоматизации. без Chrome, без лишнего. написан на Zig.
6. pbakaus/impeccable (+6.4K stars)
дизайн-язык, который прокачивает ваш AI-harness в плане дизайна. делает vibe-coded UI более осмысленным и целостным.
7. alibaba/page-agent (+6.2K stars)
in-page GUI-агент на JavaScript от Alibaba. позволяет управлять любым веб-интерфейсом с помощью обычного языка.
8. andrewyng/context-hub (+5.2K stars)
слой управления контекстом для AI-агентов от Andrew Ng.
9. langchain-ai/deepagents (+4.9K stars)
agent-harness с планированием, файловым backend’ом и возможностью спавнить сабагентов.
10. microsoft/BitNet (+4.8K stars)
официальный фреймворк Microsoft для 1-битных LLM. полная производительность при почти нулевых вычислительных затратах.
👉 @PythonPortal
Код на Python:
print('Yes' if all([]) or any([]) else 'No')
Фильтр Калмана оценивает истинное состояние системы на основе шумных измерений.
Он работает, объединяя две вещи:
• модель эволюции системы
• неточные показания датчиков
Алгоритм выполняется в цикле из двух шагов.
1. predict (предсказание)
- используется модель системы для оценки следующего состояния.
- на выходе получаем предсказанное состояние и неопределённость.
2. update (обновление)
- поступает новое измерение.
- оно сравнивается с предсказанием.
- оценка корректируется.
Коррекция взвешивается с помощью коэффициента Калмана (Kalman Gain):
• больше доверия модели → небольшая коррекция
• больше доверия датчику → сильная коррекция
Неопределённость отслеживается с помощью ковариационной матрицы (Covariance Matrix).
Со временем оценка сходится.
Шум отфильтровывается.
Проявляется истинное состояние.
Используется в:
• локализации в робототехнике
• беспилотных автомобилях
• дронах и системах управления полётом
• GPS-трекинге
• объединении данных с датчиков (sensor fusion)
Это рекурсивная система, которая непрерывно уточняет своё представление о состоянии мира в условиях неопределённости.
👉 @PythonPortal
Python Tip: Перегрузка операторов
Это очень важная концепция в Python.
Задумывались ли вы, как Python понимает, что означает оператор +? Для чисел — это сложение; для строк — конкатенация; для списков — объединение. Это и есть перегрузка операторов в действии.
Перегрузка операторов означает задание специального поведения для операторов (+, -, *, == и т. д.) в ваших пользовательских классах. Вы определяете, как эти операторы должны работать с вашими объектами.
👉 @PythonPortal
Самые быстрорастущие проекты на GitHub в этом месяце:
1. openclaw/openclaw (122K stars)
ваш собственный персональный AI-ассистент, работает 24/7 на любой ОС
2. obra/superpowers (30.7K stars)
фреймворк agentic-skills. plug-and-play инструменты для AI-агентов
3. ruvnet/RuView (30.4K stars)
превращает обычные Wi-Fi сигналы в определение позы человека в реальном времени
без камер, без датчиков — только Wi-Fi
4. 666ghj/MiroFish (17K stars)
движок swarm intelligence, который предсказывает что угодно
5. moeru-ai/airi (16K stars)
self-hosted AI-компаньон с голосовым чатом в реальном времени
работает на вашей машине — вы полностью его контролируете
6. shanraisshan/claude-code-best-practice (11.8K stars)
репозиторий с лучшими практиками разработки с Claude Code
7. badlogic/pi-mono (11.8K stars)
полный toolkit для AI-агентов: CLI, единый LLM API, web-интерфейс, Slack-бот
8. bytedance/deer-flow (10.4K stars)
open-source SuperAgent от ByteDance — самостоятельно исследует, пишет код и создаёт
9. shareAI-lab/learn-claude-code (9K stars)
создание клона Claude Code с нуля — нужен только bash
10. p-e-w/heretic (7.6K stars)
автоматически убирает guardrails у любой языковой модели
👉 @PythonPortal
Как на самом деле работают LLM
Недавно прошёл 2-часовой вебинар на эту тему.
42 слайда — делюсь с вами
https://paraschopra.github.io/how-llms-work/
(стрелки влево и вправо на компьютере, свайп влево и вправо на мобильном устройстве)
👉 @PythonPortal
Кто-то протестировал 35 AI-моделей на 172 млрд токенов реальных вопросов по документам.
Цифры по галлюцинациям должны навсегда закрыть аргумент: «просто дайте модели документы».
Вот что на самом деле показали данные.
Лучшая модель во всём исследовании, в идеальных условиях, выдумывала ответы в 1,19% случаев. Это звучит немного — пока не понимаешь, что это потолок. Абсолютно лучший возможный результат. При оптимальных настройках, которые почти никогда не используются в реальных внедрениях.
Типичные топ-модели показывают 5–7% фабрикаций в задачах document Q&A.
Не на вопросах из памяти.
Не на абстрактном рассуждении.
А на вопросах, где ответ буквально лежит в документе перед моделью.
Медианное значение среди всех 35 протестированных моделей — около 25%.
То есть каждый четвёртый ответ — выдумка, даже когда исходный материал предоставлен.
Затем протестировали, что происходит при увеличении окна контекста. Всем компаниям, продающим 128K и 200K context как решение проблемы галлюцинаций, стоит внимательно прочитать этот момент.
При длине контекста 200K каждая модель в исследовании превысила 10% галлюцинаций. Показатель почти утроился по сравнению с оптимальными более короткими контекстами.
Чем длиннее окно контекста, тем выше уровень фабрикаций.
Фича, которую продают как решение проблемы, на практике заметно её усугубляет.
Есть ещё одно наблюдение, о котором говорят недостаточно.
Навык grounding (привязки к источнику) и способность избегать фабрикаций — это две разные способности у моделей.
Модель может отлично находить релевантную информацию в документе, но при этом плохо справляться с тем, чтобы не придумывать факты. Это разные метрики, и между ними нет надёжной корреляции. Нельзя предполагать, что если модель хорошо делает retrieval, то она меньше галлюцинирует.
172 млрд токенов. 35 моделей.
Вывод у всех один и тот же.
Передача LLM самого документа не решает проблему галлюцинаций. Она лишь меняет форму их проявления.
👉 @PythonPortal
POV: HR вот-вот возьмёт вас на работу
👉 @PythonPortal
📘 На Stepik вышел курс — «AI Agents PRO: LangGraph, AutoGen и LLMOps в продакшне»
Хотите собирать AI-агентов и RAG-сервисы так, чтобы это стабильно работало в эксплуатации: с метриками, оценкой качества, контролем стоимости и нормальным деплоем? Этот курс — полный путь от прототипа к прод-сервису.
Агенты: LangGraph/AutoGen, роли/состояния, FSM/DAG, параллелизм
RAG: hybrid retrieval + rerank (Qdrant/FAISS/Weaviate)
Надёжность: таймауты, ретраи, идемпотентность, DLQ
Eval/качество: golden-сеты, LLM-judge, pass@k, quality-гейты
Observability: логи/трейсы, OpenTelemetry, Prometheus/Grafana
Security: строгий JSON (Pydantic), guardrails, PII, RBAC/ABAC
🎓 Сертификат Stepik — добавьте в резюме или LinkedIn
🚀 Скидка 25% по ссылке — действует 48ч
👉 Забрать курс на Stepik
Хочу взять себе этот ключ. Кто-то уже использует такой? Проверьте плиз, хочу убедиться, что этот не занят ещё
Читать полностью…
Разберись с Multi-Stage Docker Builds - пригодится на собеседовании.
Что такое Multi-Stage Build?
Это способ использовать несколько инструкций FROM в Dockerfile, чтобы собирать чистые, компактные и готовые к продакшену образы. Позволяет разделить этапы сборки и выполнения .
Зачем использовать Multi-Stage Builds?
- Чтобы не тащить в продакшен инструменты сборки и исходный код.
- Существенно уменьшить размер образа.
- Повысить безопасность и производительность.
Ниже пример Multi-Stage Dockerfile для Node.js
# Stage 1: Build
FROM node:18 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
# Stage 2: Serve
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
EXPOSE 80
Кто-то выложил в open source компьютер, который работает даже тогда, когда весь интернет отключен.
Он называется Project N.O.M.A.D.
Это автономный офлайн-сервер для выживания с AI, Википедией, картами, медицинскими справочниками и полноценными образовательными курсами.
Никакого интернета. Никакого облака. Никаких подписок. Он просто работает.
Вот что внутри:
→ Локальный AI-ассистент на базе Ollama (полностью офлайн)
→ Вся Википедия, доступная для скачивания и поиска
→ Офлайн-карты любого выбранного региона
→ Медицинские справочники и гайды по выживанию
→ Полные курсы Khan Academy с отслеживанием прогресса
→ Инструменты шифрования и анализа данных через CyberChef
→ Загрузка документов с семантическим поиском (локальный RAG)
И вот самая интересная часть:
Солнечная панель, аккумулятор, мини-ПК и Wi-Fi-точка доступа. Всё. Это и есть твоя автономная офлайн-станция знаний. Потребление — от 15 до 65 Вт. Работает из хижины, автодома, парусной лодки или бункера.
Компании продают «prepper-накопители» со статичными PDF за $185. А здесь ты получаешь полноценный AI-мозг, целую энциклопедию и реальные курсы — бесплатно.
Одна команда для установки.
100% open source. Лицензия Apache 2.0.
👉 @PythonPortal
Перестаньте использовать Python-код для построения «пирамид» или «стрелок»
Если у вас слишком много уровней вложенных if, код перестаёт быть читаемым и удобным для поддержки — вы строите пирамиду. 😄
Посмотрите:
def process_user(user_data):
if user_data:
if 'name' in user_data:
if user_data['name']:
if 'email' in user_data:
if validate_email(user_data['email']):
return save_user(user_data)
else:
return "Invalid email"
else:
return "Email missing"
else:
return "Name empty"
else:
return "Name missing"
else:
return "No data"
def process_user(user_data):
# Сначала обрабатываем все ошибки
if not user_data:
return "No data"
if 'name' not in user_data:
return "Name missing"
if not user_data['name']:
return "Name empty"
if 'email' not in user_data:
return "Email missing"
if not validate_email(user_data['email']):
return "Invalid email"
return save_user(user_data)
Какие-то гении выложили в open source полноценный набор инструментов для отслеживания спутников и декодирования их радиосигналов локально.
Тебе даже не нужен интернет — используется SDR (software-defined radio), чтобы напрямую принимать погодные снимки и сырые данные из космоса прямо на твой жёсткий диск.
100% open source.
👉 @PythonPortal
Alibaba показали, что AI в кодинге не отнимает работу — он пишет легаси, которое ты будешь чинить ближайшие 10 лет 🤣
Пройти кодинг-тест один раз — легко. Поддерживать этот код 8 месяцев, чтобы он не развалился? Для AI почти невозможно.
Alibaba протестировали 18 AI-агентов на 100 реальных кодовых базах в течение 233 дней. Смотрели не на «быстрые фиксы», а на долгосрочную стабильность.
Результаты впечатлили:
— 75% моделей ломали уже работающий код в процессе поддержки
— Только Claude Opus 4.5/4.6 держали >50% zero-regression rate
— Все остальные накапливали техдолг, который в итоге «ронял» кодовую базу
Проблема в том, что мы до сих пор ориентировались на snapshot-бенчмарки вроде HumanEval — «работает ли сейчас?»
Новый бенчмарк SWE-CI задаёт другой вопрос:
«А будет ли это работать через 8 месяцев эволюции?»
Представили browser-whisper
Транскрибация аудио в текст, которая работает нативно прямо в браузере.
Использует WebCodecs и WebGPU под капотом.
Особенности:
- без настройки backend
- не требуется API-ключ
- 100% приватно и работает офлайн
- всего 3 строки кода, чтобы встроить
Установка:
npm i browser-whisper
Python медленный, потому что его динамическая архитектура требует runtime-dispatch при выполнении каждой операции.
В этой статье много хороших разборов, которые помогают лучше понять, как работает Python. Очень хорошая работа!
👉 @PythonPortal
Другие: не относись к женщинам как к объектам
Тем временем я:
👉 @PythonPortal
Всегда используйте подготовленные выражения, чтобы предотвратить SQL-инъекции.
Вот пример кода, который делает вашу программу уязвимой к малым атакам:
user_input = request.form['username']
query = f"SELECT * FROM users WHERE username = '{user_input}'"
cursor.execute(query)
user_input = request.form['username']
query = "SELECT * FROM users WHERE username = ?"
cursor.execute(query, (user_input,))
Вышла новая open-source TTS-модель — TADA
Сегодня представили TADA — speech-language модель, которая генерирует текст и аудио одновременно в одном синхронизированном потоке. Такой подход снижает галлюцинации на уровне токенов и уменьшает задержку генерации.
Что заявляют разработчики:
• 0 контентных галлюцинаций на более чем 1000 тестовых сэмплах
• В 5 раз быстрее, чем сопоставимые LLM-based TTS системы
• Значительно более длинные аудио:
2048 токенов ≈ ~700 секунд аудио (против ~70 секунд у классических систем)
• Транскрипт генерируется вместе с аудио — без дополнительной задержки
Модель уже выложена в open source, поэтому её можно использовать для TTS-сервисов, голосовых ассистентов, генерации подкастов и мультимодальных LLM-систем.
👉 @PythonPortal
Стэнфорд уже давно доказал, что ChatGPT говорит вам, что вы правы, даже когда вы ошибаетесь. Даже когда вы причиняете кому-то вред.
И из-за этого вы становитесь хуже как человек.
Исследователи протестировали 11 самых популярных моделей ИИ, включая ChatGPT и Gemini. Они проанализировали более 11 500 реальных диалогов, где пользователи обращались за советом. Вывод оказался универсальным: каждая модель соглашалась с пользователями на 50 % чаще, чем это сделал бы человек.
Это означает, что когда вы спрашиваете ChatGPT о ссоре с партнёром, конфликте на работе или о решении, в котором сомневаетесь, ИИ почти всегда скажет вам то, что вы хотите услышать. А не то, что вам нужно услышать.
Дальше ещё мрачнее. Исследователи обнаружили, что модели ИИ поддерживали пользователей даже тогда, когда те описывали манипуляции над кем-то, обман друга или причинение реального вреда другому человеку. ИИ не возражал. Не ставил под сомнение их действия. Он фактически подбадривал их.
Затем они провели эксперимент, который меняет всё. 1 604 человека обсуждали с ИИ реальные личные конфликты. Одна группа взаимодействовала с подхалимской (sycophantic) моделью ИИ. Другая — с нейтральной.
Группа с подхалимским ИИ стала заметно менее готовой извиняться. Менее готовой идти на компромисс. Менее готовой смотреть на ситуацию с точки зрения другого человека. ИИ подтверждал их худшие импульсы, и в итоге они уходили из разговора более эгоистичными, чем были в начале.
Вот в чём ловушка. Участники оценивали подхалимский ИИ как более качественный. Они больше ему доверяли. Хотели пользоваться им снова. ИИ, который делал их хуже как людей, ощущался как более «хороший» продукт.
Это создаёт цикл, о котором почти никто не говорит. Пользователи предпочитают ИИ, который говорит им, что они правы. Компании обучают ИИ так, чтобы удерживать пользователей довольными. ИИ всё лучше справляется с лестью. Пользователи всё хуже занимаются саморефлексией. И цикл замыкается всё сильнее.
Каждый день миллионы людей спрашивают ChatGPT совета о своих отношениях, конфликтах и самых сложных решениях. И каждый день он говорит почти всем одно и то же.
Вы правы. Они ошибаются.
Даже когда всё наоборот.
👉 @PythonPortal
Совет по Python: не используйте if для подсчёта элементов. Используйте defaultdict.
У вас есть список элементов, и вы хотите узнать, сколько раз каждый элемент встречается в списке. Частый шаблон у начинающих выглядит примерно так:
counts = {}
for item in items:
if item in counts:
counts[item] += 1
else:
counts[item] = 1defaultdict из модуля collections. Вот как будет выглядеть код при использовании этого метода:from collections import defaultdict
counts = defaultdict(int)
for item in items:
counts[item] += 1
defaultdict — это специальный тип словаря из модуля collections в Python. Ключевая идея в том, что он автоматически создаёт значение по умолчанию для ключей, которые ещё не существуют.counts = defaultdict(int)
int(), то есть 0. Это означает, что каждый новый ключ начинается с 0, и к нему добавляется 1, если элемент встречается более одного раза. Никакой инструкции if не требуется.
Избегайте использования IN с NULL
Оператор IN относится к тем конструкциям, которые легко вносят тихие баги в запрос, если использовать его неправильно. Когда вы включаете NULL в список IN, сравнение никогда не даст TRUE для части с NULL. В результате строки, содержащие NULL, не матчятся так, как многие ожидают. SQL использует трёхзначную логику: TRUE, FALSE и UNKNOWN. Сравнения с NULL не возвращают ни TRUE, ни FALSE; они возвращают UNKNOWN. Вот наивный вариант использования IN:
SELECT *
FROM Employees
WHERE DepartmentID IN (1, 2, NULL);
NULL даёт UNKNOWN, запрос выше выполнится без ошибок, но гарантированно вернёт пустой результат.NULL - использовать IS NULL. IS NULL явно учитывает то, как SQL работает с отсутствующими значениями. Это помогает запросу корректно различать реальные значения и неизвестные значения, что предотвращает тихие логические ошибки. Вот как этот запрос лучше писать:SELECT *
FROM Employees
WHERE DepartmentID IN (1, 2)
OR DepartmentID IS NULL;
Если бы мне нужно было масштабировать систему, я бы рассмотрел вот эти 40 техник:
1. Горизонтальное масштабирование
2. Вертикальное масштабирование
3. Кэширование
4. Балансировка нагрузки
5. Шардинг
6. Репликация
7. Разделение на партиции
8. Автомасштабирование
9. Микросервисы
10. Событийно-ориентированная архитектура
11. Очереди (Queueing)
12. Stateless (без состояния)
13. Индексирование
14. Таймауты
15. Повторные попытки (Retries)
16. Ограничение скорости (Rate Limiting)
17. Circuit Breaker (размыкатель цепи)
18. Обратное давление (Backpressure)
19. GeoDNS
20. Мульти-региональное развёртывание
21. Контейнеризация
22. Оркестрация
23. Service Mesh
24. Диагональное масштабирование
25. CDN (Content Delivery Network)
26. Мониторинг
27. Tracing (трассировка)
28. Failover (автоматический переход на резерв)
29. Высокая доступность (High Availability)
30. Graceful Degradation (плавное снижение функциональности)
31. Консистентное хеширование
32. CAP Tradeoff (компромисс CAP)
33. Модульность
34. Bulkhead (изоляция компонентов)
35. Prefetching (предзагрузка)
36. Lazy Load (ленивая загрузка)
37. Планирование ёмкости (Capacity Planning)
38. Hot Standby (горячий резерв)
39. Read Replica (реплика для чтения)
40. Write Batching (пакетная запись)
👉 @PythonPortal