야간 자율실험에서 로봇은 분말 혼합과 가열을 끝냈고 XRD도 정상 파일을 만들었다. 그런데 냉각 뒤 용기를 바꾸는 순간 시료 ID가 한 칸 밀려, Test 결과가 옆 시료의 Build 기록에 붙었다. 장비 화면은 모두 초록색이고 학습 모델도 다음 레시피를 자신 있게 내놓지만, 실제로는 잘못된 인과관계가 닫힌 루프를 돌고 있다. Design–Build–Test–Learn 시스템의 가장 위험한 실패는 멈춘 로봇보다 이렇게 ‘성공한 것처럼 보이는 연결 오류’다.

네 단계는 결과물이 아니라 상태 계약으로 이어진다
Design은 후보 조성·공정조건·목적과 제약을 내보낸다. Build는 실제 투입량, 장비 레시피, 시료 위치와 공정 이력을 돌려준다. Test는 원시 파일, 교정 상태, 단위, 품질 판정과 추출한 지표를 만든다. Learn은 승인된 측정만 받아 모델 버전·불확실성을 갱신하고 다음 후보 또는 중단 결정을 낸다. 각 단계의 출력은 다음 단계가 읽는 데이터이면서, 실패 뒤 어느 지점으로 돌아갈지를 정하는 상태여야 한다.
NIST의 자율 소재 연구 프로그램은 기계학습이 실험 설계·실행·분석을 제어하는 닫힌 루프를 개발한다고 설명한다. 이 설명은 네 단계가 단순한 보고서 목차가 아니라 제어 경로임을 보여 준다. 다만 NIST 페이지가 특정 DBTL 메시지 형식이나 검사 순서를 규정하는 것은 아니다. 아래 구조는 공개된 원칙과 실제 워크플로 연구를 바탕으로 한 시스템 설계안이다.
공통 키는 사람이 읽는 샘플명 하나로는 부족하다. 캠페인 ID 아래에 불변 실험 ID를 만들고, 하나의 실험에서 파생된 물리 시료와 측정 반복에는 별도 시료·측정 ID를 준다. 용기를 바꿔도 시료 계보는 유지하고, 재시험은 원래 측정을 덮어쓰지 않고 새 시도 번호로 남긴다. 그래야 Learn이 무엇을 한 관측으로 볼지와 운영자가 무엇을 폐기했는지가 일치한다.
루프가 깨지는 지점은 장비 고장보다 더 넓다
장비 알람은 눈에 띄지만, 단위 변환·시간 동기·중복 재시도·분석 버전 같은 데이터 고장은 조용하다. NIST의 모듈형 자율실험 표준화 자료는 디지털 연결을 자율 시스템의 핵심으로 보고 시료 관리, 기기 통신, 데이터, 알고리즘 통합을 별도 표준화 과제로 나눈다. 네 영역 중 하나만 열려도 다음 실험은 과학적 결과가 아니라 통합 오류를 학습할 수 있다.
| 시작 지점 | 대표 실패 | 자동 차단 조건 | 사람 확인이 필요한 경우 |
|---|---|---|---|
| Design | 허용 범위 밖 후보·이미 소진된 재고 | 제약식·재고 스냅샷 불일치 | 새 물질이나 제약 변경 |
| Build | 부분 투입·용기 교환·가열 미완료 | 질량수지·위치·장비 완료 이벤트 실패 | 누출·오염·시료 상태 불명 |
| Test | 교정 만료·포화·다른 시료 파일 | 시료 ID·교정·QC 중 하나라도 불합격 | 다상·모호한 신호의 과학 판정 |
| Learn | 누락값 대치·모델 범위 이탈·중복 관측 | 스키마·버전·불확실성 문턱 실패 | 목적함수나 모델 교체 |
| 재시도 | 같은 명령의 이중 투입·결과 덮어쓰기 | 멱등 키와 물리 상태가 불일치 | 이미 반응이 시작된 시료 |
‘완료’ 이벤트의 의미도 단계마다 다르다. 펌프 명령을 보냈다는 것은 투입 완료가 아니고, 파일이 생겼다는 것은 유효한 측정 완료가 아니다. 각 작업은 요청됨, 실행 중, 물리 완료, 데이터 수신, QC 승인, 폐기 또는 복구 대기의 상태를 구분해야 한다. 다음 단계는 자신에게 필요한 최종 상태만 받아야 한다.
공통 ID 위에 사건과 계보를 쌓는다
AlabOS 원 논문은 시료마다 사람이 읽을 수 있는 이름과 고유 글로벌 ID를 주고, 시료 위치·장비·작업·실험을 별도 상태 컬렉션으로 관리한다. 작업 순서는 방향성 비순환 그래프로 표현하며 부모 작업이 끝나야 다음 작업을 시작하고, 장비와 시료 위치는 실행 전에 예약한다. 이는 DBTL을 구현하는 유일한 방법은 아니지만, 공통 ID·명시적 상태·자원 잠금이 왜 필요한지를 실제 자율실험실 소프트웨어로 보여 준다.
이벤트에는 최소한 experiment_id, sample_id, task_id, attempt_id, actor, timestamp, input_version, output_uri, status, quality_flag를 둔다. 파일 주소만 남기지 말고 원시 데이터 해시와 분석 코드 버전을 함께 기록한다. 장비 시계가 다르면 중앙 수신 시각과 장비 발생 시각을 둘 다 보존한다. 시간순 정렬만으로 계보를 추측하지 않고 parent_event_id 또는 명시적 입력 ID로 연결한다.
Learn의 결정도 하나의 사건이다. 어떤 데이터 묶음과 모델 버전을 읽었는지, 어느 획득 규칙이 후보를 골랐는지, 후보의 예상값·불확실성·제약 여유가 얼마였는지 남긴다. 다음 실험이 실패했을 때 모델이 나빴는지, 입력이 잘못됐는지, 실행이 달랐는지를 분리하려면 ‘추천값’뿐 아니라 추천 당시의 근거 스냅샷이 필요하다.
다음 실험 직전에는 네 개의 문을 순서대로 닫는다
한 회차가 끝났다고 바로 추천기를 호출하면 장비 알람과 QC 결과가 늦게 도착하는 경주 조건이 생긴다. 다음 후보 계산 전에는 현재 회차를 불변 스냅샷으로 확정하고, 계산 뒤 실제 실행 직전에는 안전·재고 상태를 다시 확인한다. 권장 순서는 다음과 같다.
- 장비 상태: 이전 작업의 물리 완료, 시료 위치, 교정 유효, 소비재·세척 상태와 예약 해제를 확인한다.
- 품질검사: 원시 파일 존재, ID 일치, 단위·범위·대조군·반복성 규칙을 통과한 측정만 승인한다.
- 불확실성: 모델 입력 범위, 예측 불확실성, 이상치 영향과 중단 기준을 평가해 재측정과 새 후보를 가른다.
- 안전 승인: 금지 조합, 온도·압력·용량 한계, 재고와 폐기 용량, 사람 승인 조건을 최종 후보에 적용한다.
- 원자적 제출: 후보·레시피·모델 결정 ID를 한 묶음으로 예약하고 한 번만 실행되도록 멱등 키를 발급한다.
품질검사와 불확실성은 서로 대체하지 않는다. 센서 포화처럼 측정 자체가 무효이면 모델이 큰 불확실성을 내더라도 학습 입력으로 쓰지 않는다. 반대로 QC를 통과한 정상 측정도 학습 범위의 가장자리라 불확실성이 클 수 있다. 이때는 같은 실험 반복이 정보가치가 큰지, 새로운 후보가 큰지를 결정 규칙으로 비교한다.
NIST Autonomous Formulation Lab은 혼합·유동 셀 측정·AI guidance server를 잇고 수동 격자와 자율 모드를 모두 지원한다고 공개한다. 실제 운영에서도 사람 주도 모드를 남겨 두면 센서나 모델을 점검할 때 같은 장비 경로로 기준 데이터를 만들 수 있다. 자동 복구가 불확실하면 수동 모드로 안전하게 넘기는 것이 루프 실패가 아니라 설계된 복구다.
복구 뒤에도 남는 위험을 새 실험처럼 다룬다
상태 데이터가 완전해도 물리 세계는 되돌릴 수 없다. 반응이 시작된 시료, 한 번 개봉한 시약, 열 이력을 받은 전구체는 데이터베이스 상태를 이전으로 돌린다고 원상복구되지 않는다. 재시도는 같은 명령의 반복이 아니라 새 시료로 새 attempt를 만드는 일일 수 있다. 소프트웨어 롤백과 물리 롤백을 구분해야 한다.
분석 모델의 업데이트도 잔여 위험이다. 중간에 피크 분류기나 전처리 코드를 바꾸면 앞선 결과와 뒤 결과가 같은 척도인지 불분명해진다. 캠페인 중 모델을 고쳐야 한다면 이전 원시자료를 새 버전으로 재분석하고, 결정이 달라지는 회차를 표시한다. 재분석하지 못하면 변경 전후를 서로 다른 캠페인 구간으로 나눈다.
사람 개입은 오류가 아니라 관측 가능한 상태여야 한다. 용기 정렬, 모호한 스펙트럼 판정, 소모품 교체처럼 사람이 한 행동을 별도 이벤트로 남기지 않으면 시스템은 숨은 수작업을 자신의 자율 성능으로 계산한다. 개입 이유와 시간, 변경한 물리 상태, 승인자를 기록해야 무인 운전 확대 여부를 정직하게 판단할 수 있다.
인수시험은 정상 시연보다 고장 주입이 핵심이다
DBTL 시스템은 좋은 시료 하나를 끝까지 보내는 데모만으로 인수할 수 없다. ID 교환, 늦은 파일, 장비 오프라인, 부분 투입, 중복 메시지, 교정 만료, 모델 범위 이탈과 위험 후보를 의도적으로 넣고 어느 문에서 멈추는지 확인한다. 시험마다 물리 시료를 쓰기 어렵다면 장비 시뮬레이터와 기록 재생으로 신호 경로를 먼저 검증한 뒤 저위험 실물 시험으로 이어 간다.
| 인수 시나리오 | 기대 반응 | 주 책임자 | 재개 증거 |
|---|---|---|---|
| 시료 ID 불일치 | Test 격리, Learn 입력 금지 | 데이터·통합 | 물리 위치와 계보 재확인 |
| Build 부분 완료 | 시료 폐기 또는 보류, 자동 재시도 금지 | 장비·공정 | 질량수지와 상태 판정 |
| QC 실패·센서 포화 | 측정 무효, 원인별 재측정 결정 | 계측·과학 | 교정·대조군 통과 |
| 모델 범위 밖 추천 | 후보 제출 차단, 사람 검토 | 모델·과학 | 범위 확장 승인 또는 후보 변경 |
| 안전 제약 위반 | 하드 인터록에서 실행 거부 | 안전·시설 | 제약 변경의 독립 승인 |
| 중복 제출 | 한 attempt만 실행, 나머지 무해 처리 | 오케스트레이션 | 멱등 로그와 재고 일치 |
최종 합격은 모든 장애가 자동으로 복구되는 상태가 아니다. 위험하거나 의미가 불명확한 사건을 정확히 격리하고 사람에게 넘기며, 정상 데이터만으로 다음 결정을 재개하는 상태다. Design–Build–Test–Learn이라는 네 단어보다 이 인수 기록이 시스템의 실제 자율성을 더 잘 설명한다.
중단된 DBTL 루프를 언제 자동 재개할 수 있나
DBTL 루프에서 가장 흔하고 찾기 어려운 실패는 무엇인가요?
장비 정지보다 시료 ID·단위·분석 버전·재시도 상태가 어긋난 채 정상값처럼 Learn에 들어가는 연결 오류가 더 찾기 어렵다. 모든 단계가 성공으로 보이기 때문이다. 공통 불변 실험 ID, 파생 시료·측정 ID, 원시 파일과 결정 버전, QC 승인 이벤트를 함께 추적해야 발견할 수 있다.
장비가 다시 온라인이 되면 중단 지점부터 자동 재개해도 되나요?
물리 상태가 변하지 않았고 명령이 실행되지 않았다는 증거, 시료 위치와 교정 상태, 데이터 수신 여부, 재시도의 멱등성이 모두 확인될 때만 가능하다. 투입·가열·반응이 일부 진행됐거나 상태가 불명확하면 해당 attempt를 격리하고 공정 책임자가 폐기·재시험·사람 개입을 결정해야 한다.
자료 마지막 확인: 2026년 8월 26일