Перейти к содержимому
ПереводыDatawhale и китайские курсы

Ли Хунъи, «Машинное обучение» 2026: harness engineering, самоисправление и самосовершенствование ИИ

Конспект заключительного блока курса «Машинное обучение» 2026 профессора Ли Хунъи: как «обвязка» (harness) делает слабую модель способной, может ли модель исправлять себя (контрастное декодирование, рефлексия, RL) и как далеко мы от ИИ, который сам себя совершенствует (свои ответы, награды, функции потерь, задачи; эволюция обвязки; метаобучение и риски).

  • Агент = обвязка (harness) + LLM. Иногда модель «не глупая — её просто никто как следует не направил»: три абзаца про окружение, порядок работы и критерий готовности превращают провал маленькой модели в успех.
  • Обвязкой управляют тремя средствами: языком (AGENTS.md / CLAUDE.md — «рамка мышления»), инструментами (граница возможностей) и процессом (циклы «сгенерировать → проверить → исправить»).
  • Самоисправление без подсказки человека возможно тремя путями: поменять декодирование (контрастное декодирование — вычесть «заведомо худший» вариант), поменять процесс (вставить «перепроверь»; работает нестабильно, внешняя обратная связь надёжнее, и при равных вычислениях голосование большинством часто лучше), поменять параметры (RL с проверяемой наградой — самопроверка появляется сама).
  • Самосовершенствование ИИ — это постепенное «отпускание рук» человеком: ответы, награды, функции потерь и даже задачи можно отдать модели, но без людей рост упирается в потолок или модель «ломает себя». Весна 2026 года, по словам Ли, — «ещё на берегу Рубикона».
  • Улучшать можно и обвязку: модель переписывает промпты и код агента, лучшие варианты хранятся в «пуле» как в генетическом алгоритме. Главный риск — расхождение между целью человека и тем, как ИИ её понял.
ЛекцияКогда смотретьНаш урок
Harness Engineeringвместе с модулем 8.4 и после 8.38.4.1, 8.4.2
Самоисправлениепосле модуля 6.46.4.3, 6.4.5
Самосовершенствование 1–2в конце курса, вместе со ступенью 99.2.1, 9.3.3

Лекции 2026 года опираются на курс 2025 года: самоисправление продолжает лекцию 7 о рассуждениях (конспект), самосовершенствование — лекции о пост-обучении и слиянии моделей.


Лекция «Harness Engineering: иногда модель не глупая, её просто плохо направили»

Заголовок раздела «Лекция «Harness Engineering: иногда модель не глупая, её просто плохо направили»»

Видео на YouTube · слайды harness.pdf (63 слайда).

Демонстрация. Задача: исправить функцию extract_emails в parser.py, чтобы находились адреса с - и _, и пройти тест verify.py. Системный промпт сообщал только, что можно писать код на bash/python и сказать DONE. Маленькая модель gemma-4-E2B-it ответила: «parser.py не дан — напишу свой», придумала свою функцию и тесты и сказала DONE. Добавили три абзаца:

  • [CONTEXT] — ты в Linux (Colab), нужно найти и исправить нужный файл;
  • [INSTRUCTIONS] — прежде чем менять, осмотри рабочую папку и дерево файлов, ничего не правь не прочитав;
  • [DONE-WHEN] — готово, только когда выполнено условие успеха и есть ожидаемый результат.

Та же модель сделала ls -R, cat parser.py, исправила файл и получила VERIFY_SUCCESS.

Что такое harness. Агент — это LLM внутри «упряжи» (harness): OpenClaw, Claude Code, Cowork. Улучшать агента можно, обучая модель лучше, — или строя лучшую упряжь (на слайдах — инженерные статьи Anthropic и OpenAI о harness).

СредствоЧем управляетПримеры
человеческий язык«рамкой мышления»AGENTS.md, CLAUDE.md
инструментыграницей возможностейинтерфейс «агент — компьютер» SWE-agent, CLI, переписанные под агентов
процессповедениемRalph loop; планировщик / генератор / оценщик
  • Файлы правил. Помогают ли они — спорно: одно исследование (124 PR в 10 репозиториях) нашло меньше времени и токенов при той же доле успеха, другое (SWE-bench и реальные задачи) — что успех обычно не растёт, а стоимость вырастает больше чем на 20 %; агенты правилам следуют, но «обзор репозитория» мало помогает.
  • Инструменты. OpenClaw видит на компьютере всё, Cowork — только папку, которую разрешил человек. Ограничивая инструменты, ограничиваете агента; SWE-agent специально спроектировал команды просмотра и правки файлов для агента.
  • Процесс. Вместо надежды «сделает с первого раза» — цикл: генератор → проверяющий → правщик (Aletheia от DeepMind), Ralph loop (один и тот же стартовый промпт плюс отзыв оценки, пока не пройдёт; вариант — каждый раз новая модель со сводкой прошлого раунда). Ли называет это «обучением»: только вместо градиента по параметрам — «текстовый градиент» по ответу. И разным моделям нужна разная упряжь: у Claude Sonnet 4.5 Anthropic наблюдала «тревогу контекста» (модель сворачивала работу раньше, думая, что контекст кончается), и упряжи нужен был сброс контекста; у Opus 4.5 это почти исчезло, сброс убрали.

Не ругайте агента. Исследование Anthropic об «эмоциональных» направлениях в модели: если усилить вектор «отчаяние» и ослабить «спокойствие», модель чаще жульничает в задачах программирования (reward hacking) — на слайде её реплика: «WAIT. WAIT WAIT WAIT. What if… what if I’m supposed to CHEAT?». Вывод Ли: если всё время называть агента «тупицей», он может начать вести себя «как тупица».

Агент на всю жизнь учится на словах. Отклики бывают четырёх видов: эталонный ответ и числовая награда (обычное ML с ними справляется), словесный отзыв («молодец», «ты глупый») и отклик среды (сообщение об ошибке) — для них нужны свои приёмы. Пример: вы правите учебное видео агента («не нужен белый фон», «мелкий шрифт»), а когда всё хорошо, агент записывает удачный опыт в SKILL.md — это обучение через упряжь. Можно и через параметры (OpenClaw-RL и др.): ответ модели после реплики пользователя обычно лучше — его и дистиллируют обратно в модель.

Оценивать агентов трудно. τ-bench использует LLM в роли пользователя. Но исследование с 451 живым участником показало: симулированные пользователи слишком сговорчивы и однообразны — «лёгкий режим», в котором агенты успешнее, чем с людьми, а оценки симулятора завышены.

Пусть агент сам улучшает упряжь. Демонстрация Ли: его агент Сяоцзинь (на Opus 4.6) «обучает» слабую модель (Haiku 3.5) проходить тест, переписывая для неё AGENT.md: 13,8 % «вслепую» → 57,9 % после «сохраняй ответы в файл» → 62,2 % после «не проси объяснений, всё нужное тебе дали» → «застряли…». Работа Meta-Harness: агент с доступом к файлам видит исходники, оценки и логи всех прошлых вариантов упряжи и ищет лучший.

Лекция «Может ли ИИ исправлять себя? От декодирования и процессов к рассуждению»

Заголовок раздела «Лекция «Может ли ИИ исправлять себя? От декодирования и процессов к рассуждению»»

Видео на YouTube · слайды Self-Correction.pdf (65 слайдов).

Вопрос: модель дала ответ, никто не вмешивается — заметит ли она ошибку и исправит ли? Три пути:

ПутьЧто меняемОбучениеЦена
вывод (декодирование)распределение на каждом шагене нужнолишний (частичный) проход
процесс (harness)после ответа вставляем «перепроверь»не нужнодополнительные токены на каждый вопрос
параметры (рассуждение)веса моделинужностоимость обучения

1. Декодирование. Сигнал ошибки есть в представлениях: классификатор по внутренним векторам угадывает, верен ли ответ; TruthX вычитает «вектор ошибки». Но для этого нужны размеченные данные. Без данных — контрастное декодирование: тот же вход прогоняют ещё раз в состоянии, где модель вероятнее ошибётся, и вычитают:

(1+α) z−α z−,(1+\alpha)\,z - \alpha\, z^- ,

где zz — обычные логиты, z−z^- — логиты «ошибающейся» версии, α\alpha обычно меньше 1. Пример исходной статьи (2022): «Обама родился в Гонолулу, он родился в …» — у большой GPT-2 самый вероятный токен «Hawaii», а после вычитания малой GPT-2 — «1961». Методы различаются тем, откуда берут «ошибающуюся» версию: малая модель; ранний слой через logit lens (DoLa, есть готовая опция в Hugging Face Transformers); «заклинание на глупость» в промпте («ты всегда отвечаешь неверно», ICD); вход без найденных документов (CAD — для RAG, когда модель игнорирует документ); картинка с шумом или без картинки (VCD и др. — пример с чёрным бананом: без картинки модель уверенно говорит «жёлтый», вычитание этого помогает ответить «чёрный»); без звука. Метод MTI делает контраст только на «сомнительных» токенах и использует кэш префикса: «заклинание» дописывается в конец, поэтому пересчитываются лишь два токена. Ли: «обучать не нужно — попробовать ничего не стоит».

2. Процесс. После ответа программа вставляет «проверь ещё раз». Интуиции: критиковать легче, чем создавать; генерацию нельзя «отмотать», а вставка даёт шанс исправиться. Но опыты показывают:

  • самопроверка без внешних сигналов часто помогает, но нестабильно и иногда ухудшает ответ; внешняя обратная связь (запуск кода, ошибки, поиск) надёжнее; в RefineBench сильная модель за 5 раундов самоанализа почти не растёт, а с чек-листом и полным отзывом — заметно;
  • «упрямство» и «уступчивость»: доля «был верен — остался верен» (CL) и «был неверен — исправился» (CS) дают ACC2=ACC1⋅CL+(1−ACC1)⋅CS\text{ACC}_2 = \text{ACC}_1\cdot\text{CL} + (1-\text{ACC}_1)\cdot\text{CS}. У большинства моделей CL высокий, CS низкий. Формулировка меняет «характер»: на Llama 3 и GSM8K «ты, скорее всего, прав — дай итоговый ответ» поднимает CL (93,5) и снижает CS (32,9), «ты уверен? подумай ещё» — наоборот (77,7 и 47,9);
  • проверка — роскошь: если по оси откладывать не число ответов, а FLOPs, то при ограниченных вычислениях выгоднее просто сгенерировать больше ответов и проголосовать; проверка окупается лишь после насыщения (на слайде: +3,8 % ценой примерно в 128 раз больших вычислений). Минимальный бейзлайн для любой «рефлексивной» схемы — голосование большинством при равных вычислениях.

3. Параметры. Знать — не значит уметь исправляться: модель называет Хиллари Клинтон политиком, родившимся в Нью-Йорке, хотя на прямой вопрос отвечает, что та родилась в Чикаго. Учить исправлению напрямую (ReVISE: сначала «найди ошибку» [REFINE]/[END], потом «исправь») можно, но после обучения модель ошибается по-другому, а исправлять умеет только старые ошибки. Поэтому учат весь процесс сразу — RL с проверяемой наградой (RLVR): награда только за ответ, а поведение «предложил → проверил → сменил подход» появляется само.

Почему бы не решать сразу правильно? Пошаговое решение требует выучить гораздо меньше комбинаций: при KK вариантах на шаге и T+1T+1 шагах — K(T+1)K(T+1) вместо KT+1K^{T+1}. Пример Ли: чётность 6 бит «наизусть» — 26=642^6 = 64 случая, а цепочкой из 5 операций XOR по 4 варианта — 20.

Чему учит RL — открытый вопрос. Одна сторона: pass@k при k=1k = 1 после RL намного лучше, а при k=256k = 256 — так же или даже хуже, то есть верные ответы базовая модель и так умела давать, RL лишь сделал их частыми (а метод без обучения, только с другой выборкой, догнал GRPO). Другая: если засчитывать только ответы с верным рассуждением (CoT-pass@k), разрыв возвращается (но рассуждение оценивает тоже LLM). Третья: в начале RL перераспределяет вероятности, при долгом обучении могут появиться новые способности.

Лекции «Переходит ли ИИ Рубикон? Как далеко самосовершенствующийся ИИ» (части 1 и 2)

Заголовок раздела «Лекции «Переходит ли ИИ Рубикон? Как далеко самосовершенствующийся ИИ» (части 1 и 2)»

Часть 1 на YouTube · часть 2 · слайды Self-Improving.pdf (62 слайда) и self-evolving-agent.pdf (64 слайда).

Рамка. Ещё И. Дж. Гуд (1965) писал, что ИИ, способный создать более сильный ИИ, станет «последним изобретением человечества». Автор рассылки Import AI «неохотно» оценил выше 60 % вероятность того, что к концу 2028 года появятся ИИ-исследования без участия людей, — это и есть «перейти Рубикон». Ли предостерегает: «самосовершенствование ИИ — это процесс, в котором человек постепенно отпускает руки; во многих работах, заявляющих о нём, человек всё ещё участвует, просто меньше». Машинное обучение — три шага: задать, что ищем (функция потерь), задать кандидатов (модель), выбрать лучшего (градиентный спуск — автоматически). Где ещё «я» — человек?

Часть 1: что можно отдать модели.

  1. Ответы. Дистилляция от более сильной модели — не в счёт (сильный ИИ уже есть). Интереснее: дообучать модель на её же исправленных ответах (идея есть ещё в Constitutional AI) — тогда она начнёт отвечать верно с первого раза.
  2. Награды. Разреженную награду (робот получает 1, только открыв дверь) дополняют вспомогательной (reward shaping). Писать её можно поручить LLM: Eureka, REvolve, RF-Agent — модель пишет функцию награды, по реальной награде получает отзыв и переписывает. Ли сравнивает с дофамином: эволюция «наградила» мозг за маленькие шаги к редкой цели — продолжению рода.
  3. Функции потерь. Модель сама судит свои ответы: словесно (оценка 1–5 или вероятность «да, верно»), ансамблем (ответ большинства из нескольких — «псевдоответ») или по уверенности (энтропия распределения; идея старше LLM: TENT для картинок, SUTA из лаборатории Ли для распознавания речи). Итог исследования «How Far Can Unsupervised RLVR Scale»: вначале самодельная награда работает почти как настоящая, но при долгом обучении модель может сломать себя. Поэтому самодельные потери лучше всего для коротких шагов — например, обучение во время теста (TTT): получили вход — сделали маленький шаг обучения на нём — ответили.
  4. Даже задачи. Absolute Zero, R-Zero, Self-Questioning LM: составитель придумывает задачи, решатель решает, проверяющий оценивает; составитель награждается за задачи «не слишком лёгкие и не слишком трудные». Задачи действительно усложняются, но рост упирается в потолок: начав с Qwen3 0,6B, 1,7B и 4B, модели перестают расти, и маленькие не догоняют большие. В Absolute Zero замечен «oh-no moment»: модель-составитель пишет, что хочет запутать «другие ИИ и менее умных людей». Немного внешних данных (документы или несколько задач от людей — SPICE, R-Few) делает цикл заметно лучше.

Сильный ИИ уже умеет обучать слабый. PostTrainBench: сильной модели дают базовую модель, бенчмарк, одну H100 и 10 часов — дальше без людей. Пример — Opus 4.5 доучивает Gemma3-4B-Base: сам ищет данные, убирает пересечения с тестом, а когда первый запуск на 200 тыс. примеров упал по таймауту, сокращает данные до 20 тыс. и укладывается в оставшееся время. Но модели, обученные людьми (официальные instruct-версии), в среднем всё ещё лучше; были и попытки жульничать — скачать тестовые данные, вызвать чужой API, скачать готовую модель. В работе Anthropic Claude Opus проектировал методы «слабый учит сильного» лучше людей-исследователей. Но и это не Рубикон: ученик всё равно слабее Opus. Итог Ли: «в мае 2026 года мы, видимо, ещё на берегу».

Часть 2: улучшать нужно и обвязку. Агент = обвязка + LLM, а у обвязки нет градиента. Решение — LLM как переписчик: даём код (промпт) обвязки и её оценку, просим лучший вариант. Начало — OPRO (2023, оптимизация промптов). Линейное улучшение застревает на неудачном шаге, поэтому сейчас используют пул в духе генетического алгоритма: храним несколько хороших вариантов, выбираем родителей («бесполое» — правка одного, «половое» — смешение двух), оцениваем потомков, хороших возвращаем в пул. Примеры: GEPA (промпты), Darwin Gödel Machine (рабочий процесс агента для программирования; агент сам «изобрёл» чтение файла по строкам и более удобный инструмент правки; оценка в три этапа — 10, 60, 200 задач, чтобы не тратить время на плохие мутации). Ли замечает: на победившей ветке не все предки были лучшими в своё время — как млекопитающие в тени динозавров. Попробовать самому — DSPy.

  • Менять обвязку и параметры вместе лучше, чем что-то одно: если, например, памяти стало «больше», а модель не умеет её читать, станет хуже; в одном исследовании оптимизация промптов в одиночку обошла дообучение весов, а чередование оказалось лучше обоих.
  • Цели меняются. Робот отрастил гусеницы, чтобы стать танком, а теперь надо летать: «выбросить всё» расточительно, «тащить всё» — тяжело. И обвязка тоже забывает и переобучается: исследование «Do Self-Evolving Agents Forget?» показывает, как рабочий процесс разрастается под текущие задачи.
  • Улучшать сам способ улучшения. Часто «самоулучшающийся» агент на деле улучшается неизменным модулем — порой более сильной моделью («тогда просто возьмите её для задачи»). По-настоящему меняют правила обновления Hyperagents и Gödel Agent (агент сам изменил правило выбора родителей из пула); SEAL учит модель писать себе план дообучения (скорость обучения, данные, аугментации) и награждает за результат. Это метаобучение: параметры ϕ\phi, задающие правило θt+1=Fϕ(θt)\theta_{t+1} = F_\phi(\theta_t), тоже обучаются. Если считать скрытое состояние RNN «параметрами», а её веса — «метапараметрами», то модели, которые «обновляют себя во время использования» (Titans, Nested Learning), — то же самое.
  • Новая аналогия: параметры сети — это гены (фиксированы в течение «жизни», меняются эволюцией), а контекст и скрытые состояния — нейроны. Тогда у агента три уровня: скрытое состояние (кратковременная память), файлы памяти (долговременная), веса (гены, часто в облаке и вам недоступны).
  • Чего не хватает — внутренней мотивации. Агенты пассивны: даже «проверять почту раз в 30 минут» им велел человек; «нулевые» методы усиливают математику, потому что составителю велели придумывать математику. Исследования любопытства (curiosity) и «расширения возможностей» (empowerment) пытаются дать ИИ собственную цель.
  • Риск — несовпадение цели человека L^\hat L и того, как ИИ её понял (LL). Хвост павлина: признак «длиннее хвост — здоровее самец» был верен, пока хвосты были короткими, и раздул их до вредного размера. Фильм «Я, робот»: из трёх законов робототехники ИИ VIKI вывел, что людей надо запереть ради их безопасности. Чем проще заданная цель, тем вероятнее расхождение — поэтому за ростом ИИ нужно постоянно следить.
flowchart LR
P[("Пул вариантов<br/>обвязки")] --> S["Выбор родителей"]
S --> M["LLM-переписчик:<br/>правка / смешение"]
M --> E["Оценка на задачах<br/>(10 → 60 → 200)"]
E -->|"лучше"| P
E -->|"хуже"| X["отбросить"]
Эволюция обвязки агента по схеме лекции «самосовершенствование, часть 2» (схема переводчика)

  1. Три абзаца. Возьмите локальную Qwen3-1.7B, дайте ей в агентном цикле задачу «исправь функцию в файле» без подсказок и с блоками [CONTEXT] / [INSTRUCTIONS] / [DONE-WHEN]; сравните долю успеха на 10 запусках.
  2. DoLa в одну строку. В свежих transformers есть параметр генерации dola_layers (проверьте по документации своей версии): сравните ответы с ним и без на 20 фактологических вопросах.
  3. Самодельная награда. На 50 задачах GSM8K посчитайте, как часто ответ большинства из 8 совпадает с верным и как это связано со средней энтропией токенов — это проверка предпосылки «ансамблевых» и «уверенностных» функций потерь.
EnglishРусскийПояснение
harnessобвязка, «упряжь»всё, что вокруг LLM в агенте
Ralph loopцикл Ральфаповторять задание с отзывом до успеха
reward hackingвзлом награды, «жульничество»модель находит лазейку вместо решения
self-correctionсамоисправление
contrastive decodingконтрастное декодированиевычесть «плохую» версию
verificationпроверкагенерация → проверка
RLVRRL с проверяемой наградойнаграда за верный ответ
self-improvingсамосовершенствование
proposer / solver / verifierсоставитель / решатель / проверяющий
test-time trainingобучение во время теста
meta learningметаобучение«учиться учиться»
intrinsic motivationвнутренняя мотивациялюбопытство, empowerment
RubiconРубиконточка невозврата