문서를 쪼개는 기술 - '청킹(Chunking)'

이미지
1. 문서 나누기의 중요성 RAG(Retrieval Augmented Generation, 검색 증강 생성)에서 문서를 ‘어떻게 나누느냐’는 질문, 단순한 것 같지만 AI 시스템의 성패를 좌우하는 핵심입니다 RAG 시스템의 핵심 구조는 다음 네 단계로 요약할 수 있습니다.  첫째, 사용자가 자연어로 질문을 입력합니다.  둘째, 질문과 관련된 정보를 벡터 데이터베이스에서 검색합니다.  셋째, 질문과 검색 결과를 언어 모델에게 함께 전달합니다.  넷째, 언어 모델이 이를 바탕으로 답변을 생성합니다.  이때 2단계에서 이루어지는 문서 검색의 정밀도를 좌우하는 요소가 바로 ‘문서 청킹’입니다. 문서를 너무 작게 쪼개면 문맥이 끊겨 오답이 발생하고, 반대로 너무 크게 쪼개면 언어 모델이 토큰 한계를 넘기 때문에 정보를 잘라내게 됩니다. 결국 중요한 건 “어디서, 어떻게 자를 것인가”의 문제입니다. 2. ETL 구조에서 본 청킹의 위치, ‘T’ – 트랜스폼 데이터 처리 과정에서 흔히 쓰이는 ETL(Extract, Transform, Load) 구조에서 청킹은 ‘T’, 즉 트랜스폼 단계에 해당합니다. AI가 문서를 이해할 수 있도록 정제하고 변환하는 과정이 바로 청킹입니다. 3. 가장 기본적인 캐릭터 기반 청킹 – CharacterTextSplitter 문자를 일정 단위로 잘라내는 가장 단순한 방식이 바로 캐릭터 기반 청킹입니다. 예를 들어 문자 500개 단위로 자르고, 앞뒤 청크가 200자씩 겹치도록(overlap) 설정하면 맥락이 어느 정도 유지됩니다. 하지만 줄바꿈(\n)을 기준으로 자르도록 설정했을 경우, 줄바꿈 없이 이어지는 문장은 너무 길어져 청크 크기를 지키지 못하는 상황도 생깁니다. 단순하지만 한계가 분명한 방법입니다. 4. 실무에서 가장 많이 쓰이는 리커시브 청킹 – RecursiveCharacterTextSplitter 리커시브 방식은 여러 개의 구분자(줄바꿈, 마침표, 쉼표 등)를 순차적으로 적용해 문서를 최대...

검색 증강 생성(RAG)의 개념과 구조

1. ChatGPT 이후, 챗봇은 어떻게 달라졌나? ChatGPT가 등장하면서 많은 사람들의 관심은 '나만의 챗봇을 만들 수 있을까?'라는 질문으로 옮겨갔습니다. 그런데 막상 만들려고 하면, 단순히 프롬프트만으로는 한계가 느껴지고, 어느 순간 '검색 증강 생성(RAG)'이라는 개념과 마주하게 됩니다. 이 RAG라는 구조가 무엇이며, 왜 중요한지 하나씩 살펴보겠습니다. 기존의 챗봇은 대부분 시나리오 기반으로 작동했습니다. 예를 들어, 사용자가 특정 질문을 하면 미리 정해놓은 시나리오 흐름에 따라 응답하는 방식이죠. 반면 ChatGPT 같은 최신 챗봇은 자연어로 된 질문에서 의도를 파악하고 그에 맞는 답변을 생성합니다. 바로 이 점이 기존 챗봇과 가장 큰 차이라고 할 수 있습니다. 2. RAG란 무엇인가? 핵심은 ‘내 데이터로 답변하기’ GPT 모델은 인터넷 데이터를 기반으로 학습되었기 때문에, 특정 기업 내부 문서나 교재 같은 개인화된 정보에는 약합니다. 이럴 때 필요한 방식이 바로 '검색 증강 생성(RAG)'입니다. 내가 올린 데이터를 검색하고, 그 검색 결과를 바탕으로 답변을 생성하는 구조죠. RAG는 다음과 같은 흐름으로 작동합니다. 사용자의 질문이 들어오면, 우선 그 질문을 ‘임베딩’이라는 과정을 통해 벡터로 변환합니다. 그리고 벡터 데이터베이스에 저장된 문서들과 비교하여 가장 유사한 내용을 찾아냅니다. 이렇게 검색된 내용을 GPT 같은 언어 모델에게 질문과 함께 전달하면, 모델은 이 정보를 바탕으로 적절한 답변을 생성합니다. 3. RAG 구조의 핵심 구성요소 RAG 구조에는 다음과 같은 주요 구성요소들이 있습니다. 첫째, 문서 가공 단계입니다. 우리가 사용하는 문서들(PDF, DOCX, HTML 등)은 그대로 사용되기도 하지만, 대부분 토큰 제한 문제로 ‘나누기’ 작업이 필요합니다. 일반적으로는 문서의 주제 기준으로 나누는 것이 가장 범용적입니다. 예를 들어 계약서라면 제목, 부제목, 주요 조항 등으로 나눌 수...

딥시크, AI 개발의 판을 흔들다: 싸게, 빠르게, 창의적으로

1. 늦게 왔지만 강력하게 등장한 딥시크 요즘 AI 시장을 조금이라도 들여다봤다면 '딥시크(DeepSeek)'라는 이름을 한 번쯤은 들어보셨을 겁니다. 그런데 이 이름, 단순히 가격이 싸서 화제가 된 건 아닙니다. 많은 매체들이 "오, GPT랑 성능 비슷한데 가격은 이만큼밖에 안 해!"라고 외치고 있지만, 진짜 중요한 질문은 이겁니다. "어떻게 그게 가능했을까?" 오늘은 딥시크가 어떻게 기술적으로 이 가격 경쟁력을 확보했는지를 깊이 있게 살펴보려 합니다. 단순한 벤치마킹을 넘어, 개발자들의 말 그대로 하드캐리가 이뤄낸 결과이기 때문입니다. 2. 딥시크가 맞서야 했던 세 가지 현실 딥시크는 몇 가지 절망적인 조건 속에서 시작했습니다. 첫째, 시장의 후발 주자였습니다. 이미 오픈AI, 메타, 앤트로픽 같은 선도 기업들이 시장을 장악하고 있었죠. 둘째, 성능 좋은 GPU가 부족했습니다. 미국이 금지한 최신 GPU 대신 H800 같은 저사양 GPU로 승부해야 했습니다. 셋째, 막대한 자금력도 없었습니다. 소프트뱅크의 전폭적인 지원을 받는 기업들과는 달랐죠. 그런데 이 모든 불리한 조건을 극복하고 존재감을 드러낸 딥시크. 그 비결은 무엇이었을까요? 3. 지식 증류, 선두를 따라잡는 가장 빠른 방식 딥시크가 채택한 첫 번째 전략은 '지식 증류(Knowledge Distillation)'입니다. 이미 훈련된 대형 AI 모델들에게 질문을 던지고 그들의 답변을 바탕으로 자신들의 모델을 빠르게 훈련시키는 방식입니다. 마치 아인슈타인과 몇 시간만 인터뷰해도 천재가 될 수 있다는 것처럼, 이들은 GPT 같은 기존 모델에게 배움을 청한 겁니다. 이 방식은 빠르고 비용 효율적입니다. 오픈AI가 수천억 개의 토큰으로 모델을 처음부터 훈련시킨 것과는 다르게, 딥시크는 며칠 만에 유사한 수준의 성능을 내는 모델을 만들 수 있었습니다. 기술적으로야 합법이지만, 오픈AI는 딥시크가 자신들의 응답을 몰래 학습 데이터로 사용했다고 의...

MCP란 무엇인가 – 인공지능이 진짜 ‘일’을 하기 시작했다

1. AI 발전, 반가움보다 부담이 먼저 오는 이유 요즘 AI 기술은 그야말로 숨 가쁘게 진화하고 있습니다. ChatGPT는 이제 단순히 질문에 답하는 걸 넘어, 그림을 그리거나 복잡한 수학 문제를 풀고, 데이터를 시각화하는 작업까지 거뜬히 해내고 있죠. 하지만 이런 발전이 항상 반갑지만은 않습니다. 너무 빠른 변화에 '나만 뒤처지는 건 아닐까' 하는 불안감이 드는 것도 사실이니까요. 그래서 오늘은 이런 부담을 조금이나마 덜 수 있도록, 요즘 화제가 되고 있는 MCP라는 키워드에 대해 쉽고 자세하게 풀어보는 시간을 준비했습니다. 새로운 기술을 이해하고 직접 다뤄볼 수 있다면, 불안은 곧 흥미와 가능성으로 바뀔 수 있으니까요. 2. 인공지능이 마법을 부리는 이유: 손에 쥐어진 '도구들' 우리가 ChatGPT나 그록(Grok) 같은 생성형 AI를 사용할 때, 단순히 문장만 생성하는 게 아니라 다양한 작업을 해내는 모습을 볼 수 있습니다. 예를 들어 이미지 생성, 검색, 코드 실행 등은 이 AI가 본래 갖고 있던 능력이라기보다는, AI에게 특정 기능을 수행하는 도구들을 쥐어주었기 때문에 가능한 일이었습니다. 즉, AI는 원래 ‘말을 잘하는 존재’였지만, 여기에 각종 도구들을 쥐어주자 실제 행동까지 가능한 ‘행동하는 존재’로 확장된 셈이죠. 이것이 바로 AI가 에이전트로 진화해가는 과정입니다. 3. 클로드는 노는 줄 알았는데… MCP를 들고 나타났다 그동안 클로드는 답변 생성에 집중하면서 검색이나 외부 도구 사용 등에서는 다소 제한적인 모습을 보여왔습니다. 그래서 상대적으로 조용한 느낌이었죠. 하지만 최근, 클로드가 MCP(Multi-Modal Control Protocol)를 세상에 공개하며 판을 뒤흔들고 있습니다. MCP는 기존에 AI가 제한적으로만 사용하던 몇 가지 도구에서 벗어나, 누구나 직접 AI가 사용할 수 있는 도구(프로그램)를 만들어 제공할 수 있도록 해주는 표준화 방식입니다. 4. 모든 인공지능의 손에 맞는 '표준 ...

엔비디아가 꿈꾸는 미래, 월드 모델과 함께 여는 새로운 AI 생태계

  1. 더 이상 주가를 움직이지 않는 GTC, 그런데 왜 중요할까? 얼마전 엔비디아의 최대 연례 행사 GTC가 있었습니다. 예전 같으면 젠슨 황의 발표 하나에 시장이 들썩이고, 주가는 상승 곡선을 그렸을 겁니다. 하지만 이번엔 달랐습니다. 주가는 별다른 움직임 없이 조용했고, 분위기도 이전만큼 뜨겁진 않았습니다. 언론에선 AI 관련 기사들이 쏟아지지만, 실제로 무엇이 달라지는 건지 와닿지 않고, 새롭게 등장하는 용어들에선 혼란만 커질 뿐입니다. 그래서 ‘도대체 엔비디아가 진짜 그리고 있는 미래는 무엇인가’라는 질문의 답을 찾아보겠습니다. 2. 딥러닝의 데모, 페이리와 이미지넷의 시대 2006년, 스탠퍼드의 컴퓨터 비전 연구실을 이끌던 페이리는 딥러닝 시대의 문을 여는 거대한 프로젝트 하나를 시작합니다. 바로 이미지넷입니다. 천만 건이 넘는 이미지 데이터를 무료로 제공하고, 이를 분류하는 대회를 함께 운영했죠. 그리고 2012년, 이 대회에서 세상을 놀라게 한 팀이 등장합니다. 슈퍼비전입니다. 당시 다른 팀들이 20~30% 수준의 오답률을 기록할 때, 슈퍼비전은 15.3%라는 경이적인 성과를 냈습니다. 이 팀을 이끈 인물은 바로 제프리 힌턴, 그리고 그의 제자 알렉스 크리제브스키, 일리야 수츠케버였습니다. 이들은 기존 방식 대신 딥러닝을 활용했고, 그 딥러닝을 구동하기 위해 엔비디아의 GPU와 쿠다가 사용되었습니다. 이 순간, 딥러닝이 AI의 주류가 되었고, 엔비디아는 AI 시대의 필수 인프라가 됩니다. 3. AI 3대장과 엔비디아 생태계의 탄생  이후 제프리 힌턴과 그의 제자들은 AI 스타트업인 DNN리서치를 만들고, 구글이 이를 인수합니다. 이에 맞서 페이스북은 얀 르쿤을 초청해 뉴욕에 FAIR라는 AI 연구소를 세웁니다. 여기에 요슈아 벤지오까지 합세해, 이들은 선의의 경쟁과 협업을 거듭하며 AI 생태계를 이끌게 됩니다. 삼성전자 역시 2017년 캐나다 몬트리올에 있는 벤지오의 연구소와 협력하며 발을 담갔습니다. 그리고 2018년, 이 세...

바이브 코딩의 시대, 개발자의 존재 이유

요즘 개발계에서 가장 핫한 이슈는 단연코 ‘입코딩’입니다. 말 그대로 키보드를 거의 건드리지 않고 입으로 코딩을 끝내는 시대가 도래한 겁니다. 이른바 ‘바이브 코딩(Vibe Coding)’이라는 신조어까지 생겼습니다. 말의 뉘앙스를 그대로 따라가보면 "그냥 바이브에 맡겨라, 코드가 있는지조차 잊어버려라"는 식입니다. 이제 인간의 자연어만으로도 AI는 코드를 생성하고, 심지어 바로 적용까지 할 수 있습니다. 1. 커서(Cursor) AI 최근 등장한 커서(Cursor) 같은 도구는 그야말로 게임 체인저입니다. 비주얼 스튜디오 코드에 붙어 있는 확장 프로그램인데, 사용자의 명령어를 바탕으로 코드 베이스 전체를 분석해 정확히 필요한 위치에 필요한 코드를 ‘자동’으로 삽입해 줍니다. 복사-붙여넣기조차 필요 없습니다. 명령만 하면 끝입니다. 2. AI 없으면 코딩 못 하는 세대의 등장 최근 2년 내 코딩을 시작한 이들 중 상당수는 AI 없이 코딩을 해 본 적이 없습니다. 손으로 직접 코드를 써본 경험이 없는 ‘AI 네이티브’ 세대가 등장한 것이죠. 이들은 코드 작성 능력보다는 도구 활용 능력을 통해 프로덕트를 만들고 문제를 해결합니다. 실제로 미국 스타트업 창업자 중 25%가 “우리 서비스의 95% 코드는 AI가 짜줬다”고 말합니다. 개발자 없이도 서비스가 가능하다는 말이 낯설지 않은 시대입니다. 3. 그럼에도 불구하고 ‘개발 지식’은 여전히 필요하다 하지만 AI가 모든 것을 해결해 주는 것은 아닙니다. 코드를 직접 작성하지 않더라도, 적어도 그것을 ‘읽고’, ‘디버깅’하고, ‘판단’할 수 있는 능력은 필수입니다. 특히 AI가 작성한 코드가 좋은 코드인지, 중복되거나 비효율적인지는 스스로 판단해야 합니다. 아무리 바이브 코딩을 하더라도, LM이 엉뚱한 출력을 내놓을 수 있다는 사실을 간과해선 안 됩니다. 4. 디버깅은 여전히 인간의 몫 AI는 새로운 코드를 ‘생성’하는 데는 탁월하지만, 이미 작성된 코드를 ‘분석’하거나 시스템 전반을 이해해 디버깅하는...

바둑에서 시작된 AI 혁명에 대한 단상

1. 바둑계에 먼저 도착한 미래 알파고가 이세돌 9단을 꺾던 그 순간, 바둑계는 인공지능 시대의 가장 선두에서 충격을 맞았습니다. 당시 세계 최강급 기사들조차 “이해할 수 없다”고 말했던 AI의 수법은 시간이 흐른 뒤에야 그 진가를 인정받았습니다. 바둑을 두는 방식 자체가 완전히 바뀌었고, ‘AI 포석’이라는 새로운 체계가 자리잡았습니다. 수천 년 간 이어져 내려온 정석은 “역사적 가치밖에 없다”는 평가를 받으며 폐기됐고, 젊은 기사들은 AI 사고방식을 철저히 연구하여 세계 최정상에 올랐습니다. 2. 인간만의 바둑은 밀려났다 알파고 이후, 많은 기사들이 “AI가 둘 수 없는 인간만의 바둑을 두겠다”고 선언했습니다. 그러나 현실은 정반대였습니다. 인간만의 감성이나 직관으로 두는 바둑은 점점 도태되었고, AI가 추천한 수를 얼마나 정확히 따라가는지가 경기력의 핵심이 되었습니다. 팬들도 이제는 프로 기사들이 AI 추천수에 얼마나 근접한 수를 두는지를 평가하며, 해설자의 권위도 AI와 비교되기 시작했습니다. 바둑의 성격이 완전히 바뀐 것입니다. 3. 바둑은 더 이상 도(道)가 아니다 과거에는 바둑을 통해 인격을 닦고, 사유의 깊이를 쌓는다는 이야기가 많았습니다. 바둑 학원에서는 예의를 배우고 집중력과 인내심을 기르며, 이기고 지는 법을 배우는 곳이었습니다. 그러나 지금은 “네가 틀렸다고 말하지 않고, AI는 뭐라고 말했는지 보자”고 가르치는 시대입니다. 인간이 가르치는 바둑은 더 이상 최고 수준이 아니며, 바둑 교육의 성격 자체가 변화하고 있습니다. 4. AI가 기준이 된 세상 AI는 수 하나하나에 대해 “이 수를 두면 승률이 4.9% 떨어진다”고 말합니다. 10년 전만 해도 바둑인들이 “말도 안 된다”고 일축했을 이야기입니다. 그러나 지금은 대부분이 수긍합니다. 왜냐하면 AI가 바둑을 제일 잘 두기 때문입니다. 더 무서운 것은, AI가 왜 그 수를 두는지 아무도 모른다는 사실입니다. 만든 사람도, 최고 기사도 이해하지 못합니다. 우리는 이제 “그 수가 맞으니까 맞다...