AI 4분 소요

내가 돈 내고 만든 대화, 왜 못 가져가나요? 암호화된 추론 토큰이 만든 새로운 락인

직접 해보시면 압니다. 요즘 나오는 추론(reasoning) 모델을 API로 호출한 뒤 응답에 들어 있는 생각 과정을 그대로 꺼내서 다른 회사 모델에 넘겨보세요. 안 됩니다. 그 자리에는 대개 사람이 읽을 수 없는 암호화된 문자열이 들어 있고 그걸 풀 수 있는 건 그 모델을 만든 회사뿐입니다. 분명 내 계정으로, 내 돈으로 만들어진 토큰인데 말이죠.

미리 밝혀둘 게 있습니다. 이번 주제는 커뮤니티 데이터가 거의 없었습니다. 최근 30일 레딧에서 이 주제를 정면으로 다룬 스레드를 찾지 못했습니다. 그래서 이 글은 커뮤니티 여론을 정리한 게 아닙니다. 지금 각 공급자의 API 설계에서 확인할 수 있는 구조를 놓고, 그게 돈 문제로 어떻게 이어지는지 따져보는 쪽에 가깝습니다.

추론 토큰은 왜 봉인되었나

2024년 이후 등장한 추론 모델은 답을 내놓기 전에 스스로 긴 사고 과정을 거칩니다. 문제를 뜯어보고, 가설을 세우고, 틀렸으면 되돌아갑니다. 그 과정이 전부 토큰으로 나오고 당연히 과금도 됩니다. 여기까지는 다들 아시는 얘기입니다.

문제는 그다음입니다. 멀티턴 대화나 도구 호출(tool use)이 섞인 에이전트 작업에서는 이전 턴의 사고 과정을 다음 턴에 다시 넣어줘야 모델이 맥락을 잃지 않습니다. 그런데 공급자는 이 사고 과정을 평문으로 돌려주지 않습니다. 서명되거나 암호화된 블록으로 줍니다. 개발자가 할 수 있는 건 그 블록을 그대로 받아 그대로 다시 보내는 것뿐입니다.

공급자가 내세우는 이유는 대체로 셋입니다. 첫째, 사고 과정을 그대로 노출하면 모델의 추론 패턴이 경쟁사의 학습 데이터가 됩니다. 둘째, 사용자가 사고 과정을 조작해서 다시 집어넣으면 안전장치를 우회할 수 있습니다. 셋째, 사고 과정은 다듬어지지 않은 날것이라 오해를 부를 수 있습니다. 셋 다 틀린 말은 아닙니다.

그런데 부수 효과가 만만치 않습니다

이유가 타당하다는 것과 결과가 중립적이라는 건 다른 얘기입니다. 암호화된 추론 블록은 공급자에 종속된 상태(provider-sealed state)를 만들어냅니다. 무슨 뜻인지는 상황을 하나 놓고 보면 빤합니다.

에이전트가 스무 번의 도구 호출을 거쳐 복잡한 작업을 진행 중이라고 해봅시다. 열다섯 번째 단계에서 다른 회사 모델로 갈아타고 싶어졌습니다. 더 싸거나, 더 빠르거나, 해당 작업에 더 강한 모델이 있어서요. 이때 옮길 수 있는 건 사용자 메시지와 최종 출력, 도구 호출 결과 정도입니다. 그 사이사이에 쌓인 모델의 내부 판단 흔적은 통째로 버려집니다. 새 모델은 처음부터 다시 생각해야 합니다.

전환 비용이 0이 아니라 정확히 그동안 쌓은 추론량만큼 붙는 셈입니다. 작업이 길고 복잡할수록, 그러니까 그 세션이 값질수록 옮기기 어려워집니다.

데이터 이동성 담론이 놓치는 지점

지금까지 데이터 이동성 논의는 대체로 정적인 자산을 대상으로 했습니다. 내 사진, 내 연락처, 내 문서를 내려받아 다른 서비스에 올릴 수 있느냐. GDPR의 데이터 이동권도 이 틀에서 만들어졌습니다.

그런데 AI 세션 상태는 성격이 다릅니다. 이건 파일이 아니라 진행 중인 계산 상태에 가깝습니다. 게임 세이브 파일 같은 건데, 그 세이브 파일이 특정 게임기에서만 열립니다. 내려받을 수는 있습니다. 열어볼 수가 없을 뿐이죠.

여기서 미묘한 법적 공백이 생깁니다. 공급자는 “데이터를 안 준 게 아니다, 다 줬다"고 말할 수 있습니다. 실제로 블록을 반환하니까요. 이용자 쪽에서 보면 받긴 받았는데 쓸 수가 없습니다. 형식적으로는 옮길 수 있고 실질적으로는 못 옮기는, 애매한 상태입니다.

개발자들이 실제로 대응하는 방식

현장에서는 나름의 회피 전략이 이미 굳어지는 중입니다.

가장 흔한 건 턴 경계에서 끊기입니다. 세션을 짧게 유지하고 매 턴이 끝날 때마다 지금까지의 맥락을 사람이 읽을 수 있는 요약으로 압축해 자체 저장소에 남깁니다. 모델을 바꿔야 할 때는 이 요약본에서 재시작합니다. 추론의 세밀함은 잃지만 이동성은 챙깁니다.

두 번째는 상태를 애플리케이션 쪽으로 끌어오기입니다. 대화 이력, 도구 호출 결과, 중간 산출물을 전부 자체 DB에 구조화해서 저장하고 모델에는 매번 필요한 것만 넣어 호출합니다. 모델을 상태를 들고 있는 파트너가 아니라 상태 없는 함수로 취급하는 겁니다. 비용은 좀 더 들지만 갈아타기가 자유롭습니다.

세 번째는 아예 추론 블록 재사용을 포기하는 겁니다. 매 호출을 독립적으로 설계하는 거죠. 성능 손실이 있지만 그 손실이 락인 리스크보다 싸다고 판단하는 팀도 있습니다.

셋 다 결국 한 얘기입니다. 이동성을 지키려면 성능이든 비용이든 얼마간 내놔야 한다는 것. 공짜가 아닙니다.

그래서 이건 나쁜 설계인가

한쪽으로 몰아가고 싶지는 않습니다. 공급자가 사고 과정을 봉인하는 데는 진짜 이유가 있습니다. 안전 우회는 특히 진짜 위협이고, 경쟁사가 남의 추론 데이터로 모델을 학습시키는 일도 실제로 벌어집니다.

다만 이런 락인은 눈에 잘 안 띕니다. 계약서에 “우리 서비스를 3년간 쓰셔야 합니다"라고 적혀 있으면 누구나 알아챕니다. 하지만 API 응답 필드가 암호화돼 있다는 건 실제로 모델을 갈아타보기 전까지 잘 체감되지 않습니다. 그때는 이미 시스템이 그 위에 얹혀 있습니다.

기술로 못 풀 문제도 아닙니다. 표준화된 세션 상태 포맷을 만들거나, 사용자가 명시적으로 요청하면 평문 사고 과정을 반환하는 옵션을 주거나, 공급자 간에 상호 복호화 협약을 맺는 방법이 있습니다. 다 가능한데 아무도 서두르지 않을 뿐입니다. 서두를 유인이 없으니까요.

마무리

AI 인프라의 잠금장치는 이제 데이터 형식이 아니라 계산 상태에 걸립니다. 파일은 내려받을 수 있어도 진행 중이던 생각은 못 가져옵니다.

지금 AI 기능을 붙이고 계신다면 한 번쯤 따져보시면 좋겠습니다. 우리 시스템에서 공급자를 하루아침에 바꿔야 한다면, 무엇을 잃게 되는지. 그 답이 “별거 없다"라면 잘 설계하신 겁니다. 답이 잘 안 나온다면, 아직 값이 쌀 때 확인해두는 편이 낫습니다.

AI 벤더락인 LLM 추론모델 API

댓글

    댓글을 불러오는 중...