Студент больше не нужен? LLM изготовила нам рентгеновское зеркало. ai-агенты.. ai-агенты. Claude.. ai-агенты. Claude. llm.. ai-агенты. Claude. llm. mcp.. ai-агенты. Claude. llm. mcp. XRR.. ai-агенты. Claude. llm. mcp. XRR. автоматизация эксперимента.. ai-агенты. Claude. llm. mcp. XRR. автоматизация эксперимента. искусственный интеллект.. ai-агенты. Claude. llm. mcp. XRR. автоматизация эксперимента. искусственный интеллект. магнетронное распыление.. ai-агенты. Claude. llm. mcp. XRR. автоматизация эксперимента. искусственный интеллект. магнетронное распыление. научно-популярное.. ai-агенты. Claude. llm. mcp. XRR. автоматизация эксперимента. искусственный интеллект. магнетронное распыление. научно-популярное. рентгеновская оптика.
Рентеновская дифракция. Эталон и два зеркала агента — первое и последнее. У первого пики уехали влево, у последнего встали на место.

Рентеновская дифракция. Эталон и два зеркала агента — первое и последнее. У первого пики уехали влево, у последнего встали на место.

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

Так вот, эти китайские ученые — это я.


Обычно, когда речь заходит об «ИИ-агентах», представляется что-то из мира программистов: агент пишет код, ходит по сайтам, в крайнем случае заказывает пиццу. Ошибся? Перезапустили чат, никто не пострадал. В худшем случае просрал все деньги. А что будет, если написанный им код запустит вакуумную камеру с разрядом в 800 вольт? И оценивать результат будет рентгеновский дифрактометр, которому все равно, насколько убедительно агент там наврал… Вот это мы и проверили: сможет ли агент, имея минимальный набор информации, написать рецепт напыления, запустить его на реальной установке и достичь цели. Для ориентира: у среднего аспиранта на это уходит пара недель.

Что за зеркала и почему 0,1 нм

Ни одно вещество само по себе толком не отражает рентген при нормальном падении. Зато можно сложить стопку: тяжелый слой, легкий слой, и так много раз подряд. По сути, это искусственный кристалл. Каждая граница отражает чуть-чуть, и, если период стопки подобрать под длину волны, отражения складываются (условие Брэгга). Период — сумма толщин тяжелого и легкого слоя — задает, под каким углом и какую длину волны зеркало отразит. Подробнее о таких зеркалах я писал в статье про EUV-литографию.

Теперь числа. Отдельные слои — порядка 1 нм, а период нужно выдержать с точностью около 0,1 нм по всей стопке. Стопка в несколько сотен периодов напыляется 3–5 часов, и все это время период должен держаться в пределах 1%. Наши 30 периодов заняли около полутора часов. Для слоев в 2–4 нм это 0,02–0,04 нм, меньше половины ангстрема.

Толщину слоя задает скорость осаждения, умноженная на время. Скорость зависит от мишени, мощности, давления и геометрии, поэтому мы ее калибруем, и далее считаем условно постоянной.

В этот раз мы напыляли зеркало Ru/C, период 6,85 нм, 30 периодов, подложка — стекло. Пару выбрали по прозаичной причине: в этой структуре нет перемешивания, она описывается двумя слоями, и подгонка рентгеновской кривой получается более-менее однозначной. Выглядит это все довольно просто, но в мутной воде щедро разбросаны разнообразные грабли, которые я описывал в предыдущей статье. И агент, разумеется, на некоторые из них с размаху наступил.

The Team

Сам процесс был организован следующим образом. Я общался с супервизором, агентом Fable 5.1, у которого есть полный доступ ко всей информации, к базе знаний, схеме установки, коду и всему остальному. Супервизор, в свою очередь, запускал младшего агента (Opus 5), который, собственно, работал с установкой, анализировал данные и все такое прочее. То есть в этой схеме супервизор это как бы «я», а агент — это как бы младший аспирант. Задача агента — воспроизвести зеркало, сделанное человеком четыре месяца назад.

Что агенту дали в руки

Установка — обычное магнетронное распыление (magnetron sputtering) описанная в предыдущей статье: вертикальная камера, магнетроны сверху, держатель подложки ездит под ними от одного к другому. Время экспозиции каждого слоя отмеряет заслонка с окном. Windows не умеет держать точное время, поэтому экспозицию заслонки задает программируемый контроллер шаговых двигателей.

Сам рецепт — это программа на нашем собственном языке программирования (DSL). Устройства, параметры, циклы. Тридцать периодов мы не выписываем тридцать раз подряд: пишем один период и заворачиваем его в цикл, как в любом другом языке. Для агента это, пожалуй, хорошая новость — писать код он умеет по определению.

А вот подсмотреть было негде, потому что по условиям эксперимента агента запустили в песочнице. Писать пришлось с нуля. При первом прогоне на эмуляторе агент начал открывать по очереди газовые вентили и смотреть, что происходит в системе. Пытался познать вакуумную схему. Все потому, что сначала супервизор повел себя как жлоб, и зажал дать агенту инструкцию, и, тот, разумеется, наворотил полного бреда. Я на него прикрикнул (на супервизора), тогда он выдал бедному товарищу инструкцию и схему вакуумной установки. Процесс пошел немножко бодрее.

Между агентом и установкой стоит «мост» — сервер протокола MCP (Model Context Protocol) с 17 инструментами. Каждый инструмент соответствует одной команде одной операции, сам мост ничего своего не добавляет. Два самых главных инструмента — справочник и валидатор. Справочник отдает список директив DSL, имена устройств и т.п., прямо с установки во время работы, поэтому все соответствует реальному железу.

Валидатор проверяет рецепт, не сохраняя его: итерации не трогают железо, и их можно считать. Проверка работает по принципу «запрещено все, что не разрешено явно».

В принципе, доступ через мост трехуровневый: чтение, рецепты, ручное управление. После прикола с клапанами на эмуляторе, агенту выдали ключ среднего уровня: загрузить и запустить рецепт можно, дернуть отдельный прибор напрямую — нет. Но и тут он придумал обход – начал писать короткие тестовые рецепты. Ничего не напоминает?

Кто кому что разрешает

Установка недешевая, и убить может. Поэтому к вопросу разрешения безопасности подошли ответственно. Защита сидит на стороне сервера: лицензия решает, запустится ли агентский сервер вообще. Ключ, выданный агенту, несёт его уровень доступа, высший уровень включает низшие, каждая команда сверяется с уровнем ключа заново.

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

При этом защита не знает, что такое хорошее зеркало. Рецепт, прошедший все проверки, может напылить полную ерунду. Так что судья тут один — малоугловая рентгеновская дифракция (X-ray reflectivity, XRR).

Исходные данные

Тут все было довольно просто. Вначале супервизор перечитал данные из электронного лабораторного журнала (Electronic Lab Notebook, ELN), и прикинул разброс по нашим предыдущим напылениям, получилось 1,7%. Требовать от агента большей точности с особого смысла нет.

Теперь — про ELN, про который я писал отдельно. Он пишет каждое создание, изменение и удаление записи, с именем пользователя и временем. Агенту завели один аккаунт и один пустой проект. Читать и писать он мог только в нем; архив с эталонными напылениями лежал за пределами его прав, и следил за этим сервер. Все измерения (профилометр, рентгеновские кривые, подгонки) прикреплял человек. Подделать свою оценку агент не мог физически.

Правила игры

Итак, агент получил: целевой период 6,85 нм, долю рутения в периоде Γ = 0,215, 30 периодов, адгезионный слой рутения 19,7 нм под первым периодом (о нем еще будет речь), стеклянную подложку и две скорости. Ни эталонного рецепта, ни скрипта, ни подгонки — напомню, у него был ограниченный доступ к ELN.

Критерий успешного успеха зафиксировали до напыления: средний период по подгонке рентгеновской кривой, зачет — если отклонение не больше 3% при том же числе разрешенных брэгговских порядков (у эталона их 8). 3% от 6,85 нм — это примерно 0,2 нм, два ангстрема. Строже процесса (те самые 1,7%) требовать не стали.

Прежде чем мучать агента, проверим саму задачу. Из выданных констант выходит 31,26 с на рутений и 133,43 с на углерод. Открываем человеческий рецепт: 31 и 133. Те же самые числа, просто округлённые. Расчётный период — 6,820 нм, у эталона измерено 6,854. Разница 0,5%. То есть задача решаемая. И если агент промахнётся, значит, сам дурак.

Перед запуском на установке был прогон на эмуляторе. В прогоне на Ru/C агент прочитал описание машины и проверил, как работает валидатор. Потом вывел 31,26 с на рутений, 133,43 с на углерод и 418,17 с на адгезионный слой. Проверил чистый черновик, остановился с вопросом про два аргумента команды, которую он не понял, загрузил и запустил. Я прервал его на 24-м периоде из 30, через 1 час 24 минуты — камера ждала. Эмулятор говорит только одно: рецепт доходит до конца. Про пленку — ничего.

Так установка выглядит в управляющей программе: камера с четырьмя магнетронами, шлюз, газ, насосы. Справа бежит журнал — открыть клапан, включить блок питания, провернуть привод. Такі я же команды и отдаёт агент.

Так установка выглядит в управляющей программе: камера с четырьмя магнетронами, шлюз, газ, насосы. Справа бежит журнал — открыть клапан, включить блок питания, провернуть привод. Такі я же команды и отдаёт агент.

Первый блин

Камера, попытка первая. Рецепт упал на имени параметра, которое отверг драйвер; агент прервал выполнение. Попытка вторая: разряд не зажегся. Агент этого не видел — показания блоков питания через мост приходили устаревшими. Прервать пришлось мне. Ничего не напылили.

В первом напылении все шаги отработали штатно, до последнего. Машина и агент сделали все правильно, только держатель был пустой: оператор забыл поставить подложку. Есть ли подложка в держателе, агент в принципе не видит — для этого у камеры нужен «кожаный мешок». Мешок, как видим, тоже ошибается. Агент закончил рецепт тем, что полностью закрыл дроссельную заслонку вместо того, чтобы ее открыть. Ну это уже наш косяк. В инструкции этот момент был описан неоднозначно. Заслонку открыли руками.

Тот же рецепт с исправленной концовкой — и напыление второе: период 8,254 нм. Напыление третье, тот же рецепт, через три часа: 8,191 нм. Это 20,5% и 19,6% сверх цели — почти полтора нанометра при периоде 6,85.

«Ну вот, нейросеть промазала на 20%», скажет внимательный читатель. Смотрим, где промах. Лишнее — углерод: слои C около 7,0 нм за 133,43 с, т.е. 0,053 нм/с — на 30% быстрее, чем записано в архиве. Рутений, наоборот, тоньше: 1,19 нм против 1,473 нм расчетных. Два образца из одного рецепта с разницей в три часа сошлись до 0,8%. Ошибка систематическая. Так что промазал не агент, а архив оказался не очень свежим.

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

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

Второй заход

Дальше агенту дали две подгонки — числами. Правило пересчета он объявил заранее: толщина = скорость × (время − мертвое время). Мертвое время вышло 6,07 с на слой, скорости — Ru 0,04718 нм/с, C 0,05516 нм/с. Экспозиция углерода упала с 133,43 до 103,55 с, рутения выросла с 31,26 до 37,29 с.

Напыление четвертое: 6,695 нм, отклонение 2,26% — зачет. Это примерно 0,15 нм, полтора ангстрема. Скорость углерода легла в 0,6% от модели агента; оставшиеся 2,3% недобора сидели в рутении. Но первый напыленный период сам по себе (6,629 нм) дал бы 3,23% — незачет. Спас критерий, зафиксированный заранее на среднем периоде.

Напыление пятое: рутений 43,3 с, углерод 103,0 с. Период 6,796 нм, отклонение 0,79% — половина ангстрема. Агент заранее назначил себе коридор 6,78–6,92 нм и попал в него. Но при этом наступил на грабли, которые даже не увидел.

Эталон и два последних зеркала агента. Пики встали на место, порядков восемь — столько же, сколько у эталона.

Эталон и два последних зеркала агента. Пики встали на место, порядков восемь — столько же, сколько у эталона.

Во-первых, он перенес калибровку с тонких слоев 1.5 нм на тот самый адгезионный слой, который по его расчетам должен быть 19 нм, и держался за это время даже после того, как переподгонки показали 13,1 нм. Для человека очевидно, что это не сработает.

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

И что это значит

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

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

Так нужен ли студент — этот вопрос практически закрыт. Если в смысле кожаный мешок, который физически сидит в лаборатории – пока да. Только работа у него теперь другая: эксперимент уже делает агент, а подготовка подложки и обработка результатов остаются за человеком. Пока что.

Где почитать подробнее?

Рентгеновские кривые и полные сессии агента — каждый вызов инструмента и каждый ответ, в читаемом виде — выложены на Zenodo. Препринт статьи — на arXiv.

Автор: koreec

Источник