1장. 생명과학의 작업대가 바뀐다

한 화면에 열린 생명과학

대학에 들어와 처음 의생명과학 세미나에 앉은 학생을 떠올려봅니다. 책상 위에는 전공 교재 한 권만 놓여 있지 않습니다. 노트북 화면에는 강의자료실에서 내려받은 슬라이드, 실습용 엑셀 파일, 조별 과제 안내문이 나란히 열려 있습니다. 슬라이드 한쪽에는 낯선 유전자와 단백질 이름이 나오고, 다른 쪽에는 세포 사진과 그래프가 있습니다. 실습 파일을 열어 보니 표의 열 이름에는 샘플, 조건, 측정값, 평균 같은 말이 섞여 있습니다. 누군가가 공유한 예제 분석 파일에는 Python notebook, 곧 코드와 설명을 함께 남기는 분석 노트가 있고, 다른 탭에는 ChatGPT나 Claude 같은 대화창이 떠 있습니다. 아직 학생은 세포생물학도, 통계도, 코딩도 충분히 배우지 않았습니다. 그런데 현대 생명과학의 작업대는 이미 이렇게 생겼습니다. 교재, 강의자료, 데이터, 코드, 검색, 그림, 그리고 AI가 한 화면 안에 함께 올라옵니다.

이 장면은 공학 전공 학생에게만 해당하지 않습니다. 암세포가 약물에 어떻게 반응하는지 읽는 학생도, 면역세포가 감염 뒤에 어떤 유전자를 더 많이 읽는지 궁금한 학생도, 뇌 발달 논문에서 단일세포 RNA-seq 그림을 만난 학생도 비슷한 화면 앞에 앉습니다. 예전에는 생물학을 배운다는 말이 현미경, 해부도, 실험 프로토콜, 교과서 문장을 먼저 떠올리게 했습니다. 그 모든 것은 여전히 중요합니다. 다만 지금은 그 위에 다른 층이 얹혔습니다. 관찰은 파일이 되고, 파일은 표가 되며, 표는 코드와 모델을 지나 그림과 주장으로 바뀝니다. 생물학은 사라진 것이 아니라, 더 많은 매개를 거쳐 우리에게 돌아옵니다.

그래서 이 책의 첫 질문은 “코딩을 배워야 하는가”보다 조금 넓어야 합니다. 물론 코딩은 중요합니다. 그러나 더 앞에 놓이는 질문은 “생명과학의 작업대가 왜 이렇게 바뀌었는가”입니다. 학생이 앞으로 마주할 과학은 종이 교과서에 정리된 사실의 목록만이 아닙니다. 강의자료와 참고문헌에서 만난 문장, 대규모 실험에서 나온 숫자, 분석 코드가 만든 그림, 모델이 제안한 설명, 그리고 그 모든 것을 사람이 다시 확인하는 과정이 한데 얽힌 과학입니다. AI와 에이전트는 바로 이 얽힌 작업대 위로 들어옵니다.

생물학은 데이터로 돌아온다

생명과학에서 빅데이터라는 말은 단순히 파일이 크다는 뜻만은 아닙니다. 파일이 큰 것도 사실입니다. 유전체를 읽으면 염기서열 파일이 생기고, RNA를 읽으면 발현량 표가 생기며, 현미경으로 조직을 찍으면 이미지가 쌓입니다. 단일세포 RNA-seq은 세포 하나하나에서 어떤 유전자가 얼마나 읽혔는지 보려고 합니다. 그러면 행에는 세포가, 열에는 유전자가 놓인 거대한 표가 생깁니다. 세포가 수만 개이고 유전자가 수만 개라면, 그 표는 사람의 눈으로 한 칸씩 읽을 수 있는 물건이 아닙니다. 우리는 그 표를 줄이고, 묶고, 색칠하고, 비교하고, 다시 생물학적 의미로 번역해야 합니다.

용어 메모

단일세포 RNA-seq: 세포를 한 덩어리로 평균 내지 않고, 세포 하나하나에서 RNA 정보를 읽는 방법입니다.

유전자 발현: 유전자의 정보가 RNA로 읽혀 세포 안에서 실제로 쓰이는 정도를 말합니다.

빅데이터: 여기서는 단순히 큰 파일이 아니라, 여러 샘플과 조건과 측정값이 연결되어 사람 혼자 눈으로 읽기 어려운 자료를 뜻합니다.

이때 데이터는 생물학 바깥에서 온 장식이 아닙니다. 데이터는 생물학이 자기 모습을 드러내는 방식이 되었습니다. 병리 슬라이드의 이미지, 환자군의 유전 변이 표, 약물 처리 뒤의 세포 반응, 단백질 구조 예측, 공공 데이터베이스에 쌓인 논문과 실험 기록은 모두 질문의 일부가 됩니다. “이 유전자는 어떤 기능을 하는가”라는 질문은 이제 자주 “어떤 세포에서, 어떤 조건에서, 어떤 자료를 근거로 그렇게 말할 수 있는가”라는 질문을 데리고 옵니다. 생물학의 언어가 분자와 세포의 언어에서 데이터와 모델의 언어로 확장되는 것입니다.

이 변화는 학생에게 조금 불친절하게 느껴질 수 있습니다. 생물학을 좋아해서 들어왔는데 왜 표와 코드와 통계를 봐야 하는지 묻게 됩니다. 그러나 조금만 학년이 올라가도 이런 풍경을 만나게 됩니다. 논문 속 figure 하나를 제대로 읽으려 해도, 그 그림이 어떤 자료에서 나왔는지 알아야 합니다. 처리군과 대조군이 무엇인지, 표본 수가 충분한지, 배치 효과가 있을 수 있는지, 색이 다른 점들이 정말 다른 세포 유형인지, 아니면 분석 방법이 그렇게 나누었는지 물어야 합니다. 데이터는 답을 주기도 하지만, 동시에 새로운 의심을 요구합니다. 숫자가 많아졌다고 해서 판단이 자동으로 정확해지지는 않습니다.

여기에 AI 모델이 들어오면 풍경이 한 번 더 바뀝니다. 언어 모델은 영어 문단이나 수업 자료를 요약하고, 낯선 용어를 풀어주고, 분석 코드의 초안을 만들 수 있습니다. 생물학 자료를 학습한 모델은 유전자, 단백질, 세포 상태, 약물 반응처럼 생물학 자료 자체의 패턴을 배우려 합니다. 어떤 모델은 DNA 서열을 읽고 조절 요소를 예측하려 하고, 어떤 모델은 많은 단일세포 자료에서 세포 상태의 관계를 배우려 하며, 어떤 모델은 아직 해보지 않은 유전자 개입 뒤의 변화를 짐작하려 합니다. 이 시도들은 모두 완성된 답이 아니라 진행 중인 연구입니다. 하지만 방향은 분명합니다. 생명과학은 더 이상 실험실의 손작업과 컴퓨터 앞의 계산 작업으로 깔끔하게 나뉘지 않습니다. 두 일은 계속 서로를 부릅니다.

에이전트가 들어오는 자리

ChatGPT를 처음 쓰면 우리는 질문과 답변의 모양을 먼저 떠올립니다. “이 개념을 설명해줘.” “이 문장을 번역해줘.” “이 긴 영어 문단을 요약해줘.” 이것만으로도 학생에게는 꽤 큰 변화입니다. 그런데 에이전트라는 말이 붙으면 장면은 더 움직입니다. 에이전트는 단지 한 번 답하는 도구가 아니라, 사용자의 목표를 받아 여러 단계를 이어서 수행하려는 시스템입니다. 파일을 찾고, 코드를 쓰고, 실행하고, 오류를 보고, 다시 고치고, 결과를 정리하려 합니다. 카파시가 말하듯, 지금의 에이전트는 아직 완성된 직원이라기보다 계속 감독해야 하는 초기 형태의 작업자에 가깝습니다. 그래서 그는 “에이전트의 해”보다 “에이전트의 10년”이라는 표현이 더 어울린다고 말합니다 (링크).

용어 메모

LLM: large language model의 줄임말입니다. 많은 텍스트를 학습해 다음에 올 말을 예측하고, 그 과정을 바탕으로 대화와 글쓰기, 요약, 코드 작성 등을 수행하는 모델입니다.

에이전트(agent): 사용자의 목표를 받아 여러 단계를 이어서 수행하려는 AI 시스템입니다. 이 책에서는 사람의 감독 아래 일하는 작업자로 이해하면 충분합니다.

의생명과학의 작업대에서 에이전트는 여러 자리에 들어올 수 있습니다. 한 에이전트는 수업 주제와 관련된 자료를 찾아 목록으로 묶을 수 있습니다. 다른 에이전트는 공개 데이터셋의 설명 파일을 읽고 샘플 이름과 조건을 정리할 수 있습니다. 또 다른 에이전트는 작은 표를 불러와 빠진 값이 있는지 확인하고, 처리군과 대조군의 평균을 비교하는 코드 초안을 만들 수 있습니다. 이 일들은 각각 작아 보이지만, 실제 공부와 연구에서는 많은 시간을 잡아먹습니다. 에이전트는 그런 반복 작업의 속도를 높이고, 학생이 조금 더 빨리 질문의 본체에 닿게 해줄 수 있습니다.

용어 메모

처리군: 약물, 조건, 자극처럼 어떤 처리를 받은 대상입니다.

대조군: 처리군과 비교하기 위해 두는 기준 대상입니다.

빠진 값(결측값): 표 안에서 측정되지 않았거나 기록되지 않은 빈칸입니다. 분석 전에 어떻게 다룰지 확인해야 합니다.

하지만 속도가 빨라진다는 말은 위험도 빨라진다는 뜻입니다. 에이전트가 논문 제목을 잘못 읽으면 잘못된 문헌 목록이 아주 그럴듯하게 정리됩니다. 데이터 파일의 열 이름을 착각하면 그래프는 예쁘지만 비교가 틀릴 수 있습니다. 특정 유전자의 기능을 모델이 매끄럽게 설명해도, 그 설명이 다른 유전자와 섞였을 수 있습니다. 생명과 질병을 다루는 공부에서는 이런 오류가 작지 않습니다. 그래서 에이전트는 혼자 달리게 두는 존재가 아니라, 사람이 목표와 경계와 확인 기준을 정해주어야 하는 존재입니다. 카파시가 코드 에이전트와 AutoResearch를 이야기할 때도, 여러 작업을 더 큰 단위로 맡기는 능력은 사람이 지시와 결과를 계속 검토하는 구조 안에서 의미를 갖습니다 (링크, 링크).

생물학에서는 이 감독이 특히 중요합니다. 소프트웨어에서는 코드를 고치고 곧바로 테스트를 돌려 성공과 실패를 비교할 수 있는 경우가 많습니다. 반면 생물학 실험은 느리고 비싸며, 실패의 원인도 자주 흐립니다. 세포 상태가 나빴는지, 시약이 달랐는지, 샘플 준비가 흔들렸는지, 분석 파이프라인이 잘못되었는지 한 번에 알기 어렵습니다. 그러므로 생물학에서 AI는 “실험을 대신하는 기계”라기보다, 질문을 정리하고 자료를 찾고 분석을 반복하며 다음 확인을 준비하는 동료에 더 가깝습니다. 젖은 실험의 판단까지 자동으로 사라지는 것은 아닙니다.

그래서 의도를 표현해야 한다

이제 “코딩이 아니라 의도를 표현한다”는 말이 제자리를 찾습니다. 이 말은 여전히 초반에 들어올 만큼 중요합니다. 다만 생물학의 작업대가 어떻게 바뀌었는지를 먼저 본 뒤에야, 그 말의 무게가 제대로 보입니다. 카파시는 최근 인터뷰에서 “code”라는 동사 자체가 예전만큼 정확하지 않을 수 있다고 말합니다. 사람이 하루 종일 코드를 직접 치는 대신, 자신이 원하는 바를 에이전트에게 설명하고, 에이전트가 만든 결과를 검토하고, 다시 지시하는 일이 커지고 있기 때문입니다. 그는 이 변화를 의도 구현(manifesting)이라는 말로도 표현합니다 (링크).

의도 구현은 소원을 말하면 결과가 생긴다는 뜻이 아닙니다. 오히려 반대입니다. 머릿속의 흐릿한 바람을 에이전트가 실행할 수 있을 만큼 분명한 조건과 기준으로 바깥에 드러내는 일입니다. “이 표를 분석해줘”는 출발점일 수 있지만, 그 자체로는 너무 넓습니다. “원본 파일은 수정하지 말고, group 열을 기준으로 처리군과 대조군을 나눈 뒤, 먼저 결측값과 표본 수를 확인하고, 평균과 표준편차를 표로 정리한 다음 막대그래프를 그려줘. 마지막에는 이 비교를 해석할 때 조심해야 할 점을 적어줘.” 이 문장은 길어졌지만 단순히 친절해진 것이 아닙니다. 자료, 경계, 절차, 산출물, 검토 기준이 들어갔습니다. 생물학 실험 프로토콜이 “세포를 키운다”로 끝나지 않고 배지, 온도, 시간, 농도, 세척 조건을 적는 것과 비슷합니다.

처음 배우는 학생이 이런 문장을 한 번에 쓸 필요는 없습니다. 좋은 지시는 대화 속에서 만들어집니다. 처음에는 “이 표가 무엇을 담고 있는지 설명해줘”라고 물을 수 있습니다. 다음에는 “처리군과 대조군을 나눌 수 있는 열이 무엇인지 찾아줘”라고 물을 수 있습니다. 다시 “이 비교를 하려면 어떤 정보를 더 확인해야 하지?”라고 물을 수 있습니다. 질문을 좁히는 동안 학생은 에이전트에게 일을 시키는 법만 배우는 것이 아닙니다. 자기 질문이 어디에서 흐릿한지 알아차립니다. 그 흐릿함을 조금씩 말로 바꾸는 과정이 의도 표현입니다.

여기서 코딩은 사라지지 않습니다. 오히려 위치가 바뀝니다. Python의 for 문을 완벽하게 외우지 못해도 반복 작업을 부탁할 수는 있습니다. 그러나 반복이 무엇인지 모르면 에이전트가 만든 코드를 읽을 수 없습니다. groupby 문법을 손으로 모두 기억하지 못해도 그룹별 평균을 구하라고 말할 수는 있습니다. 하지만 그룹별 평균이 무엇을 비교하는지 모르면 결과를 해석할 수 없습니다. 기초 문법은 이제 혼자 모든 것을 만들기 위한 도구이면서, AI가 만든 것을 읽고 판단하기 위한 언어가 됩니다. 학생은 프로그래머가 되기 위해서만 코딩을 배우는 것이 아니라, AI와 함께 일할 때 자신의 판단을 잃지 않기 위해 코딩을 배웁니다.

빠른 손보다 느린 판단

AI 시대의 공부는 빠릅니다. 모르는 개념을 여러 수준으로 풀어달라고 할 수 있고, 영어 문단이나 강의자료의 어려운 문장을 한국어로 바꿔볼 수 있으며, 작은 데이터 표로 그림을 그려볼 수 있습니다. 이 속도는 학생에게 좋은 기회를 줍니다. 문법의 벽에서 너무 오래 멈추지 않고, 더 일찍 자기 질문으로 들어갈 수 있기 때문입니다. 그러나 빠른 도구는 학생의 생각을 대신 자라게 해주지 않습니다. 질문이 흐릿하면 에이전트는 흐릿한 질문을 빠르게 실행합니다. 비교 기준이 잘못되면 잘못된 비교가 더 빨리 예쁘게 나옵니다. 출처를 확인하지 않으면 틀린 설명도 매끄러운 문장으로 남습니다.

그래서 첫 장에서 우리가 붙잡아야 할 태도는 단순한 낙관도, 단순한 경계도 아닙니다. AI는 의생명과학 학생에게 실제로 큰 도움을 줄 것입니다. 어려운 자료 읽기의 첫 문턱을 낮추고, 데이터 정리의 반복을 줄이며, 코드 초안을 만들어주고, 낯선 개념을 여러 번 다른 말로 설명해줄 수 있습니다. 동시에 AI는 잘못된 확신을 빠르게 만들어낼 수 있습니다. 모델이 만든 문장이 유창할수록, 학생은 자신이 이해했다고 착각하기 쉽습니다. 에이전트가 여러 단계를 수행할수록, 중간에 무엇을 잘못했는지 놓치기 쉽습니다.

생명과학에서 책임은 조금 더 무겁습니다. 우리가 다루는 것은 때로 세포의 상태이고, 환자의 질병이며, 약물 반응이고, 유전자의 기능입니다. 틀린 요약 하나가 당장 사람을 해치지는 않더라도, 틀린 이해가 쌓이면 잘못된 질문과 잘못된 실험으로 이어질 수 있습니다. 그러므로 학생은 AI를 금지된 지름길로 볼 필요도 없고, 모든 것을 맡겨도 되는 자동 연구자로 볼 필요도 없습니다. 조금 더 가까운 표현은 감독받는 작업자입니다. 일을 나누어 맡길 수 있지만, 목적과 기준과 책임은 사람이 붙잡아야 합니다.

다음 장에서 우리는 이 작업자를 조금 더 자세히 보게 됩니다. 에이전트가 답변기와 어떻게 다른지, 여러 단계를 이어가는 일이 왜 힘이 되면서도 위험한지, 생물학 연구에서는 어떤 루프가 빨리 돌고 어떤 루프가 느리게 닫히는지 살펴볼 것입니다. 그전에 첫 장에서 분명히 해두고 싶은 점이 있습니다. AI는 생명과학 바깥에서 들어온 유행어가 아닙니다. 이미 강의자료, 데이터, 코드, 그림, 질문이 모이는 작업대 안으로 들어왔습니다. 의생명과학을 처음 배우는 학생은 그 작업대 앞에서 문법만 배우는 사람이 아니라, 무엇을 묻고 무엇을 맡기며 무엇을 확인할지 배우는 사람이 되어야 합니다. 그때 코딩은 낯선 문법 암기에서 조금씩 벗어나, 생명현상을 읽고 자기 의도를 실행 가능한 형태로 바꾸는 공부가 됩니다.