Обновить
512K+

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

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

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

Строим продвинутый каркас для ИИ-агента

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

В основе базового agentic harness — простой цикл: LLM получает задачу, выбирает и вызывает инструмент, результат возвращается в контекст, после чего модель решает, какое действие выполнить следующим. Цикл продолжается, пока модель не решит, что задача выполнена.

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

Ничто из этого не заменяет пилота. Всё это создаёт вокруг него инфраструктуру, благодаря которой система в целом остаётся быстрой, безопасной, удобной для отладки и измеримой.

С агентами происходит то же самое. В этой статье мы возьмём базовый агентный цикл и последовательно добавим к нему типизированные инструменты, DAG и параллельное выполнение, многоуровневую память, верификацию, разделение ролей Planner / Worker / Critic, многомерные бюджеты и трассировку — а затем соединим всё это тонким оркестратором.

Весь эксперимент строится вокруг одного вопроса:

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

Эта публикация — перевод и адаптация статьи Бруно Гонсалвеса Building an Advanced Agentic Harness, подготовленные командой Островка. В оригинале материал продолжает серию Data For Science об устройстве agentic harness.

Читать далее

Итоги проверок РКН по 152-ФЗ за 2025 год и первое полугодие 2026 года: типичные нарушения

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

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

Читать далее

Я захотел, чтобы Obsidian заполнялся сам

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

Я хотел, чтобы поток звука и текста сам складывался по коробочкам и вставал на нужные полочки, а в Obsidian уже лежали готовые заметки.

Читать далее

Поиски «швейцарского ножа» или Обзор инструментов моделирования угроз

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

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

Меня зовут Антон Станкевичус, я старший специалист по тестированию безопасности программного обеспечения в компании «Гарда».

Моделирование угроз (Threat modeling) — уже давно не задача из серии «если дойдут руки», а важное требование по безопасности для российских разработчиков ПО. Мы тоже подходим к такой работе максимально тщательно.

Недавно я выбирал инструмент для автоматизации Threat modeling. Было важно, чтобы он соответствовал ГОСТу по защите информации. Требовалось предоставить руководству обзор рынка и доступных решений, чтобы согласовать оптимальный вариант.

Забегая вперед, Threat modeling редко выполняется единственным инструментом. Одни решения помогают формализовать архитектуру, другие — автоматически находить уязвимости, третьи удобно встраиваются в конвейер CI/CD. Для наглядности я решил не только сравнить между собой рассматриваемое ПО и подходы, но и оценить, насколько каждое из них соответствует требованиям регулятора, а также разложить их по функциональным группам.

Итак, поехали!

Читать далее

Почему ни одна Python-библиотека для конфигурации не закрывает все задачи

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

Привет, Хабр! На связи Николай Видов, тимлид команды чат-ботов в Т, пишу на Python с 2017 года. За это время я успел поработать с конфигами во всех видах: INI-файлы в legacy-проектах, переменные окружения в docker-контейнерах, YAML с шаблонами в Helm, pydantic-модели в свежих сервисах, Vault и Consul в инфраструктуре покрупнее. 

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

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

Читать далее

Автоматизируем разбор резюме с помощью LLM, Python и FMC

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

Когда в день вам присылают 400 резюме на одну вакансию, «посмотреть всех» физически не получится. Зато это выглядит прямо как задача под автоматизацию!

Итак, у меня есть вакансия и огромная пачка PDF-файлов с резюме. Надо понять, в каких из них действительно подтверждаются нужные компетенции, где информации не хватает и кого стоит посмотреть в первую очередь. Мы не будем автоматизировать сам найм или отправку отказов. В кейсе ниже LLM будет составлять техническую выжимку и помогать разобрать очередь. Финальное решение останется за человеком.

По идее можно было бы открыть любую ИИшницу, загрузить туда пачку резюме и собрать результаты. Но это не автоматизация, а ерунда. Поэтому мне нужен API, который можно подключить и встроить в собственный процесс проверки резюме. Для меня тут важен именно уровень абстракции. Я не хочу искать GPU, скачивать веса модели, подбирать версию CUDA, поднимать vLLM, рассчитывать, влезет ли модель в видеопамять, настраивать масштабирование, мониторить отдельный ML-зоопарк и выяснять, почему после обновления драйвера все снова упало.

Читать далее

Попробуйте Flutter Web с WebAssembly Week

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

Flutter позволяет создавать выразительные многоплатформенные приложения из единой кодовой базы. Независимо от того, разрабатываете ли вы панель управления, инструмент для своей команды или полноценное веб-приложение, Flutter Web дает вам возможность адаптировать ваше приложение для любого браузера.

С 17 по 21 августа мы проводим Неделю тестирования Flutter Web с WebAssembly ! В течение недели инженеры Dart и Flutter будут в режиме реального времени обрабатывать поступающие запросы, чтобы помочь в миграции, а наша команда по связям с разработчиками будет делиться вашими успехами в каналах сообщества.

Читать далее

Шильдик «Опытный пользователь LLM»

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

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

Читать далее

Jev за 25 строк на Python

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

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

Читать далее

Держи хотпас в холоде, а кеш в тепле

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

В литературе по оптимизации, работа с памятью стоит не на первом месте, и даже если вы добрались до этих глав там, с большой вероятностью будут рассказывать про пропускную способность, чтобы система могла перемалывать условные пять ГБ/с вместо трех. И в целом это правильная метрика, когда у вас потоковая обработка, или батчи данных вродя запекания освещения, сборки навмеша, или компиляция шейдеров. Там имеет значение сколько данных прошло через процессор за отведённое время, и все стандартные приёмы (SoA, плотные массивы, линейный обход, векторизация) работают на эту метрику.

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

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

Читать далее

Из 165 крупнейших банков в App Store остались 37. Почему сейчас в России проще быть Android-разработчиком

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

Привет!

15 июля истёк срок, который ФАС дала Apple на предустановку RuStore и MAX. Требования не выполнены, дело возбуждено, потолок штрафа доходит до 4 млрд рублей. Ну, вроде очередной эпизод в переписке ведомства с корпорацией, таких за последние годы набралось много.

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

Скажу сразу: любимой платформы у меня тут нет, болеть ни за кого не собираюсь.

Читать далее

Почему разработка постоянно выходит за сроки и как исправить это с помощью Shape Up

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

Команды часто пытаются ускорить разработку через новые оценки, больше контроля и подробные планы, но задачи всё равно растут, сроки сдвигаются, а бэклог превращается в список невыполненных обещаний. Shape Up предлагает другой взгляд на планирование: вместо оценки объёма вводится «аппетит» — ограниченный бюджет времени, под который команда адаптирует решение.

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

Читать разбор

Тест на подделку куки проходил без проверки подписи: как я принимаю код от ИИ-агентов

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

Код в моих проектах пишут агенты, Codex и Grok, и они же пишут к нему тесты. За последние месяцы набралась коллекция зелёных тестов, которые ничего не проверяли: тест на подделку подписи, проходящий без сравнения HMAC, лимиты, которые вызывали только их собственные тесты, отчёты «all pass» с заглушённым кодом возврата. Разбираю, где это ловится и как у меня устроена приёмка.

Читать дальше →

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

До вайб‑кодинга оставалась четверть века…

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

В 2000 году я писал на ассемблере софт для проверки приборов спутникового слежения и был уверен, что серьёзные системы делаются только руками. До вайб‑кодинга оставалась четверть века.

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

К ИИ я относился так же, как большинство знакомых мне инженеров. Игрушка. Лендинг накидать, стишок написать, в лучшем случае скрипт. Слово «вайб‑кодинг» для меня означало примерно это: человек сам не понимает, что делает, и надеется, что модель как‑нибудь сделает за него. Люди, которых я уважаю, в серьёзные проекты ИИ не пускали, ну и я не пускал. Пробовать я стал от безвыходности: в компании не осталось разработчиков, а объектов на поддержке осталось две сотни. Через ИИ пришлось пропустить вообще всю разработку, включая задачи, за которые раньше взялась бы только команда. И тут выяснилось, что это давно уже не игрушка. Ставишь задачу, задаёшь архитектуру, и он делает так, как сделали бы нормальные программисты.

Читать далее

Создатель Linux довел ИИ до отчаяния

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

22-й выпуск IT-новостей от OpenIDE!

Линус Торвальдс заставил ИИ искать баг в Linux, хотя тот несколько раз предлагал сдаться. OpenAI заявила о решении задачи тысячелетия, а математики объяснили, почему правильного ответа им недостаточно.

В OpenIDE вышел большой релиз и появилась поддержка C/C++ от независимого разработчика. Ещё в выпуске: Jev для быстрых решений, призыв Дарио Амодеи притормозить развитие ИИ, свежый Opus 5.5 и ZCode, который без спроса упаковывал репозитории для отправки в облако.

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

Читать далее

Восстановление EVTX-записей: методы карвинга

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

Журналы событий Windows в формате EVTX являются одним из ключевых источников телеметрии при реагировании на инциденты. Они содержат свидетельства действий злоумышленника на хосте и нередко оказываются единственным подтверждением произошедшего. Например, при компрометации учетной записи, горизонтальном перемещении или закреплении.

Поэтому атакующие часто стремятся уничтожить их: очищают через wevtutil cl, шифруют или вайпят диски. Современные вымогатели все чаще шифруют целые образы виртуальных машин (VDI, VMDK, VHDX). В таких случаях файловая система тома может быть полностью недоступна или повреждена настолько, что штатные средства не могут ее смонтировать: например, если разрушена MFT или потеряна таблица разделов.

В подобной ситуации можно попытаться реконструировать файловую систему вручную: выполнить поиск потерянных разделов и восстановить удаленные файлы. Однако часть записей событий при этом может быть потеряна, и сам EVTX-файл нередко оказывается сильно поврежденным, а на такую работу уходит много времени. Здесь и вступает в дело карвинг — побайтовый поиск сигнатур формата EVTX непосредственно в сыром образе (диска, тома, дампа памяти, файла подкачки, снимка VSS) с восстановлением того, что физически сохранилось, в обход файловой системы.

Читать далее

Встречаем GPT‑6 Sol и Luna

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

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

Поэтому мы расширяем семейство GPT-6 моделями GPT-6 Sol и GPT-6 Luna. GPT-6 Astra открыла новое поколение интеллектуальных моделей, а Sol и Luna позволяют сделать преимущества этого поколения доступнее за счёт более высокой эффективности по соотношению стоимости и возможностей. При обучении GPT-6 Sol и Luna мы использовали подходы, схожие с теми, что применялись для GPT-6 Astra. Благодаря этому более быстрые и доступные модели получили многие из улучшений Astra: высокий уровень работы с профессиональными задачами, фактическую точность, навыки программирования, взаимодействия с компьютером и следования заданным принципам поведения.

Читать далее

Одна цифра в двух смыслах: читаю whitepaper Сбера про AI-Disrupt PDLC со своей телеметрией в руках

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

За 30 дней моей работы агентами Claude Code по прайсу API насчитал бы $13 027, а по подписке это стоило $200. Я сверил свою телеметрию с whitepaper Сбера “AI-Disrupt PDLC”. Цифра “мультиагент в 15 раз дороже” стоит в нем в двух местах с разными базами сравнения, и прочтения расходятся вчетверо. У меня сессия с субагентами в среднем в 33 раза дороже сессии без них, кэш удешевил вход в 7,8 раза при заявленных “до 10”, а 28% сессий пробили бы бюджет Сбера в 200K токенов. Скрипт, чтобы посчитать свое, - в конце статьи.

Читать далее

Ваш future весит два килобайта, и виновата одна фигурная скобка

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

Приветствую!

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

Такая функция возвращает future размером 1026 байт. А если передвинуть буфер так, чтобы он умирал до ожидания — банально, обернуть в фигурные скобки, — размер упадёт до 2 байт.

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

Сегодня посмотрим, в чем же тут беда.

Читать далее

SEO-плагины на DeepSeek Harness: что переезжает из Claude Code, а что нет

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

У DeepSeek появился свой агентный харнесс — dsh. Разбираю, как перенести на него SEO-набор: серверы с данными, правила работы и страховку от ошибок модели.

Читать далее