Два мира

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

— Шеф, последняя серия 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

Сейчас 2025–26 год, и про 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. Работает локально, не нужно никаких серверов, облаков и подписок. Пишите в личку — пришлю сслыку.