원시 실험 데이터에서 신약 개발용 참조 세트까지
pKa는 분자가 양성자를 얻거나 잃는 pH입니다. 약물이 어떻게 녹고, 막을 통과하고, 표적에 결합하는지를 좌우하기 때문에 신약 개발 연구자들이 가장 먼저 측정하는 물성 중 하나입니다.
측정 자체는 기기에게 일상적인 일입니다. 하지만 원시 기록을 신뢰할 수 있는 참조값으로 바꾸는 것은 전문가의 일입니다. 숙련된 분석가가 전극 판독값을 보정하고, pH 범위 전체에 걸쳐 UV 스펙트럼을 피팅하고, 메탄올–물 측정값을 순수한 물 기준으로 외삽하고, 어떤 런을 신뢰할지 판단합니다. 런마다 이 과정을 반복하려면 많은 시간과 주의가 필요합니다.
그래서 이 분석을 Eigent의 Gemini 4 Carbon에 맡겼습니다. 브리프 하나와 원시 기기 파일 97개(계산 결과는 모두 지우고, 인터넷도 힌트도 없이)로 약물 유사 화합물 35종의 완전한 pKa 참조 세트가 돌아왔습니다. 개별 측정값의 99.7%가 정답이었으며, 이는 지금까지 저희가 이 작업에서 테스트한 모델 중 최고 점수입니다.
워크플로 한눈에 보기
브리프 하나로 원시 파일에서 완성된 참조 세트까지 이어졌습니다. 단계마다 저희가 확인할 수 있는 결과물이 남았습니다.
| 단계 | 한 일 | 만들어진 결과 |
|---|---|---|
| 해독 | 문서화되지 않은 기기 파일 형식과 전극 보정 방식을 파악함 | 모든 판독값의 pH와 보정 pH |
| 피팅 | pH 범위 전체의 UV 스펙트럼을 여러 파장에서 동시에 피팅함 | 적정 291개 각각의 pKa |
| 외삽 | 메탄올–물 결과를 순수한 물 기준으로 외삽함 | 런 97개 각각의 수용액 pKa |
| 판단 | 침전, 잘못된 스펙트럼, 물리적으로 불가능한 기울기 같은 근거로 런을 채택하거나 제외함 | 신뢰할 수 있는 런만으로 구한 화합물 평균 |
| 전달 | 답과 이를 생성한 스크립트를 작성함 | 참조 세트와 Python 분석 스크립트 하나 |
| 확인 | 답을 채점하고 실행이 오프라인으로 유지되었는지 확인함 | 모든 수준의 결과와 감사 추적 |
이제 Gemini 4 Carbon이 어떻게 해냈는지 살펴보겠습니다. 부족했던 부분과 그 이유도 함께 다룹니다.
전달한 결과물
- 완전한 pKa 참조 세트 - 모든 적정의 pKa와 메탄올 함량, 모든 런의 수용액 pKa, 모든 화합물의 평균, 표준편차, 채택된 런 목록.
- 코드로 된 분석 - 원시 파일에서 전체 답을 재구축하는 Python 스크립트 하나. 다시 실행하면 같은 답이 바이트 단위까지 똑같이 나옵니다.
- 글로 정리된 방법 요약 - 판독값을 어떻게 보정했는지, 스펙트럼을 어떻게 피팅했는지, 런을 어떻게 외삽했는지, 어떤 런을 왜 제외했는지.
설정
- Eigent 1.0.7의 단일 세션에서 Single Agent 모드로, 모델은 Gemini 4 Carbon을 사용했습니다.
- 로컬 폴더 하나에는 자동 적정기의 원시 기기 파일, 화합물과 그 구조 목록, 메탄올–물 혼합물의 물리 상수, 그리고 일반적인 과학 라이브러리와 RDKit이 설치된 Python 환경만 들어 있었습니다.
- 오프라인, 그리고 단독 작업. 브리프는 인터넷 사용을 배제했고, 실행 중에는 아무도 질문에 답하지 않았습니다. 어떤 런을 신뢰할지, 어떤 설정을 따를지 같은 모든 판단은 에이전트 스스로 내렸습니다.
- 원시 신호만. 기기 소프트웨어가 계산한 수치는 모두 지워져 있어, 파일 어디에도 답이 적혀 있지 않았습니다.
- 방법에 대한 힌트 없음. 브리프는 측정 내용과 보고할 항목을 설명했을 뿐, 분석 방법은 설명하지 않았습니다. 어떤 물리화학을 적용할지 고르는 것도 작업의 일부였습니다.
Gemini 4 Carbon의 작업 방식
Gemini 4 Carbon은 사람의 입력 없이 단일 에이전트로 터미널에서 작업을 진행했습니다. 실행은 다섯 단계로 나뉘었습니다.
-
파악. 화합물 목록과 보정 상수를 읽고, 모든 분석 유형에 걸쳐 기기의 XML을 파싱한 뒤 첫 번째 상태 업데이트를 올렸습니다: "now analyzing instrument recordings, medium composition, and electrode/UV equations."
-
기기 리버스 엔지니어링. 적정기가 전극의 밀리볼트 값을 pH로 변환하는 방식과, 4-파라미터 전극 보정이 이를 실제 수소 이온 농도에 대응시키는 방식을 알아냈습니다. 조성 상수 하나의 바탕이 되는 식
a = 1 + b·(0.2 + 0.025/V)를 분주 부피로부터 도출해 파일 값과 3 × 10⁻⁵ 이내로 일치시켰습니다. 그다음 97개 파일 전체에서 분석가의 설정을 조사했습니다: pH 및 파장 범위, 탁도 한계, 전이 개수. -
분석 구축과 테스트. 다파장 스펙트럼 피팅을 구축해 화합물 하나로 시험한 다음, 적정 291개 전체에 적용했습니다. 희석 보정은 단일 화학종 플래토와 직접 비교해 확인했고, RDKit으로 각 화합물을 산, 염기, 양쪽성 물질로 분류했습니다. 또한 분석가가 설정을 수동으로 재정의한 스윕을 모두 찾아내 그 선택을 따랐습니다.
-
실험실 과학자처럼 하는 품질 관리. 두 번째 상태 업데이트: "now examining edge cases, turbid sweeps, multiprotic zwitterions, and outlier runs." 잡아낸 것:
- C21_4 - 화합물이 물에서 침전되었습니다. 이 런의 스펙트럼은 다른 런과의 일치도가 0.20에 불과해, 화합물 평균에서 제외했습니다.
- C27_1 - 흡광도가 낮고 스펙트럼이 잘못된 바이알. 두 UV 밴드를 따로 피팅해 발견했습니다.
- C29_2 - 물리적으로 불가능한 외삽 기울기(같은 화합물의 다른 런은 +98과 +114인데 +200)여서 이 런을 제외했습니다.
- 500 nm에서의 음의 흡광도 - 기준 스펙트럼에 들어간 기포가 원인임을 추적해 냈습니다.
일부 화합물에 런이 추가로 있는 이유를 이해하기 위해 실험실의 실험 연대기와 2022년 1~2월의 재측정 기록도 살펴보았습니다. 그리고 독립적인 근거로 자신의 방법을 검증했습니다. 물에서도 직접 측정된 15개 화합물에서 가중 외삽과 비가중 외삽을 비교한 것입니다. 가중 방식의 오차가 더 낮았기 때문에(0.0604 대 0.0623) 그 방식을 유지했습니다.
-
전달. 451줄짜리 분석 스크립트 하나를 작성해 실행하고, 출력의 스키마, 타입, 값 범위를 검증했습니다.
모두 합쳐 모델 호출 76회, 터미널 명령 85회였으며, 실패한 호출도 사람의 입력도 없었습니다.
결과
폴더에는 두 가지가 생겼습니다. 적정 291개, 런 97개, 화합물 35개로 이루어진 참조 세트와, 이를 만든 스크립트입니다. Gemini 4 Carbon의 최종 메시지는 방법(매질 조성과 전극 보정, 다파장 UV 피팅, 수용액 외삽, 런 선별)을 요약하고, 제외한 모든 런과 그 이유를 나열했습니다.
채점 결과
답은 에이전트 폴더 밖에서 참조 세트와 비교해 채점했습니다. 채점은 엄격합니다. 모든 적정, 런, 화합물이 각각 별도의 합격/불합격 검사이며, 적정은 pKa가 참조 피팅의 통계적 불확도 안에 들고 메탄올 함량도 맞아야만 통과합니다. 런은 세 적정이 모두 통과해야, 화합물은 사용한 모든 런이 통과해야 통과하므로, 오류 하나가 연쇄적으로 번질 수 있습니다.
| 수준 | 정답 |
|---|---|
| 적정 | 290 / 291 |
| 런 | 91 / 97 |
| 화합물 | 32 / 35 |
즉, 개별 측정값의 99.7%가 정답이며, 각각이 참조 피팅의 통계적 허용 오차 안에 있습니다.
실행 자체도 Dev mode에서 도구 호출을 살펴보며 감사했습니다. Eigent 1.0.7에서는 Single Agent 세션에 웹 검색, 브라우저, 페치 도구가 항상 포함되어 있으므로 이 확인이 중요합니다. 무언가를 찾아본 실행은 인정되지 않습니다.
| 확인 항목 | 확인 결과 |
|---|---|
| 외부 데이터를 사용하지 않음 | 웹 검색, 브라우저, 페치 호출이 없었습니다. 터미널 명령 85개 중 어느 것도 네트워크, 패키지 설치 프로그램, 작업 폴더 밖의 경로에 접근하지 않았습니다. |
| 입력을 건드리지 않음 | 입력 데이터는 원본 파일과 바이트 단위까지 동일합니다. |
| 답은 자체 분석의 결과임 | 스크립트를 다시 실행하면 답이 바이트 단위까지 똑같이 재현됩니다. |
부족했던 부분과 그 이유
Gemini 4 Carbon이 모든 검사를 통과한 것은 아닙니다. 놓친 항목은 모두 두 가지 방법 선택으로 설명됩니다:
- 외삽에 어떻게 가중치를 줄 것인가. 메탄올–물 외삽에 측정 불확도로 가중치를 주었는데, 이는 참조의 관례와 다른 선택이었습니다. 이 때문에 런 5개와 화합물 3개를 놓쳤습니다. Gemini 4 Carbon은 근거를 바탕으로 이 방식을 선택했습니다. 물에서 측정된 화합물에 대해 가중 피팅의 오차가 더 낮았고, 브리프에는 방법이 지정되어 있지 않았습니다.
- 어떤 pH 스케일을 쓸 것인가. 분석가가 기록한 pH 범위를 참조와 다른 pH 스케일에 적용했습니다. 이 때문에 적정 1개와 런 1개를 놓쳤습니다.
어느 쪽도 분석 자체의 결함은 아닙니다. 둘 다 해당 분야 전문가라면 알아볼 관례로, 실험실이라면 보통 지침에 적어 두는 자체 규칙에 해당합니다.
또한 이것은 단 한 번의 실행이었습니다. 이렇게 어려운 작업에서는 점수가 실행마다 달라질 수 있습니다.
배운 점
- 원시 데이터가 에이전트를 정직하게 만듭니다. 벤더가 계산한 수치를 지우자, 모든 값은 신호에서 나와야 했고 에이전트는 작업 과정을 보여줘야 했습니다.
- 방법이 아니라 측정을 설명하세요. Gemini 4 Carbon은 물리화학을 스스로 선택했고, 각 선택을 데이터에서 얻은 근거로 정당화했습니다.
- 코드가 곧 결과물입니다. 답을 재구축하는 스크립트는 과학자가 다시 실행하고, 읽고, 검토할 수 있습니다.
- 놓친 항목은 실수가 아니라 관례의 차이입니다. 부족했던 부분에서도 Gemini 4 Carbon은 타당한 선택을 했으며, 실험실의 자체 규칙이 있었다면 정리되었을 문제였습니다.
원시 기기 파일이 분석 대기열에서 기다릴 필요는 없습니다. Eigent의 Gemini 4 Carbon에 맡기고, 결과만이 아니라 추론 과정도 검토하세요.
크레딧: Gemini 4 Carbon과 Eigent로 제작. 음악: "Dance With You" Everet Almond.



