스킬캠퍼스

오늘 끝나면

실험 프로토콜

  • 실험 프로토콜의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 실험이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

실험을 코드로 쓰다 — 재현 가능한 절차 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

Autonomous Lab · 05

실험
프로토콜

실험을 손기술로 외우지 않고 코드로 적는다.
적힌 코드는 재현되고 공유되며, 로봇이 그대로 실행한다.
프로토콜이 실험의 소스코드다.

P.01Autonomous Lab · 05

실험을 코드로 적는다

예전 실험은 사람 머릿속과 손끝에 있었다. “적당히 잘 섞어”, “살짝 데워” 같은 말로 전해졌다.

자율연구실은 그 모호함을 못 견딘다. 로봇은 눈치가 없다.
그래서 실험을 코드로 또박또박 적는다. 무엇을 얼마나, 몇 도에서 얼마 동안 다루는지 한 줄씩 박아 넣는다.

이 코드를 프로토콜이라 부른다.
대표 도구가 Opentrons 같은 로봇의 파이썬 API다.
aspirate(100, A) 한 줄이 A에서 100µL를 흡입하라는 한 동작이다.

손기술을 명확한 명령으로 한 줄씩
손기술을 프로토콜로
“시약 적당히 넣어”
aspirate(100, reagent_A)
“잘 섞어”
mix(3, 80)
“살짝 데워, 한참”
incubate(plate, 37, hours=1)
“색 좀 봐”
read_absorbance(plate)
모호한 말이 해석 여지 없는 명령으로 바뀐다
P.02Autonomous Lab · 05

프로토콜 = 실험의 소스코드

오른쪽 프로토콜을 직접 실행해 본다. 코드 한 줄을 STEP 할 때마다 로봇이 그 줄을 따라 한다.

순서는 단순하다. 팁을 장착하고, 시약 100µL를 흡입하고, B2 웰에 분주하고, 37°C에서 1시간 배양한 뒤 흡광도를 측정하고 결과를 기록한다.
이 여섯 줄이 실험 하나를 통째로 정의한다.

핵심은 재현이다. 끝까지 돌린 뒤 다시 실행하면, 같은 코드라서 같은 동작이 그대로 반복된다.
사람의 컨디션이나 기분, 손떨림이 끼어들 틈이 없다. 코드가 곧 실험의 소스코드이기 때문이다.

흡입, 분주, 배양, 측정을 코드 한 줄씩
프로토콜 실행기 · 로봇이 코드를 따라간다0/6
reagent_Aplate · B2ODreader대기, 실행 ▶
protocol.py, 실험의 소스코드
1tip = pick_up_tip()
2aspirate(100, reagent_A)
3dispense(100, plate['B2'])
4incubate(plate, 37, hours=1)
5od = read_absorbance(plate)
6return od # 결과 기록
실행을 누르면 로봇이 코드를 한 줄씩 따라간다.
P.03Autonomous Lab · 05

재현 가능한 절차

논문 실험이 재현되지 않는 이유는 대개 절차가 글로 흐릿하게 적혀 있어서다.
“실온에서 잠시”가 사람마다 다르게 읽힌다.

프로토콜은 그 틈을 없앤다. 숫자와 명령으로만 적혀서 해석의 여지가 없다.
A 연구실이 돌린 코드를 B 연구실이 그대로 받아 돌리면 같은 실험이 된다.

그래서 프로토콜은 그 자체로 완전한 기록이다.
파일 하나만 있으면 누구의 로봇이든, 몇 달 뒤든 같은 절차를 똑같이 재생한다.

같은 코드면 언제 돌려도 같은 실험
같은 코드면 같은 결과
protocol.pyaspirate(100) · incubate(37,1h) · read()
↓ 그대로 실행 ↓
A 연구실
오늘
0.42
OD
B 연구실
다른 나라
0.42
OD
같은 로봇
6개월 뒤
0.42
OD

해석 여지가 없어 누가·언제 돌려도 같은 실험

P.04Autonomous Lab · 05

공유하고, 로봇이 실행한다

프로토콜이 코드라서, 코드를 다루는 도구를 그대로 쓴다.

깃으로 버전을 남기고, 바뀐 줄을 비교하고, 통째로 공유한다.
“3번째 줄 농도를 100에서 150µL로 바꿨다” 같은 변경 이력이 또렷이 남는다.

받은 쪽은 사람이 아니라 로봇이 실행한다.
리퀴드 핸들러와 로봇팔이 코드를 읽어 손 대신 움직이고, 사람은 무엇을 시험할지만 정한다.
여기서 자율연구실의 클로즈드 루프가 시작된다. 결과가 다음 프로토콜을 자동으로 부른다.

코드를 깃으로 공유하면 다른 로봇이 실행
코드처럼 다루기
작성protocol.py
사람이 실험을 코드로 적는다
버전git commit
바뀐 줄을 기록·비교
공유git push
파일 하나로 절차 전달
실행robot.run()
로봇이 코드를 그대로 수행
P.05Autonomous Lab · 05

모호함을 코드로 바꾸면

정리하면, 실험을 코드로 적는 순간 세 가지가 한꺼번에 따라온다.

재현이 된다. 같은 코드면 같은 실험이다.
공유가 된다. 파일 하나로 절차 전체가 전달된다.
자동 실행이 된다. 로봇이 코드를 그대로 수행한다.

모호한 손기술이 명확한 명령으로 바뀌면, 실험은 더 이상 사람에게 묶이지 않는다.
이것이 자율연구실이 사람 없이 밤새 돌 수 있는 토대다.

Q. 실험 프로토콜을 코드로 적으면 좋은 점은? (재현·공유·자동 실행 · 비용 절감 · 논문이 길어짐 · 손기술이 늘어남)정답은 재현 · 공유 · 자동 실행이다.
같은 코드는 같은 실험을 그대로 재현하고, 파일 하나로 절차를 통째로 공유하며, 로봇이 그 코드를 직접 실행한다.
모호한 손기술이 명확한 명령으로 바뀌어, 실험이 사람의 컨디션과 해석에서 풀려난다.
손기술의 말과 프로토콜의 코드
손기술과 프로토콜
예전 실험프로토콜이 주는 것
손기술 (몸으로 익힌다)코드명령으로 적힌 절차
말로 전수공유파일 하나면 끝
사람마다 다른 손재현같은 코드 = 같은 실험
사람이 직접 수행자동 실행로봇이 코드를 따라함

3줄 요약

  1. 1실험을 코드로 쓰다 — 재현 가능한 절차
  2. 2실험 프로토콜은 자동화 기초 → LLM 과학자 → 로봇 연동 → 자동 발견 → 운영·미래 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

실험

실험을 코드로 쓰다 — 재현 가능한 절차

클로즈드 루프

실험 결과가 다음 실험을 자동으로 정하는 닫힌 고리

능동학습

정보가 가장 큰 다음 실험을 골라 효율을 높이는 방법