2025. 5. 12. 19:51ㆍIT 라이프/AI
1. GPT가 context window 안에 들어간 이전 내용을 기억한다면 "상태 기억이 없다"는 건 틀린 말 아냐?
GPT가 기억하는 건 이전 대화 내용이 아니라, context window 안에 있는 내용입니다. 그리고 이건 명확하게는 기억은 아닙니다.
예를 들어, 처음에 A라고 말했고, 두 번째에 B라고 말했고, 세 번째에 C라고 말했을 때, GPT는 이 세 가지를 기억한다기보다는, 세 문장을 모두 집어넣고 거기서 최종 답을 도출하는 겁니다. 그래서 중간 상태를 내부적으로 저장하고 활용하지는 못합니다.
즉, GPT는 기억처럼 보이는 문맥 기반의 추론은 잘하지만, 진짜 상태 전이를 추적하거나 저장하지는 않습니다. 그래서 절차적 흐름에 약해요. 다만 문맥 안에 잘 정리된 절차가 있다면 따라오는건 잘 할 수 있어요.(유연하진 않고요)
2-1. A → B → C 단계처럼 상태 전이를 못한다는게 왜 문제지? context window가 있으면 문제가 없는거 아냐?
1. 상태 전이를 못한다는 것의 의미
예를 들어 다음과 같이 쇼핑 챗봇의 대화 흐름이 있어요.
사용자: 신발 사고 싶어요
GPT: 어떤 스타일을 찾으시나요?
사용자: 편하고 단정한 느낌이요
GPT: 좋아요. 운동화나 로퍼 중 선호하시는 게 있으신가요?
사용자: 운동화요
이 때 GPT가 상태를 판단할 수 있다면 이렇게 할 거예요: "운동화를 선호함" → "그 조건에 맞는 제품 추천".
하지만, 이걸 한 단계 한 단계 상태로 저장해서 다음 질문에 반영하지 않기 때문에 GPT는 갑자기 "그럼 샌들은 어떠세요?"라고 할 수가 있어요. 왜냐면 지금까지의 대화 흐름이 "상태"로 저장된 게 아니고, 문맥 안에서만 추론하기 때문이예요.
2-2. (후속 질문) 쇼핑 챗봇은 256k context window 안에 있는 저 짧은 대화에서 왜 말도 안되게 샌들을 추천해?
이유는 "길이" 문제가 아니라 "의도 추적과 요약 능력의 한계" 때문입니다.
GPT는 전체 문맥을 보긴 하지만, 그 안에서 "핵심 상태"를 요약해서 내부 상태처럼 저장하지 않아요. 즉, "운동화를 선호함" → 이걸 맥락상 계속 기억해야 하는데 그걸 구조화된 기억으로 남기지 않습니다.
그래서 사용자의 맥락이 살짝만 애매하거나, GPT가 문장 구조를 잘못 추론하면 갑자기 "샌들"같은 다른 제안을 하는 오류가 발생할 수 있습니다. GPT는 문맥을 읽는 것에는 뛰어나지만, 요약한 상태를 기반으로 일관된 행동을 유지하는 데는 약하다는 사실을 알아야 합니다.
2-3. 아니 어떻게 "운동화를 선호함"이라는 문맥을 놓칠 수 있어? 문맥을 읽는다며
핵심!!
문맥을 읽는다 ≠ 문맥의 핵심 상태를 기억하고 그것을 기반으로 행동한다
GPT가 문맥을 "읽는다"는 것 = 다음 토큰 생성에 활용
GPT는 전체 입력을 보고서는 단어의 의미, 문장의 구조, 대화의 흐름을 바탕으로 다음에 쓸 단어(토큰)를 예측합니다.
다시 말하면, 문맥을 진짜 파악한 건 아니라는 말이예요. 사람처럼 말이죠.
예를 들어 누가 "저는 편하고 단정한 느낌의 운동화를 원해요."라고 말하면, 사람은 이렇게 정리합니다: "운동화 선호 + 편하고 단정" → 저장 → 다음 질문부터 반영.
근데 GPT는 이런 정리를 안해도 그냥 다음 대답을 잘 예측할 수 있는 것이고, 다만 그 흐름이 조금만 복잡하거나 문장이 길어져 버리면 예측이 틀릴 수 있는 겁니다.
예를 들어 위의 발화를 들은 GPT는 "운동화"가 중요한 키워드인지, "단정함"이 더 중요한지, "선호"인지 "예시"인지 확신 없이 여러 선택지 중 하나를 고를 뿐이예요. 그래서 샌들이나 로퍼 같은 단어도 확률적으로 다음 단어 후보로 뜰 수 있는 것이고요. 인간이 봤을 때는 무슨 뚱딴지같은 소리야? 할 수 있는 답변인거죠.
이렇게 문맥을 사용하긴 하지만, GPT는 "운동화를 정리해두고 다음 대답에 필수로 넣자"는 행동을 구조적으로 하지 않아요.
다시 한 번 정리를 위해 예시로 사람과 GPT의 답변을 비교해보겠습니다.
사람
A: 저는 단정한 느낌 좋아요. 운동화가 좋고요.
사람: 그럼 운동화 중에서 단정한 무드를 가진 제품 추천드릴게요.
GPT
A: 저는 단정한 느낌 좋아요. 운동화가 좋고요.
GPT: 그럼 로퍼나 단화를 고려해보시는 건 어떨까요?
단지 운동화라는 단어가 문맥에 있다고 해서, 그것을 반드시 반영해야 할 "의도"로 해석하는 구조가 GPT에는 없다는 게 핵심입니다. 즉, 읽는 건 잘함 + 구조적으로 정리는 안함 → 문맥이 복잡하거나 상황이 애매하면 의도와 다르게 대답할 수 있음.
그러니까 문맥을 읽는다고 했으니까 GPT가 사람처럼 무엇이 중요한지 의미적으로 이해했다고 생각하면 안됩니다. 전혀 그렇지 않아요. 읽은 문맥은 다음에 올 토큰을 예측하는데 사용되는 input에 불과합니다. 이걸로 또 알 수 있는 건, "아, 그래서 input이 같아도 output(여기서는 다음에 오는 토큰)이 달라질 수 있는거구나"라는 것도 알 수 있습니다. 이 부분에 대해 바로 부연할게요.
3. GPT의 문맥 이해가 뭔지 알고나면 비로소 이해가 가는 현상
결국 GPT의 문맥 이해란?
- GPT는 입력된 문맥 전체를 토큰 단위로 처리
- 그리고 그걸 기반으로 다음에 어떤 토큰이 올 확률이 높을까를 예측함
- 그래서 사람처럼 "이건 중요하니까 다음 답변부터 꼭 반영해야지" 같은 목적 지향 사고를 하지 않음, 그런건 없음.
- GPT는 그저 확률 기반의 문맥 예측 시스템이지, 목적 기반의 사고 엔진이 아닙니다.
그래서 생기는 현상
같은 input인데도 답(output)이 다르네?!
확률 기반이라 토큰 선택은 비결정적이예요.
- GPT는 Top-k, Top-p 샘플링 같은 기법으로 다음에 올 토큰을 정합니다.
- 예를 들어 "운동화"가 나올 확률 47%, "로퍼" 45%, "샌들" 8%라면, 이 중 랜덤하게 뽑습니다. Top-k 안에만 들면 얼마든지 후보가 될 수 있는 것이죠.
- 그래서 같은 문장이라도 매번 output이 다를 수 있습니다.
그래도 운동화라고 말했잖아! → GPT는 몰라요
운동화가 의미상 무엇을 의도했는지, 이게 중요한 정보인지를 판단하는 건 사람의 일이고, GPT는 그저 확률적 예측을 할 뿐이예요.
4. pseudo code처럼 if/else, 넘버링으로 써주면 잘 따라온다고 하면서 왜 절차적 흐름에 약하다고 해? 서로 모순되는거 아냐?
핵심!!
GPT는 정해진 절차는 잘 따르지만, 유연하게 상태를 넘기며 절차를 조정하는 데는 약해요. 결국 절차적인 유연성이 떨어진단 의미예요.
- 1. → 2. → 3. 처럼 이대로만 따라가는 건 아주 잘해요.
- 근데 상황이 달라져서 2.를 생략하고 1. → 3. 으로 넘어가야 하거나, 중간에서 2-1. 같은 새로운 조건이 생기면 혼란을 느끼죠.
'IT 라이프 > AI' 카테고리의 다른 글
GPT가 파일 내용을 금방 잊는 이유, 정확하게 다루는 방법 (0) | 2025.05.13 |
---|---|
GPT는 한계가 있다? 절차와 흐름을 보완하는 실전 도구들 (0) | 2025.05.12 |
GPTs 구성 요소 3가지 및 GPTs가 잘 맞는 task 종류 (0) | 2025.05.12 |
AI(Chat GPT, Claude) 구독료, 카드로 환급/할인 받자 (2) | 2025.05.04 |
AI 구독료(Claude, Chat GPT) 절감 방법, 싸게 구독하는 방법 최종 정리 (0) | 2025.05.04 |