Обновить
512K+

Python *

Высокоуровневый язык программирования

438,63
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как я искал идеальный промпт для сопроводительных писем (и что оказалось важнее модели)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели3.7K

Хотел понять, потянет ли маленькая локальная модель сопроводительные письма или без облака никак. Оказалось, главный рычаг не модель, а промпт: переписал инструкцию, и отправляемость прыгнула с 0% до 88%, а рекрутёр вслепую принял 6 писем-генераций из 8 за живые.

Читать далее

Новости

Ешь, молись, люби своё облако: как Dogfooding помогает развивать продукт

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели4K

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

Читать далее

По обе стороны антибота: как я имитирую Chrome при скрейпинге и ловлю ботов по тем же сигналам

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.3K

Я собираю афишу города в одну карту из пяти источников. Два из них — Яндекс.Афиша и afisha.ru — собирать себя не хотят. И режут не так, как ждешь: ни логина, ни капчи на входе, ни «подтвердите, что вы не робот». Мой requests.get(...) ловит 403 — даже когда заголовки скопированы из Chrome один в один.

Первая мысль была дурацкая: где-то не хватает куки или очередного sec-ch-ua. Оказалось — проблема раньше. К тому моменту, когда сервер читает мой браузерный User-Agent, он уже успел посмотреть, как именно клиент открыл защищенное соединение. Питоновский клиент палится ровно тем, как он здоровается.

Читать далее

Python: как создавался язык и какие патенты связаны с ним сейчас?

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.7K

Python — один из известнейших мировых языков программирования. Его создатель — Гвидо ван Россум из Нидерландов. О том, как был придуман язык, и кто патентует разработки, связанные ним, — об этом в нашей статье.

Читать далее

Своя GPT‑like LLM по WH40K с нуля. Часть 5: Интеграция с Hugging Face

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели4.8K

Привет, Хабр! Меня зовут Владимир, и это пятая часть цикла статей по написанию и обучению небольшой decoder-only LLM с нуля. В прошлых частях мы собрали и обучили модель LinguaLaboratoriumMechanicus — миниатюрную GPT-like LLM во вселенной Warhammer 40K. В этой части упакуем её в формат Hugging Face: сделаем конфиг и обёртку под transformers, сохраним и зальём модель на Hub.

Читать далее

Облегчи себе разработку ботов – Raito

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.8K

Я разработал плагин, чтобы помочь разработчикам Telegram ботов.

Он работает поверх aiogram – не нужно будет переписывать уже имеющийся код.

И если ты хоть раз писал ботов, эта статья сэкономит тебе много времени и нервов.

Прочитать статью

Сколько на самом деле стоит решённая задача: считаем экономику self-hosted моделей vs API токены

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели9.7K

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

Во-первых, self-hosting — это постоянные затраты, а API — переменные. Значит, ответ зависит не от цены за токен, а от того, насколько плотно вы это железо загрузите. Во-вторых, токены вообще никто не покупает как цель. Покупают решённые задачи. А модели очень по-разному тратят токены на одну и ту же задачу.

И вот что изменилось за последний год: открытые модели догнали топ лидербордов. На SWE-bench Verified DeepSeek V4 Pro берёт 80,6 %, Kimi K3 — 93,4 %, вплотную к лучшим закрытым. То есть во многих сегментах выбор «своё железо vs API» перестал быть выбором по качеству — он стал чисто экономически/операционным. Ниже это то, как я предлагаю его считать.

Читать далее

Ваш AI-агент не понимает код. Он просто очень уверенно угадывает — поэтому мы создали SLICER

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели13K

AI-агенты отлично решают локальные задачи, но часто теряют связи между частями большой кодовой базы. Из-за этого изменение одной функции может незаметно сломать frontend, backend-роут, сервис, repository, background task или тест.

В статье разбирается CodeSlicer — локальный CLI, MCP-сервер и визуальный анализатор, который строит проверяемый граф влияния проекта. Он связывает функции, классы, DI-провайдеры, HTTP-endpoint’ы, frontend-компоненты и тесты, сохраняя evidence chain, provenance, confidence и причины каждой связи.

Показывается полный pipeline: inventory, extraction, semantic resolution, support packs, unknown regions, mutation testing, runtime observation и impact analysis. Отдельно разобрано, почему система не должна превращать предположение AI в подтверждённое ребро.

На размеченных Python-сценариях протестированы 21 тестовый сценарий, 29 mutation-сценариев, 20 обязательных semantic edges, 0 false positive и 0 false negative. Для TypeScript и frontend-backend bridge проверены 12 сценариев, 15 мутаций и 4 cross-language цепочки с endpoint precision 1.0.

Также рассматриваются интеграции с AI-агентами через CLI, MCP и skills, отличие CodeSlicer от обычных графов кода и дальнейшее развитие проверенного registry библиотек

Читать далее

Демон Лапласа как исполняемая модель: условная энтропия и шесть типов ограничений на предсказание

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели13K

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

Читать далее

Как отменять задачи в asyncio без зависаний и незавершённой очистки

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели12K

Отмена задачи кажется простой, пока сервис не зависает при остановке, таймаут не оставляет запрос работать в фоне, а CancelledError исчезает внутри обработчика исключений. Разберём, как устроена кооперативная отмена в asyncio, где ставить точки ожидания и как использовать TaskGroup, timeout и shield, чтобы задачи завершались предсказуемо.

Изучить asyncio

Нашёл модель в 8 раз дешевле. Она начала писать иероглифы в русских новостях

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.4K

Нашёл модель в 8 раз дешевле. Она начала писать иероглифы в русских новостях

У меня новостной бот, и каждая новость в нём проходит через LLM: категория, перевод, тон, разбор. Выходит около 936 вызовов в сутки, и в какой-то момент мне захотелось платить за это меньше.

Я перебрал все бесплатные модели OpenRouter на живых промптах, нашёл платную в 8 раз дешевле текущей, обрадовался и выкатил в прод.

Через час в ленте появился заголовок: «Как не,让智能手机 перегревать: советы в жару».

Читать далее

Робот, который звонит в WhatsApp: как я автоматизировал то, что автоматизировать не предполагалось

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели7.3K

Задача формулировалась в одно предложение: робот должен сам звонить людям в WhatsApp, проигрывать голосовое приветствие, записывать ответ и присылать оператору расшифровку с вердиктом «да / нет / надо посмотреть руками».

Проблема в том, что официально это невозможно. У WhatsApp нет API для голосовых роботов: Business API умеет шаблонные сообщения, провайдеры на рынке умеют текстовые рассылки, голосовые звонки закрыты наглухо. Готового решения не существует ни за деньги, ни за большие деньги.

Зато существует официальное десктопное приложение, которое звонить умеет. И его можно водить за руку.

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

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

Кода будет много. Всё интересное в этом проекте живёт именно в деталях.

Читать далее

Playwright не спасает от флапающих тестов: разбираемся, как он ждёт на самом деле

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели12K

Локально тесты проходят стабильно, а в CI начинают падать в случайных местах — знакомая картина даже для проектов на Playwright.

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

Читать далее

Ближайшие события

Я написал ASGI-фреймворк, в котором дерево папок — это и есть API

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8K

Несколько месяцев пилил pet-проект, который зашёл дальше, чем планировал: файловый ASGI-фреймворк, где дерево папок — это и есть таблица роутов. Сегодня вышла версия 1.0 — с адверсариальным security-аудитом (нашёл у себя pickle RCE и CSWSH), 2329 тестами и нативным async на PostgreSQL. Рассказываю, что внутри и что было больнее всего сделать правильно.

Узнать подробнее об EndoCore

Должны ли библиотеки запрещать уязвимые версии зависимостей?

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.2K

Когда в зависимости обнаруживают уязвимость, очевидное решение — поднять её минимально допустимую версию во всех библиотеках, которые ее используют. Тогда пакетный менеджер не подтянет уязвимую версию даже при новой установке. Сет Ларсон из Python Software Foundation предлагает не делать этого автоматически. По его мнению метаданные библиотеки должны описывать только совместимость, а контроль безопасности сборки оставаться на стороне приложения.

Колонка Сета вызвала спор в Python-сообществе: одни поддержали разделение ответственности между библиотекой и приложением, другие заметили, что безопасность тоже может входить в условия поддержки библиотеки. Мы в CodeScoring подготовили перевод колонки, разбор обеих позиций и наш взгляд на этот вопрос.

Читать далее

Я сделал ASGI-фреймворк, где дерево папок — и есть API

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.2K

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

Узнать больше про EndoCore

ИИ для анализа рентген‑снимков грудного отдела

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.6K

Недавно занимался задачей, которую в медтехе обсуждают часто, а до рабочего прототипа доходят не все: нужно было научить модель смотреть на рентген грудной клетки и выдавать вероятности по нескольким патологиям сразу. Не сегментация, не генерация отчёта — именно мультилейбл‑классификация, чтобы на выходе было что‑то вроде «плевральный выпот 87%, пневмоторакс 12%».

Полный fine‑tune большой сети на арендованной GPU мне не хотелось: дорого, долго, и есть риск переобучиться на паре десятков тысяч снимков. Поэтому пошёл по пути linear probing — взял тяжёлый предобученный энкодер, заморозил его и обучил только небольшую голову. В итоге macro AUC на валидации вышел 0.9025, обучение уложилось в десяток эпох.

Ниже — как устроен пайплайн, где накосячил с путями к датасету, и почему отказался от горизонтального отражения.

Читать далее

Заставляем Airflow самого заводить задачи в YouTrack без смс и регистрации

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.5K

Работая единственным QA в команде, в обязанности которого активно входит мониторинг, я столкнулась с проблемами тайм-менеджмента: очень много времени уходит на анализ упавших пайплайнов, заведение однотипных задач, поднятие тревоги, отмена тревоги, потому что проблема уже исправляется и прочие прелести тестерской работы. В один прекрасный осенний денек, сидя на окне и думая о нем (мониторинге), я решила - хватит это терпеть. Посидела, погуглила, вспомнила родительские слова “Хочешь сделать что-то хорошо - сделай это сама”. Что ж таков путь.

Читать далее

LLM-судье нельзя верить на слово: как построить надёжный гейт и проверить сами тесты

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.4K

Как перестать доверять LLM-судье на слово и построить безопасную двухконтурную систему оценки?

Внутри статьи:

Архитектурный паттерн сдерживания: почему у классической нормализации должно быть право вето.

CI-инварианты: как ловить галлюцинации моделей с помощью враждебных фикстур в grounded-judge-gate.

Разбор факапов: три реальных бага проектирования, которые едва не увели систему в ложноположительное пике.

Читать далее

Я перенёс на Python библиотеку, которой физики пользуются двадцать лет. Перевод оказался самой лёгкой частью

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели11K

Есть код, который физики передают друг другу с 2002 года. Кристиан Мэтцлер из Бернского университета написал набор MATLAB‑функций для расчёта рассеяния Ми, физики, из‑за которой небо голубое, а молоко белое. В 2009-м Стивен Жак обернул его для тканевой оптики, и с тех пор эти полторы сотни строк разошлись по тысячам работ, от атмосферных исследований до лазерной медицины.

Читать далее
1
23 ...