Два мира

Стук в дверь. Заходит аспирант.

— Шеф, последняя серия Mo/B не получилась. Период куда-то уехал.

— Покажи параметры напыления.

Аспирант открывает тетрадь. На странице — «Mo/B 300W 120s». Ни тебе давления, ни расхода газа, ни типа подложки. Запись сделана, судя по чернилам, одновременно с тремя предыдущими — то есть по памяти, задним числом.

— Логи с установки?

— Там старый компьютер, он вроде писал, но я не уверен, в какую папку... Два часа спустя мы нашли логи. Выяснилось, что давление в камере было в полтора раза выше нормы, видимо, течь на фланце, о которой «забыли» сказать. Ещё через час нашли данные рентгеновской дифракции — на флешке, в папке «new_new_final». Результат? Потерянный день и пять образцов в мусорном ведре.

Это — 2019 год. Южная Корея.


2026 год. Другая страна, другая лаборатория. Я сижу за столом и набираю в терминале:

«Проанализируй данные в папке W/B4C. Сопоставь с результатами XRR моделирования.»

Через тридцать секунд AI достаёт из электронного лабораторного журнала файлы рецептов напыления, парсит 32-канальные логи установки, извлекает параметры из XRR моделей, и выдаёт ответ: «Блок питания G3F C отдаёт на 6% больше мощности, чем G3F B при одинаковой уставке тока. Это объясняет систематически более толстые интерфейсные слои WC в образцах, напылённых с DCC.»

Четыре формата файлов. Восемь файлов данных. Четыре эксперимента плюс четыре контрольных. Задача, на которую у человека ушёл бы день-два кропотливой работы. AI справился за минуты.

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

Скриншот: фрагмент PDF-отчёта, сгенерированного AI
Скриншот: фрагмент PDF-отчёта, сгенерированного AI

Проблема

Любая физическая лаборатория, занимающаяся экспериментальной работой, генерирует данные. Много данных. Рентгенограммы, микрофотографии, логи установок, результаты механических испытаний, параметры техпроцессов. И каждый, кто когда-либо работал в такой лаборатории, знает, что управление этими данными — это хаос. Причём хаос, принимающий разные формы в зависимости от характера его создателя.

Минималист. Ведёт бумажную тетрадь. Записи лаконичны: «Mo/B 300W хор.» — что значит «хор.», уже через неделю не вспомнит никто, включая самого автора. Подложка? «Обычная». Давление? «Как всегда». Защищает диссертацию и уезжает, унося в голове все детали, которых нет в тетради. Следующий аспирант начинает с нуля.

Архивариус. Создаёт грандиозные деревья папок: 2022/March/Week2/Mo-B/attempt3_final_FINAL2/. Двести гигабайт аккуратно разложенных файлов, навигировать по которым может только он сам. Через полгода — уже и он не может. Это, кстати, про меня.

Мастер Excel. Всё сводит в один мастер-файл с 47 вкладками, раскрашенными по настроению. На вкладке «Сводка» — формулы, ссылающиеся на вкладку «Сырые данные (старые)», которая ссылается на внешний файл, который был на другом компьютере. Файл открывается три минуты. На чужом компьютере не открывается вообще.

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

Вы напылили пятьдесят покрытий Mo/B за прошлый год. Какие параметры напыления коррелируют с максимальным коэффициентом отражения? Чтобы ответить на этот вопрос, нужно вручную сопоставить логи напыления с данными рентгеновской дифракции для каждого образца. Потом построить графики. Потом увидеть, что в трёх случаях логи потерялись, в двух — рентгенограммы сняты, но не подписаны, а в одном — образец вообще назван иначе, чем в тетради.

Это же не физика, а археология какая-то!

А ещё есть проблема преемственности. Аспирант работает четыре-пять лет. За это время он набирает колоссальный опыт: знает все особенности оборудования, помнит удачные и неудачные режимы, понимает, какие параметры критичны, а какие — нет. Потом он защищается и уходит. И всё это знание уходит вместе с ним. Следующий аспирант повторяет ошибки, которые уже были решены. Иногда — буквально. И хорошо, если прибор при этом не убьёт. Или себя.

Первый шаг: автоматизация напыления

Цифровизация нашей лаборатории началась не с какого-то грандиозного плана. Она началась с того, что мне надоело стоять у установки по пять часов.

Осенью 2020 года мы запустили программное обеспечение для нашей напылительной системы — установки магнетронного распыления с каруселью, предназначенной для изготовления многослойных рентгеновских зеркал. Для тех, кто читал мою предыдущую статью на Хабре («Как это сделано: Оптика для EUV/BEUV литографии») — это та самая «установка третьего поколения» с четырьмя 150 мм магнетронами.

Ключевым элементом ПО стал собственный скриптовый язык, позволяющий полностью описать весь процесс напыления: вращение карусели, управление блоками питания, контроль заслонок, ионное травление. Когда изготовление одного зеркала занимает 3–5 часов, не считая подготовки, без автоматизации никак — об этом я уже писал.

Но побочный эффект автоматизации оказался даже важнее самой автоматизации.

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

Для разработчиков: архитектура достаточно простая — Delphi-приложение, общающееся с программируемыми контроллерами шаговых двигателей и блоками питания по RS-485. Внутри установки есть своя маленькая локальная сеть. Логирование идёт в простейший текст, который потом можно открыть хоть в Excel, хоть распарсить скриптом.

Скриншот: интерфейс управления напылительной системой
Скриншот: интерфейс управления напылительной системой

Зачем нам этот лог? Не для того, чтобы в 2026 году скормить его искусственному интеллекту — о таком тогда и мечтать не приходилось. А для того, чтобы понять, что пошло не так, когда покрытие получилось не тем, чем планировалось. Давление прыгнуло во время напыления? Видно в логе. Мощность поплыла? Видно в логе. Аспирант забыл включить охлаждение? Видно по росту температуры в логе.

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

Электронный лабораторный журнал

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

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

Скриншот ELN3: Item content view с файлами, данными и действиями
Скриншот ELN3: Item content view с файлами, данными и действиями

Иерархия

Структура ELN отражает то, как устроена реальная лабораторная работа:

Проект → Папка → Образец → Действие → Файлы

  • Проект — это исследовательская тема. Например, «BEUV Mo/B» или «DLC» или «X-Ray Optics (XRF)».

  • Папка — группировка внутри проекта. Можно по задачам, по сериям экспериментов, как удобно.

  • Образец (Specimen) — конкретный физический объект: подложка с покрытием, мишень, тестовая структура. У образца есть имя (обычно включает дату, как Mo/B(220719A)), тип подложки, комментарий, и самое важное — поле «Outcome», куда записывается ключевой результат.

  • Действие (Action) — что-то, что мы сделали с образцом. У каждого действия есть тип: Deposition, Annealing, XRD, SEM, TEM, AFM, Indentation, Tribotest, Scratch Test... Каждый тип привязан к конкретному оборудованию. Сделал рентгенограмму — действие типа «XRD», оборудование «Empyrean». Провёл наноиндентирование — «Indentation», оборудование «UNHT-3».

  • Файлы — сырые данные, привязанные к действию. Дифрактограмма .xrdml, лог напыления .log, результат XRR моделирования .xrcx, микрофотография .tiff, отчёт .pdf — любой формат.

Ключевые значения

Помимо файлов, к каждому действию можно привязать структурированные численные данные — ключевые значения (Key Values). Период многослойки, толщина плёнки, твёрдость, коэффициент трения, шероховатость. Именно эти значения позволяют потом делать выборки и корреляции по всей базе: «покажи все образцы, где период Mo/B был меньше 7 нм» или «как зависит твёрдость DLC от напряжения смещения».

Техническая сторона

Для тех, кого интересует стек: клиент написан на Delphi, данные хранятся в SQL базе, файлы — на WebDAV-сервере. Такое разделение не случайно: метаданные (что за образец, какие параметры, кто автор) — в базе, где их можно быстро искать и фильтровать. Тяжёлые файлы (рентгенограммы, микрофотографии, логи) — на файловом сервере, где ими не нужно забивать базу данных.

У системы есть плагины-вьюеры для специфических форматов. Открыть .xrdml и увидеть дифрактограмму, загрузить .xrcx и посмотреть результат моделирования — всё из интерфейса ELN, без необходимости запускать внешние программы.

Рост

Первая запись в ELN — Mo(210121-A), калибровка скорости напыления молибдена на кремниевой подложке 10×10 мм. Январь 2021 года.

Сейчас, пять лет спустя: 19 проектов, около тысячи образцов, тысячи файлов. Непрерывная история одной лаборатории.

Скриншот: интерфейс ELN — список образцов
Скриншот: интерфейс ELN — список образцов
Скриншот: карточка действия с прикреплёнными файлами
Скриншот: карточка действия с прикреплёнными файлами
Экстракция данных из файла
Экстракция данных из файла

Небольшое признание

Первая версия журнала (ELN2) имела массу захардкоженных вещей, заточенных именно под нашу лабораторию. Типы действий, список оборудования, формат именования образцов — всё это было сделано «под себя». Это одновременно и преимущество (система идеально ложится на наш рабочий процесс), и недостаток (перенести её в другую лабораторию «как есть» — не получится). Нынешняя версия, ELN3, существенно более гибкая — типы действий, оборудование, типы файлов настраиваются, а не зашиты в код.

Между первым напылением и этой статьёй

Между «у нас есть электронный журнал» и «AI читает наши данные» — несколько лет рутинной, негламурной работы. Каждый образец  зарегистрирован. Каждая рентгенограмма  загружена и привязана к нужному действию. Каждый лог напыления — на месте. Правда, нужно приучить студентов делать это регулярно, а не «потом занесу».

Про это не напишешь статью на Хабр. Тут нечем хвастаться. Просто каждый день, после каждого эксперимента — занеси образец, загрузи файлы, заполни параметры. Скучно? Адски. Но именно на этой скуке всё и держится.

Постепенно подключались новые рабочие процессы. Стандартизировались соглашения об именовании: дата в имени образца, однозначная привязка к проекту. Появились плагины для извлечения структурированных данных из специфических форматов оборудования — .xrdml (Empyrean), .xrcx (X-Ray Calc), .dsc (рецепты напыления), .mit (наноиндентирование). Данные, которые раньше были заперты внутри проприетарных форматов, стали доступны для анализа. За это спасибо Клоду, он реально крут в реверс-инжиниринге старнных файлов.

AI работает ровно настолько хорошо, насколько хороши данные, к которым он имеет доступ. Нет данных — нет результата. Мусор на входе — мусор на выходе. Эту максиму повторяют все, но мало кто задумывается о том, сколько усилий стоит обеспечить качественный вход.

И тут появился AI

Сейчас 2026 год, и про AI из каждого утюга. «AI-driven materials discovery», «Machine learning for thin film optimization», «ChatGPT для учёных». Звучит впечатляюще. Но вот вопрос: как подключить языковую модель к данным вашей конкретной лаборатории? Не к «науке вообще», не к PubMed и не к учебнику по физике тонких плёнок. А к вашим 1800 образцам, вашим логам напыления, вашим рентгенограммам. К реальным данным реальных экспериментов.

MCP: мост между AI и данными

Ответ (по крайней мере, один из возможных) — Model Context Protocol (MCP). Это открытый стандарт, разработанный Anthropic, который позволяет языковым моделям вызывать внешние инструменты. По сути — стандартизированный API, через который AI может задавать вопросы вашим системам.

Мы написали MCP-сервер для ELN. Это отдельный исполняемый файл, который выставляет базу данных и файловое хранилище журнала как набор инструментов, доступных AI:

  • list_projects — список проектов

  • list_specimens — список образцов с фильтрацией

  • get_experiment — детали конкретного эксперимента

  • extract_file_data — извлечение данных из файлов инструментов

  • extract_file_key_values — извлечение ключевых значений

  • search — полнотекстовый поиск по всей базе

  • correlate_values — корреляция параметров между образцами

AI не «видит» базу данных напрямую. Он взаимодействует через структурированный интерфейс — точно так же, как программист работает с REST API. Но запросы приходят на естественном языке от пользователя, а модель сама решает, какие инструменты вызвать и в какой последовательности.

Скриншот: фрагмент диалога с AI, показывающий вызовы MCP-инструментов
Скриншот: фрагмент диалога с AI, показывающий вызовы MCP-инструментов

Как это выглядит на практике: детективная история

Вот реальный пример, произошедший в марте 2026 года.

Мы изготавливали серию многослойных зеркал W/B4C — 30 бислоёв, для рентгенофлуоресцентной оптики. В установке два импульсных блока питания — G3F B и G3F C. В ходе экспериментов мы меняли блоки питания между мишенями, чтобы проверить воспроизводимость. Рецепты напыления — идентичные. Все параметры — ток, время, расход газа, частота импульсов, скважность — одинаковые. Отличие — только в том, какой физический блок питания подключён к какой мишени.

Но результаты XRR моделирования показали существенную разницу в структуре покрытий. Почему?

Я попросил Claude разобраться. Вот что произошло дальше — шаг за шагом:

Шаг 1. AI извлёк из ELN файлы рецептов напыления (.dsc) для обеих серий образцов. Сравнил побайтово. Подтвердил: рецепты идентичны, единственное отличие — строка set DC_B vs set DC_C.

Шаг 2. AI достал логи напыления. Распарсил. Обнаружил: несмотря на одинаковую уставку тока (550 мА), блок G3F C выдаёт напряжение 464–478 В против 458–471 В у G3F B. Разница в мощности — около 6%.

Шаг 3. AI извлёк из ELN файлы XRR моделирования (.xrcx, наш X-Ray Calc) и получил подогнанные параметры структуры: толщины слоёв, периоды, коэффициенты гамма. Результат однозначный: образцы, напылённые с DCC, систематически имеют более толстые интерфейсные слои WC. При 48-секундном напылении вольфрама разница драматическая: 20.4 нм (DCC) против 9.1 нм (DCB).

Шаг 4. AI свёл всё воедино и сгенерировал отчёт: разница в структуре покрытий вызвана скрытым рассогласованием выходных характеристик двух «одинаковых» блоков питания. Более высокая мощность от G3F C означает большую энергию ионов при распылении B4C, что усиливает перемешивание на границах W/B4C. Рекомендация: кросс-калибровка блоков питания перед дальнейшими сравнительными экспериментами.

Скриншот: сгенерированный PDF-отчёт с таблицами
Скриншот: сгенерированный PDF-отчёт с таблицами

Десяток файлов в четырех разных форматах. Данные восьми экспериментов. Человек мог бы проделать ту же работу — за день, может быть, за два. AI справился за минуты.

Но — и это ключевое — только потому, что данные уже были там. Структурированные, привязанные к образцам, доступные через API. Если бы логи лежали «где-то на старом компьютере», а рентгенограммы — «на флешке, в папке new_new_final» — никакой AI не помог бы. Плавали, знаем.

Что дальше

Подключение AI к лабораторным данным открывает возможности, о которых ещё год назад я не задумывался.

Запросы по всей истории: «покажи все образцы, где твёрдость DLC превысила 30 ГПа, и построй корреляцию с напряжением смещения при напылении». Пять лет данных, сотни образцов — ответ за минуту.

Автоматическая генерация отчётов для публикаций: AI собирает параметры напыления, результаты характеризации, строит таблицы — черновик экспериментальной части статьи готов.

А в перспективе — анализ «белых пятен» в пространстве параметров. Какие комбинации давления и мощности мы ещё не пробовали? Где имеет смысл поставить следующий эксперимент? Не замена исследователю, а инструмент, помогающий увидеть картину целиком.

Мораль

Все сейчас в восторге от AI в науке. На конференциях — доклады про AI-driven materials discovery. В журналах — статьи про machine learning for thin film optimization. В каждом грантовом предложении — обязательное упоминание artificial intelligence.

Но почти все эти работы начинаются с одного и того же допущения: «имеется набор данных». Аккуратный, чистый, структурированный набор данных. Откуда он взялся — об этом скромно умалчивается.

А правда такова: подавляющее большинство лабораторий не имеет цифровой инфраструктуры для сколько-нибудь осмысленного использования AI. Данные — в тетрадях, Excel-файлах, на персональных флешках, в головах выпускников. Языковая модель не умеет читать почерк аспиранта.

Наш опыт показывает: интеграция AI заняла месяц. Написание MCP-сервера — пару недель. Подключение к Claude — день. Инфраструктура, на которой всё это работает, строилась шесть лет. Шесть лет — это программное обеспечение для установки. Электронный лабораторный журнал. Плагины для десятка форматов данных. И самое главное — ежедневная дисциплина занесения каждого образца, каждого измерения, каждого файла. Без выходных и «потом запишу».

«Цифровизация одной отдельно взятой лаборатории» — это возможно. Одна лаборатория это сделала. «И AI» — но только тогда, когда фундамент уже построен. Без фундамента AI — это просто чат-бот, который красиво рассуждает о физике тонких плёнок, но не знает, что вчера у вас на установке сгорел блок питания.

Ну а пока — нужно отправить студента напылять следующий образец. И чтобы не забыл загрузить файлы в ELN. Впрочем, для этого у нас теперь аудит есть.

Data Quality Check в ELN
Data Quality Check в ELN

P.S. Если вы работаете в лаборатории и узнали себя в ком-то из описанных типажей — E-LabNotebook 3 можно использовать абсолютно бесплатно. Однопользовательская версия полнофункциональна, включая AI-интеграцию через MCP. Работает локально, не нужно никаких серверов, облаков и подписок. Пишите в личку — пришлю ссылку.