Обновить
512K+

Python *

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

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

Harness, Да пребудет с тобой JavaScript

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

Современные AI-агенты действуют в реальном мире с помощью доступных им инструментов (tools). Ядро вокруг модели (LLM), которое позволяет всему этому работать (harness), серьезно влияет на качество и стоимость конечных ответов. При этом добавление в harness простого JavaScript может существенно прокачать AI-агента и заменить часть долгих и дорогих рассуждений простейшим кодом, который будет лучше, точнее и быстрее.

В этой статье разберу как такие интерпретаторы могут помогать. Начну с примера, который можно повторить у себя в LM Studio, а потом перейду к более общему устройству на LangChain, где простой JS-интерпретатор становится уже не таким простым, а забирает часть логики с LLM и помогает ей фокусироваться на том, что нужно, делегируя детерминированную логику скрипту.

Читать далее

Второй фактор, который жил в чужой странице: как я выбросил WebAuthn из своего сервиса ключей

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

Мы храним зашифрованные данные, и рядом с ними лежат ключи, которые к этим данным не подходят. Выглядит как расстройство для взломщика.

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

Читать далее

Ни строчки руками: как я вайбкодил AI-мастера D&D и что показали два месяца открытой беты

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

За полгода я не написал руками ни одной строчки кода. При этом в проде — почти тысяча пользователей и первые 50 тысяч рублей. Днём я геймдизайнер в мобильной игре, вечером сажусь оперировать фермой агентов, которые пишут код вместо меня — и сами же его ревьюят и тестируют. Под катом честные цифры двух месяцев открытой беты: воронка, глубина сессий, деньги и пара мест, где агенты меня знатно подставили. А вы уж сами решите, вайбкодинг — это новая разработка или преступление против профессии.

Мне есть, что сказать...

Автоматизация wildcard-сертификатов

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

Рано или поздно в инфраструктуре появляется задача автоматического обновления TLS-сертификатов. В простом случае она решается установкой certbot: один домен, один сервер, cron-задание и дальше можно не вспоминать об этом годами.

Сложности начинаются, когда инфраструктура вырастает…

Читать далее

Как я измеряю видимость брендов в шести нейросетях: схема замера, формат логов и ошибки

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

Задача звучит просто: выяснить, называют ли бренд ChatGPT, Claude, Perplexity, Gemini, Алиса AI и GigaChat, когда пользователь спрашивает совета или ответа у ИИ. На практике эта задача раскладывается на десятки технических решений, каждое из которых меняет результат в разы. Ниже устройство замера, формат хранения и три моих ошибки, которые обесценивают всю работу.

Читать далее

Train и eval в ARC-AGI-2 — это разные распределения

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

Если вы замеряете прогресс своего солвера на случайной подвыборке из train, вы замеряете его не на том наборе. Медианная задача train занимает 100 клеток на выходе, у медианной задачи eval их 225. Два и более тестовых входа требуют 6.9 процента задач train и 40.8 процента задач eval. Расхождение держится по всем шести структурным осям, которые я померил, и переживает поправку на множественные сравнения.

Дальше идёт распределительное сравнение обоих публичных наборов ARC-AGI-2, отпечатки файлов, на которых оно сделано, и подмножество из train, подобранное под eval по структуре. CSV со списком задач в конце.

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

Что показали измерения

Конфигурация в Python: эволюция подходов

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

Привет, я Николай Видов, тимлид команды чат-ботов в Т-Банке, восемь лет пишу на Python. 

Казалось бы, конфигурация — это просто .env и settings.py. Но стоит приложению вырасти — и начинается: секреты утекают в логи, port внезапно приходит строкой abc, настройки дублируются между окружениями. Я прошел путь от хардкода до типизированных схем и понял: конфигурация — это не мусорный код на скорую руку, а часть инфраструктуры, которую нужно проектировать так же тщательно, как бизнес-логику.

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

Читать далее

Я дал AI-агенту доступ к своему Telegram. Вот что из этого получилось

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

Вы когда нибудь задумывались, что можно узнать о вас и про вас из вашей истории переписки в Telegram?

Я подключил к Hermes пользовательскую Telegram-сессию. После этого агент смог искать в моих чатах, читать нужные фрагменты истории, находить контакты, выгружать выбранные переписки в JSONL и, после моего подтверждения, писать от моего имени.

Последний пункт звучит эффектно и немного тревожно. Так и должно быть. Личный Telegram хранит годы разговоров, договорённостей, файлов и случайных деталей, которые я давно забыл. Доступ к аккаунту даёт агенту контекст заметной части моей жизни. Заодно он даёт возможность совершить очень убедительную ошибку от моего имени.

Так начался эксперимент с MTProto, Pyrogram, tgcli и SKILL.md для Hermes. Польза обнаружилась быстро. Ограничения пришлось придумывать почти так же быстро, ещё до первой реальной отправки.

Какие знания можно вытащить из твоего tg

Универсальный подход к регрессионному тестированию микросервисов: интеграция Postman, Newman и Python в Jenkins

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

Привет всем заглянувшим!

В этой статье я поделюсь опытом автоматизации API‑тестирования связкой Postman + Newman, но с небольшим «секретным ингредиентом». Мы не просто будем запускать коллекции в Jenkins напрямую, а используем универсальный Python‑скрипт, который превращает стандартный прогон в мощный инструмент мониторинга.

В чем «фишка» этого подхода?

Обычно Newman выдает довольно сухие отчеты. Мой скрипт выступает в роли умной прослойки: он обрабатывает результаты тестов на статус‑коды, собирает данные и упаковывает их в наглядный Allure‑отчет. Более того, здесь добавлена функция почтовых уведомлений, чтобы контролировать состояние системы, не заходя в Jenkins.

Читать далее

От капстоуна к продакшену: fail‑fast, structured logs, Prometheus и Docker‑образ 8.15GB → 1.35GB

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

У меня есть RAG‑сервис: проверяет фактологические утверждения в бизнес‑отчётах против реальных источников — SEC EDGAR, World Bank, FRED, Wikipedia. Это капстоун LLM Zoomcamp (DataTalksClub). Курс закончился, оценку поставили (peer review, 42/42), а я решил дотянуть проект до состояния «не стыдно показать на собеседовании как рабочий код», а не просто «закрыл критерии оценки курса».

Читать далее

Garmin записывает всё. ChatGPT — ничего. Разрыв длиной в один вечер и один скрипт

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

Garmin записывает почти всё: сон, HRV, стресс, Body Battery, пульс на тренировке, каждый подход в зале. ChatGPT ничего этого не видит. Чтобы спросить у него, как прошла неделя, нужно было сначала открыть Garmin Connect, переписать цифры руками и вставить их в чат.

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

Сейчас это открытый пайплайн: локальный кэш, агентный Telegram-бот, локальная модель на Ollama, веб-мастер настройки, Windows-дистрибутив и заявка на акселератор Sber500. По пути пришлось несколько раз пересобрать саму задачу.

Читать далее

Вики из 48 часов видео: конвейер, который не даёт LLM выдумывать

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

У меня было 48 часов видеозаписей учебного курса и простая мысль: пересматривать это я не буду никогда. Сырой транскрипт немногим лучше — болото на сотни страниц. Я собрал конвейер, который превратил записи в Obsidian-вики: 47 связанных статей, и каждое утверждение в любой из них — в двух кликах от места в записи, где это было сказано.

Читать далее

Более 100 000 вакансий: полный анализ IT‑рынка России в 2026 году. И почему hh.ru нас обманывает?

Время на прочтение19 мин
Охват и читатели111K

Привет, Хабр! (И тебе, IT-шник, который хочет разобраться, что в 2026 вообще здесь происходит? Сейчас разберёмся, но легче тебе от этого не станет).

Сегодня будем препарировать весь IT рынок России на более чем 100 тысяч вакансий со всевозможных площадок. По-настоящему полная и честная аналитика. С графиками, цифрами и верой в светлое будущее...

Здесь будет всё, зарплаты, актуальные стеки и то что уже никому не нужно, прогнозы, тренды, и многое другое, будет интересно...

Читать далее

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

Как выжать максимум из Генотека: вайбкодим кастомный ДНК-анализатор

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

Дисклеймер: не читайте эту статью, если вы фанат традиционных ценностей и от заголовка уже хотите написать в комментах, что мне стоит изучить базу и отучиться в меде. Читайте эту статью только если вы прогрессивный, веселый и любите необычные проекты ♥ Статья носит исключительно научпоп-инженерно-юмористический характер. Не используйте самодельные скрипты для постановки диагнозов (хотя сходить на ПЦР-тест или к врачу после них никто не запрещает)!

Скажите, вы же тоже ожидали большего от интерпретаций коммерческих ДНК-тестов типа Genotek, 23andMe, Atlas? Ну вот и я не была в восторге от того, что я на 4.2% скандинавка, мне вреден арахис, и скорее всего я люблю кинзу.

В этой статье я расскажу, как я на диком азарте построила свой пайплайн анализа генома. Мы пройдем от пересборки координат и импутации 40 миллионов маркеров на суперкомпьютере TOPMed до укрощения памяти Node.js, чтобы скрипт не умер от 43 ГБ данных, а я покажу, как все устроено под капотом. Осторожно, много блоков кода и дисклеймеров!

Читать далее

Domain Driven Design и модульный монолит в Python

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

Статья об архитектурных подходах, позволяющих упростить back-end разработку больших и сложных систем на языке Python путем применения принципов Domain Driven Design и архитектуры модульного монолита, которые позволяют раз и навсегда избавиться от спагетти-кода, распределить задачи по присущим им областям, обозначить границы между слоями системы, тем самым снизив когнитивную нагрузку на разработчиков. А также развеять миф о том, что данные паттерны возможно реализовать лишь в строго типизируемых языках, а так же специально разработанных под эти задачи фреймворках.

Читать далее

Как я добавил в Braille eMotion установку APK: доступный диспетчер приложений и автономный EXE

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

Я незрячий и пользуюсь двумя Braille eMotion 40. На одном устройстве мне стало тесно в рамках штатного набора программ, поэтому я сделал доступный диспетчер APK и автономный установщик для Windows. Рассказываю, почему для интеграции понадобился отдельный пакет-мост, как я проверял опасные операции и какую часть работы взял на себя GPT Codex.

Читать далее

Разработка цифрового радиолюбительского протокола на базе OFDM. PHY‑уровень

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

Статья посвящена разработке радиолюбительского протокола связи на базе OFDM (Orthogonal Frequency-Division Multiplexing). В ней рассматривается процесс создания физического уровня, сложности, с которыми пришлось столкнуться, а также его испытания в эфире.

Читать далее

Как превратить топологию в 3D‑графики. Рисуем расслоение Зейферта

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

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

Читать далее

Строим RAG вручную: как это работает под капотом

Время на прочтение10 мин
Охват и читатели11K

Имея некоторый опыт в построении классических ML и CV-проектов, я решил разобраться в NLP (Natural Language Processing) и собрать свою RAG-систему без использования сторонних RAG-фреймворков (LangChain, LlamaIndex и т.п.). Моя цель - понять, как на самом деле работает RAG под капотом: от разбиения текста до генерации ответа.

Проблема, которую решает RAG

Готовые LLM модели имеют несколько недостатков:

Читать далее

Собеседования для вас большой стресс? Для меня было да, поэтому создал решение

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

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

Если интервью на английском, добавляется пятый — перевод.

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

Обычный AI‑чат в соседней вкладке в этот бюджет не помещается, и дело не в качестве модели. Посчитайте, из чего складывается задержка: услышать вопрос, переключить окно, напечатать или вставить формулировку, дождаться генерации, прочитать выдачу, найти в ней полезное, вернуться в разговор. Даже без времени на саму генерацию транспортная часть съедает больше, чем у вас есть.

Читать далее