
Полная версия
Physical AI: От нейросетей к гуманоидным роботам
3. Включить teach/teleop в архитектуру деградации.
4. Поставить промышленный крепёж камер до сбора первого датасета.
5. Связать идентификаторы MES с задачами планировщика.
6. В тест-план вставить исторические edge-cases смены, не только happy path из демо вендора.
7. На ревью архитектуры задать вопрос: какой слой доказан классикой, какой — эксперимент.
8. Бюджет сервиса и запчастей заложить по аналогии с промышленным роботом, не с смартфоном.
9. Обучить ML-команду читать joint log и safety stop cause.
10. Обучить OT-команду смотреть дашборд success/abort без посредника.
Десять пунктов можно распечатать. История в них уже сжата до действий.
Ещё раз о новизне без иллюзий
Да, крупные мультимодальные модели изменили интерфейс и скорость прототипа восприятия. Да, симы стали доступнее. Да, капитал ускорил гуманоидные корпуса. Нет, это не обнуляет полвека промышленной практики. Physical AI — слой на фундаменте. Чем честнее вы это формулируете заказчику, тем меньше разочарований на месяце третьем, когда калибровка уехала, а пресс-релиз уже вышел.
Конец главы. Следующая начинается с того, что робот «видит» — и с того, как часто это слово врёт.
Приложение: словарь «старое имя → новое имя»
Обратная связь / watchdog → мониторы и fail-soft.
Teach-in → kinesthetic demo для imitation.
Offline programming → sim + motion planning.
Клетка и сканер → functional safety envelope.
Шаблонное зрение → детектор/сегментация, но кожух тот же.
Пульт оператора → teleop + shared autonomy.
Журнал наладчика → episode log + postmortem.
Маршрут MES → structured task для планировщика.
Имея таблицу, проще переводить разговоры между поколениями инженеров без потери смысла.
Приложение: вопросы ветерану площадки
Что ломалось чаще всего на прошлой ячейке?
Какие ложные срабатывания safety бесили смену?
Куда сдвигали камеры и почему?
Какие SKU ненавидит автоматизация?
Кто хранит старые программы и калибровки?
Какой интегратор реально приезжал ночью?
Ответы — вход в тест-план. История в голосах людей точнее истории в маркетинге.
Приложение: что поставить на полку команде
Один учебник по промышленным роботам и безопасности.
Доки по вашему контроллеру манипулятора.
Внутренний конспект прошлых пилотов.
Эта глава как напоминалка про амнезию.
Не обязательно читать всё cover-to-cover. Нужно знать, где открыть, когда ML предлагает выкинуть независимый лимит усилия.
Финал
Воплощённый интеллект копился слоями. Physical AI — текущий слой, толстый данными и моделями. Держите нижележащие слои видимыми. Так пилоты доживают до серии. Так книга остаётся инженерией, а не хроникой пресс-релизов. Переход к восприятию логичен: именно там амнезия промышленного зрения бьёт быстрее всего — бликом, пылью и кронштейном, который «временно» прихватили стяжкой.
Последнее упражнение перед следующей частью
Возьмите текущую схему вашего стека и красным отметьте блоки, которые существовали в узнаваемом виде до 2012 года (оценка-порог для «до deep learning волны в проме»). Зелёным — блоки, которые стали практичны позже. Обсудите, не недофинансированы ли красные. В половине команд красные держат пилот на себе, а бюджет съели зелёные. Выровняйте бюджет с цветом риска — и история внутри проекта станет инструментом, а не лекцией.
Вставка: хроника внедрения глазами интегратора (сборный портрет)
Неделя 1–2: кабель, крепёж, согласование зоны, споры с OT про сканер.
Неделя 3–4: первая траектория, ложные срабатывания, перенос камеры на 30 мм.
Месяц 2: приёмка по такту на узком SKU; документация; обучение смены.
Месяц 3+: ужесточение номенклатуры, ночные звонки, поиск люфта.
Вставьте в этот портрет политики и датасет — сроки не обнулятся, они сдвинутся и появятся новые строки (телеоп, QC эпизодов). Кто планирует только строки ML, забыв первые, повторяет путь тех, кто уже спотыкался. Сборный портрет не привязан к одной фирме; это паттерн. Используйте его как календарный скелет пилота Physical AI, а не как анекдот.
Добавьте явный буфер на археологию и safety — и вы уже умнее медианного анонса. На том история заканчивает свою смену в книге; дальше работают сенсоры.
Дополнение: что перенести в research notes проекта
Коротко законспектируйте: список прошлых робот-инициатив площадки; имена носителей памяти; ссылки на внутренние safety-процедуры; решения make/buy, уже принятые до вас; ограничения на облако и видео. Это не «история ради истории» — это входные данные для риска пилота. Обновляйте конспект после каждого разговора с OT. Через полгода новый сотрудник сможет войти в контекст без повторной амнезии.
Отдельно зафиксируйте, какие обещания рынка вы сознательно игнорируете в этом квартале (например, general-purpose гуманоид дома). Письменный отказ от шума экономит споры. История поля поддерживает такие отказы примерами сжатия домена у выживших продуктов.
Если вендор приводит исторический кейс успеха, просите первичку: год, зона, метрики, срок сервиса. Без первички кейс — легенда. Легенды полезны у костра, вредны в TCO.
Наконец, держите в голове пропорциональность: одна неделя археологии площадки часто экономит месяц переобучения политик на плохих креплениях. Корни дисциплины — pragmatic tool. Используйте tool до того, как купите ещё одну модель. Затем переходите к восприятию с пониманием, что камера на стяжке — уже историческая ошибка, которую не стоит ставить в сотый раз.
Дополнительный акцент на память организации: заведите в репозитории папку decisions/ с короткими ADR (architecture decision records) по выбору корпуса, middleware, облака и уровня автономии. История проекта должна читаться за час. Без ADR через год даже авторы не вспомнят, почему отвергли AMR в пользу ног. Это мелкая привычка с крупным эффектом — прямое продолжение анти-амнезии из этой главы. Сделали ADR — можно честно открывать главу про агентность и действие.
Ещё раз: корни видны в каждом E-stop, в каждом teach и в каждом отказе OT подписывать «модель обещает». Уважайте отказы — в них история инцидентов, которых нет в вашем датасете.
Постскриптум к корням
Если кратко для спонсора: мы не придумываем роботов с нуля — мы добавляем обучаемый слой к дисциплине, которая уже умеет останавливаться, калиброваться и обслуживаться. Бюджет пилота должен отражать обе половины. История поля — союзник против перекоса сметы в сторону только GPU.
Отдельная просьба к редакторам презентаций: не рисуйте timeline «до/после Physical AI» как обнуление прошлого. Рисуйте наращивание слоёв. Инвесторам можно продавать будущее; площадке нужно прошлое в схеме. Оба адресата часто читают одни слайды — сделайте слайд, который не врёт ни одному.
Практика: один ADR в неделю на активном пилоте как минимум; конспект разговора с ветераном площадки в research notes; запрет выката без ответа на анти-амнезийные вопросы релиза. Эти три привычки дешевле новой модели и ближе к серии. Глава 5 на этом закрыта. Дальше — агентность и действие, уже с памятью о том, что пульт и клетка не враги интеллекта.
Финальная фиксация: анти-амнезия равна безопасности расписания пилота. Без неё календарь врёт. Глава закрыта.
6. Агентность и действие в физическом мире
Слово «агент» из софта соблазняет перенестись на робота без пересчёта цены ошибки. В чате tool call откатывается. В ячейке tool call двигает массу. Эта глава фиксирует, что такое агентность для Physical AI, как устроить цикл задача → навык → проверка, где стоят отказы и люди, и какими метриками ловить декоративную автономию.
Рабочее определение
Агентность здесь — способность системы выбирать и исполнять последовательность навыков для задачи в среде, обновляя план при изменениях, внутри заранее заданного конверта ограничений.
Нужны: источник задачи, библиотека навыков с паспортами, механизм выбора/планирования, восприятие для pre/postconditions, мониторы, режим эскалации к человеку. Нет паспортов навыков — нет агентности. Нет конверта — есть импровизация с риском инцидента.
Действие не токен
У действия есть длительность, частичная обратимость, побочные эффекты. В паспорт навыка внесите cost proxy: время, энергия, риск safety-stop, необратимость. Планировщик без proxy выбирает храбрый короткий путь и бьёт кабель. С proxy можно отказаться от плана, который не влезает в deadline такта.
Петля на железе
1. принять задачу; 2) оценить сцену; 3) выбрать навык или уточнить; 4) проверить preconditions; 5) исполнить в конверте; 6) проверить postconditions; 7) обновить память; 8) завершить или эскалировать. Шаги 4–6 опираются на сенсоры и мониторы, не на «уверенность» LLM. Шаг 5 не ждёт облако внутри контакта.
Отказы как первоклассный результат
Не вижу; не достижимо; небезопасно; не умею; нет заряда; объект занят. У каждого типа — recovery. Молчаливое «ещё раз сильнее» запрещено. Метрика ложных отказов и пропущенных отказов входит в дашборд рядом с success.
Иерархия
Диспетчер задач → навыки → контроль → драйверы. Монолитная сеть от пикселя до тока допустима в R&D при внешнем конверте, редко — как единственная линия в цеху. История subsumption и hybrid architectures рифмуется: реактивный слой спасает, пока планировщик думает.
Память
Рабочая (план, шаг), сцены (треки с TTL), эпизодическая (клинит слот), семантическая (карточки SKU в БД). При конфликте сенсор побеждает диалог. Без TTL агент живёт в прошлом.
Уровни автономии
Уровень 2: человек запускает навыки. 3: агент ведёт последовательность под супервизией. 4: смена в зоне почти без вмешательств. Слово «агент» в договоре без уровня — дымка. Индикатор режима на UI обязателен.
Паспорт навыка
Имя, schema args, pre/post, timeout, max_force, reversible, cost proxy, owner. Whitelist only. Добавление навыка — review. Нет open_valve «с потолка».
Планировщики
LLM — грязная инструкция и грубый порядок. Классика — ресурсы и коллизии. Гибрид предпочтителен. В регулируемых рецептах LLM не автор порядка шагов.
Координация
Блокировки объектов, приоритеты, зоны. Несколько LLM «договорятся» — плохая замена lock manager. Флот AMR и двурукие ячейки требуют отдельного слоя coordination.
Человек-tool
Запрос телеопа — tool с timeout и fallback. Нет ответа — safe idle / escalate higher, не продолжать наугад.
Метрики
Success задачи; навыков на успех; эскалации; время до отказа; ложные отказы; near miss; доля скрытого телеопа (если >0, метрики автономии врут).
Антипаттерны
Админ-права на все навыки; нет timeout рассуждения; цель без done-предиката; облако в контакте; обновление whitelist в пятницу вечером без canary; координация через чат; объяснение сбоя только latent space.
Пример комплектации
Order 8812: A,B,C → лоток 14. A ok. B: WMS vs пустая полка → сенсор побеждает → эскалация. C: place с корректировкой. Done по зрению+скану. Одна эскалация. Лог пригоден к разбору. Регресс на устаревшей памяти — отдельный тест.
Экономика
Агент окупается снижением вмешательств и времени переналадки. Считайте цену ложного отказа (простой) и пропущенного (брак). Оптимум не равен максимуму demo-success.
ИБ
Подпись задач MES; whitelist; audit; защита от injection в текст задачи и от «этикеток-команд» в кадре. Агентность расширяет поверхность атаки.
Когда не нужна
Жёсткий короткий такт; восприятие ещё слепое; нет владельца recovery; запрос «сделайте агента» без задачи. Скажите нет.
Владелец слоя
Фамилия на whitelist, дашборд эскалаций, стоп при росте near miss. Без фамилии риск бесхозный.
Data feedback
Эскалации размечать. Топ причин → новый навык / свет / упрощение задачи. Без feedback агент злит смену и не растёт.
Тест-набор
Happy path; потеря объекта; отмена; двусмысленность; низкий заряд; чужой робот в зоне; ложный трек; отказ гриппера. Регрессия на релиз диспетчера.
Недельный чеклист
Три паспорта навыков; done-предикат одной задачи; отказ «не вижу» в UI; deadline в задаче; сценарий отмены; индикатор уровня автономии; runbook эскалаций.
Связь с книгой
Глава 2 — язык. 3 — стек. 5 — корни иерархий. 6 — целеустремлённость в конверте. Дальше восприятие и тело снабжают агента глазами и мышцами.
Итог
Агентность — навыки, предикаты, отказы, время, память, человек-tool, логи. Не рассказ модели. Физический мир засчитывает только исполнение в ограничениях.
Дедлайны и такт линии
Если соседний конвейер отдаёт такт раз в N секунд, агент обязан знать budget времени догоня. План с суммой p95 длительностей навыков выше budget должен отбрасываться до старта. Иначе успех локальной задачи = брак системного такта. В паспорт задачи внесите deadline явно. Диспетчер, игнорирующий deadline, — не агент производства, а лабораторный демонстратор.
Обновляйте duration_p95 с телеметрии еженедельно. Оценка «на глаз» устаревает после смены гриппера.
Разрешённое исследование
Exploration на железе только: сим; shadow mode; выделенное окно с супервайзером; внутри envelope. Новизна в смене → эскалация, не «пощупать запретное». Политика exploration без ограждения повторяет старые аварии RL-on-hardware.
Объяснимость для мастера смены
Нужны object id, имя навыка, причина монитора, версии. Не saga chain-of-thought как единственный артефакт. CoT в лог для отладки — ок; safety case опирается на мониторы и предикаты.
Агентность и MES
Идентификаторы заказа, слота, SKU должны совпадать с мастер-данными. Агент не изобретает слоты. LLM-адаптер переводит грязный ввод в schema; источником истины остаётся MES. Путаница B vs C на place — классика дорогих разборов.
Отмена и прерывание
Cancel текущего навыка vs cancel заказа — разные семантики. Контроллер умеет hold без падения объекта или controlled release. Люди передумывают. Заложите cancel в день один. Лог: кто отменил, когда, на каком шаге.
Двурукость и чужие руки
Второй манипулятор — другой агент с lock на зоны. Человек сунул руку — safety быстрее любой агентности. Не конкурируйте с safety PLC языковой моделью.
Режимы деградации агента
Нет облака → только закрытая грамматика задач. Нет VLM → выбор объекта стилусом. Нет камеры → телеоп. Индикатор режима виден с десяти метров. Импровизация деградации в стрессе запрещена.
Сравнение вендоров агентного слоя
Просите: пример лога цикла; whitelist; поведение при отвале DNS; регресс на отмене; кто владеет добавлением навыка; замеры latency диспетчера отдельно от хвата. Чат-виджет без логов — не агент.
Обучение high-level политики
Имеет смысл после стабильных навыков. Данные: последовательности, провалы, эскалации. На старте явный автомат переходов чаще выгоднее. Не усложняйте выбор навыка при сыром grasp.
Симуляция пользователей
Scripted user: шумные инструкции, отмены, омонимы. Регрессия парсера до дорогого телеопа. Записи реальных фраз смен (с согласием) — золото.
Alarm flooding
Слишком частые эскалации приучают игнорировать. Пороги и группировка alarm — часть агентного UX. История HMI в process industry прямо переносится.
ADR по агентности
Зафиксируйте: уровень автономии; где LLM; где автомат; политика cancel; владелец whitelist. Без ADR через год никто не вспомнит, почему агент имеет право на navigate ночью.
Связка с functional safety
Языковой/агентный слой — ввод задания, не защитная функция. Защита независима. Документируйте так для аудитора.
Практический 30-дневный план
Неделя 1: паспорта, whitelist, предикаты. Неделя 2: цикл на одной задаче, логи span. Неделя 3: отказы и cancel. Неделя 4: регресс-набор, go/no-go на расширение задач. Если к дню 30 нет безопасного отказа «не вижу» — рано звать это агентом.
Частые споры и короткие ответы
«Нужен ли LLM?» — не обязателен для агентности; нужен реестр навыков и цикл. «Можно ли end-to-end агента?» — с внешним конвертом в R&D; в цеху держите иерархию. «Агентность = автономия 5?» — нет. «Сколько навыков достаточно для пилота?» — часто 3–10 узких; оценка, зависит от задачи.
Финальный критерий
Умеет отказаться, прерваться, объяснить шаг языком объектов/навыков, уложиться в deadline, оставить лог — есть агентность. Умеет красиво писать план — есть текст. Дальше книга усиливает восприятие, чтобы «не вижу» было точным.
Ещё практика: карточка задачи
Поля: task_id, source (MES/operator), deadline, objects[], goal predicates[], allowed_skills[], max_escalations, autonomy_level. Карточка версионируется. Агент принимает только валидные карточки. Всё, что вне схемы — уточнение или отказ. Так вы убиваете целый класс импровизаций.
Карточка эскалации
Причина, время, step, snapshot сенсоров (по политике PII), recommended action для человека, timer. Закрытие эскалации тоже логируется. Без закрытия метрики врут.
Наблюдаемость цикла
Span’ы: accept_task, ground, plan, validate, skill_, monitor_, escalate, complete. Version pins в каждом. Тогда «вчера стало хуже» = конкретный span.
Анти-пример из жизни пилотов
Агент с правом navigate обогнул сканер по дыре в карте зон — виноват не «ИИ», а дырявый валидатор и избыточные права. Лечение: валидатор зон как gate, navigate не в whitelist до аудита карты. Агентность без gate наказывает быстро.
Связь с телеопом как фабрикой
Эскалации кормят датасет. Плохой UX эскалации = оператор не ставит теги = обучение голодает. Кнопка «причина» должна нажиматься в перчатках за секунды.
Закрытие
Агентность в Physical AI — скучная дисциплина контрактов вокруг действия. Сделайте её скучной. Интересным может остаться ролик вендора; ваш парк должен быть скучным и живым.
Приложение A: шаблон паспорта навыка (заполнить)
skill_id: grasp_part
args: track_id, approach_speed, force_limit
pre: track fresh < 100ms; cov < threshold; zone clear; battery ok
post: force_in_range OR width_closed; object_raised
timeout: 20s
max_force: <по паспорту гриппера>
reversible: partial (can release)
cost_proxy: duration_p95, energy_est, risk_class
owner: <фамилия>
tests: list of scene ids
Без заполненных полей навык не входит в whitelist. Копия шаблона — в wiki и в репозитории.
Приложение B: шаблон постмортема агентного сбоя
task_id / время / робот
план (шаги)
на каком шаге сбой
preconditions факты
monitor trigger
версии моделей/калибровок
человек вмешался?
корневая причина по слою стека
действие / владелец / срок
Два заполненных постмортема убеждают OT больше, чем десять слайдов про агентов.
Приложение C: словарь коротких причин эскалации
object_not_found
ambiguous_object
plan_invalid_zone
skill_timeout
force_limit
camera_health
battery_low
lock_busy
operator_cancel
unknown_fault
Оператор выбирает из списка; «другое» с текстом — редко. Так данные становятся статистикой, не романом.
Приложение D: что сказать спонсору одной минутой
Мы не запускаем свободного агента. Мы запускаем цикл навыков с белым списком, отказами и дедлайнами на уровне автономии L. Успех — предикаты задачи и потолок эскалаций. Safety независим. Через 30 дней go/no-go по регресс-набору. Если звучит скучно — мы на верном пути.
Дополнительные сценарии регресса (коротко)
1. Задача пришла дважды — идемпотентность.
2. Объект в руке, пришла отмена заказа — controlled release / park.
3. Потеря TF mid-skill — abort safe.
4. Смена tool_id без обновления паспорта — запрет старта.
5. Часы робота уехали на 2 секунды — не принимать stale tracks.
6. Оператор подтвердил не тот track — лог вины UI, не только модели.
7. MES недоступен — режим деградации.
8. Второй робот держит lock > timeout — эскалация диспетчеру флота.
Каждый сценарий — автоматический тест или чеклист ручного прогона перед релизом диспетчера. Агентность без этого набора живёт до первого редкого события.
Глубокий разбор цикла (продолжение)
На шаге accept_task система обязана отвергнуть карточку без deadline или с пустым allowed_skills. Это не придирка: отсутствие deadline плодит планы, которые убивают такт, а пустой список навыков провоцирует диспетчер «придумать» действие вне компетенции. Валидация карточки — первый монитор агентности, ещё до камеры.
На шаге ground_object фиксируйте не только id, но и качество оценки: covariance, age, sensor_source. Агент, который хватает track age 800 мс на движущемся конвейере, виноват не в политике хвата, а в допуске гнилого grounding. Порог age — часть паспорта задачи или зоны.
На шаге plan храните альтернативы, не один план. Если валидатор зон режет основной, агент должен уметь взять запасной без нового долгого «размышления» с нуля. Кэш планов для частых заказов снижает latency и cost токенов.
На шаге validate_plan проверяйте не только геометрию: совместимость tool_id, заряд, занятость lock, оценку длительности против deadline, запреты смены. Валидатор — код, покрытый тестами; промпт его не заменяет.
На шаге executeSkill менеджер навыков обязан выставлять watchdog на timeout паспорта. Истечение → abort → recovery, не вечное ожидание. Параллельно мониторы силы/скорости/workspace режут уставки независимо от того, «уверен» ли диспетчер.
На шаге postcondition failure агент не переходит к следующему шагу «надеясь». Либо retry с лимитом, либо alternate skill, либо escalate. Лимит retry пишите явно (часто 1–2), иначе получите запил детали.
Память сцены: детали реализации
Хранилище треков: id, pose, cov, label, last_seen, frame_id. TTL по типу объекта: подвижные короче, стационарные стеллажи длиннее. Инвалидация при camera_health bad. При teleop-вставке человека помечайте объекты near_human с укороченным TTL — сцена меняется быстрее.
Карта зон: polygon + rules (no_go, slow, human_shared). Версия карты в каждом эпизоде. Агент без version pin карты после редактирования зон будет ходить по призракам.
Семантическая БД SKU: масса (оценка), хрупкость (флаг), предпочтительный хват, свисающие элементы. LLM не должен выдумывать хрупкость; если поля нет — force_limit по умолчанию консервативный и/или эскалация.
Эпизодическая память: ключ (location_id, skill_id) → last_failures. После трёх клиньев подряд агент обязан эскалировать, даже если предикаты формально зелёные. Это дешёвый способ не биться в стену.
UX супервизии агента
Экран: видео с рамкой выбранного объекта; крупно следующий навык; таймер deadline; кнопки confirm / cancel step / cancel task / call teleop; индикатор режима (авто / confirm / teleop / fault). Звук fault в цеху обязателен — экран не всегда в фокусе.
Не показывайте JSON. Два предложения человеку, JSON — логам. Перчатки: большие hit-area. Язык кнопок совпадает со словарём эскалаций.
Обучение смены: полдня на тренажёре эскалаций. Карточка на стене: примеры фраз задач, запрещённые фразы («сам разберись»), что делать при fault code. Без обучения люди обходят агента — и правильно делают, если UX враждебен.
Метрики — формулы без лишней точности
success_rate = успешные done-предикаты / запущенные задачи.
escalation_rate = эскалации / задачи.
false_refuse_rate = отказы, после которых человек сразу успешно завершил тем же навыком / все отказы (выборочная разметка).
missed_refuse_proxy = near miss + safety-stop после продолжения при низком confidence.
plan_reject_rate = планы, отвергнутые валидатором / предложенные.
p95_time_to_safe_refuse — критично для доверия.
Целевые числа зависят от домена; не выдумываем единый процент. Важно иметь столбцы и смотреть тренды недели. Падение false_refuse при росте near miss — тревога: система стала смелее, не умнее.









