25년 가장 AI 분야에서 뜨거운 분야는 RAG와 AI Agent이다.
그럼 이게 왜 나왔고 무슨 뜻이고 등을 잘 정리된 글을 찾질 못해 공부차원에서 정리해보자
1. RAG와 AI Agent의 등장 배경
"왜 Data와 Model 크기가 AI 성능의 전부라고 생각해?"
GPT 계열의 발전은 대규모 사전학습(Pre-training)과 Prompting(In-context learning)에 기반해 Few-shot, One-shot, Zero-shot 학습이 가능해졌다는 점이 핵심이었다.
(특정 지역적인 지식은 Fine-tuning을 진행)
즉, GPT 3까지의 핵심은 Pre-training / In-context learning(Few-shot / One-shot / Zero-shot) 등을 강조했다.
본인도 GPT API 등을 호출할 때 Few-shot Learning을 고려하여 특정 Prompt를 실행한 후 사용자 Interact를 진행했다
GPT 4 부터 Muli-Modal (Text를 넘어선 이미지까지 이해) 에 Focus를 맞추고 사실 이때까지만 해도
데이터의 양 이랑 Model의 파라미터 크기 등에 크게 의존을 했다.
하지만 이를 기업들이 쓰기에는 서버가 모자라기도 하고
심지어 중국에서 "딥시크"라는 모델로 그렇게 큰 Data와 Model의 효율성에 대한 의구심이 들게 하였다
이러다 보니 지금의 RAG와 AI Agent 가 각광받게 된게 아닌가 싶다
RAG (외부 지식 연결)
AO Agnet(도구 사용 / 계획 수립)
즉, 여기서 부터 본인 생각이지만
~ GPT 4의 핵심은 아래의 두 가지 이고 이것이 지금의 다음과 같은 키워드로 발전하지 않았을까
- 이전(~GPT4) :Pre-training & Prompting/ In -context-Learning (Few/One/Zero Shot Learning) + Fine-Tuning
- 지금 : RAG
- 이전(~GPT4) : Mult-Modal
- 지금 : AI Agent
결과론적으로
AI를 만드는 곳은 빅테크 기업 MS , OpenAI 등에 한정되고 API를 긁어다가 서비스화 하던 시대에서
RAG 와 AI Agent를 이용해 요즘은 기업마다 본인들의 AI Agent를 개발하는 시대가 된 것 이다
2. RAG란 무엇인가?
RAG(Retrieval-Augmented Generation) :검색 증강 생성
앞서 말한 문제와 더불어 Pre-trained model의 문제점 3가지가 있다
1. Hallucination
- 모순된 정보를 진짜처럼 말하는 현상 (정보가 많으니깐 지도 헷갈리나봄 ;; )
2. 최신 정보 반영의 어려움
- 새로운 데이터기 생기면 또 Pre-training 시켜야 한다
3. 사용자 맞춤형 응답의 한계
- 일반적인 대답은 꽤나 잘해도 우리회사 혹은 내 자료에 대한 분석을 듣기 위해서는 어렵다
생각해보면 단순하게 해결한 문제일 수도 있다.
정답지를 모아둔 사전하나를 전달한 다음에
너 대답하기 전에 사전 전부 훑어보고 그거 기반으로 대답해 라고 하면 위애 문제들이 줄 것이다
즉, 기존 Pretrained-model 은 이미 학습한 정보 기반 답변이라면
RAG는 필요할 때마다 외부 데이터베이스에서 정보를 검색하고 최신 내용을 반영해주는 모델이다
(Retrieval : 검색해서 Augment 증강하여 Generation : 생성)
3. RAG의 답변 방법

위에 그림을 참고 하였을 때 크게
두 단계로 나눌 수 있고 그 세부적으로 5개의 Process를 거친다
- 검색 단계 (Retrieval)
- Embedding Machine (임베딩 변환)
- Vector Database (벡터 데이터베이스 검색)
- Relevant Snippets (관련 문서 조각) 반환
- 생성단계 (Generation)
- LLM (대규모 언어 모델 처리)
- Augmented Answer (검색 증강 답변) 출력
4. RAG 파이프라인
Pipeline으로 살펴 보면
< Input >
1. [Input] User Query(사용자 질문)를 받음
사용자가 질문을 "How do I do X?" 라고 질문을 하면
이 질문 자체는 기존 방법대로 LLM에게 넘겨져서 답변할 준비를 한다.
하지만 차이는 답변을 바로 하는 것이 아닌 Retrieval 이라는 검색 단계를 거친다
< Retrieval>
2. [Retrieval] 질문 임베딩(Query Embedding)
Embedding Machine 에서 자연어를 숫자로 변환하여 (벡터 임베딩) AI가 이해 할 수 있도록 한다
3. [Retrieval] 벡터 DB 유사성 검색(Vector DB Similarity Search)
그 벡터 표현(질문을 벡터로 바꾼 것)과 기존 저장된 데이터를 비교하여
관련된 정보를 벡터 데이터베이스 (예: FAISS, Chroma, Qdrant 등) 에서 검색한다

- 코사인 유사도를 통해 검색

# 코사인 유사도를 계산하는 함수
def cosine_similarity_sentence(sentence1, sentence2, model):
vec1 = sentence_to_vector(sentence1, model)
vec2 = sentence_to_vector(sentence2, model)
return cosine_similarity([vec1], [vec2])[0][0]

코사인 유사도 (Cosine Similarity) : -1 ~ 1 의 값을 가짐
1 : 동일하다
0 : 관련 없다
-1 : 반대의 의미를 가진다
4. [Retrieval] 관련 문서 추출 (Retrieve Relevant Documents)
검색된 문서 ID 기반으로, 실제 원문 텍스트 메타데이터 (출처, 날짜)등을 불러옴
< Generation>
5. [Generation] 프롬포트 구성 (Prompt Construction)
사용자 질문과 관련 문서를 조합하여 하나의 프롬포트(지시문)을 만듬
RAG 시스템에서는 아래와 같은 형태로 프롬포트를 구성
(구성을 어떻게 하는지는 사용자 역량이고 정교하게 짤 수록 좋은 성능을 보인다)
---------- [ 일반적인 형태 ] ----------
당신은 사용자의 질문에 대해 정확하고 신뢰할 수 있는 정보를 바탕으로 답변하는 도우미입니다.
다음은 참고할 수 있는 정보입니다:
{context} ← 벡터 검색을 통해 찾은 문서 청크들
질문:
{question} ← 사용자가 입력한 질문
---------- [ 출처 기반 문서가 있을 때 ] ----------
문서:
- (출처: 사내 가이드 문서, 2023) Spark 환경은 3월부터 버전 3.5로 업그레이드되었습니다.
- (출처: 보안 정책 변경 공지, 2024) 로그 수집 시 개인정보 마스킹이 필수로 적용됩니다.
질문:
우리 회사의 최신 데이터 정책에 대해 요약해줘.
---------- [ 포맷을 명시하고 싶을 때 (예: JSON 형식 요청) ] ----------
다음 정보를 참고하여 질문에 답변하세요.
응답은 아래 JSON 형식을 따르세요.
정보:
{context}
질문:
{question}
응답 형식:
{
"summary": "",
"source": "",
"keywords": []
}
출처: https://sidorl.tistory.com/70#google_vignette [잇킹 시도르:티스토리]
6. [Generation] LLM으로 전달 (Send to LLM)
위에서 생성한 프롬포트를 LLM에 전달함
7. [Generation] 답변 생성 (Answer Generation)
LLM이 프롬포트를 전달 받아서 최종 답변을 생성함.
Pre-trained 된 데이터를 기반으로 생성하지만 이 뿐만 아니라 전달 받은 프롬포트를 참고하여 답변을 구성
-> 이게 Hallucination 현상을 완화할 수 있다
8. [Output]사용자에게 답변 제공 답변 생성 (Provide Answer to User)
사용자에게 결과를 전달 한다.
Markdown 형식 등으로 이쁘게 꾸미던지, 출처나 추가 질문 등과
위에서 만든 답변을 합쳐서 제공
5. RAG vs Fine-tuning vs Pre-training
Pre-training : "모델의 기본 두뇌 만들기"
Fine-tuning : "특정 분야에 특화된 전문가로 훈련하는 과정"
RAG : "그 전문가를 도서관에 보내서 찾게 하는 과정"
사실 Pre-training은 모델을 민들 때 사용하고
Fine-tuning과 RAG가 비슷한 성격으로 묶이는데
아래와 같은 차이점이 존재한다.

6. AI Agent에 대해
엄밀하 말하면 AI Agent != LLM != GPT 이다.
같이 나오다 보니깐 혼용해서 사용하는데
추가자료
Attention is All you Need

Attention Mechanism

참고자료
https://health-coding.tistory.com/93
RAG, 랭체인 그게 뭔데??
AI 챗봇은 이제 우리 일상에서 중요한 역할을 하고 있습니다. 특히, LLM(Large Language Model, 대규모 언어 모델) 을 기반으로 한 대화형 AI 시스템이 점점 더 발전하고 있죠.하지만 여전히 해결해야 할
health-coding.tistory.com
RAG 질의응답 파이프라인: 유사도 검색부터 LLM 응답까지
앞서 우리는 RAG 시스템의 인덱싱 파이프라인을 정리해봤습니다. 이번에는 사용자가 질문을 던졌을 때, RAG 시스템이 어떤 과정을 거쳐 답변을 만들어내는지를 정리해보려 합니다.즉, "질문 → 정
sidorl.tistory.com
'AI Study > AI Agent' 카테고리의 다른 글
| [AI Agent] ollama 모델 Open Web ui 연동(Docker) (0) | 2025.10.29 |
|---|---|
| Ollama를 이용한 환경 세팅 (0) | 2025.10.27 |
| [AI Agent] Langchain의 기초 (0) | 2025.10.23 |
| [AI Agent] OPEN AI의 세가지 API (0) | 2025.10.23 |
| [AI Agent] OpenAI API 사용 방법 및 기초 코드 (0) | 2025.09.25 |