Ли Хунъи, «Машинное обучение» 2026: harness engineering, самоисправление и самосовершенствование ИИ
Конспект заключительного блока курса «Машинное обучение» 2026 профессора Ли Хунъи: как «обвязка» (harness) делает слабую модель способной, может ли модель исправлять себя (контрастное декодирование, рефлексия, RL) и как далеко мы от ИИ, который сам себя совершенствует (свои ответы, награды, функции потерь, задачи; эволюция обвязки; метаобучение и риски).
Коротко
Заголовок раздела «Коротко»- Агент = обвязка (harness) + LLM. Иногда модель «не глупая — её просто никто как следует не направил»: три абзаца про окружение, порядок работы и критерий готовности превращают провал маленькой модели в успех.
- Обвязкой управляют тремя средствами: языком (AGENTS.md / CLAUDE.md — «рамка мышления»), инструментами (граница возможностей) и процессом (циклы «сгенерировать → проверить → исправить»).
- Самоисправление без подсказки человека возможно тремя путями: поменять декодирование (контрастное декодирование — вычесть «заведомо худший» вариант), поменять процесс (вставить «перепроверь»; работает нестабильно, внешняя обратная связь надёжнее, и при равных вычислениях голосование большинством часто лучше), поменять параметры (RL с проверяемой наградой — самопроверка появляется сама).
- Самосовершенствование ИИ — это постепенное «отпускание рук» человеком: ответы, награды, функции потерь и даже задачи можно отдать модели, но без людей рост упирается в потолок или модель «ломает себя». Весна 2026 года, по словам Ли, — «ещё на берегу Рубикона».
- Улучшать можно и обвязку: модель переписывает промпты и код агента, лучшие варианты хранятся в «пуле» как в генетическом алгоритме. Главный риск — расхождение между целью человека и тем, как ИИ её понял.
Как смотреть вместе с курсом
Заголовок раздела «Как смотреть вместе с курсом»| Лекция | Когда смотреть | Наш урок |
|---|---|---|
| Harness Engineering | вместе с модулем 8.4 и после 8.3 | 8.4.1, 8.4.2 |
| Самоисправление | после модуля 6.4 | 6.4.3, 6.4.5 |
| Самосовершенствование 1–2 | в конце курса, вместе со ступенью 9 | 9.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. Пример исходной статьи (2022): «Обама родился в Гонолулу, он родился в …» — у большой GPT-2 самый вероятный токен «Hawaii», а после вычитания малой GPT-2 — «1961». Методы различаются тем, откуда берут «ошибающуюся» версию: малая модель; ранний слой через logit lens (DoLa, есть готовая опция в Hugging Face Transformers); «заклинание на глупость» в промпте («ты всегда отвечаешь неверно», ICD); вход без найденных документов (CAD — для RAG, когда модель игнорирует документ); картинка с шумом или без картинки (VCD и др. — пример с чёрным бананом: без картинки модель уверенно говорит «жёлтый», вычитание этого помогает ответить «чёрный»); без звука. Метод MTI делает контраст только на «сомнительных» токенах и использует кэш префикса: «заклинание» дописывается в конец, поэтому пересчитываются лишь два токена. Ли: «обучать не нужно — попробовать ничего не стоит».
2. Процесс. После ответа программа вставляет «проверь ещё раз». Интуиции: критиковать легче, чем создавать; генерацию нельзя «отмотать», а вставка даёт шанс исправиться. Но опыты показывают:
- самопроверка без внешних сигналов часто помогает, но нестабильно и иногда ухудшает ответ; внешняя обратная связь (запуск кода, ошибки, поиск) надёжнее; в RefineBench сильная модель за 5 раундов самоанализа почти не растёт, а с чек-листом и полным отзывом — заметно;
- «упрямство» и «уступчивость»: доля «был верен — остался верен» (CL) и «был неверен — исправился» (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): награда
только за ответ, а поведение «предложил → проверил → сменил подход» появляется само.
Почему бы не решать сразу правильно? Пошаговое решение требует выучить гораздо меньше комбинаций: при вариантах на шаге и шагах — вместо . Пример Ли: чётность 6 бит «наизусть» — случая, а цепочкой из 5 операций XOR по 4 варианта — 20.
Чему учит RL — открытый вопрос. Одна сторона: pass@k при после RL намного лучше, а при — так же или даже хуже, то есть верные ответы базовая модель и так умела давать, 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: что можно отдать модели.
- Ответы. Дистилляция от более сильной модели — не в счёт (сильный ИИ уже есть). Интереснее: дообучать модель на её же исправленных ответах (идея есть ещё в Constitutional AI) — тогда она начнёт отвечать верно с первого раза.
- Награды. Разреженную награду (робот получает 1, только открыв дверь) дополняют вспомогательной (reward shaping). Писать её можно поручить LLM: Eureka, REvolve, RF-Agent — модель пишет функцию награды, по реальной награде получает отзыв и переписывает. Ли сравнивает с дофамином: эволюция «наградила» мозг за маленькие шаги к редкой цели — продолжению рода.
- Функции потерь. Модель сама судит свои ответы: словесно (оценка 1–5 или вероятность «да, верно»), ансамблем (ответ большинства из нескольких — «псевдоответ») или по уверенности (энтропия распределения; идея старше LLM: TENT для картинок, SUTA из лаборатории Ли для распознавания речи). Итог исследования «How Far Can Unsupervised RLVR Scale»: вначале самодельная награда работает почти как настоящая, но при долгом обучении модель может сломать себя. Поэтому самодельные потери лучше всего для коротких шагов — например, обучение во время теста (TTT): получили вход — сделали маленький шаг обучения на нём — ответили.
- Даже задачи. 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 учит модель писать себе план дообучения (скорость обучения, данные, аугментации) и награждает за результат. Это метаобучение: параметры , задающие правило , тоже обучаются. Если считать скрытое состояние RNN «параметрами», а её веса — «метапараметрами», то модели, которые «обновляют себя во время использования» (Titans, Nested Learning), — то же самое.
- Новая аналогия: параметры сети — это гены (фиксированы в течение «жизни», меняются эволюцией), а контекст и скрытые состояния — нейроны. Тогда у агента три уровня: скрытое состояние (кратковременная память), файлы памяти (долговременная), веса (гены, часто в облаке и вам недоступны).
- Чего не хватает — внутренней мотивации. Агенты пассивны: даже «проверять почту раз в 30 минут» им велел человек; «нулевые» методы усиливают математику, потому что составителю велели придумывать математику. Исследования любопытства (curiosity) и «расширения возможностей» (empowerment) пытаются дать ИИ собственную цель.
- Риск — несовпадение цели человека и того, как ИИ её понял (). Хвост павлина: признак «длиннее хвост — здоровее самец» был верен, пока хвосты были короткими, и раздул их до вредного размера. Фильм «Я, робот»: из трёх законов робототехники ИИ VIKI вывел, что людей надо запереть ради их безопасности. Чем проще заданная цель, тем вероятнее расхождение — поэтому за ростом ИИ нужно постоянно следить.
flowchart LR
P[("Пул вариантов<br/>обвязки")] --> S["Выбор родителей"]
S --> M["LLM-переписчик:<br/>правка / смешение"]
M --> E["Оценка на задачах<br/>(10 → 60 → 200)"]
E -->|"лучше"| P
E -->|"хуже"| X["отбросить"]Что сделать руками
Заголовок раздела «Что сделать руками»- Три абзаца. Возьмите локальную Qwen3-1.7B, дайте ей в агентном цикле задачу «исправь функцию в файле» без подсказок и с блоками [CONTEXT] / [INSTRUCTIONS] / [DONE-WHEN]; сравните долю успеха на 10 запусках.
- DoLa в одну строку. В свежих
transformersесть параметр генерацииdola_layers(проверьте по документации своей версии): сравните ответы с ним и без на 20 фактологических вопросах. - Самодельная награда. На 50 задачах GSM8K посчитайте, как часто ответ большинства из 8 совпадает с верным и как это связано со средней энтропией токенов — это проверка предпосылки «ансамблевых» и «уверенностных» функций потерь.
Словарик
Заголовок раздела «Словарик»| English | Русский | Пояснение |
|---|---|---|
| harness | обвязка, «упряжь» | всё, что вокруг LLM в агенте |
| Ralph loop | цикл Ральфа | повторять задание с отзывом до успеха |
| reward hacking | взлом награды, «жульничество» | модель находит лазейку вместо решения |
| self-correction | самоисправление | |
| contrastive decoding | контрастное декодирование | вычесть «плохую» версию |
| verification | проверка | генерация → проверка |
| RLVR | RL с проверяемой наградой | награда за верный ответ |
| self-improving | самосовершенствование | |
| proposer / solver / verifier | составитель / решатель / проверяющий | |
| test-time training | обучение во время теста | |
| meta learning | метаобучение | «учиться учиться» |
| intrinsic motivation | внутренняя мотивация | любопытство, empowerment |
| Rubicon | Рубикон | точка невозврата |