잘 붙는 약이 아니라 엉뚱한 곳에 안 붙는 약을 만드는 법

SpecOpt는 결합력 자체가 아니라 표적과 off-target 사이의 결합 간격을 직접 최적화하는 에이전트 작업으로, 잔기 수준 접촉 차이를 근거로 분자를 고칩니다.

원문 논문 보기
'잘 붙는 약이 아니라 엉뚱한 곳에 안 붙는 약을 만드는 법' 기사 커버 이미지

오늘 다룰 연구는 SpecOpt: Contact-Diff Reasoning for Agentic Molecule Optimization Toward Binding Specificity라는 제목으로 arXiv에 공개된 작업으로, 식별자는 arXiv:2609.21165입니다. 이 연구가 내세우는 주장은 한 문장으로 정리됩니다: 이미 있는 화합물을 조금씩 고치면서 의도된 표적에 대한 결합 선호도를 알려진 off-target들에 대한 결합보다 높이는 방법을 에이전트가 도킹 자세의 잔기 수준 차이에서 찾도록 만들었다는 것입니다. 원문 논문 링크는 제목 아래에 걸어두었습니다.

안녕하세요, 패트릭입니다. 약 이야기를 하면 사람들은 보통 효능부터 떠올리죠. 이 약이 병을 일으키는 단백질에 얼마나 세게 붙느냐가 전부라고 생각하기 쉽습니다. 그런데 실험실에서 오래 일한 분들과 이야기해보면 걱정의 방향이 조금 다릅니다. 약이 원하는 곳에 잘 붙는 것도 중요하지만, 원하지 않는 곳에 붙지 않는 것이 못지않게 중요하다는 것이죠. 원하지 않는 결합이 부작용의 출발점이 되는 경우가 많으니까요. 그렇다면 이미 손에 있는 분자를 조금씩 다듬어서 이런 엇갈림을 줄일 수는 없을까요. 오늘은 그 질문을 정면으로 붙잡은 연구를 함께 읽어보겠습니다.

약이 잘 듣는 것과 엉뚱한 곳에 붙지 않는 것은 다른 문제입니다

신약 이야기를 처음 접하면 결합력이 전부처럼 들립니다. 표적 단백질에 강하게 붙으면 좋은 약이라는 설명이 직관적이니까요. 그런데 몸속에서는 단백질이 하나만 있는 것이 아닙니다. 모양이 비슷한 주머니를 가진 단백질이 여기저기 있고, 작은 분자는 그 틈을 가리지 않고 들어갈 수 있죠. 그래서 결합력만 올리면 원하지 않는 단백질에도 함께 세게 붙는 일이 생깁니다. 효능은 좋아졌는데 부작용도 함께 따라오는 셈입니다.

제가 이 논문에서 가장 흥미롭게 본 부분은 문제를 새로 정의한 대목입니다. 연구진은 처음부터 잘 붙는 분자를 찾는 일을 하지 않습니다. 이미 존재하는 화합물이 출발점이고, 그 골격을 크게 바꾸지 않으면서 표적에 대한 선호도를 off-target들보다 높이는 일을 SpecOpt라고 부릅니다. 구조적 정체성과 약물다운 성질을 유지한다는 단서가 붙는데, 이 단서가 생각보다 중요합니다. 완전히 새로운 분자를 마음대로 그릴 수 있다면야 선택의 폭이 넓겠지만, 현장에서는 합성 가능성과 안전성 때문에 출발 화합물을 놓치기가 어렵기 때문입니다.

표면적으로 보면 단순합니다. 원래 분자에서 조금만 바꾸자는 이야기니까요. 실제로는 그렇지 않습니다. 조금만 바꾼다는 것은 바꿀 수 있는 경우의 수가 적다는 뜻이고, 그 적은 변화로 표적과 off-target 사이의 미묘한 차이를 찔러야 한다는 뜻입니다. 숫자 하나를 올리는 일이 아니라 두 개의 숫자 사이의 간격을 벌리는 일이라고 할 수 있죠. 저는 이 간격이라는 표현이 마음에 들었습니다. 약의 성패가 절대값이 아니라 차이에서 갈리는 장면을 정확히 짚고 있으니까요.

의도된 표적과 off-target에 동시에 도킹하는 분자의 개념도
의도된 표적과 off-target에 동시에 도킹하는 분자의 개념도

이미 있는 분자를 조금만 고친다는 발상이 왜 중요할까요

왜 처음부터 새로 만들지 않느냐는 질문이 자연스럽게 생깁니다. 생성 모델이 분자를 척척 그려내는 시대에, 기존 화합물에 매달리는 일이 오히려 구식으로 보일 수도 있죠. 그런데 실제 개발 과정을 떠올리면 사정이 달라집니다. 새로 그린 분자는 합성 경로를 처음부터 확인해야 하고, 용해도나 대사 안정성 같은 성질을 다시 측정해야 하며, 독성 위험도 다시 평가해야 합니다. 시간과 비용이 눈덩이처럼 불어나는 단계가 뒤에 줄줄이 기다리고 있죠.

반면 이미 검증된 골격을 가진 화합물은 출발선이 다릅니다. 구조를 조금만 바꾸면 원래 가지고 있던 약물다운 성질을 이어받을 가능성이 큽니다. 연구에서 말하는 구조적 정체성 유지와 ADMET 조건이 바로 이 지점을 겨냥합니다. ADMET은 흡수, 분포, 대사, 배설, 독성을 함께 보는 관문으로, 아무리 결합 간격이 좋아져도 이 관문을 넘지 못하면 후보에서 떨어집니다. 분자 유사도 조건도 같은 역할을 합니다. 출발 분자와 너무 멀어지면 사실상 새로운 분자를 만드는 셈이 되므로, 일정한 유사도 안쪽에만 머물도록 묶어둔 것이죠.

저는 여기서 멈칫했습니다. 조건이 많아질수록 최적화가 어려워지는 것이 보통인데, 이 연구는 오히려 조건을 빽빽하게 걸어두었기 때문입니다. 그럼에도 에이전트가 915개라는 적지 않은 분자에서 변화를 만들어냈다는 대목이 궁금해졌습니다. 조건을 걸어두고도 움직일 수 있었다면, 그 움직임의 근거가 어딘가에는 분명히 있다는 뜻이니까요. 그 근거가 바로 도킹 자세의 비교에 있습니다.

그렇다면 에이전트는 도킹 결과를 어떻게 비교할까요

도킹이라는 말을 들으면 많은 분들이 점수부터 떠올립니다. 표적에 대한 점수가 몇 kcal/mol이고 off-target에 대한 점수가 몇이냐는 식이죠. 그런데 점수는 결과일 뿐 이유를 말해주지 않습니다. 왜 이 분자는 표적에 더 잘 맞고, 저 분자는 off-target에도 걸리는지, 점수만으로는 다음 수정 방향이 잘 보이지 않습니다.

이 연구의 에이전트는 점수보다 자세를 먼저 봅니다. 후보 화합물을 의도된 표적과 알려진 off-target들에 각각 도킹한 뒤, 단백질과 원자 사이에 생긴 접촉을 잔기 단위로 읽어냅니다. 어느 잔기와 닿았는지, 그 접촉이 표적에서는 나타나는데 off-target에서는 나타나지 않는지 같은 차이를 모으는 것이죠. 이렇게 모은 접촉 차이가 LLM이 다음 수정을 제안할 때 근거로 들어갑니다. 막연히 결합력을 높여보라는 지시가 아니라, 표적의 특정 잔기 쪽 상호작용은 살리고 off-target 쪽에서만 보이는 접촉은 피하는 방향으로 분자를 고치라는 식의 제안이 가능해집니다.

생각해보면 사람도 비슷하게 배웁니다. 시험 점수만 보고 공부 방향을 정하기는 어렵죠. 어디에서 틀렸는지 오답의 위치를 알아야 다음 공부가 구체적이 됩니다 (이 연구에서 오답 노트에 해당하는 것이 바로 잔기 수준 접촉 비교입니다). 점수는 잘했는지 못했는지를 말해주고, 접촉 차이는 어디를 고쳐야 하는지를 말해줍니다. 저는 이 숫자보다 그 뒤의 구조가 더 중요하다고 봅니다. LLM을 화학 지식 자판기로 쓰는 것이 아니라, 비교라는 작업 흐름 안에 넣었다는 점이 이 설계의 중심에 있기 때문입니다.

잔기 인식 접촉 비교로 결합 자세의 차이를 읽어내는 과정
잔기 인식 접촉 비교로 결합 자세의 차이를 읽어내는 과정

잔기 이름을 지우면 왜 최적화가 멈출까요

여기서 재미있는 질문이 생깁니다. 접촉이 있다는 사실만으로 충분하지 않을까요. 굳이 어느 잔기인지까지 알아야 할까요. 연구진은 이 물음을 작은 대조 실험으로 풀어냅니다. 29개 분자를 따로 떼어내어 잔기 정체성을 지운 채로 최적화를 돌려본 것인데, 접촉이 있다는 표시만 남기고 어떤 잔기인지는 알려주지 않은 조건이었죠.

결과는 꽤 단호했습니다. 잔기 이름이 사라지자 개선이 사라졌습니다. 29개 분자 모두에서 결합 간격이 나아지지 않았는데, 이 대조는 설계의 어디가 실제로 일하고 있는지를 보여줍니다. 단순히 많이 닿으면 좋다는 식의 신호는 방향을 주지 못하고, 어느 잔기와 어떻게 닿았는지 알아야 다음 수정이 구체적이 된다는 것이죠. 닿았다는 표시만으로는 표적과 off-target을 가를 수 없기 때문입니다. 두 단백질 모두 어딘가에는 닿는 법이니까요.

저는 이 대목을 읽으면서 고개를 끄덕였습니다. 에이전트 연구에서는 LLM이 똑똑해서 잘된 것인지, 주어진 신호가 좋아서 잘된 것인지가 자주 헷갈리거든요. 그런데 여기서는 신호를 하나씩 빼보면서 원인을 가려냈습니다. 잔기 정보를 빼면 멈추고, 넣으면 움직인다는 관찰은 LLM의 말솜씨가 아니라 비교 신호의 질이 성능을 만들었다는 뜻에 가깝습니다. 엔지니어 관점에서 보면 다음 실험의 우선순위도 분명해집니다. 모델을 키우기 전에 접촉을 읽는 해상도를 먼저 챙기는 편이 낫다는 것이죠.

후보를 남기는 세 가지 관문은 어떻게 작동할까요

그렇다면 에이전트가 제안한 분자는 어떻게 걸러질까요. 이 연구에서는 세 가지 관문을 모두 통과한 후보만 남깁니다. 첫째는 분자 유사도이고, 둘째는 ADMET이며, 셋째는 표적과 off-target 사이의 도킹 선택성입니다. 하나라도 어긋나면 탈락이라서, 결합 간격만 좋다고 살아남을 수는 없습니다.

이 구조는 언뜻 보수적으로 보입니다. 좋은 결합 간격을 찾았는데 유사도가 조금 모자라서 버려야 한다면 아깝게 느껴질 수도 있죠. 그런데 운영 측면에서 보면 이 보수성이 오히려 현실적입니다. 출발 분자와 너무 멀어진 후보는 사실상 처음부터 검증해야 할 일이 늘어나고, ADMET에서 구멍이 난 후보는 나중에 임상 단계에서 더 큰 비용으로 돌아오기 때문입니다. 밤사이 합성 조건이 바뀌거나 공급망에서 출발 물질이 늦게 도착해도 라인이 멈추지 않으려면, 애초에 손에 잡히는 범위 안에서 움직이는 편이 낫죠. 저는 그래서 이 세 가지 관문을 연구실 점수 이상으로 평가했습니다. 현장의 아침을 지켜주는 장치에 가깝기 때문입니다.

또 하나 눈여겨볼 점은 선택성을 도킹으로 판단한다는 대목입니다. 도킹 점수가 실제 결합을 완벽히 대신하지는 못하지만, 같은 계산 조건 아래에서 표적과 off-target을 나란히 놓고 비교하면 상대적인 방향은 읽을 수 있습니다. 절대값이 아니라 간격을 본다는 문제 정의와도 잘 맞물리죠. 완벽한 측정이 없어도 비교가 가능하도록 설계한 셈인데, 이런 선택은 에이전트를 실제로 돌릴 때 꽤 큰 차이를 만듭니다.

제안과 도킹과 비교와 선별을 반복하는 에이전트 흐름
제안과 도킹과 비교와 선별을 반복하는 에이전트 흐름

숫자를 볼 때 어디부터 의심해야 할까요

이제 본격적으로 숫자를 볼 차례인데, 그 전에 조건을 먼저 짚고 가겠습니다. 이 연구의 평가는 ChEMBL에 쌓인 화합물과 표적 상호작용 데이터를 바탕으로 짜여 있습니다. 의도된 표적은 약물 작용 기전에 대한 정리된 주석에서 가져오고, off-target은 실제로 측정된 활성 값에서 가져오는 방식이죠. 다시 말해, 종이 위에서 상상으로 만든 표적이 아니라 이미 측정된 기록에 뿌리를 둔 조합이라는 뜻입니다.

이런 구성이 반가우면서도 조심스러운 이유는 분명합니다. 실제 측정 기록을 쓰면 허황된 조합이 줄어들지만, 데이터에 없던 새로운 상호작용은 애초에 평가에 들어오지 못하기 때문입니다. 그래서 여기서 나온 성공률은 현실의 한 단면을 비추는 수치에 가깝고, 전체 약물 공간에 대한 보증서처럼 읽으면 곤란합니다. 저는 이 숫자는 그대로 믿기 전에 조건을 봐야 한다고 봅니다. 무엇으로 쟀는지 알아야 숫자의 크기가 해석되니까요.

그렇다면 915개라는 규모는 어떻게 봐야 할까요. 분자 최적화 연구에서 수백 개 단위는 작은 편이 아닙니다. 한두 개의 멋진 사례만 골라 보여주는 방식과 달리, 분포 전체가 어떻게 움직였는지를 물을 수 있는 규모죠. 평균이 좋아졌다는 말과 함께 몇 퍼센트가 좋아졌는지가 나란히 보고된 것도 같은 맥락에서 읽힙니다. 평균만 좋아지고 다수가 나빠졌다면 현장에서는 쓰기 어렵기 때문입니다.

915개 분자에서 무슨 일이 벌어졌을까요

결과부터 말하면 에이전트는 915개 화합물 가운데 84.8퍼센트에서 표적과 off-target 사이의 결합 간격을 넓히는 데 성공했습니다. 열 개 가운데 여덟 개가 넘는 비율이라서, 한두 번 운이 좋았다고 넘기기에는 크기가 큽니다. 출발 분자와의 평균 Tanimoto 유사도는 0.72로 보고되었는데, 골격을 크게 벗어나지 않으면서 간격을 벌렸다는 뜻입니다. 유사도 0.72는 화학자의 눈으로 보면 같은 집안의 분자라는 느낌에 가깝죠. 지붕을 뜯어고친 것이 아니라 창문과 문 위치를 손본 수준이라고 할까요.

평균 결합 간격의 이동도 함께 보면 그림이 더 또렷해집니다. 최적화 전 평균은 마이너스 0.72 kcal/mol였고, 최적화 뒤 평균은 플러스 0.47 kcal/mol로 바뀌었습니다. 마이너스라는 말은 출발 상태에서는 오히려 off-target 쪽에 더 끌리던 분자가 평균적으로 많았다는 뜻이고, 플러스로 넘어갔다는 말은 표적 쪽 선호가 평균적으로 뒤집혔다는 뜻입니다. 물론 평균 뒤에는 분포가 있습니다. 모두 같은 폭으로 좋아진 것이 아니라, 크게 좋아진 분자도 있고 조금만 움직인 분자도 있으며, 약 15퍼센트는 나아지지 않았습니다. 그런데도 평균이 부호를 바꿀 만큼 이동했다는 점은 눈여겨볼 만합니다. 조건을 빽빽하게 걸어둔 채로도 방향이 바뀌었기 때문입니다.

여기서는 조금 조심해서 읽을 필요가 있습니다. 도킹 점수 차이인 kcal/mol 숫자를 실제 약효 차이로 직역하면 안 되기 때문입니다. 도킹은 단백질의 유연성과 물 분자, 세포 안 환경을 다 담아내지 못합니다. 그래서 저는 이 0.72에서 0.47로의 이동을 절대적인 치료 효과로 읽기보다, 에이전트가 간격을 벌리는 방향으로 일관되게 움직였다는 증거로 읽는 편이 맞다고 봅니다. 방향이 일관적이라는 것 자체가 다음 단계 실험을 걸어볼 만한 이유가 되니까요.

915개 분자에서 결합 간격이 이동한 분포 변화
915개 분자에서 결합 간격이 이동한 분포 변화

도킹 점수만으로 약을 말할 수 있을까요

겉보기에 좋아 보이는 결과 앞에서 꼭 짚어야 할 지점이 있습니다. 도킹이 말해주는 것은 실제 몸속 결합이 아니라 계산 모형 안에서의 결합 자세와 점수라는 사실입니다. 단백질은 실제로는 숨 쉬듯 움직이고, 주변에는 물 분자가 가득하며, 약은 단백질 주머니에만 머무르지 않습니다. 도킹 비교가 아무리 정교해도 이 간극은 남습니다. 그래서 이번 결과는 후보를 고르는 눈이 좋아졌다는 이야기이지, 약이 완성되었다는 이야기가 아닙니다.

또 하나, off-target은 알려진 것들만 들어갑니다. 측정된 활성 값을 바탕으로 고른 만큼 근거는 분명하지만, 아직 측정되지 않은 단백질과의 상호작용은 평가 바깥에 있습니다. 현실에서 부작용이 알려지지 않은 곳에서 튀어나오는 경우가 적지 않다는 점을 떠올리면, 이 빈틈은 작지 않습니다. 논문이 보여주지 않은 영역을 논문이 보여준 것만큼 진지하게 봐야 하는 이유가 여기 있습니다.

그럼에도 저는 이 접근이 헛발질이 아니라고 봅니다. 이유를 묻는다면, 실패를 일찍 걸러내는力が 현장에서는 성공만큼 값지기 때문입니다. 도킹 단계에서 off-target 쪽으로 기우는 후보를 미리 쳐내면, 뒤에 따라오는 비싼 합성과 측정 자원을 아낄 수 있죠. 완벽한 예측이 아니어도, 비교를 통한 우선순위 정하기만 잘해도 라인의 속도가 달라집니다. 다만 그 우선순위를 실제 결합이나 세포 실험으로 확인하는 단계는 생략할 수 없습니다. 계산이 문을 좁혀주고, 실험이 마지막 도장을 찍는 구조라고 할 수 있죠.

계산 예측을 실험 검증으로 잇는 검증 과정
계산 예측을 실험 검증으로 잇는 검증 과정

실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다

저희가 새로운 AI 구조를 볼 때도 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. 이 연구를 그런 눈으로 보면 질문이 꼬리를 뭅니다. 분자마다 표적 하나와 off-target 여러 개에 도킹을 돌려야 한다면, 계산 비용은 얼마나 들까요. 잔기 수준 접촉을 매번 읽고 LLM에게 넘기는 과정은 어디에서 병목이 생길까요.

도킹은 한 번만 돌리면 끝나는 일이 아닙니다. 에이전트가 수정을 제안할 때마다 다시 도킹하고 다시 비교해야 합니다. 분자 수가 915개로 불어나면 이 반복 비용이 만만치 않아집니다. off-target이 많아질수록 한 걸음마다 도킹해야 할 조합이 늘어나니까요. 그래서 실제 배치에서는 어디까지를 한 번의 탐색으로 묶을지, 접촉 비교를 얼마나 자주 할지 같은 운영 결정이 성능만큼 중요해집니다. 좋은 신호를 매번 새로 계산하느라 라인이 멈춘다면, 좋은 신호도 소용이 없기 때문입니다.

좋은데, 이걸 어디에 올릴까요. 실험실 서버에서 돌리는 것과 신약 탐색 라인에 붙이는 것은 다른 문제입니다. 탐색 라인에서는 실패한 후보의 기록도 자산이 됩니다. 어떤 잔기 조합에서 무엇이 막혔는지를 쌓아두면 다음 탐색이 빨라지거든요. 이런 관점에서 보면 접촉 차이라는 중간 산출물은 점수보다 재사용 가치가 큽니다. 점수는 그 후보에 대한 결론이지만, 접촉 차이는 다음 후보를 위한 재료이기 때문입니다. 저는 앞으로 이런 중간 기록을 어떻게 저장하고 다시 쓰는지가 에이전트 설계의 갈림길이 되리라고 봅니다.

그렇다면 사람의 역할은 어디에 남을까요

마지막으로 남는 질문은 사람의 자리입니다. 에이전트가 도킹하고 비교하고 분자를 고치는 일을 척척 해낸다면, 화학자는 무엇을 해야 할까요. 답은 생각보다 분명합니다. 무엇을 최적화할지, 그리고 어떤 결과를 좋은 결과로 정의할지는 여전히 사람의 몫이기 때문입니다. 표적을 무엇으로 삼고, 어떤 off-target을 위험하다고 보고, 유사도와 ADMET의 선을 어디에 그을지는 계산이 대신 정해줄 수 없습니다.

이 연구가 던진 문제는 그래서 더 길게 갑니다. 결합 간격을 벌리는 기술이 좋아질수록, 간격을 벌려야 할 단백질 조합을 고르는 안목이 중요해집니다. 어떤 부작용을 피해야 하는지, 어떤 환자군에서 그 부작용이 치명적인지 같은 판단은 데이터 테이블 바깥에서 들어옵니다. 에이전트는 주어진 비교를 잘 수행하지만, 무엇을 비교할지는 사람이 정합니다. 그렇다면 이 흐름은 어디에서 끊을 수 있을까요. 계산이 아무리 빨라져도, 질문을 세우는 일만큼은 사람의 손에 남을 것 같다는 것이 오늘 글을 마치며 제가 갖게 된 생각입니다. 그 이야기는 다음 연구에서 다시 이어가겠습니다.

참고 자료

  1. SpecOpt: Contact-Diff Reasoning for Agentic Molecule Optimization Toward Binding Specificity · arxiv.org

    리뷰 원문