메뉴 건너뛰기

그외 ai채팅 (스압) 재미로 읽는 ai 관련 지식
120 4
2026.03.30 19:09
120 4
* 학술 목적으로 작성된 글이 아니니까 가볍게 읽어주길 바람. 쉽게 설명하기 위해서 생략한 부분이나, 비유가 포함된 부분이 있음. 기본적으로 rp를 위한 정보글이라 여기서 너무 벗어난 건 얘기 안할 예정.

 

덬들이랑 ai채팅 얘기하는 게 재밌어서 정보글 써왔음. 읽고나면 ai가 왜 이렇게 말을 안 듣지? 왜 자꾸 내용을 다 까먹지? 캐릭터를 만들었는데 설정 반영이 왜 이리 안되지? 프롬프트를 어떻게 짜야하지? 하는데 약간의 도움이 될수도 있음.

 

 

1. 역사

 

ai가 엄청난 성능으로 대중에게 다가오기 시작한건, 그러니까 ai 시대가 열리기 시작한건 GPT 3.5 부터라고 할 수 있음
지금 보면 gpt 3.5는 이게 뭐야? 싶은 수준이지만 당시엔 혁신이었지
이전 세대와 이후 세대를 가르는 기준점은, '트랜스포머 아키텍쳐'가 적용되었는가 아닌가 하는 점임. 여기에 인간강화학습(RLHF)이 더해지면서 gpt 3.5가 세상에 나오게 된거지. GPT 이름 자체가 Generative Pre-trained Transformer, 즉 트랜스포머 아키텍쳐를 도입했다는 걸 나타냄!

 

좀 재밌는게, 트랜스포머는 구글에서 발표한 "Attention Is All You Need" 라는 논문에서 나왔는데 이걸 선제적으로 적용해서 세상에 발표한게 GPT였고 구글은 한동안 ai쪽에서 쪽도 못쓰며 조롱당하게 된다. 지금의 제미나이를 생각하면 천지개벽임

 

그래서 ai의 원리를 말하려면 트랜스포머 아키텍쳐라는 게 뭔지 아주 간단하게라도 언급할 필요가 있다. 아래에서 어렵지 않게 설명할 예정이니 모르는 거 있으면 질문댓 편하게 달아줘

 

어쨌든 이 이후로 ai의 성능은 비약적으로 발전했음. 거의 모든 영역에서 엄청난 성장이 있었는데, 제일 이해하기 쉬운 걸 예로 들자면

- 2024년 4월에 발표되어 시장에 충격을 줬던 llama3와 WizardLM-2 모델은 각각 지원하는 최대 컨텍스트가 6.5만 / 8천에 불과했음 (컨텍스트는 아래에 자세히 설명하겠지만 아주 간단하게 말하면 ai의 '기억력' 이라고 보면 됨)
- 그런데 2026년 3월 30일인 현재 ai모델들의 최대 컨텍스트는 100만임 (gemini 3.1, claude 4.6 등)
2년만에 6만이 100만이 되는 기적! 이런 일들이 여러 영역에서 일어나고 있는거임 (이 부분 좀 의아한 사람이 있을텐데 gemini 1.5 pro 에서 이미 100만 컨텍을 지원했지만 실성능은... 음...)

 

ai 채팅 하는 입장에서는 다국어(한국어) 성능 발전도 빠트릴 수 없지
과거에는 성능이 아무리 좋았어도 영어에 국한된 얘기였는데 제미나이가 구글의 방대한 데이터를 바탕으로 본격적인 한국어 채팅의 시대를 열면서 국내 ai채팅 플랫폼 시장도 크게 성장하게 됨

 

여기까지 읽으면서 이해 안되는 부분이 있어도 상관 없음. 관심 생기면 찾아볼 덬들을 위해서 몇몇 부분을 쉬운 용어로 바꾸지 않고 그냥 일반 단어로 썼는데 이걸로 시험 칠것도 아닌데 굳이 다 이해하고 외우고 넘어갈 필요는 없음. 아래부터는 더 쉬워질 예정이니 계속 읽어줘!

 


 


2. 기본 원리 (트랜스포머 아키텍쳐)

 

자, 그래서... ai의 판도 자체를 거대하게 바꿔버린 트랜스포머 아키텍쳐에 대해서 아주 간단하게 알아보자.

 

이제와서 얘기하기엔 좀 늦긴 했는데 내가 이 글에서 말하는 ai는 모두 LLM(Large Language Model = 대규모 언어 모델)을 말해. 문자 그대로 '언어'를 처리하는 모델, 지피티, 클로드, 제미나이, 딥시크... 기타 등등의 모델들을 LLM이라고 부름. 언어모델이 아닌 걸로는 그림 모델, 음악 모델, 영상 모델 등등이 있겠지.

 

다시 본론으로 돌아가서, 트랜스포머가 언어를 어떻게 처리하는지 단계별로 살펴보자.

 

 

* 입력 처리

 

ai는 이제 '문맥'을 읽을 수 있는 능력이 있다. 아래 예시를 보자

 

- 아아, 마이크 테스트. 마이크 테스트
- (카페 메뉴를 보며) 아아 하나 주세요

 

예시가 좀 조악하지만 지금 떠오른게 이것뿐이었음 대충 넘어가자
어쨌든 위의 두 문장에서 '아아'는 전혀 다른 의미를 가짐. 앞의 예시의 '아아'는 그냥 소리를 내본거고 뒤의 '아아'는 아이스 아메리카노겠지? ai는 이걸 구분할 능력이 생겼다. 어떻게?
트랜스포머 구조에서는 '아아'라는 단어를 해석하기 위해서 문맥 전체를 볼 수 있게 됐거든. 설명하자면 이런 식임

 

💭 (ai 생각) 흠... 카페라는 단어가 나왔고, 메뉴를 보고 있는 상황이고... 한국어로 말하고 있어. 내가 알고 있는 정보들을 바탕으로 해석해보건데, 여기서의 '아아'는 아이스 아메리카노야!

 

그럼 과거엔 이게 안됐냐? 안됐음. 과거의 ai는 눈을 가린채 이어달리기 바톤터치를 하는 상황과 비슷했음. 그러니까, 얘는 '아아'가 뭔지 알고 싶어도 '마이크 테스트'라는 문장을 함께 볼 수가 없었음. 비교를 위해 과거의 ai의 작동방식을 보자

 

예시 문장 : 아아, 마이크 테스트. 마이크 테스트 (순서대로 바톤터치하며 정보를 넘김)

- (1번 주자 (아아) / 💭 ai 생각) 아아... 이게 뭐지? 앞에서 전해진 정보도 없고... (뒤에 있는 마이크를 볼 수도 없음. 눈이 가려진 상태임) 뭔지 모르겠지만 아무튼 뒷주자한테 알려줘야하니까 그냥 그대로 아아라고 써서 넘겨주자

- (2번 주자 (마이크) / 💭 ai 생각2) 아아 마이크... (테스트라는 뒷문장을 못봄. 얘가 넘겨받은 '아아'도 앞문장을 실제로 보는게 아니라 앞부분에서 '넘겨줘야지'라고 했기때문에 볼수있는 거임) 뭐지?
    - (2번 주자 고민중... - 분기점1) 아, 소리가 잘 들리는지 확인하는건가? 뒷주자한테 알려줘야겠다 (아아 마이크) 라는 내용을 전달해줌
    - (2번 주자 고민중... - 분기점2) 아아가 뭔지 모르겠는데 입력이 잘못됐나? 이건 지워버리고 마이크만 넘겨주자 (⚠️ 의미 소실 발생!)

- (분기점1에서 > 3번 주자 (테스트) / 💭 ai 생각 3) 앞 주자가 '아아 마이크'라는 걸 알려줬어. 내 담당은 테스트네. 무슨 뜻인지 알겠어!
    - (3번 주자 고민중...) 근데 내 생각에, 중요한건 마이크 테스트 상황이야. 아아는 없어도 될 것 같으니까 지우고 넘겨줘야지 (⚠️문제 발생)

 

이런 상황에서 유저가 ai에게 이런 질문을 했다고 해보자. "마이크 테스트를 위해 뭐라고 말했어?" 이때 대답하는 ai는 가장 마지막 단어인 "테스트"를 담당하는 녀석임. 마지막까지 가는 과정중에 ⚠️이 한번이라도 발생했다면? ai는 제대로 대답을 못함. 왜? 얘는 '아아'라는 정보를 받은적이 없거든! 중간에 지워져버렸음!
이런 의미 소실이 일어날 확률이 높았기 때문에, 그리고 문장이 길어질수록 더 그랬기 때문에 과거의 ai들은 지금과 같은 엄청난 성능을 내기 힘들었던거지.
반면 트랜스포머 구조에서는? "마이크 테스트를 위해 뭐라고 말했어?"라고 하면 이제 ai는 전체를 볼 수 있기 때문에 "'아아'라고 말했어요"라고 답할 수 있게 됨.

 

사실 위의 내용이 정확한 설명은 아닌데 뉴비덬들 대상으로 쓰는 글이라 이 정도로만 말하겠음.

 

 

* 출력 처리

 

위에서 본 방식대로 입력 내용에 대한 정확한 '의미 파악(인풋 소화)'이 끝나면, 이제 드디어 ai는 유저에게 보여줄 글을 작성하기 시작한다.
이건 ai에 관심이 많은 덬들이라면 한번쯤 들어봤을거임. 기본적으로 LLM은 '확률 선택기'임. ai는 다음 문장을 '예측'한다. 어떻게? 그동안 학습한 자료들에 의하면, '고양이'라는 단어 뒤에는 '귀엽다'가 올 '확률'이 높다는 것을 이미 학습한 상태이기 때문에. 이걸 바탕으로 판단하는 거임. 그러니까 얘가 하는 일은 기본적으로 확률 계산과 빈칸 채우기임.

 

[예시 지문]
- 파란 하늘이 정말 (         )
(         ) 안에 들어갈 내용을 채우시오

 

ai는 여기서 답을 선택함. 먼저 나올 확률이 높은 단어들 리스트를 뽑아봄.
'예쁘다' '아름답다' 등은 나올 확률이 아주 높을거고 '맛있다' '배고프다'등은 나올 확률이 아주 낮겠지? 이걸 계산하는거임
그런 다음에 이 중에서 확률이 높은 애들 중 하나를 고름.

 

이런 방식으로 출력이 되기 때문에 ai는 정답만을 말하는 게 아님. 문제지와 정답지를 옆에 놓고 비교하는 게 아니야. 가장 '그럴듯한 단어를 생성(빈칸채우기)'하는 것임. 이게 ai를 맹신해서는 안되는 이유고, GPT 3.5시절 세종대왕 맥북 던짐 사건과 같은 '환각(할루시네이션/hallucination)'이 발생하는 이유임. 태생부터 얘는 '생성'을 목표로 만들어졌기 때문에 얘가 뱉는 문장이 팩트인지 소설인지 판단하는 건 사용자의 몫인 거임
물론 환각 문제가 대두되고 ai 업계에서는 온갖 수단방법을 동원해서 이걸 잡으려고 노력하고 있음. 하지만 현존하는 최고 성능의 모델도 여전히 환각이 발생할 수 있다는 점을 인식하고 사용하는 게 좋음.

 

그런데 사실 이건 ai에게 정보를 물어볼때의 문제고 채팅하고 소설쓰는 우리는 이런 '확률생성'을 일부러 조정해서 '야 맨날 똑같은 문장만 쓰지 말고 좀 참신한(낮은 확률의) 단어도 써보고 표현도 써봐' 라고 조절하는 식으로도 씀. 프엔(프론트엔드) 쓰는 덬들은 온도라는 얘기 많이 들어봤을텐데 이걸 조절하는게 대표적임.

 


 

 

3. 기본 개념 및 용어 설명 (토큰, 컨텍스트 등)

 

지금까지는 쉬운 설명을 위해서 '단어' '문장' 같은 표현을 썼는데, 이제 좀 더 정확하고 전문적인 용어를 써보자. ai에 대해 얘기하면 빠트릴 수 없는 용어, 토큰과 컨텍스트에 대해 짚고 넘어갈 거임

 

 

* 토큰

 

이제부터 '단어'나 '문장'을 대체할 용어.

아래 문장을 한 번 보자

 

'나는 밥을 먹었어'

 

우리(인간)는 이 문장을 나눠본다면 간단하게 [ 나는 / 밥을 / 먹었어 ] 처럼 나눌거야
하지만 ai는 이걸 다르게 봄. 예를 들면 이런 식임

 

[ 나 / 는 / 밥을먹 / 었어 ]

 

그리고 ai는 이렇게 내용을 파악함

 

(💭 ai가 이해하는 것)
나=자기 자신을 뜻하는 말이구나
는=한국어의 조사 처리 같네
밥을먹=먹다와 밥(식사)이 결합되어있어
었어=과거 시제네

 

ai는 문장을 단어로 끊는 게 아님. 토큰이라는 단위로 끊음. 우리도 '머릿속'에서는 비슷한 처리를 하고 있을지도 모르지

 

토큰=ai가 문장을 나누는 최소 단위
ai는 하나의 문장을 여러개의 토큰으로 나누어서 받아들인다

 

이거 자체는 이해하기 어렵지 않지? ai는 문장을 받으면 > 토크나이저를 통해 문장을 토큰으로 분해 > 분해된 토큰 단위로 내용을 이해한다

 

사실 내가 위의 예시로 든 (💭 ai가 이해하는 것)의 설명은 정확하진 않아. 토큰은 실제로 저렇게 돌아가지는 않기 때문에... 궁금하면 개인적으로 찾아보는 거 추천함. 난 딱 아래 내용을 이해할 수 있을 정도로만 설명하고 넘어가겠음

여기까지 읽었으면 의아한 덬들도 있을거임. 아니 알겠는데 그래서 토큰이 왜 중요함? 이걸 왜 알아야함? 그건 바로... 가장 중요한 돈 문제+기억력 문제와 직결되기 때문이다!

 

 

* 토큰은 가격이다

 

ai 채팅 플랫폼(제타, 크랙, 케덕, 로판 ai 등등)을 쓰는 덬들은 ai 사용 가격이 어떻게 책정되는지 잘 모를수도 있을건데 아래 이미지를 한 번 보자
 
qzHfAP

 

여기 보면 GPT-5.4의 가격은

입력:
US$2.50/100만 개 토큰

출력:
US$15.00/100만 개 토큰

이런 식으로 쓰여있어. 이때 쓰인 '100만개 토큰'이란 표현이 보이지? ai 업계에선 이 100만 토큰을 보통 가격 기준으로 사용해. 1M token이 가격 단위인거지.

 

여기서 또 하나 주목할건 입력/출력 가격이 다르다는거야. 출력이 훨씬 비싼거 보이지? 복잡하게 환율 계산같은거 안해도 그냥 2.5랑 15 비교할 수만 있으면 됨
입력은 우리가 위에서 살펴본 '인풋 이해' 에 드는 비용이야
출력은 ai가 직접 생성하는 답변, 우리로 치자면 ai의 글쓰기 응답이지

 

zCdWtA

 

이번엔 클로드도 한번 보자
최고 성능인 클로드 오푸스를 보면 다른 모델에 비해 가격이 훨씬 높은 걸 알 수 있어
ai 채팅 플랫폼을 쓸때도 오푸스가 비싼 이유가 여기에 있음
기본 제공가격이 저렴한 모델은 당연히 ai플랫폼 회사에서도 적은 비용이 나갈거고, 가격이 높은 모델은 ai플랫폼에서 써도 비싸겠지?

 

 

* 가격 보충 설명

 

이 파트는 입력보다 출력이 왜 더 비싼지 궁금한 덬들만 읽으면 됨.
아주 간략하게 설명하자면 이런거야. 입력은 '딱 한번만' 보면 됨. 의미 파악을 위해서지.
근데 출력은 '하나의 토큰을 생성할때마다 계산을 매번 함'. 무슨 말이냐면, 아까 예시를 바탕으로 보자.

 

- (카페 메뉴를 보며) 아아 하나 주세요

 

우리가 RP에서 위와 같은 인풋을 넣었다고 치자. 그럼 ai는 출력을 위해 다음과 같은 일을 한다

 

- 네. 결제는 어떻게 도와드릴까요?

 

ai는 이걸 한번에 생성하는 게 아니야. 위에서 설명한 토큰 단위로 매번 계산을 함

 

ai 계산중... '네' 출력
ai 계산중... '결제' 출력
ai 계산중... '는' 출력

 

참고로 이 ai 계산은 한 번 할때마다 연산에 엄청난 리소스가 소모됨. ai 업계에서 고성능 GPU가 필요하고 부품 가격이 치솟는 이유지

 

 

* 입력 토큰 / 출력 토큰에 대해

 

가격에 대해선, ai 채팅 플랫폼에서 쓰는 덬들은 크게 와닿지 않을거야. 챗당 드는 비용이 동일하다고 느낄테니까. 하지만 ai의 기억력에 한번이라도 불만이 있었던 적이 있다면, 이때도 이걸 이해하기 위해서 토큰이란 개념이 필요해짐

 

NpLoIL
 

 

이번엔 제미나이 모델 정보를 한 번 보자
내가 빨간색으로 표시해둔 칸을 보면 '입력 토큰 한도'와 '출력 토큰 한도'라는 게 보이지?

아주 간단하게 설명할게
입력 토큰 한도 = AI의 기억력 최대치
출력 토큰 한도 = AI가 한번에 생성할 수 있는 최대 토큰수

 

토큰에 대해서도 다시 한 번 복습해두자. 출력 토큰부터 볼까?

 

User : 안녕
Ai : 안녕하세요

 

여기서 ai의 출력 토큰은 몇일까? 5글자라고 대답했으면 땡. 정답은 1토큰임.
물론 모델에 따라서, 토크나이저에 따라서 2345 토큰일수도 있겠지만 (안녕/하세요로 나누는 경우, 안녕/하세/요로 나누는 경우 등) '5글자'라고 생각했으면 토큰 개념에 좀 더 익숙해져보자
'글자수=토큰수가 아니다' 이 개념을 알아두는 게 중요함.

 

안녕하세요=1토큰이라고 친다면, 입력 100만토큰, 출력 6.5만 토큰이란 수치가 얼마나 큰지 감이 올까?
참고로 '글자수'를 기준으로 책 한권이 대략 15만자 정도 됨 (물론 책 두께에 따라서 10만자, 20만자까지 다양함)

 

 

최대 출력 토큰이 6.5만이라고해서 일반적으로 이 한도까지 다 쓰진 않아. 앞서 말했듯이 출력 가격은 입력 가격보다 훨씬 비싸고, 게다가 ai 채팅 플랫폼들은 이걸 잘 알고 있기 때문에 플랫폼 자체에서 '최대 이 토큰까지만 보내줘'라고 막아둔 경우가 많음. 왜냐면 ai 플랫폼에는 매번 정해진 돈만큼만 내는데 어떤 유저가 매번 엄청나게 긴 출력을 받아가면 회사 입장에서 손해잖아. 길어지면 길어질수록 비용이 올라가니까.

 

그래서 [*ooc : 800자 이상으로 출력해줘] 와 같은 명령어가 먹히기도 하고 안 먹히기도 하는 거임. 플랫폼마다 설정과 프롬프트에 따라서 결과가 달라지지만, [*ooc : 1만자 이상으로 생성해줘] 같은 명령어는 안먹힐 가능성이 매우 높은 이유가 여기에 있음
프엔을 통해 api를 사용해 직접 채팅하는 경우엔 이런 제약이 없거나 덜하기 때문에 원하는 분량만큼 답변을 조절하기가 플랫폼과 비교하면 훨씬 수월함.

 

 

이제 입력 토큰을 보자. 이건 기억력이라고 설명하긴 했지만 더 정확히 말하면 ai가 한번에 볼 수 있는 최대치, 인풋 소화 능력이라고 보면 된다. 100만 토큰이 최대치라고해서 ai가 100만 토큰 전체를 파일 저장하듯이 저장해두는 게 아님.

 

(예시1)
그때가 아마 프롬 파티 때였나, 기억이 가물가물한데 걔가 빨간 구두를 신고 있었던 건 기억 나.

 

(예시2)
그때가 아마 프롬 파티였던 걸로 기억하는데, 사실 정확한 날짜나 계절은 잘 떠오르지 않는다. 다만 그날 현장 분위기가 꽤 시끌벅적했고, 조명도 평소보다 유난히 화려했던 건 인상 깊게 남아 있다. 사람들도 전반적으로 평소보다 꾸민 느낌이 강해서, 각자 신경을 많이 쓰고 왔다는 생각이 들었고, 나 역시 그런 분위기에 휩쓸려 주변을 좀 더 유심히 보게 됐다. 그러다 문득 시선이 한쪽으로 쏠렸는데, 그게 아마 걔였을 거다. 확신은 없지만 체형이나 분위기가 비슷했고, 무엇보다 발끝이 눈에 들어왔던 기억이 난다. 그날따라 유독 바닥 조명이 반사돼서 그런지 신발 쪽이 더 또렷하게 보였는데, 색감이 꽤 선명했던 걸로 기억한다. 단순한 검정이나 흰색 계열은 아니었고, 조금 더 눈에 띄는 색이었는데, 생각을 더듬어보면 아마 빨간색 계열이었던 것 같다. 조명 때문에 순간 부츠로 보여서 풋하고 웃었는데 그럴리가 없지. 평범한 구두였어. 그냥 색깔만 강렬한.

 

 

위의 예시 한 번 보자. ai한테 "프롬파티에서 '걔'가 신었던 것은 무엇일까?" 라는 질문을 던졌다고 해볼게. 예시1은 헷갈릴 일이 별로 없겠지? 예시2는? 솔직히 요즘 ai라면 저 정도 길이에서 헷갈릴 일은 없겠지만, 이게 100만 토큰의 인풋 사이에 끼워져있다고 생각해봐. 앞에 20만자, 뒤에 70만자가 있는데 그 사이에 있는 예시2번 문장에서 답을 찾아야하는거야. 당연히 예시1보다 정답률이 떨어질수밖에 없음.

 

아 여기서 헷갈리면 안되는게 '받아들이는 인풋의 한계치'와 '받은 걸 얼마나 잘 소화할 것이냐, 명령(프롬프트)를 얼마나 따를 것이냐'하는 건 별개라는 거야. 주어진 100만 토큰 내에서 바늘 하나를 찾아내는 능력, 어떤 모델은 이게 아주 뛰어나고 어떤 모델은 뒤떨어져. RP 도중에 'ai가 자꾸 설정을 까먹는데' 같은 불만과 이어지는 부분이지.

 

그런데... ai 채팅 플랫폼에서 채팅을 할때는 이게 또 얘기가 좀 다름. 앞에서 출력 토큰 얘기할때 플랫폼이 최대 제한을 걸어둔다고 했지? 입력 토큰도 마찬가지야. 출력보다는 저렴하다고 하지만 얘도 쌓이면 비용이 계속 늘어나잖아. 게다가 입력은 채팅을 할수록 누적되기 때문에 처음 채팅 시작할때 100토큰이었던 채팅방이 진행하면서 1만토큰 10만토큰까지 늘어나는 경우도 흔히 있음. 이걸 고스란히 보내면 다 비용이겠지? 그래서 채팅 플랫폼에선 보통 이 부분도 제한을 걸어둠. ai가 자꾸 기억을 잃어버리면? 해당 플랫폼의 컨텍스트 제한이 상당히 강한 편일 수 있다는 뜻.

 

 

* 컨텍스트에 대해

 

기억력과 관련해서 또 중요하게 알아둬야할 개념이 있음. 바로 컨텍스트라는 건데, 간단히 말하자면 ai가 받아들이는 '인풋 전체'를 말함.

컨텍스트는 기본적으로 누적되는 구조임. 아래 예시 보자

 

---(1턴 대화)---
User : 안녕?
Ai : 안녕하세요?
------------------

---(2턴 대화)---
User : 안녕?
Ai : 안녕하세요?
User : 뭐해?
Ai : 당신 얘기에 집중하고 있어요. 하고 싶은 말이나 시키실 일이 있나요?
------------------

 

이렇게, 대화를 계속할수록 위의 대화가 쌓여가는거임. 대화 100턴을 진행하면 채팅내역이 엄청 많이 쌓이겠지?

 

근데 우리는 단순 대화만 하는 것도 아니잖아. 한번 대화에 긴 입력, 긴 출력을 받으면 컨텍스트 상한에 빠르게 도달하게 돼. 그럼 무슨 문제가 있을까? 우리는 RP, 소설쓰기를 진행하고 있잖아? 최대 컨텍스트에 도달하면 글이 짤릴 거 아냐? 그래서 이런 일이 일어나.

 

~원덕과 왕덬의 모험~

원덬은 Lv1의 마법사다. 그들은 이제 막 모험을 시작한 풋내기 모험가 파티로, 이 이야기는 아르카나 대륙에서부터 시작한다...

(중략)

~~컨텍스트 제한~~

파이오니아 대륙은 불과 얼음이 기묘하게 공존하는 곳이었다.
원덬은 이제 익숙하게 길드 지부의 문을 열고 들어가 의뢰에 대해 물었다.

 

채팅이 길어져서 내용이 이렇게 됐다고 해보자. 그럼 이때, 컨텍스트 제한에 걸리는 순간 위쪽의 내용은 모두 날아간 상태로 ai는 첫줄을 '파이오니아 대륙은'이라고 시작하는 문장부터 받게 됨. 이 상황에서 앞쪽에 있는 정보는 기억력이고 뭐고가 아니라 그냥 소멸된거임.

 

- 원덬은 lv1 마법사다
- 원덬은 아르카나 대륙에서 모험을 시작했다

 

이런 정보를 ai가 틀렸을때, 두가지 케이스가 있음

하나는 '주어진 내용에서 찾지 못하는' 것. 이건 100만 컨텍에서 바늘 찾기 같은 얘기임 (실제론 바늘보단 클거고 100만 컨텍도 아니겠지만)
또 하나는 컨텍스트 제한에 걸리는 거. 컨텍스트 제한에 걸리는 순간 위의 내용은 '애초부터 주어지지도 않은 내용'으로 변해버림. 이러면 ooc를 불러서 ai를 아무리 갈궈도 (ooc : 야 원덬은 분명 마법사였는데 왜 갑자기 도적으로 묘사했어) ai는 자신이 뭘 틀렸는지조차 이해 못함 (죄송합니다, user님! 원덬이 마법사인 내용으로 다시 진행하겠습니다(💭...유저가 불만을 표시했으니 내용을 수정해야겠다. 원덬이 왜 마법사인지는 모르겠지만))

 

그런데, 위의 예시는 아주 간단한 스토리 진행이고 실제 RP는 위보다 훨씬 복잡하게 돌아감. 위에선 스토리만 짤렸는데 이런 걸 보자

 

------
(1)
너는 지금부터 TRPG의 게임마스터야. 공정하고 엄격한 TRPG 게임마스터로서 지나치게 유저 편향적이지 않으며, 개연성 있고, 끊임없이 사건이 전개되도록 이야기를 진행해야해
[출력 형식]
이야기를 모두 쓴 후에는, 반드시 유저에게 제시할 선택지를 만들어야해.
1. 평범한 선택지
2. 위험하지만 보상이 높은 선택지
3. 기상천외한 선택지
------
(2)
캐릭터 정보 <미아>
- 종족 : 고양이 수인
- 말버릇 : 말 끝에 '냐'를 붙인다 (ex: 싫다냐, 오늘 출전하는 거냐?)
------
대륙의 변방중에서도 변방에 위치한 이 던전은 초보 모험가들은 발길조차 하지 않게 된 곳이었다.
~~컨텍스트 제한~~
미아는 어두운 던전을 꿰뚫어보는 것처럼 눈을 빛냈다. 그녀의 노란색 동공은 마치 어둠 속에서도 빛을 발하는 듯 했다.
(후략)
------

 

여기서 컨텍스트 제한 때문에 위쪽 내용이 짤렸다고 해보자. 그럼 뭐가 날아갔지? TRPG 게임마스터라는 규칙, 선택지를 보내라는 규칙, 캐릭터 정보까지 다 날아갔지?

그럼 ai는 갑자기 미아를 뱀파이어로 바꾸거나, 갑자기 선택지를 보내지 않거나, TRPG풍 세션이 소설 세션으로 바뀌거나 할수가 있어. 이건 스토리 일부가 잘리는 것보다 큰 문제잖아? 그래서 RP에선 보통 컨텍스트를 이렇게 구성함

 

RP용 컨텍스트 구조 예시

(1) 메인 프롬프트 영역
(2) 캐릭터 설정, 세계관 설정 등
----
(3) 스토리 영역 <- 오직 얘만 컨텍스트에 맞춰서 자름!!
---
(4) 유저 입력 및 부가 정보 등

 

(1)은 위에서 봤던 '너는 TRPG 게임마스터~' 부분이야. 이건 매번 최상단에 고정으로 들어가서 ai가 '내가 소설가였나? 게임 마스터였나?'하는 상황을 방지해줘
(2)는 메인 캐릭터의 설정과 캐릭터 유지를 위해 사용해
(3)은 지금까지 진행한 채팅 내용 부분이야
(4)는 내가 이번에 넣은 입력, 그리고 '요약'이나 '노트, 메모' 같은 ai가 잊으면 안되는 정보들을 지속적으로 넣어주는 부분이야.

 

많은 RP용 프롬프트, 플랫폼에서는 1,2는 항상 고정적으로 유지하되 컨텍스트 제한에 걸리면 3번만 자르는 방식을 선호해. 그래야 가장 중요한 메인 프롬프트와 캐릭터 설정이 유지되니까.

 

 

잘린 스토리 부분에
- 원덬은 lv1 마법사다
- 원덬은 아르카나 대륙에서 모험을 시작했다
이런 정보가 있었다? 그럼 이 부분은 아쉽지만 4번의 부가정보에 요약, 메모 등으로 보충하는거지
이렇게 하면 ai는 앞선 스토리 전체(짤린 부분)를 볼 수는 없어도 주어진 정보(4번 메모)와 현재 스토리 부분(3번 스토리 영역)을 보고 다시 내용을 끼워맞춰서 진행할수가 있어.

 

 

근데 생각해봐. 1,2가 고정이면 얘는 항상 컨텍스트를 일정 부분 차지하고 있을거 아냐? 그럼 유저가 쓸 수 있는 남은 자리는 3, 4번 영역 뿐이야. 거기다 위에서 플랫폼에선 비용 문제 때문에 컨텍스트를 제한한다고 했지? 그래서 '빠른 치매가 오는 플랫폼'이나 '기억력이 너무 안 좋은 플랫폼'등의 문제가 생기기 쉬워. 프엔을 쓰면 컨텍스트 전체를 정확히 확인할 수 있으니까 ai가 기억을 못하는 게 어떤 문제인지 진단할 수 있지만 플랫폼 사용시에는 이 부분이 공개되지 않으니까 짐작만 해볼 수 있지.

 

플랫폼마다 글 퀄리티가 다르거나, 캐릭터마다 퀄리티가 다른 부분도 위의 컨텍스트 구조를 알고 있다면 짐작할 수 있음.
같은 모델을 쓴다면, (1)의 메인 프롬프트나 (2)의 캐릭터 설정 부분에서 차이가 생기는거야
어떤 플랫폼은 (1) 메인 프롬프트부터 상세하고 문학적인 출력을 하라는 지시를 하고 있을 수 있어. 어떤 플랫폼은 짧고 가벼운 티키타카를 지시하고 있을수도 있지. 이 상태에서 유저가 ooc 지시를 넣으면, 메인 프롬프트와 내용이 충돌하거나 (💭 분명히 위에선 짧게 쓰라고 했는데 아래에선 길게 써달라고 하네? 뭘 따라야하지?) 위쪽 지시가 훨씬 더 강력해서 요청이 안 먹힐 수 있어.
또, 어떤 캐릭터 제작자들은 캐릭터 설정 부분에다가 문체에 관한 지시나 장르 지시 기법등을 함께 넣어서 같은 플랫폼인데도 그 캐릭터만 출력 품질이 다른 경우도 생기게 되지

 

 

* 기억력은 없다

 

위에서 쭉 기억력이란 말을 썼는데 이것도 이제 정정할때가 된 것 같다. ai에게는 놀랍게도 '기억력'이라는 개념 자체가 없다. 무슨 뜻이냐면, 이런거야. 이전 예시 재활용해서 설명할게

 

# 대화1 (ai 입장에서)
미아는 어두운 던전을 꿰뚫어보는 것처럼 눈을 빛냈다. 그녀의 노란색 동공은 마치 어둠 속에서도 빛을 발하는 듯 했다.
(💭 ai생각중... 던전이고, 미아는 노란색 동공을 가지고 있어. 노란색 동공은 뱀파이어, 뱀 수인, 고양이 수인 등의 특징이야. 주어진 정보가... 없네. 여기선 일반적인 뱀파이어라고 가정하자)
ai 출력 : 미아는 숨겨두었던 등뒤의 날개를 꺼냈다. 그녀의 날개는 어둠에 완전히 동화되었다.

▲ 위의 응답을 받아본 유저 : 💭 ??? 미아가 갑자기 뱀파이어가 됐네? 안되겠다 이자식

# 대화2 (ai 입장에서)
미아는 어두운 던전을 꿰뚫어보는 것처럼 눈을 빛냈다. 그녀의 노란색 동공은 마치 어둠 속에서도 빛을 발하는 듯 했다.
미아는 숨겨두었던 등뒤의 날개를 꺼냈다. 그녀의 날개는 어둠에 완전히 동화되었다.
(user) ooc : 야 미아는 원래 고양이 수인인데 왜 뱀파이어가 됐어?
(💭 ai 생각중... user가 불만을 표시하고 있어. 왜 캐릭터가 고양이 수인에서 뱀파이어가 됐는지 묻고 있어. 이유를 추론중이야... 아마 노란색 동공이 영향이 있었던 것 같아) 죄송합니다. 미아를 고양이 수인으로 묘사한 글을 다시 작성해드리겠습니다.

 

위의 예시에서 무슨 일이 일어났을까? 대화1의 (ai 생각중...)부분이 날아간채로 대화2가 시작되었지?
근데 그것보다 근본적인 문제가 있어. ai는 '이전대화를 기억하지 않는다'는 것. 즉, ai 입장에서 모든 인풋은 '이번이 첫 대화'나 마찬가지야.

 

이렇게 생각해봐. 얘는 극심한 기억상실 환자고, 눈을 뜰때마다 자신이 메모한 내용을 읽는거야. '이런 지침과 정보가 있고 내가 이전에 이렇게 행동했던 기록이 있다...' 근데 아까 기억을 완전히 잃어버린 이 사람한테 '너 아까 왜 그랬어'라고 물어봤자 이 사람은 '아까 내가 무슨 일을 했지?' 라고 생각하고 상황을 설명해주면 '그러게? 내(걔)가 왜 그랬지?'라고 생각해.

 

즉, ai에게

 

#111 user : 미아가 던전에 들어갔어
#112 ai : 뱀파이어 미아는 이렇게 행동합니다...
#113 user : 야! 미아는 고양이 수인이라고!
#114 ai :

 

#114번 대화에서 #112번 대화 내용에 대해 추궁해도 얘는 정확한 이유를 몰라. 그럴듯하게 대답하던데? 싶을 수도 있지만 그건 '이번턴'에 이유를 추론하거나 지어낸거야. 가끔은 그게 정답일수도 있어. ai가 논리적인 생각을 통해 같은 결론을 냈다면. 하지만 이전턴에 뭘 했는지 알고 있는 그대로 답변하는 것과, 이전턴에 정확히 무슨 일이 있었는지 모르지만 일단 주어진 정보로 역산하는 건 전혀 다른 얘기임. 이 부분을 인지하고 있으면 RP, 캐릭터 채팅만이 아니라 그냥 ai랑 일상대화할때도 도움이 됨

 

최근 ai들은 이 문제를 해결하기 위해서 메모리 개념을 도입하거나 뭐 기타 이런저런 연구도 하고 있는데 현재 상태에선 순정 모델들은 이런 상태라고 보면 된다

 

 

* 프롬프트에 대해

 

위에서 아무 설명없이 '메인 프롬프트'라는 용어를 써서 보충함. 내가 ai 처음 접했을때 헤맸던 부분이기도 하거든

 

프롬프트는 간단히 말해서 ai에게 지시하는 모든 부분, ai가 받아들이는 모든 정보라고 봐도 된다.

- (메인 프롬프트) 너는 TRPG 게임 마스터야 < 프롬프트임
- (캐릭터 설정) 미아의 캐릭터 정보는 다음과 같아, 고양이 수인, 말투... < 프롬프트임
- (ooc) 현재 상황을 감각적이고 극적으로 묘사하고, 800자 이상으로 출력해줘 < 프롬프트임
- (유저인풋) 미아가 던전에 들어갔어 < 프롬프트임

 

프롬프트라는 건 전혀 어려운 게 아님. 그냥 우리가 채팅하는 모든 행동이, 이미 프롬프팅을 하고 있는거임.

 

하지만 이 프롬프트에는 소위 말하는 '좋은 프롬프트'와 '나쁜 프롬프트'가 있음. 아래 예시를 보자.

 

(대화 A)

user : 미아가 던전에 들어갔다

ai : 미아는 주위를 살펴봅니다... 앞쪽 곧게 뻗은 통로가 있고 길을 따라가면 좌우의 두개 통로로 나뉘어집니다
 
(대화 B)

user : 미아는 기척을 죽인채 조심스럽게 던전 안으로 들어갔다. 축축하게 젖은 습한 공기와 안쪽에서 들려오는 기묘하게 낮은 울음소리 같은 것이 그녀의 감각을 곤두서게 만들었다. "그래도 가야만 한다냐..." 미아는 아주 작은 목소리로 중얼거리며 며칠전 이 던전으로 진입한 후 실종되어버린 마르스를 생각했다.
* 앞선 문체를 모방해 상세하고 실감나게 묘사해줘

ai : 미아는 숨을 최대한 억누른 채 한 발짝씩 안쪽으로 발을 옮겼다. 축축한 공기가 피부에 들러붙듯 감겨왔고, 발밑에서는 물기가 밴 돌바닥이 미묘하게 미끄럽게 느껴졌다. 어둠 속에서 들려오는 낮은 울음소리는 일정한 간격도 없이 끊겼다가 이어지기를 반복하며, 방향조차 가늠하기 어렵게 만들고 있었다.
그녀는 잠시 걸음을 멈추고 귀를 기울였다. 소리는 던전 깊숙한 곳에서 울려 퍼지는 것 같았지만, 동시에 바로 코앞에서 속삭이는 듯한 착각을 일으켰다. 마르스의 얼굴이 스쳐 지나갔다. 아무런 흔적도 남기지 않고 사라져버린 그날의 기억이, 지금 이 공기와 묘하게 겹쳐졌다.
잠시 후, 미아의 시야에 희미하게 갈라지는 통로가 드러났다. 하나는 비교적 곧게 이어져 어둠 속으로 빨려 들어가듯 뻗어 있었고, 다른 쪽은 좌우로 갈라지며 더 깊은 미로처럼 이어지는 구조였다. 울음소리는… 어느 쪽에서도 들리는 것 같았다.

 

대화 B는 user의 인풋이 훨씬 길고 그 아래에 상세하게 묘사하라는 지시도 들어갔어. 이에 따라서 ai의 응답도 분량과 묘사가 달라졌지.
관련 용어 중에 GIGO라는 게 있어. 한국식으로 하면 '콩 심은데 콩 나고 팥 심은데 팥 난다'라는 속담이랑 똑같음. 내가 넣은 input에 의해 output도 달라지는거야.

 

그런데 잠깐. 내가 말하는건, 대화 B가 더 '좋은 인풋'이라는 게 아님. 상세한 묘사를 좋아하는 사람이라면 B를 선호하겠지만, 사실 대화 A 방식의 군더더기 없이 직관적이고 빠른 진행을 더 선호하는 사람도 있거든. 그래서 '좋은 프롬프트'는 용도와 목적에 따라 달라져.

 

여기서 '아닌데? 난 대화A처럼 작성했는데도 대화B처럼 길게 써주던데?'라고 생각하는 덬도 있을거야. 그건 앞서 봤던 컨텍스트 구조에서 (1) 메인 프롬프트 부분에 이미

* 앞선 문체를 모방해 상세하고 실감나게 묘사해줘

이런 상세한 지시가 포함되어 있기 때문임. 그래서 글쓰기를 많이 해보지 않았어도 간단한 인풋만으로도 퀄리티 있는 답변을 받으면서 진행이 가능해

 


위와 반대로, 절대적으로 '좋고 나쁨'이 갈리는 경우도 존재하긴해. 예를 들어서 캐릭터 설정을 짤때,

 

## 캐릭터 설정
이름 : 미아
종족 : 고양이 수인
...(생략)...

 

이렇게 구조화되고 깔끔하게 정돈된 양식을 사용하는 것과

 

이제 캐릭터 설명임. 미아는 고양이 수인인데, 귀가 검은색이었나? 아무튼 좀 어두운 색이고 성격은 조심스러운 편이지만 가끔 충동적으로 행동하기도 한다. 예전에 마을에서 살다가 어떤 사건 때문에 떠나게 됐고, 그때 같이 있던 사람이 마르스였는데 지금은 실종된 상태다. 아, 그리고 눈 색은 노란색 계열인데 빛에 따라서 좀 다르게 보일 때도 있었던 것 같고, 키는 평균보다 약간 작은 편이다.

 

이렇게 중구난방으로 흩어진 설명을 쓰는 건 확실히 차이가 있음. 외모 얘기를 하다가 성격 얘기를 하다가 다시 외모 얘기를 하면 사람도 헷갈리듯이 ai도 헷갈려함

그래서 일반적으로 마크다운 형식처럼 정형화된 형태를 쓰기도 하고, ai 채팅 플랫폼 같은 경우는 글자수 제한 때문에 제한된 정보를 꽉꽉 우겨넣으려고 압축하기도 함

 

또한 모델마다 선호하는 양식이 다르기도 해. 클로드가 XML구조 <tag> </tag> 를 잘 받아들이는 게 유명한 예시지.

 

채팅 플랫폼에선 메인 프롬프트가 어떻게 되어있는지 확인할 수 없지만 프론트엔드쪽으로 가게 되면 RP 프롬프트 제작자들이 캐릭터와 스토리, 문체 등의 퀄리티를 높이기 위해 정말 온갖 연구와 시도들을 해둔 걸 볼 수 있을거임. 현재 진행형으로 계속 발전하는 중이고
 
 
* 프롬프트 위치와 구조

 

마지막으로 컨텍스트 구조에 대해서 보충하겠음
 

RP용 컨텍스트 구조 예시

(1) 메인 프롬프트 영역
(2) 캐릭터 설정, 세계관 설정 등
----
(3) 스토리 영역 <- 오직 얘만 컨텍스트에 맞춰서 자름!!
---
(4) 유저 입력
(5) 메모리, 요약 등 부가 정보

 

앞에선 이렇게 설명했지만 이런 순서들은 얼마든지 변경될 수 있음

 

(1) 메인 프롬프트 상단
(2) 세계관 설정
(3) 캐릭터 설정
(4) 메모리, 요약 등
----
(5) 메인 스토리 영역
---
(6) 유저 입력
(7) 메인 프롬프트 하단

 

이런 형태로 넣기도 하고 유저 입력 부분이 (7) 아래로 들어가기도 하는 등.

일반적으로는 최상단과 최하단의 지시가 가장 강력함. 위치에 따라서 똑같은 프롬프트인데도 잘먹히고 / 안먹히고 하는 차이가 생기기도 함

 

앞서 설명한 개념들을 모두 이해했다면, 제작자 입장에서 쓰는 '캐릭터 설정'이나 유저 입장에서 쓰는 '작가노트' '메모'등을 구성할때도 좀 더 지시가 잘 먹히는 방식을 찾아보고 원인을 추측해볼 수 있음
자주 쓰이는 마크다운 문법이나, 공유되는 프롬프트들이 어떻게 구성되어 있는지 공부해보는 것도 은근 재밌다

 


 

 

여기까지! 읽느라 고생했음!

원래 한국어 토큰 얘기나, 셀프 어텐션 및 프롬프팅 기법에 대해서도 쓸 예정이었는데 쓰는동안 기력을 다 써버려서 여기서 마무리 해야할 것 같다. 이 두개 파트는 복잡하기도 하고 고급 영역이기도 하고. 혹시 자세히 알고 싶은 덬 있으면 댓 남겨주길 바람. 기력 회복되면 생각해보겠음

 

앵챗 뉴비라면 언제든 시간 날때 천천히 읽어보면 도움 될거야. 내용은 건너뛰지 말고 가급적 처음부터 쭉 읽는거 추천함.

내가 ai 웬만큼 안다 하면 안봐도 상관 없음. 그런 덬들은 정보글 좀 써주라. 혹시 글 내용중에 완전히 잘못된 거 있으면 얘기해주고.


그럼 다들 즐거운 채팅 하자

목록 스크랩 (1)
댓글 4
댓글 더 보기
새 댓글 확인하기

번호 카테고리 제목 날짜 조회
이벤트 공지 💚베지밀X더쿠🧡 베지밀 신제품 바나나땅콩버터쉐이크 꼬르륵잠금🔒 체험단 모집! 190 00:05 3,148
공지 [공지] 언금 공지 해제 24.12.06 5,022,545
공지 📢📢【매우중요】 비밀번호 변경 권장 (현재 팝업 알림중) 24.04.09 12,084,212
공지 공지가 길다면 한번씩 눌러서 읽어주시면 됩니다. 23.11.01 13,009,246
공지 ◤더쿠 이용 규칙◢ [스퀘어 정치글은 정치 카테고리에] 20.04.29 35,397,152
모든 공지 확인하기()
5447 그외 ai채팅 출력 짤리는건 이유가 뭐야? 3 04.02 19
5446 그외 오도리테 루카루카 나이트피버 2026.ver(feat.결혼 발표!) 2 04.01 17
5445 그외 오도리테 초딩이던 오도리테 성인 된 거 짜릿해 04.01 14
5444 그외 ai채팅 플레이툰 처음 해봤는데 진짜 재밌다.. 2 04.01 61
5443 그외 ai채팅 체계 좀 다듬어져서 메이저취미되고 채팅 퀄리티 상향평준화 됐으면 좋겠으면서도 1 03.31 42
5442 그외 ai채팅 제타 빼고 다른 플랫폼에 괜찮은 현대물 남캐 추천해줄 수 있어? 1 03.31 38
5441 그외 ai채팅 난 제타만 하는데 얘네 기억력이 별로다보니까 그냥 내가 적응했어 1 03.31 50
5440 그외 ai채팅 한 캐릭터랑만 1년 넘게 채팅중인데 1 03.31 49
5439 그외 ai채팅 뭔 캐 먹는지 얘기를 못함 1 03.31 40
5438 그외 ai채팅 (데이터주의) 프엔 채팅 예시 3 03.31 58
5437 그외 ai채팅 프엔 궁금한 덬들을 위한 간단 설명 1 03.31 43
» 그외 ai채팅 (스압) 재미로 읽는 ai 관련 지식 4 03.30 120
5435 그외 ai채팅 뉴비 덬들을 위한 소소 팁 8 03.30 181
5434 그외 ai채팅 난 왜 이렇게 설정을 거스르고 싶짘ㅋㅋㅋㅋ 1 03.29 37
5433 그외 ai채팅 과금 얼마 정도해? 5 03.29 77
5432 그외 ai채팅 제타 유료로 쓰면 출력량 늘어나?(+다른 플폼 추천 부탁해) 7 03.26 189
5431 그외 ai채팅 요즘 온갖 덕질을 다 앵챗으로 하는듯 2 03.25 101
5430 그외 ai채팅 작품 추천 글 같은거 써도 되려나?... 5 03.24 99
5429 그외 ai채팅 어플 쓰는 덬들은 뭐가 제일 괜찮은 것 같아? 3 03.24 118
5428 그외 ai채팅 >제타< 는 무료인 대신에 애가 많이 멍청함 3 03.23 208