내가 맡긴 그 모델이 아니다 — 어제 검증한 동작이 오늘 달라질 때
똑같은 문장을 두 번 보냈다
똑같은 문장을 두 번 보냈다. 두 번 다 똑같은 답이 돌아온 비율은 22.1%였다.
한 연구진이 상용 API 다섯 곳의 모델 여덟 개로 통제 시행 4,104회를 돌렸다. 조건은 제공자 문서가 "이렇게 맞추면 고정된다"고 적어 둔 그대로다. 언어모델에는 다음 낱말을 고를 때 얼마나 과감하게 굴지를 정하는 손잡이가 있는데, 이것을 온도(temperature)라고 한다. 온도를 0으로 내리면 모델은 매번 가장 그럴듯한 낱말만 집는다. 여기에 난수 씨앗값까지 같은 것으로 못 박았다. 문서대로면 답은 매번 같아야 한다.
같았던 건 다섯 번에 한 번꼴이다. 같은 모델의 무게값을 내려받아 자기 컴퓨터에서 돌렸을 때는 95.6%가 같았다. 네 배가 넘는 격차다. 여러 차례 주고받는 대화나 문서를 찾아 붙여 주는 방식으로 가도 이 흔들림은 그대로 남아서, 시험한 모델 하나는 50번을 돌리는 동안 완전히 같은 답이 한 번도 안 나왔다 (DOI: 10.21203/rs.3.rs-9096283/v1, 프리프린트). 앞의 22.1%는 모델 여덟 개를 묶은 값, 이 0회는 그중 한 모델의 값이다. 초록은 둘을 견주지 않는다. 같은 입력을 같은 설정으로 두 번 넣었는데 답이 달라지는 성질, 이것을 비결정성이라고 한다.
이상한 건 그다음이다. 50번이 전부 달랐던 그 답들은 뜻으로 보면 거의 같았다 — 의미가 얼마나 비슷한지 재는 점수가 0.97을 넘었다. 쓰는 사람 눈에는 아무 일도 없다. 어제 확인한 답과 오늘 온 답이 낱말은 다른데 읽으면 같은 소리라, 흔들린다는 신호가 화면에 뜨지 않는다. 같은 연구진이 원인을 좁혀 갔더니, 범인으로 지목된 것은 "구름 위에서 돌린다"는 사실 자체가 아니라 그 위에 얹힌 운영 설비의 복잡함이었다. 다만 이 실험도 정식 논문이 아니라 프리프린트고, 이 글이 모은 연구 가운데 같은 규모로 이 격차를 다시 잰 것은 없었다.
이 시리즈는 언어모델에게 맡긴 일이 어디서 어긋나는지를 따라왔다. 남이 써 둔 문장이 내 지시로 둔갑하는 자리, 코딩 속도가 오를 때 줄어드는 것, 검색을 붙여도 남는 지어내기, 긴 작업의 어느 걸음에서 무너지는가, 채점을 맡겼을 때 생기는 일. 이 편이 다루는 것은 어긋남의 종류가 아니라 맡김 자체의 전제다. 무언가를 맡긴다는 말에는 조용한 전제가 있다. 내가 시험해 보고 고른 그 상대가 계속 그 상대라는 것.
왜 두 번이 다른가 — 덧셈 순서와 남의 요청
큰 수에 아주 작은 수를 먼저 더하면 작은 쪽이 반올림에 먹혀 사라지고, 작은 수들끼리 먼저 모아 더하면 살아남는다. 컴퓨터가 소수점 딸린 수를 더할 때는 순서가 결과를 바꾼다. 수학에서는 같은 값이지만 기계에서는 아니다. 언어모델은 낱말 하나를 고를 때마다 이런 덧셈을 수억 번 한다. 덧셈 순서가 바뀌면 후보 두 개의 점수가 소수점 아래 어딘가에서 뒤집힐 수 있고, 한 번 뒤집히면 그 뒤 문장이 통째로 갈라진다.
덧셈 순서는 왜 바뀌는가. 서버는 요청을 한 건씩 처리하지 않고 그 순간 도착한 것들을 묶어 계산하는데, 묶음 크기가 달라지면 쪼개고 합치는 순서도 달라진다. 결국 내가 받는 답이 같이 들어온 남의 요청이 그때 몇 건이었느냐에 조금씩 매달린다. 한 연구는 이 두 가지 — 소수점 덧셈이 순서를 탄다는 성질과, 묶음 크기가 그 순서를 바꾼다는 사실 — 를 묶어 비결정성의 시스템 쪽 뿌리로 지목했다. 묶는 것을 끄면 답은 고정되지만 처리량이 크게 떨어지고, 묶음 크기와 무관하게 계산하도록 밑바닥을 새로 짜면 그 대가가 항상 붙는다. 그래서 저자들은 빠른 길로 답을 뽑고 고정된 순서로 검산해 어긋난 것만 되돌리자고 제안한다 (arXiv:2601.17768, 프리프린트).
여기까진 모델이 그대로여도 생기는 흔들림이다. 그런데 모델을 실어 나르는 서버 소프트웨어도 계속 고쳐지고, 최적화가 빠르게 들어가는 만큼 품질이 조용히 상하면서도 오류 표시는 하나도 안 뜨는 고장이 섞여 들 수 있다. 이런 고장을 자동 진단해 보려 한 연구는 실제 서빙 소프트웨어에서 걷어 온 사례로 시험대를 만들고 원인을 첫 시도에 맞힌 비율 80%, 다섯 번 안에 맞힌 비율 88%를 보고했다 — 다만 초록은 비교 대상을 "기존 최고 수준 시스템"으로만 적고 그쪽 수치는 밝히지 않는다 (arXiv:2606.04594, 프리프린트).
그리고 모델 자체가 바뀐다
2023년 3월에 잰 값과 6월에 잰 값이 달랐다. 석 달 사이에 같은 이름으로 서비스되던 모델을 같은 문제로 다시 재 본 연구가 있다. 소수인지 가려내는 문제에서 GPT-4는 3월에 84%, 6월에 51%를 맞혔다. 같은 이름, 같은 값, 같은 문제였다.
이 연구를 쓰면서 두 가지를 같이 적어야 한다. 첫째, 결과는 양쪽으로 갔다. GPT-3.5는 바로 그 소수 문제에서 6월이 3월보다 나았다. 여러 단계를 건너뛰며 답을 찾는 문제에서는 GPT-4가 6월에 더 잘했고 GPT-3.5는 떨어졌다. 민감한 질문과 의견 조사 질문에는 GPT-4가 6월에 덜 답하려 했고, 코드 생성에서는 둘 다 6월에 서식 실수가 늘었다. 저자들은 공통 요인으로 GPT-4가 지시를 따르려는 정도가 줄어든 것을 지목했다. 둘째, 여기 나오는 모델은 2023년 세대다. 이 글의 논지가 "세대는 바뀐다"인 이상 이 근거에도 같은 잣대가 적용된다 — 그 시점의 그 판에 대한 관측이지 지금 서비스되는 무엇에 대한 진단이 아니다. 덧붙여 이 글은 모델 이름을 어느 판인지가 논지에 걸리는 자리에서만 초록이 적은 그대로 옮기고, 성능을 견주는 대목에서는 이름을 빼고 "어느 API"로만 적는다. 주제가 제품 비교가 아니라 같은 이름이 시간에 따라 달라지는 일이기 때문이다. 저자들의 결론도 특정 제품에 대한 판정이 아니라, "같은" 서비스의 행동이 짧은 기간에 크게 달라질 수 있으니 계속 지켜보라는 쪽이었다 (arXiv:2307.09009, 프리프린트).
언어모델이 처음 만든 문제도 아니다. 언어모델 이전부터 상용 예측 API는 말없이 바뀌고 있었다. 2020년과 2021년에 걸쳐 대형 업체들의 상용 API를 같은 데이터로 두 번 재 본 연구는 36건의 조합 가운데 12건에서 뚜렷한 변화를 확인했다. 그중에는 예측이 시간이 지나며 유의하게 나빠진 데이터도 있었다. 변화를 감지하려면 API를 반복해 불러야 하는데 그 호출이 전부 돈이라, 저자들은 무작위 표집보다 최대 90% 적은 표본으로 같은 추정에 닿는 방법을 만들어야 했다 (arXiv:2107.14203, 프리프린트).
바뀔 수 있다면 이름표를 정밀하게 붙이면 될 것 같고, 실제로 그런 게 있다. 모델 스냅샷은 제품 이름 뒤에 날짜까지 붙여, 어느 날 굳은 어느 판인지를 못 박은 이름표다. "그 회사의 그 모델"이 아니라 "그 모델의 그해 8월 6일 판"이라고 적는 것이다. 문제는 이게 실제로 얼마나 쓰이는가다.
논문에 적힌 그 모델은 이미 없다
한 연구진이 2024년 12월 31일까지 나온 종양학 언어모델 논문 179편을 걸러 48편을 정리했더니, 네 편 중 한 편꼴로 그 연구의 핵심이던 바로 그 모델이 논문이 나온 시점에 이미 폐기됐거나 더 새로운 판으로 대체돼 있었다. 투고에서 공개까지 걸린 기간은 중앙값 3.7개월(사분위 범위 2.5~5.9개월)로 학술 출판치고는 짧은 편인데도 그랬다. 다만 이 조사는 정식 논문이 아니라 학회 발표 초록이다 — 프리프린트보다도 얇은 근거이고, 이 글이 모은 연구 가운데 이 집계를 대신할 다른 전수 조사는 없었다.
같은 조사의 다른 숫자들이 이 25%를 설명한다. 모델 계열은 거의 전부(97.9%)가 적었지만 날짜까지 박힌 판을 적은 것은 27%뿐이었다. 온도 같은 설정값을 밝힌 것은 22.9%였고, 그중 45.4%는 온도를 0보다 크게 뒀다 — 답이 매번 달라지는 쪽으로 손잡이를 열어 둔 채 잰 것이다. 원문 코드 공개는 프로그래밍 언어를 썼다는 논문 중 18.7%, 35.4%는 아예 채팅 화면에서 손으로 물어본 결과였다. 저자들의 점검표는 이렇다 — 날짜 박힌 판을 명시할 것, 설정값을 그 판에 묶을 것, 채팅 화면 대신 API를 쓸 것, 온도를 0으로 둘 것, 여러 번 돌려 변동을 볼 것, 곧 폐기될 모델을 대상으로 삼을 때 주의할 것 (DOI: 10.1158/1557-3265.aimachine-b021, 학회 발표 초록).
같은 절차를 그대로 다시 밟았을 때 같은 결과가 나오는 성질, 이것을 재현성이라고 한다. 위 숫자들이 말하는 것은 재현성이 낮다는 게 아니라 그보다 앞선 문제다. 재현을 시도할 대상 자체가 사라져 있다. 절차를 꼼꼼히 적어도 그 절차가 부르던 상대가 없으면 다시 밟을 수 없다.
이 문제는 조사 대상이 의학이라서 생기는 게 아니다. 코드 고치기 시험대에서 보고 숫자가 안 맞는 이유를 파고든 연구는, 모델 열두 개로 문헌의 35개 결과를 다시 만들어 보려 했으나 성공한 것이 12개였다. 원인은 화려하지 않다 — 기본 모델과 지시 학습을 거친 판을 혼동한 것, 프롬프트 서식이나 생성 길이를 다르게 준 것, 4비트로 줄여 얹은 것, 그리고 가장 그럴듯한 낱말만 집는 대신 확률에 따라 뽑게 두면 편차가 커진다는 것 (DOI: 10.3390/software4030017). 그리고 모델이 바뀌면 모델만 바뀌는 게 아니다. 그 모델에 맞춰 다듬어 둔 지시문도 같이 낡는다.
프롬프트도 같이 낡는다
프롬프트 기법 다섯 가지를 모델 여섯 개로 다시 재 본 연구가 있다. 같은 계열의 앞 판과 뒤 판을 짝지어 세 쌍을 만들고, 파이썬 함수 218개로 코드를 19,620번 생성시켜 돌아가는지로 채점했다. 결과는 한 방향이 아니었다. 새 GPT 판에서는 예시를 붙이거나 단계를 밟아 생각하게 하는 구조적 지시의 이득이 줄거나 마이너스가 됐고, 저자들은 그 발판이 모델 안으로 흡수된 것으로 해석했다. 반면 Qwen 계열은 예시 붙이기와 대조 예시에서 계속 상당한 이득을 봤고, Mistral 계열은 한 기법은 이득이 유지되고 나머지 두 기법은 줄었다. 계열마다 달랐다는 이 한정이 이 연구의 결론이다 — 프롬프트 전략은 계열과 세대에 맞춰 다시 맞춰야지 그대로 옮겨 쓸 수 없다 (arXiv:2608.24641, 프리프린트).
부호가 아예 뒤집힌 사례도 있다. 규칙을 촘촘히 박는 프롬프트 방식을 만든 연구진이 그것을 같은 회사의 세 세대에 시험했다. 초등 수학 문제 1,317개에서 중간 세대 모델은 그 방식이 표준적인 단계별 사고보다 나았다(97% 대 93%). 그런데 가장 새 세대에서는 뒤집혔다 — 같은 방식이 94.00%, 단계별 사고가 96.36%였다. 저자들은 이것을 도움이 방해로 바뀌는 전환이라고 불렀다. 어설픈 상식 판단을 막아 주던 제약이, 더 나은 모델에서는 지나치게 문자 그대로 굴게 만드는 족쇄가 된다는 것이다. 이 결과는 자기들이 만든 방식이 새 세대에서 진다는 보고라 스스로에게 불리한 쪽이다 (arXiv:2510.22251, 프리프린트).
기법을 통째로 바꾸지 않아도 된다. 뜻을 그대로 둔 채 서식만 바꿔도 흔들린다. 몇 가지 예시를 붙여 물어보는 방식에서 구분 기호나 줄바꿈 같은 표기만 바꿔 가며 잰 연구는, 2023년 세대의 한 공개 모델에서 정확도가 최대 76점포인트까지 벌어지는 것을 확인했다. 이 민감함은 모델을 키우거나 예시를 더 붙이거나 지시 학습을 시켜도 남았다. 여기서 가장 중요한 대목은 따로 있다 — 어떤 서식이 잘 먹히는지가 모델끼리 약하게만 겹쳤다. 즉 A 모델에서 고른 최적 서식이 B 모델에서도 최적이라는 보장이 없다. 저자들은 서식 하나를 임의로 고정해 놓고 모델을 비교하는 관행의 타당성을 문제 삼는다 (arXiv:2310.11324, 프리프린트).
여기서 성질 하나가 드러난다. 기법은 모델에 붙어 있지 문제에 붙어 있지 않다. 내가 튜닝한 것은 "이 과제를 푸는 법"이 아니라 "이 판의 이 모델을 이 과제로 끌고 가는 법"이다. 상대가 바뀌면 그 노력의 일부는 부채가 된다.
평균은 그대로인데 개별 건이 뒤집힌다
새 판이 나오면 보통 총점이 오른다. 그래서 갈아타는 것이고 대개 옳은 판단이다. 문제는 총점이 오르는 것과 내가 쓰던 그 건이 계속 되는 것이 다른 명제라는 데 있다.
새 버전의 전체 점수는 올랐는데 옛 버전이 맞히던 개별 건은 틀리게 되는 일, 이것을 회귀라고 한다. 이걸 재려면 총점이 아니라 문항 단위로 짝지어야 한다. 옛 판이 맞혔는데 새 판이 틀린 문항이 몇 개인가. 자연어 처리 시험대 여러 과제에 이 자를 대 본 연구는 이런 뒤집힘이 과제 전반에 퍼져 있음을 보였고 (arXiv:2105.03048, 프리프린트), 문장 구조를 통째로 뽑는 과제로 옮겨 간 후속 연구도 같은 그림을 봤다 (arXiv:2202.02976, 프리프린트).
언어모델 시대에도 그대로다. 밑에 깔린 기본 모델이 갱신되면 그 위에 얹은 과제별 부품이 학습 절차를 하나도 안 바꿨는데도 전에 맞히던 것을 틀리기 시작한다. 이 현상을 정리한 연구는 이것이 단순한 성능 문제가 아니라 사용자가 그려 둔 "이 모델은 이건 되고 저건 안 된다"는 지도를 흔드는 문제라고 짚는다. 저자들은 호환 부품을 따로 학습시켜 뒤집힘을 최대 40%까지 줄였다는데, 초록은 줄이기 전의 비율을 밝히지 않는다 (arXiv:2407.09435, 프리프린트).
왜 눈에 안 띄는가. 총점이 가려 주기 때문이다. 언어모델 바깥의 사례가 이걸 깨끗하게 보여 준다. 설비 고장 예측처럼 결정이 곧 조치로 이어지는 시스템에서, 모델 종류도 학습 데이터도 설정값도 그대로 두고 입력을 정리하는 방식만 정보량이 같은 다른 방식으로 바꿔 봤다. 최종 결정이 바뀐 비율이 데이터에 따라 0.2% 이하에서 30%가 넘는 데까지 벌어졌다. 그중에는 예측 정확도가 거의 그대로인 채로 결정만 뒤집힌 경우가 포함돼 있었다. 저자들은 이것을 별도 지표로 관리하자고 제안한다 (DOI: 10.36227/techrxiv.177220377.73247298/v1, 프리프린트).
새 판으로 갈아타면 실패가 줄어들 것 같지만 실패가 옮겨 가기도 한다. 같은 계열에서 학습량·크기·지시 학습 여부만 다른 모델들을 늘어놓고 확신이 떨어질 때 무엇을 하는지 본 연구는 일관된 순서를 봤다. 이 연구가 잰 축은 판 교체가 아니라 그 셋이고, 판이 바뀔 때 이 축들이 함께 움직인다는 전제 위에서만 판 교체에 걸린다. 덜 다듬어진 모델은 같은 말을 반복하고, 조금 나아지면 뜻이 무너진 문장을 뱉고, 가장 나아지면 그럴듯하게 지어낸다. 무작위로 뽑는 방식은 반복 같은 티 나는 증상을 줄이지만 알아채기 어려운 지어내기를 늘린다 (arXiv:2407.06071, 프리프린트). 나아진 자리와 덜 보이는 쪽으로 옮겨 간 자리를 같은 눈금으로 재기는 어렵다.
재 보면 어긋난다
재난 현장에서 환자를 분류하는 절차를 2023년 세대의 상용 챗봇에 시켜 보려고, 재난의학 전문의 다섯 명이 프롬프트 아홉 개를 만들어 모의 환자 사례 391건과 조합해 각각 열 번씩 물었다. 총 35,190회. 그중 99.7%는 형식에 맞는 답을 내놨다. 문제는 그 안의 변동이었다.
전체 변동을 쪼개 보니 같은 프롬프트를 그대로 반복해 생긴 몫이 14%, 프롬프트를 바꿔 생긴 몫은 4.1%였다. 전문의들이 서로 다르게 쓴 아홉 개 지시문 사이의 차이보다 같은 지시문을 두 번 보낸 차이가 더 컸다는 뜻이다. 정확도는 전체 63.9%, 프롬프트에 따라 46.7%에서 71.8%까지 벌어졌고, 실제보다 급하게 분류한 게 32.9%, 덜 급하게 분류한 게 3.1%였다. 저자들의 결론은 이 용도에는 아직 부족하다는 것, 그리고 이런 도구는 임상에 들이기 전에 변동 분해 기법으로 엄밀히 평가받아야 한다는 것이었다 (DOI: 10.2196/preprints.55648, 프리프린트).
사용자 눈에 안 보인다는 성질은 여기서도 반복된다. 음식 사진 열세 장을 상용 시각 API 네 곳에 각각 500번 넘게, 같은 지시문으로, 온도를 0.01까지 내리고 넣어 탄수화물 양을 추정시킨 실험이 있다. 총 26,904회. 같은 사진 안에서의 변동 폭 중앙값은 API에 따라 2.4%에서 11.0%까지 갈렸고, 인슐린 용량으로는 0.9단위에서 4.7단위 사이의 불확실성이 된다. 기준값이 확실한 사진 다섯 장에서는 한 API가 2단위를 넘는 과다 투여로 이어질 답을 한 번도 내지 않은 반면 다른 API들은 12%에서 37%까지 그런 답을 냈다. 저자들이 지목한 두 위험은 계통적으로 높게 부르는 편향과 사진 안에서의 무작위 흔들림인데, 결론에 붙은 말이 둘 다 최종 사용자에게는 보이지 않는다였다. 여러 번 물어 모으기, 불확실성 고지, 값을 쓰기 전 사용자 확인을 권한다 (DOI: 10.2139/ssrn.6577780, 프리프린트. 여기 적힌 모델 이름과 판은 그 시점에 서비스되던 것들이다).
흔들림이 있으면 변화도 못 본다. CT 영상에서 병변의 최대 지름을 재는 과제를 언어모델 세 개와 영상의학과 전문의들에게 시킨 연구가 있다. 사람은 일주일 뒤 다시 잰 것과의 자기 일치가 0.98이었고, 모델은 일주일 간격으로 두 번씩 물었더니 0.78, 0.47, 0.25로 갈렸다. 주목할 건 낮은 숫자가 아니라 그 숫자의 정체다. 답이 어긋났을 때 그것이 원래 매번 흔들리는 것인지 그사이 모델이 바뀐 것인지 이 설계로는 구분할 수 없다. 이 연구의 결론은 아직 사람을 대체할 수준이 아니라는 것이었고, 동시에 한 모델이 보인 준수한 일치와 재현성은 영상 해석 능력의 빠른 진전을 보여 준다는 말이 붙어 있다 (DOI: 10.1007/s11604-025-01884-5).
규제 문서에서 수치를 뽑아 표로 옮기는, 창의성이 필요 없는 작업은 어떨까. 항체 의약품 50종의 면역원성 수치를 뽑는 작업을 세 방식으로 시도한 연구가 있다. 검색을 붙이거나 PDF를 통째로 읽히는 방식은 다른 약의 수치를 이 약 자리에 붙이는 오류와 지어내기 때문에 쓸 수 없었고, 문서를 정돈된 요약본으로 먼저 바꿔 두는 방식은 그 오류를 잡고 핵심 수치를 정확히 뽑아냈다. 그런데 설정값을 고정하고 완전히 같은 구조의 입력을 넣었는데도, 날마다 표의 모양이 조금씩 달라지고 맥락 정보가 이따금 통째로 빠졌다. 저자들의 결론은 이 방식이 초기 자료 수집을 크게 앞당기지만 재현이 보장되지 않으므로 꼼꼼한 검증을 붙여야 한다는 것이었다 (DOI: 10.70534/qm-2026-0003).
그런데 늘 흔들리는 건 아니다
성찰 에세이 51편(의대생이 실제로 쓴 15편과 연구용으로 지어낸 36편)을 여섯 단계 채점표로 매기는 작업에서, 한 연구진이 프롬프트·모델 조합 29가지를 돌렸다. 페르소나를 주고 안 주고, 예시를 붙이고 안 붙이고, 단계별로 생각하게 하고 안 하고, 온도를 바꾸고, 모델 네 종을 갈아 끼웠다. 사람 채점자와의 일치는 29개 조건 중 28개에서 높게 나왔고, 같은 조건 안에서 다시 돌렸을 때의 일치도 29개 중 28개에서 높게 나왔다. 예상과 달리 단계별 사고, 온도, 페르소나를 바꾼 것은 기준 프롬프트와 정확도에서 유의한 차이를 내지 않았다. 다만 같은 초록은 예시를 붙인 조건이 더 정확했고 채점 기준 명세 단계에 따라 정확도가 달라졌다고 보고한다 (DOI: 10.64898/2026.03.20.26348918, 프리프린트).
세 모델과 세 버전을 나란히 놓고 유방암 종양위원회 모의 사례에 답하게 한 연구도 다섯 영역에서 모델 간 차이가 유의하지 않았다고 보고한다. 다만 사례 다섯 건에 평가 90건으로 규모가 작고 채점자끼리의 일치도 중간에서 양호에 머물렀다. 영어 응답이 터키어 응답보다 높은 점수를 받았는데, 초록은 이 차이에 검정 결과를 붙이지 않는다. 초록이 유의하다고 적은 것은 터키어 가독성이 모델에 따라 달랐다는 것뿐이다(p=0.015) (DOI: 10.2139/ssrn.7151327, 프리프린트).
그러니 이 편의 주장은 "모델은 매번 다르다"가 아니다. 어떤 과제는 크게 흔들리고 어떤 과제는 거의 안 흔들린다. 문제는 어느 쪽인지 재 봐야만 안다는 것이고, 더 나쁜 것은 어떻게 재느냐가 답을 바꾼다는 것이다.
가상의 환자 페르소나에게 증상 시나리오를 주고 다음 행동을 고르게 한 연구가 이 함정을 보여 준다. 프롬프트 두 벌을 같은 묶음 안에서 나란히 돌린 예비 실험에서는 짝 40건이 전부 일치했다 — 어긋남이 하나도 없었다. 그런데 짝 24건을 따로 떼어 돌린 별도 감사에서는 어긋난 비율이 반복마다 0%에서 45.8%까지 요동쳤다. 저자들의 해석은 짝지어 한꺼번에 돌리는 설계가 프롬프트 민감도를 심하게 과소평가할 수 있다는 것이다. 뒤이은 통제 실험에서 온도를 0으로 내리면 네 조건 중 셋에서 반복 간 안정성이 올랐지만, 프롬프트를 바꿨을 때의 어긋남은 두 설정 모두에서 높게 남았다 (DOI: 10.32388/be0zbc.3, 사전공개본 — 공개 심사 플랫폼 게재).
그리고 하나 더. 재현성은 정확성이 아니다. 치과 방사선 사진 100장을 골밀도 지표로 분류하는 과제를 상용 생성 AI 하나와 치과의사 여덟 명에게 시킨 연구가 있다. AI는 2주 이상 간격을 두고 다시 물었을 때 자기 자신과 거의 완벽하게 일치했고(κ=0.987) 속도는 여섯 배쯤 빨랐다. 그런데 치과의사들과의 일치는 κ 0.2 미만, 초록의 표현으로 "근소한 일치 이하"였고 정상과 중증을 맞바꾼 경우가 10%를 넘었다. 같은 기간 치과의사들은 두 번째 회차에서 서로 간 일치가 좋아지는 학습 효과를 보였다. 저자들은 AI를 표준화된 피드백 도구로 두고 확진은 사람이 하는 혼합형을 권한다 (DOI: 10.20944/preprints202605.0011.v1, 프리프린트). 흔들리지 않는다는 건 옳다는 뜻이 아니다. 고정된 채로 틀려 있을 수 있다.
고정할 수 있는 것
무엇을 붙들 수 있나. 세 층이다.
첫 층은 이름표를 못 박는 일이다. 버전 고정은 "최신"을 쓰지 않고 날짜가 박힌 특정 판을 지목해 그것만 쓰겠다고 계약에 못 박는 일이다. 앞서 본 점검표의 첫 항목이다. 다만 이 손잡이가 사는 것은 시간이지 영구가 아니다. 앞의 25% 가운데 버전 고정을 무력화하는 쪽은 폐기된 경우뿐이다 — 더 새로운 판이 나왔을 뿐이라면 못 박아 둔 판은 살아 있다. 초록이 둘을 합쳐 보고하므로 이 한계의 실제 크기는 25%보다 작다. 시간을 사지 영구를 사지 않는다.
둘째 층이 더 멀리 간다. 흔들리는 부분을 모델 밖으로 밀어낸다. 임상시험 무작위 배정을 언어모델 기반 대화 서비스 네 곳에 시킨 벤치마크가 이 대비를 깨끗하게 보여 준다. 씨앗값이 박힌 파이썬 코드를 주고 그대로 실행하게 한 1,200회는 완전 일치 재현율이 100%였다. 같은 조사자들이 코드도 씨앗 지정도 없이 말로만 시킨 320회는, 배정의 무결성과 형식과 완료율이 모두 100%였지만 완전 일치 재현율은 0%였다. 저자들은 이 결과를 좁게 해석해야 한다고 못 박는다 — 대화형 도구로 재현성을 얻으려면 실행 가능한 코드와 고정된 씨앗과 기록과 사람의 검증이 다 있어야 하며, 이런 도구가 검증된 배정 시스템을 대체해선 안 된다 (DOI: 10.3390/a19070551).
같은 발상의 약한 판이 출력의 모양을 강제하는 것이다. 육종 종양위원회 시뮬레이션에서 답을 스물한 개 결정 코드가 박힌 틀에 채워 넣게 하고 온도를 0으로 뒀더니, 사례 51건을 세 번씩 돌렸을 때 결정 코드의 93.9%가 세 번 다 같았다. 완전히 같은 사례는 33.3%, 항목별로는 88.9~98.0%였다. 구조를 지어낸 경우는 154회 실행 내내 없었다. 다만 초록은 틀을 씌우기 전 단계의 재현율을 밝히지 않는다 — 온도 0만으로 나왔을 값과 구분되지 않는다. 여기서 저자들이 붙인 해석이 중요하다 — 가장 안 굳은 항목(74.5%)은 임상적으로 서로 바꿔 써도 되는 선택지들이 있는 자리였다. 흔들림이 전부 오류인 것도 아니다 (DOI: 10.21203/rs.3.rs-10035573/v1, 프리프린트, 단일 기관 예비 연구). 법률 문서를 다루는 한 설계는 이 방침을 원칙으로 세워, 불확실성을 의도 해석과 최종 서술로만 몰아넣고 계층·시점·인과 조회는 결정론적 연산으로 처리한다. 다만 저자들 스스로 이것은 실증 벤치마크가 아니라 구조 명세라고 적는다 (arXiv:2510.06002, 프리프린트).
셋째 층은 내 손에 없다. 하위 호환은 새 버전이 옛 버전에서 되던 일을 계속 되게 유지하는 성질이다. 이걸 확보하는 기법은 이미 한 갈래의 계보를 이룬다 — 옛 판과 새 판의 무게값 섞기 (arXiv:2301.10546, 프리프린트), 새 특징이 옛 특징과 바로 비교되게 학습시켜 재계산을 없애기 (arXiv:2003.11942, 프리프린트), 만드는 팀이 판을 올려도 쓰는 팀이 재학습하지 않게 변환 붙이기 (arXiv:2206.03040, 프리프린트). 최근에는 예측이 아니라 설명이 갱신 뒤에 바뀌는 것까지 억제 대상이다 (arXiv:2608.08674, 프리프린트). 문제는 이 기법들이 전부 무게값과 학습 과정에 손을 댄다는 것이다. 즉 파는 쪽이 쥔 손잡이다. 닫힌 API를 쓰는 사람은 이 기법들 가운데 어느 것도 스스로 적용할 수 없고, 하위 호환을 요구할 수만 있다.
고정할 수 없는 것, 그리고 그다음
그러면 검증은 어떻게 되는가. 평가 점수를 유통기한 있는 주장으로 다루자는 제안이 있다. 점수마다 세 가지를 함께 적자는 것이다 — 어떤 방식으로 얻었는지, 어느 범위에 적용되는지, 유효기간이 언제까지인지. 시험 문제가 학습 자료로 새어 들고 분포가 옮겨 가는 만큼 결과가 상하기 때문이다. 든 예가 날카롭다 — 공개 순위표에서 모델 54개를 열 개 시나리오로 재고, 평균으로 매긴 상위 다섯과 가장 약한 항목으로 매긴 상위 다섯을 뽑았더니 두 목록이 하나도 겹치지 않았다 (arXiv:2607.26191, 프리프린트, 입장 논문).
그렇게 다 해도 남는 것이 있다. 실제 운영 중인 개인 비서 에이전트 한 대의 여덟 주치 사고 기록이 있다. 사고 22건에 원인 분석을 붙였는데, 조용한 고장의 약 70%는 시험이나 감사가 아니라 사람이 화면을 보다가 발견했다. 사고 15건을 되짚어 보니 사전에 막아 낸 비율은 0%, 한번 겪은 뒤 다시 나는 걸 막은 비율은 87%였다. 저자들의 요약은 이렇다 — 감사는 예측 장치가 아니라 회귀 차단 장치다. 사고가 가장 오래 살아남은 자리는 부품 사이의 이음매, 아무 시험도 안 도는 곳이었다 (arXiv:2606.14589, 프리프린트. 운영 시스템 한 대에 대한 8주 기록이다).
한 걸음 물러서면 이렇다. 적응하는 시스템에서는 투명하게 적는 것과 다시 밟을 수 있는 것 사이에 틈이 생긴다. 절차를 아무리 성실히 공개해도 그 절차가 부르던 상대가 바뀌면 재현은 안 된다. 이 틈을 지적한 개관은 재현성을 한 번 통과하면 끝나는 관문이 아니라 서비스가 사는 내내 재야 하는 성질로 다시 놓자고 제안한다 (DOI: 10.20944/preprints202606.2079.v1, 프리프린트, 서술적 개관).
이 글이 모은 연구 가운데, 상용 모델이 언제 어떻게 바뀌었는지를 제공자 쪽 기록으로 확인한 것은 없었다. 전부 바깥에서 반복해 재서 알아낸 것들이다. 성능과 안정성이 서로 다른 축이라는 보고도 있다 — 모델 14개에 뜻이 같은 지시문 변형을 넣어 본 연구는 잘하는 것과 일관된 것이 대체로 따로 놀았다고 적는다 (arXiv:2509.13680, 프리프린트). 더 나은 모델이 더 한결같은 모델은 아니라는 뜻이다.
그래서 위임의 전제는 고쳐 적어야 한다. 내가 시험해 보고 고른 그 상대가 계속 그 상대라는 보장은, 내가 만들어 낼 수 있는 몫과 상대에게 요구해야 하는 몫으로 갈린다. 씨앗 박힌 코드로 옮길 수 있는 것, 정해진 틀에 채워 넣게 할 수 있는 것, 날짜 박힌 판으로 묶어 두는 버전 고정 — 여기까지는 내 몫이다. 그 너머, 무게값이 언제 바뀌었는지와 옛 동작이 살아 있는지는 파는 쪽만 답할 수 있다. 그 답이 없는 동안, "어제 검증했다"는 문장은 한 번 찍고 끝나는 도장이 아니라 유효기간이 붙은 영수증이다.
근거 논문
- "Same Prompt, Different Answer: … in LLM APIs" (2026, 프리프린트) — DOI: 10.21203/rs.3.rs-9096283/v1 — 온도 0·씨앗 고정 4,104회. API 재현율 22.1%, 로컬 95.6%.
- "LLM-42: Enabling Determinism in LLM Inference…" (2026, 프리프린트) — arXiv:2601.17768 — 비결정성의 뿌리는 부동소수점 비결합성과 동적 배치다.
- "Ekka: Automated Diagnosis of Silent Errors…" (2026, 프리프린트) — arXiv:2606.04594 — 서빙 소프트웨어의 잦은 변경이 오류 신호 없는 품질 저하를 낳는다. 진단 80%/88%(비교 수치 미공개).
- "How is ChatGPT's behavior changing over time?" (2023, 프리프린트) — arXiv:2307.09009 — 3·6월 판 비교. 소수 판별 GPT-4 84%→51%, GPT-3.5는 상승. 다중 홉은 반대.
- "Did the Model Change? … Assessing Machine Learning API Shifts" (2021, 프리프린트) — arXiv:2107.14203 — 상용 예측 API 36건 중 12건 변화, 일부는 유의하게 악화.
- "Abstract B021: Current oncological LLM research…" (2025, 학회 발표 초록) — DOI: 10.1158/1557-3265.aimachine-b021 — 48편 중 25%가 게재 시점에 모델이 폐기·구판. 스냅샷 보고 27%.
- "Investigating Reproducibility Challenges in LLM Bugfixing…" (2025) — DOI: 10.3390/software4030017 — 문헌의 35개 보고 중 12개만 재현. 원인은 판 혼동·서식·양자화·표집.
- "Aging of Prompt Engineering Techniques Across LLM Versions" (2026, 프리프린트) — arXiv:2608.24641 — 세대 쌍 3개·19,620회. 새 GPT 판은 구조적 프롬프트 이득이 줄거나 음수, Qwen은 유지.
- "…The Prompting Inversion" (2025, 프리프린트) — arXiv:2510.22251 — GSM8K 1,317문항. 규칙형 프롬프트가 97%에서 역전(94.00% 대 96.36%).
- "…Sensitivity to Spurious Features in Prompt Design" (2023, 프리프린트) — arXiv:2310.11324 — 서식 변경만으로 최대 76점포인트 차. 잘 먹히는 서식은 모델끼리 약한 상관.
- "Regression Bugs Are In Your Model!" (2021, 프리프린트) — arXiv:2105.03048 — 옛 판이 맞히던 문항을 새 판이 틀리는 뒤집힘이 전반에 만연.