Обновить
512K+

Программирование *

Искусство создания компьютерных программ

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

«Агент тупит» — это диагноз инструкции, а не модели

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

Год работы с ИИ-агентом на потоке отучил меня от фразы «модель поглупела». Почти всё, что выглядит тупостью или галлюцинациями, раскладывается на три дефекта инструкции: правило написано прозой, правило написано в форме «как не надо», у правила нет проверки. Хочу поделиться приёмами как это лечится, и рассказать про контур, в котором агент дописывает инструкцию себе сам. Замеров не будет, вместо них список того, что перестало происходить. Всё, на что я ссылаюсь, лежит в публичном репозитории; ссылки по тексту.

Читать далее

Пять способов навсегда поселить flaky‑тесты в своём CI

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

Flaky‑тесты становятся проблемой задолго до того, как их количество начинает измеряться сотнями. Один нестабильный тест способен скрыть реальный баг, замедлить CI и заставить команду тратить время на повторные прогоны. В статье разберём, почему привычные решения вроде ретраев и sleep() часто маскируют проблему, как искать скрытые источники нестабильности и какие подходы помогают сделать автотесты предсказуемее.

Узнать больше

Kodacode лучший харнес для DeepSeek v4 Flash!? Замерили различные харнессы и модели

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

Мы запустили DeepSeek V4 Flash в четырёх популярных харнессах. В наших замерах Koda набрала 52,2% и обошла Kilocode, Claude Code и OpenCode.

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

Читать далее

Это больше не ХИ‑ХИ: как использовать ИИ — и не разучиться думать

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

«Ну понятно, до нормального результата ещё года два». Так можно было сказать про нейронки… примерно полгода назад. И вот мы здесь. ИИ уже делает кучу вещей сильно быстрее и проще.

И вот здесь начинается самое дискуссионное. Потому что вместе с рабочей задачей есть риск передать искусственному интеллекту и кое‑что важное: поиск и анализ информации, который влияет на развитие собственного интеллекта. 

Привет! Это Денис Румянцев, руководитель продуктовой разработки в Профи.ру. Я не сторонник ни полного восторга от ИИ, ни идеи «давайте всё запретим, пока не поздно». 

Читать далее

Попросил ИИ-агента писать код осторожнее — а он стал исправлять меньше багов

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

Осторожность кажется полезной настройкой для ИИ-агента. Но три прогона на 100 реальных багах из SWE-bench дали обратный результат: «правила дисциплины» по мотивам советов Карпати снизили число исправлений примерно на 13%. Разберём результаты эксперимента и посмотрим, в какой момент разумные ограничения превращаются для агента в тормоза.

Разобрать эксперимент

Как я выбирал локальную модель для кодинга на 16 ГБ VRAM — и трижды менял победителя

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

Сначала я выбрал модель, которая отлично писала код. Подключил её к OpenCode и выяснил, что создавать файлы на диске она просто не умеет. Взял другую — та уверенно работала с файлами, но полностью поплыла на русском языке.

​В итоге победила модель, которую я поначалу оставил «для экспериментов»: слишком большая, на грани по квантованию и, казалось, сплошной компромисс.

​Ниже — о том, как я подбирал рабочую лошадку под WordPress и фронтенд на видеокарте с 16 ГБ памяти. Со скоростями, квантами и неожиданным экзаменом по русскому языку.

Читать далее

Выбираем бэкенд в 2026 (PHP, Dart и C++ Drogon)

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

Поехали.

Вообще говоря, я всегда делал бэкенд исключительно на PHP. Я считаю его отличным языком для бэкенда, вернее не только для бэкенда, а отличным языком. Некоторые не любят PHP за малый порог вхождения. Типа через этот малый порог вхождения входит очень много непрограммистов, которые потом пишут говнокод. Но я придерживаюсь мнения, что PHP никак не виноват в этом. Скорее наоборот. На PHP логика просыпается даже у тех, кто кроме говнокода ничего написать не может. Поэтому в любом случае это отличный язык программирования, который каждый год хоронят, но никак похоронить не могут. И в 2026 году он живее всех живых и показывает отличные результаты.

Вторым в списке для сравнения я решил поставить Дарт. Дело в том, что самое узкое место применения Дарта — это как раз-таки применение на серверах. Потому что в мобильной разработке он уже как стандарт, веб, фронтенд мало-мальцевски он тоже подтягивает. Но вот на серверах пока что его используют очень мало. Одна из причин на то, что его мало используют на серверах, — это отсутствие библиотек, таких как, например, есть у PHP. Но, тем не менее, это совсем не значит, а тем более сейчас в эпоху LLM, это совсем не значит, что Дарт негоден на серверах. Как покажет сравнение, он очень-таки годен.

Третий кандидат для сравнения — это C++. Это его фреймворк Drogon, который в каком-то там 2014 или 2015 годах взлетел как самый быстрый фреймворк для серверов на бэкенде по скорости. Если честно, я ни разу не писал бэкенд на C++, поэтому это была первая попытка. Просто хотелось посмотреть, как C++ уничтожит двух других оппонентов со своей 100x производительностью.

Читать далее

Я перестал пользоваться самыми умными ИИ‑моделями. Программировать стало быстрее и дешевле

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

В отпуске есть время подумать и исследовать. Я натолкнулся на несколько вещей и открытий для себя. Оказалось, что мне как программисту перестали быть нужны самые умные и дорогие ИИ‑модели. Оказывается, есть такой параметр «Cost per Task», и по этому параметру на первое место вырвалась модель GPT-5.6 Luna (max).

При этом, если вы пользуетесь Codex, она самая тупая в списке моделей. Artificial Analysis Intelligence Index у нее всего 38. Для сравнения, у самой умной GPT-6 Astra (max) этот индекс равен 53. В итоге цена выполненной Luna задачи составляет $0.18 против $3.26 у Astra. Разница почти в 20 раз.

Как я понимаю, бенчмарк «Cost per Task» высчитывается так: когда ставится нормальная, грамотно описанная задача, замеряется, сколько токенов было потрачено на ее выполнение. То есть не в формате «из ХЗ сделаю ТЗ», а в формате, когда в хорошо заданном вопросе уже содержится половина ответа.

Я сначала не поверил, что так и есть, и стал работать, используя самую тупую модель Luna в линейке. И знаете, какие меня ожидали результаты?

Читать далее

Бэкенд без лишних граблей: 13 статей о PostgreSQL, микросервисах и коде

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

Что общего у раздувшегося индекса, неудачно нарезанных микросервисов и лишнего std::move? Все они выглядят безобидно, пока не доходят до продакшена. В этом дайджесте собрали 13 разборов бэкенд-задач, в которых детали решают всё.

Смотреть подборку статей

Спросил у Claude Code одно слово — он отправил на сервер 305 килобайт. Вскрыл трафик двух кодинг-агентов

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

Спросил у Claude Code «Ответь одним словом: работает». Двадцать девять символов. На сервер ушло 305 042 байта — 113 460 токенов, ответ из четырёх.

Поставил между агентом и сервером прокси на сорок строк Python и разобрал тело запроса по частям. Системный промпт — четыре процента. Восемьдесят пять процентов — описания 137 инструментов, из которых 107 принёс один MCP-сервер, которым я в этой сессии не пользовался. Ещё 29 тысяч символов добавил хук плагина. И на каждый ход уходит второй запрос, о котором я не просил.

То же самое проделал с Codex CLI: 29 килобайт, 9 817 токенов, а системный промпт при этом такой же длины. Дальше — таблица, что убирается флагами (один MCP-сервер стоил 52 тысячи токенов на запрос), что это значит для окна и кэша, и скрипт, чтобы посмотреть свой первый запрос.

Читать далее

Системная отладка или Как искать баги: при чем тут дедукция и цепочка Целлера

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

Привет, Хабр!

Меня зовут Кирилл Кайданов, я старший инженер-программист в компании «Гарда». Я несколько лет занимался исключительно багами, достаточно редко брал какие-либо другие задачки. И так получилось, что в целом эта сфера по-прежнему осталась любимой частью работы.

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

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

Под катом делюсь мануалом, который помогает мне быстрее вычислять баги. Хотя основная часть моей практики связана с C++, но предлагаемый в статье подход универсален и не зависит от языка программирования или стека. Гарантирую, что он будет работать даже в ситуации, когда нужно разбираться с системой на незнакомом языке.

Читать далее

Новые фичи Java нужны не только на собеседованиях

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

Всем привет! На связи Михаил Поливаха, технический лидер проекта Axelix.

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

И это, кстати, не обязательно плохо. Тащить новую фичу в production только потому, что она новая, не самая выдающаяся инженерная стратегия. Более того, многие приложения всё ещё работают на Java 17, а где-то бодро живёт и Java 11.

Но отсюда возникает закономерный вопрос:

Есть ли у новых возможностей Java применение в обычных, реальных приложениях? Не в презентации, не в игрушечном pet project, а в коде, который решает вполне конкретную задачу?

Да, есть.

Читать далее

«Лучшие» практики Rust, которые вас подведут. Часть 2

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

Ну, привет.

В январе мы разбирали пять привычек, которые звучат разумно, а на деле мешают: дженерики на каждый параметр, Arc<Mutex>

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

Сегодня — ещё пять таких же «лучших» практик. Трейт на случай смены базы. Лайфтаймы в структурах ради аллокаций, которые никто не считал. Строка #[derive(...)], которую копируют не глядя и однажды сливают пароль в лог. Newtype на каждое число. И оптимизации, которые воткнули до того, как кто-нибудь вообще открыл профилировщик.

Читать далее

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

Сколько стоит месяц с AI-агентом: API против подписок

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

Посчитал месяц работы разработчика с AI-агентом по ценам API и подписок на сентябрь 2026: от $87 на DeepSeek до $7 720 на GPT-6 Astra. Почему 82% токенов — это кэш, что ломает кэширование посреди сессии, почему лимиты подписок в запросах обманчивы и сколько на самом деле дают Claude Code, Codex, OpenCode Go, GLM Coding Plan и Ollama Cloud.

Читать далее

Грязные игры

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

Вы знаете, что игры бывают очень архитектурно «грязными» внутри? Но это не помешало им продаваться миллионами копий, или быть написаннами одним человеком на фреймворке для браузерок, или на Lua поверх библиотеки для геймджемов, или вообще ребенком в бесплатной версии юнити. При этом мощный кастомный движок с ECS, job‑системой, своим рендером и рефлексией повсюду вы тоже знаете, но игра на нем, скорее всего лежит третий год у вас в беклоге, так и не сыграная даже пару часов.

Попросили меня по старой дружбе, где‑то с полгода назад, помочь с разработкой и выводом игры в Steam. Ребята до этого занимались нефтью, и накопив деньжат, решили, что называется оставить след в индустрии. Если честно, я несколько отвык от такого «детского» кода и простых решений, что меня несколько удивило, хотя и вернуло на грешную землю из объятий ентрепрайза. Но я сразу оговорюсь, что простая архитектура это не оправдание плохого кода, а способ выбрать, где именно вы позволяете себе быть сложным. Бюджет сложности конечен... прежде всего размером вашей натуральной оперативкой, и тратить его надо туда, где игрок это увидит.

Читать далее

Ключ к безопасной идентификации: дайджест недели сканеров с технологиями Smart Engines

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

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

Совместно с ГК «Интек» Smart Engines разработала линейку российских программно-аппаратных комплексов для автоматического ввода данных и проверки подлинности документов.

За Неделю сканеров мы рассказали и показывали, как сканеры Smart Engines помогают выявлять подделки, встраиваются в полностью автоматизированные процессы и применяются в банках, аэропортах, государственных учреждениях, системах контроля доступа и роботизированных комплексах. 

Собрали главное за Неделю сканеров в одном дайджесте👇

Читать далее

Как я строил zero‑knowledge менеджер паролей: три архитектуры, модель угроз и восемь багов

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

Привет, Habr.

Я разрабатываю менеджер паролей «Сэйфком» для личного и командного использования.

Почти все серьёзные проблемы, которые я находил, были не в самих криптографических примитивах. Они появлялись рядом с ними: в авторизации, сериализации ключей, rate limit, SMTP, WebAuthn и обычной бизнес‑логике.

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

Читать далее

Как писать моки, чтобы тесты падали вместе с продом: 7 частых ошибок

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

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

В статье разберём типичные ошибки при работе с unittest.mock, особенности patch, spec и autospec, а также когда лучше использовать фейки вместо моков.

Разобрать ошибки

«Обратная змейка», часть 2: читаю комментарии, чиню баги и добавляю босса

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

Когда я выкладывал первую часть, я, если честно, рассчитывал на десяток лайков и тишину в комментариях: ну кто будет всерьёз разбирать змейку, слеплённую за два вечера. Не угадал — комментариев набралось прилично, и добрая половина оказалась не «мило, годно», а разбором полётов: кто-то поймал баг, кто-то — нечестный спавн змей вплотную к игроку, кто-то сравнил игру то с Pac-Man, то с Asteroids. И вот сижу я, читаю это всё по второму кругу и понимаю: технически игра работала, но местами работала не на 100 процентов своей идеи, а это не то же самое, что работала хорошо. В общем, решил пройтись по всему списку, а не отделаться сердечком в ответ.

Читать далее

Дайджест: скачиваемые решения в Базе знаний за месяц

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

Подборка 5 самых скачиваемых решений за последний месяц. Почему стоит обратить на неё внимание? Во-первых, это возможность изучить актуальные интересы пользователей и понять, какие инструменты сейчас востребованы. Во-вторых, среди подборки вы можете найти полезные решения для себя или своих клиентов.

Читать далее