ИИ учится задавать вопросы сам себе — и от этого становится умнее

ИИ учится задавать вопросы сам себе — и от этого становится умнее

ИИ учится задавать вопросы сам себе — и от этого становится умнее

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

Похоже, это уже не фантазия. Исследователи из Университета Цинхуа, Пекинского института общего искусственного интеллекта (BIGAI) и Университета штата Пенсильвания показали, что ИИ способен осваивать рассуждение и программирование через своеобразную «игру с самим собой».

Проект получил название Absolute Zero Reasoner (AZR). Его идея проста и изящна одновременно. Сначала языковая модель сама придумывает задачи по программированию на Python — достаточно сложные, но решаемые. Затем она же пытается их решить, после чего проверяет себя самым честным способом: запускает код.

 

Если решение сработало — отлично. Если нет — ошибка становится сигналом для обучения. На основе успехов и провалов система дообучает исходную модель, постепенно улучшая и умение формулировать задачи, и способность их решать.

Исследователи протестировали подход на открытой языковой модели Qwen с 7 и 14 миллиардами параметров. Оказалось, что такой «самообучающийся» ИИ заметно улучшает навыки программирования и логического мышления — и в некоторых тестах даже обгоняет модели, обученные на вручную отобранных человеческих данных.

 

По словам аспиранта Университета Цинхуа Эндрю Чжао, одного из авторов идеи, подход напоминает реальный процесс обучения человека:

«Сначала ты копируешь родителей и учителей, но потом начинаешь задавать собственные вопросы. И в какой-то момент можешь превзойти тех, кто тебя учил».

Идея «самоигры» для ИИ обсуждается не первый год — ещё раньше её развивали такие исследователи, как Юрген Шмидхубер и Пьер-Ив Удейер. Но в Absolute Zero особенно интересно то, как растёт сложность задач: чем умнее становится модель, тем более сложные вопросы она начинает ставить перед собой.

«Уровень сложности растёт вместе с возможностями модели», — отмечает исследователь BIGAI Цзилун Чжэн.

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

«В теории это может стать путём к суперинтеллекту», — признаёт Чжэн.

Баги в ядре Linux скрываются в среднем 2 года, а иногда и 20 лет

История с первой CVE для Rust-кода в ядре Linux, которая недавно привела к падениям системы, выглядела почти как повод для оптимизма. В тот же день для кода на C зарегистрировали ещё 159 CVE — контраст показательный. Но новое исследование напоминает: проблема не только в языках программирования.

Гораздо тревожнее первой Linux-дыры в коде на Rust тот факт, что многие ошибки в ядре Linux могут годами, а иногда и десятилетиями оставаться незамеченными.

Исследовательница Дженни Гуанни Ку из компании Pebblebed проанализировала 125 183 бага за почти 20 лет развития ядра Linux — и результаты оказались, мягко говоря, неожиданными.

 

По данным исследования, средний баг в ядре Linux обнаруживают через 2,1 года после его появления. Но это ещё не предел. Самый «долгоиграющий» дефект — переполнение буфера в сетевом коде — прожил в ядре 20,7 года, прежде чем на него обратили внимание.

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

Исследование опирается на тег Fixes:, который используется в разработке ядра Linux. Когда разработчик исправляет ошибку, он указывает коммит, в котором баг был добавлен. Дженни написала инструмент, который прошёлся по git-истории ядра с 2005 года, сопоставил такие пары коммитов и вычислил, сколько времени баг оставался незамеченным.

В датасет вошли данные до версии Linux 6.19-rc3, охватывающие период с апреля 2005 по январь 2026 года. Всего — почти 120 тысяч уникальных исправлений от более чем 9 тысяч разработчиков.

Оказалось, что скорость обнаружения ошибок сильно зависит от подсистемы ядра:

  • CAN-драйверы — в среднем 4,2 года до обнаружения бага;
  • SCTP-стек — около 4 лет;
  • GPU-код — 1,4 года;
  • BPF — всего 1,1 года.

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

Отдельная проблема — неполные фиксы. Исследование показывает, что нередко разработчики закрывают проблему лишь частично. Например, в 2024 году был выпущен патч для проверки полей в netfilter, но уже через год исследователь нашёл способ его обойти.

Такие ситуации особенно опасны: создаётся ощущение, что проблема решена, хотя на самом деле она просто сменила форму.

RSS: Новости на портале Anti-Malware.ru