
어제 옆자리 동료가 챗GPT로 보고서 초안을 뚝딱 만들어 냈다. 회의에서는 API 연동이니 RAG니 하는 말이 아무렇지 않게 오가고, 위에서는 AI를 업무에 활용하라고 한다. 그런데 무엇을 물어야 하는지, 받은 답을 믿어도 되는지, 이 일을 AI에게 맡겨도 되는지는 아무도 알려 주지 않는다.
사내 챗봇을 검토해야 하는 자리라면 막막함은 더 커진다. 챗GPT는 우리 회사 규정을 배운 적이 없는데 어떻게 아는 것처럼 답할까. 그 답은 어디까지 믿고, 무엇을 확인해야 할까.
챗GPT 같은 AI가 대화를 기억하는 것처럼 보이는 이유는 모델이 기억하기 때문이 아니라, 시스템이 지난 대화를 매번 다시 넣어 주기 때문이다. 결론부터 말하면, AI 모델 자체는 우리와 나눈 대화를 단 1초도 기억하지 못한다.
챗GPT는 질문의 뜻을 깊이 이해하고 답하는 철학자가 아니라, 방대한 텍스트를 학습한 확률적 앵무새에 가깝다. 이 앵무새의 특기는 '이어 말하기'다. "사과..."를 던지면 그 뒤에 자연스럽게 이어질 문구의 확률을 계산하는 것이다.

예를 들어 "사과" 뒤에는 "는 맛있다"가 70%, "는 빨갛다"가 20%, "는 비싸다"가 9%, "는 파랗다"가 1%로 계산되고, AI는 이 중 확률이 높은 "는 맛있다"를 선택해 내뱉는다. 항상 1위만 고르는 것은 아니고, 설정에 따라 2위나 3위를 고르기도 하는데, 이를 기술 용어로 다음 토큰 예측(next token prediction)이라고 한다.
진실 여부를 판별하는 능력이 없으므로, 문장이 통계적으로 자연스러우면 진실처럼 내놓는다. AI가 가끔 거짓말(hallucination, 환각)을 하는 이유이다. "이순신 장군이 탔던 거북선의 엔진 마력은?"이라고 물었을 때 '거북선'과 '엔진'이라는 단어가 조합될 확률을 계산해 그럴듯한 숫자를 찍어내는 것이다.
우리가 쓰는 AI는 사실 초단기 기억상실증 환자와 같다. AI가 답변을 내뱉는 순간 우리가 무엇을 질문했는지, 또 자신이 무슨 말을 했는지 바로 초기화되어 버린다. 이를 기술적으로 상태 없음(stateless)이라고 한다.
그런데 어떻게 기억하는 것처럼 대화를 이어 나갈 수 있을까? 바로 시스템이 전달해주는 컨닝페이퍼 덕분이다. 시스템은 [지금까지의 전체 대화 내용 + 새로운 질문]을 하나의 긴 문장으로 묶어 AI에게 다시 전달한다. AI는 이를 처음 보는 문장처럼 읽고 뒤에 이어질 말을 예측한다.

문제 풀이용 백지를 딱 한 장만 받을 수 있는 수학 시험을 생각해 보자. 풀이가 길어지면 앞부분을 지우고, 다시 써야할 것이다. AI 또한 그렇다. 한 번에 읽을 수 있는 분량에 한계가 있다. 이 분량을 글자 수가 아니라 토큰 수로 센 것이 컨텍스트 윈도우(context window)다. 대화가 길어지면 옛날 일을 까먹는 이유가 바로 여기에 있다. 물론 더 많이, 더 오래 기억할 수 있는 AI 서비스도 있지만, 비싸다. 비용이 넣은 데이터양에 비례해 발생하기 때문이다.
개발자가 "토큰 비용 최적화가 필요합니다"라고 말할 때의 사정이 이것이다. 이 구조를 알면 AI가 왜 긴 대화에서 흐트러지는지, 회사 문서를 통째로 넣는 방식이 왜 실패하는지 읽을 수 있다.
친구들과의 여행에서 입을 가볍고 편하면서도 예쁜 옷을 사려고 한다. 하지만 몇 시간을 컴퓨터 앞에 앉아 검색해도 온라인 쇼핑몰에서는 마음에 드는 옷이 나오지 않는다. 반면, 옷 가게에서 점원에게 같은 내용을 물어보면 어떨까? 점원은 손님의 '의도'를 파악하고 캐주얼하면서도 예쁜 옷을 가져다 줄 것이다.

우리가 AI에게 기대하는 것은 바로 이 '의도 파악'이다. 단어가 달라도 맥락을 이해하는 능력. 알아서 잘 딱 깔끔하게! 말이다.
AI는 사람이 아닌데 어떻게 맥락 파악을 할 수 있을까? 비밀은 데이터를 저장하는 방식인 벡터(Vector)에 있다. AI는 단어를 글자로 찾지 않고, 텍스트를 숫자 좌표(벡터)로 바꾼 뒤 의미가 가까운 문서를 거리로 계산해 찾아온다. 그래서 직원이 "식비"라고 물어도 규정집의 "중식대"를 찾을 수 있는 것이다.
과거 컴퓨터는 도서관 사서처럼 '가나다순'으로 단어를 정리했다. '슬픔'은 'ㅅ' 서가에, '눈물'은 'ㄴ' 서가에 있어 서로 멀리 떨어져 있었다. 하지만 AI는 단어들을 우주 공간에 뿌려놓고 다시 정리한다. 기준은 철자가 아니라 '비슷한 맥락에서 함께 쓰이는가'다. 의미가 비슷한 문장은 가까이, 다른 문장은 멀리 놓인다. 숫자는 원리를 보여 주기 위한 가상의 예시다.

옛날이나 지금이나 컴퓨터는 숫자밖에 모른다. 우리가 주는 정보를 컴퓨터가 이해하도록 하기 위해 텍스트를 여러 개의 숫자로 이루어진 벡터로 바꾸는데, 이 과정을 임베딩(embedding)이라고 한다.
예를 들어 "분위기 좋은 카페"와 "조명이 예쁜 카페"는 숫자가 서로 비슷하고, "시끌벅적한 장터"는 완전히 다르다. 실제 검색에서는 코사인 유사도 같은 계산으로 두 벡터가 얼마나 가까운지 재는 것이다.

이제 사내 챗봇으로 돌아가 보자. 직원이 "식비는 얼마까지 지원되나요?"라고 묻는다. 회사 규정에는 '밥값'이라는 단어가 없고 '중식대 지원 규정'이라고만 써 있다.
기존 키워드 검색은 '결과 없음'을 띄우지만, 벡터 검색은 '밥값'과 '중식대'가 의미의 우주에서 가까이 있음을 알고 해당 규정을 찾아온다. 다만 실제 서비스는 벡터 검색만 쓰지 않고 키워드 검색, 인기도, 사용자 행동 같은 신호를 함께 섞어 순서를 정한다.
이렇게 벡터 검색으로 관련 문서를 찾아 AI에게 전달하는 기술이 바로 다음에 설명할 검색 증강 생성(Retrieval-Augmented Generation,RAG)이다.
RAG는 벡터와 LLM을 결합한 기술이다. 사용자가 "야근 식대 얼마야?"라고 물으면 내부에서는 다음 순서로 일이 진행된다.

AI는 사실 규정집을 외운 적이 없다. 그저 질문이 들어올 때마다, 관련된 페이지를 실시간으로 참조해서 답한다. 그래서 틀릴 확률이 크게 낮아지는 것이다. 다만 엉뚱한 페이지를 찾아오거나 근거를 잘못 읽으면 여전히 틀릴 수 있다. 그러니 AI의 답과 함께 어떤 문서를 근거로 삼았는지도 확인해야 한다.
AI가 대화를 기억하는 것처럼 보여도 실제로는 시스템이 앞선 대화와 필요한 정보를 다시 전달하고, 회사 규정을 아는 것처럼 보여도 관련 문서를 찾아 참고하는 방식으로 답하는 경우가 많다. 결국 AI의 답은 ‘무엇을 알고 있느냐’보다 ‘어떤 정보를 전달받았고, 무엇을 근거로 답했느냐’에 크게 좌우된다.
그래서 AI가 자연스럽고 그럴듯하게 답했다는 사실만으로는 충분하지 않다. 어떤 문서를 참고했는지, 그 자료가 최신인지, 질문과 관련된 내용을 제대로 찾았는지, 답변이 원문과 어긋나지 않는지 확인하는 과정이 필요하다. 특히 회사 규정이나 정책처럼 숫자 하나, 조건 하나가 중요한 정보는 더 그렇다.
AI는 필요한 정보를 빠르게 찾고, 정리하고, 문장으로 만들어 주는 데 강하다. 하지만 어떤 일을 맡겨도 되는지, 어떤 답은 다시 확인해야 하는지, 어디까지 신뢰할 수 있는지를 결정하는 역할까지 대신해 주는 것은 아니다. AI가 답을 만드는 속도는 빨라졌지만, 그 답의 근거와 한계를 이해하고 최종적으로 판단하는 일은 여전히 사람의 몫이다.
위 콘텐츠는 『AI 쓰는 어른의 IT 상식』내용을 기반으로 작성하였습니다.

최신 콘텐츠