챗봇Chatbot
사람과 글이나 말로 주고받는 대화 프로그램
- 챗봇은 사람이 던진 말을 받아 답을 돌려주는 프로그램이에요. 창구에 사람 대신 앉아 있는 자리예요.
- 예전 챗봇은 정해진 규칙과 대본으로 움직였어요. 목록에 없는 질문 앞에서는 그대로 멈췄어요.
- 요즘 챗봇은 언어 모델이 그 자리에서 문장을 지어내요. 처음 보는 질문에도 답이 나와요.
- 지어내는 힘은 약점이기도 해요. 없는 사실도 그럴듯하게 말할 수 있어서, 회사 자료를 함께 찾아 읽히는 방식을 써요.
- 대화가 이어지는 것처럼 보이는 건 앞의 대화를 매번 통째로 다시 넣어 주기 때문이에요.
목차
1비유로 이해하기
고객센터에 전화를 걸면 먼저 안내 목소리가 나와요. 요금은 1번, 배송은 2번. 번호를 누르면 미리 준비된 안내가 흘러나오고, 목록에 없는 것을 물으면 안내는 처음 자리로 돌아가요. 사람 대신 창구에 앉아 묻고 답하는 이 자리가 챗봇이에요.
예전 창구에는 대본이 있었어요. "환불"이라는 말이 들리면 환불 안내를 읽고, "배송"이 들리면 배송 안내를 읽어요. 대본에 없는 말이 나오면 다시 처음부터 물어요. 답이 틀릴 일은 없지만, 조금만 다르게 물어도 통하지 않아요.
지금의 창구는 대본을 읽지 않고 그 자리에서 문장을 지어요. 준비해 둔 목록에 없던 질문에도 말이 되는 답이 나와요. 대신 안내문에 없는 내용까지 그럴듯하게 지어낼 수 있다는 게 새로운 걱정거리가 됐어요.
2자세히 알아보기
대본을 읽던 시절
초기 챗봇은 규칙 목록이었어요. 들어온 문장에서 미리 정해 둔 낱말을 찾고, 그 낱말에 붙여 둔 답을 그대로 내보내요. 조금 발전한 형태는 문장을 먼저 몇 갈래의 용건으로 분류한 다음, 갈래마다 준비된 답을 꺼냈어요.
이 방식의 장점은 분명해요. 답이 미리 검토된 문장이라 회사가 하지 않은 말이 나갈 일이 없고, 왜 그 답이 나왔는지 설명할 수 있어요. 지금도 규정이나 금액을 안내하는 자리에는 이 방식이 남아 있어요.
문제는 사람이 늘 다르게 묻는다는 점이었어요. "환불 되나요", "돈 돌려받고 싶은데요", "이거 물러도 돼요?"를 모두 같은 용건으로 잡으려면 예문을 수천 개씩 손으로 채워야 했어요. 새 상품이 나올 때마다 그 일을 처음부터 다시 했고요.
문장을 지어내는 창구로
지금의 챗봇은 대본을 고르지 않아요. 앞에 놓인 말 뒤에 이어질 말을 한 조각씩 골라 붙이면서 답을 만들어 나가요. 그래서 준비해 둔 적 없는 질문에도 답이 나오고, 같은 질문에 매번 조금씩 다른 문장이 돌아와요.
같은 이유로 말투도 바꿀 수 있어요. 친절하게, 짧게, 존댓말로 같은 지시를 앞에 얹어 두면 답의 결이 통째로 달라져요. 예전 방식에서는 말투를 바꾸려면 대본을 전부 다시 써야 했어요.
회사 자료를 함께 읽혀요
언어 모델은 세상의 글로 배웠지, 우리 회사의 환불 규정은 몰라요. 모르는 채로 물으면 세상 어딘가의 규정을 섞어 그럴듯한 문장을 만들어 버려요.
그래서 요즘 상담 챗봇은 답을 만들기 전에 사내 문서에서 질문과 관련된 대목을 먼저 찾아요. 찾아낸 대목을 질문과 함께 모델에게 건네주고, 이 내용을 근거로 답하라고 시키는 방식이에요. 이 방법을 RAG (Retrieval-Augmented Generation, 검색 증강 생성)라고 불러요.
이렇게 하면 규정이 바뀌었을 때 모델을 다시 학습시키지 않고 문서만 갈아 끼우면 돼요. 답에 어느 문서의 몇 쪽을 봤는지 붙일 수 있다는 것도 큰 이점이에요.
기억하는 것처럼 보이는 이유
챗봇은 기본적으로 매번 처음 만나는 상태예요. 대화가 이어지는 것처럼 보이는 건, 새 질문을 보낼 때마다 앞서 오간 대화를 통째로 다시 붙여서 함께 보내기 때문이에요.
그래서 대화가 길어지면 두 가지 일이 생겨요. 매번 보내는 양이 늘어 답이 느려지고, 한 번에 넣을 수 있는 한도를 넘으면 앞부분부터 잘려 나가요. 한참 이야기하다 처음에 알려 준 이름을 잊은 것처럼 구는 건 이 때문이에요. 그래서 긴 상담에서는 지난 대화를 짧게 요약해 두었다가 그 요약만 다시 넣는 방식을 써요.
답만 하지 않고 일도 해요
요즘 상담 창구는 안내에서 그치지 않아요. 주문 번호를 받아 배송 조회를 부르고, 예약을 바꾸고, 처리가 어려우면 사람 상담원에게 넘겨요. 모델이 직접 처리하는 게 아니라, 어떤 기능을 어떤 값으로 불러야 하는지를 정해 주고 실제 실행은 프로그램이 해요.
그래서 잘 만든 챗봇에는 답을 못 하는 자리가 분명하게 설계돼 있어요. 확실하지 않으면 사람에게 넘기고, 돈이 오가는 일은 반드시 한 번 더 확인하게 만드는 식이에요.
3조금 더 정확하게
챗봇은 특정 기술의 이름이 아니라 대화 형식으로 동작하는 프로그램 전체를 부르는 말이에요. 안쪽에는 규칙 목록이 들어 있을 수도, 용건을 분류하는 모델이 들어 있을 수도, 언어 모델이 들어 있을 수도 있어요. 화면만 보고는 구별하기 어렵고, 실제 서비스는 여러 방식을 자리마다 나눠 쓰는 경우가 많아요.
비유가 어긋나는 지점도 있어요. 창구의 상담원은 모르는 것을 모른다고 말할 수 있어요. 문장을 지어내는 챗봇은 어울리는 말을 이어 붙이는 방식이라, 모른다는 사실 자체를 잘 알아채지 못해요. 자신 없는 답과 자신 있는 답이 겉보기에 똑같이 매끄럽게 나오는 것도 그래서예요. 상담원은 어제 통화를 기억하지만 챗봇은 지난 대화를 다시 넣어 주지 않으면 백지 상태로 시작한다는 점도 달라요. 그래서 실제 서비스에는 답이 나가기 전에 걸러 내는 장치가 따로 붙어요. 다루면 안 되는 주제를 막고, 개인정보가 섞이면 지우고, 확신이 낮으면 사람에게 넘기는 규칙을 모델 바깥에 두는 방식이에요.
4직접 해보기
5흔한 오해
챗봇이 사람처럼 뜻을 이해한다고 생각하기 쉽지만, 실제로는 앞의 말에 가장 어울리는 말을 골라 잇는 일에 가까워요.
챗봇이 그 회사 규정을 다 알고 있다고 여기기 쉽지만, 실제로는 자료를 따로 찾아 넣어 주지 않으면 규정 비슷한 문장을 지어내요.
챗봇이 대화를 기억한다고 생각하기 쉽지만, 실제로는 지난 대화를 매번 다시 넣어 주는 것이고 넣지 않으면 처음 만난 것처럼 굴어요.
7한 줄 요약
그러니까챗봇은 창구에 앉아 묻고 답하는 프로그램이고, 정해진 대본을 읽던 자리에서 그 자리에서 문장을 지어내는 자리로 바뀌었어요.
잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02