LLM을 "써보는 것"에서 "서비스로 만드는 것"으로 넘어가려는 분을 위한 출발점입니다. LLM 애플리케이션의 전체 구조, RAG·Agent·파인튜닝 중 무엇을 언제 쓰는지, 프레임워크 지형도, 평가·운영까지 — AI 실전 개발 카테고리의 가이드를 어떤 순서로 보면 되는지 로드맵으로 정리합니다.
LLM을 "써보는 것"에서 "서비스로 만드는 것"으로 넘어가려는 분을 위한 출발점입니다. LLM 애플리케이션의 전체 구조, RAG·Agent·파인튜닝 중 무엇을 언제 쓰는지, 프레임워크 지형도, 평가·운영까지 — AI 실전 개발 카테고리의 가이드를 어떤 순서로 보면 되는지 로드맵으로 정리합니다. 이 가이드는 개념을 나열하기보다, 실제 프로젝트에서 판단해야 하는 순서대로 내용을 따라갈 수 있게 구성했습니다.
핵심 관점
AI / LLM 시스템
모델과 프롬프트만 보지 않고, 데이터 흐름, 평가, 배포 이후의 운영 지표까지 한 번에 연결해서 봅니다.
LLM 앱 구조 이해RAG vs Agent vs 파인튜닝 선택프레임워크 지형도AI 서비스 학습 순서평가·운영 기초
구조 다이어그램
글로 읽은 내용을 머릿속에 오래 남기려면 먼저 흐름을 그림으로 잡는 편이 좋습니다. 아래 두 그림은 AI 실전 입문 & 로드맵를 학습할 때 계속 되돌아볼 수 있는 기준 지도입니다.
학습 흐름
다이어그램 렌더링 중…
아키텍처 관점
다이어그램 렌더링 중…
LLM 애플리케이션의 큰 그림
AI 실전 입문 & 로드맵를 처음 펼칠 때는 세부 명령보다 큰 그림이 먼저입니다. 이 섹션에서는 앞으로 배울 개념들이 어떤 문제를 풀기 위해 등장했는지부터 잡아봅니다.
ChatGPT 화면에서 질문하는 것과 LLM을 서비스에 넣는 것은 완전히 다른 일입니다. 서비스에서는 내 데이터(사내 문서, DB)를 연결해야 하고, 외부 시스템(검색, 결제, 메일)과 연동해야 하며, 답변 품질·비용·속도를 지속적으로 관리해야 합니다.
그래서 LLM 앱은 "모델 호출" 한 줄이 아니라 입력 처리 → 컨텍스트 구성(검색) → 모델 호출 → 도구 실행 → 출력 검증 → 로깅·평가로 이어지는 파이프라인입니다. AI 실전 개발 카테고리의 가이드들은 이 파이프라인의 각 부분을 하나씩 담당합니다.
LLM 서비스의 4가지 구현 패턴은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
대부분의 LLM 서비스는 아래 네 가지 패턴 중 하나이거나 그 조합입니다. 복잡도와 비용이 아래로 갈수록 커지므로, 가장 단순한 패턴으로 시작해 부족할 때만 한 단계씩 올라가는 것이 실무 원칙입니다.
패턴
구조
적합한 경우
예시
① 프롬프트 + API
시스템 프롬프트 + 사용자 입력 → 모델
일반 지식으로 충분한 요약·번역·분류
리뷰 감성 분석, 메일 초안 작성
② RAG
질문 → 문서 검색 → 검색 결과 + 질문 → 모델
내 데이터·최신 정보 기반 답변
사내 규정 Q&A, 제품 매뉴얼 챗봇
③ Agent (Tool Use)
모델이 도구 호출을 결정 → 실행 → 결과로 다시 판단 (반복)
여러 단계 작업, 외부 시스템 조작
일정 등록, 데이터 조회 후 리포트 작성
④ 파인튜닝
내 데이터로 모델 자체를 추가 학습
고정된 형식·말투·도메인 용어가 중요
특정 포맷 보고서 생성, 사내 용어 분류
무엇을 언제 쓰나: 선택 기준표
무엇을 언제 쓰나: 선택 기준표은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
입문자가 가장 많이 하는 질문은 "RAG를 해야 하나요, 파인튜닝을 해야 하나요?"입니다. 핵심은 문제의 원인입니다. 모델이 모르는 것이 문제면 RAG, 행동 방식이 문제면 프롬프트나 파인튜닝, 할 수 없는 것이 문제면 Agent(도구)입니다.
증상
원인
먼저 시도할 것
사내 정보를 모른다 / 최신 정보가 틀린다
지식 부족
RAG
답변 형식이 매번 다르다
지시 불명확
프롬프트 개선 + 구조화 출력(JSON 스키마)
계산·조회·실행이 필요하다
능력 부족
Agent + Tool Use
프롬프트로도 말투·형식이 안 잡힌다
행동 패턴
파인튜닝 (마지막 수단)
답변이 너무 느리거나 비싸다
모델 크기·호출 수
소형 모델, 캐싱, 호출 단계 축소
프레임워크 지형도: 무엇이 어떤 문제를 푸나
프레임워크 지형도: 무엇이 어떤 문제를 푸나은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
LLM 프레임워크는 빠르게 변하지만 역할 구분은 비교적 안정적입니다. 처음부터 모든 도구를 익힐 필요는 없고, 한 가지 체인 도구 + 한 가지 벡터 DB + 한 가지 평가 방법이면 첫 서비스를 만들기에 충분합니다.
도구
핵심 역할
강점
언제 선택
LangChain
프롬프트·모델·도구를 조립하는 범용 체인
통합 생태계가 가장 넓음
다양한 모델·도구를 빠르게 연결할 때
LlamaIndex
문서 적재·인덱싱·검색 특화
RAG 파이프라인 구성이 간결
문서 기반 Q&A가 핵심일 때
LangGraph
상태 그래프 기반 Agent 워크플로우
분기·반복·사람 승인 흐름 제어
여러 단계 Agent, 장기 실행 작업
MCP
LLM ↔ 도구/데이터 연결 표준 프로토콜
한 번 만든 도구를 여러 AI 클라이언트에서 재사용
도구를 표준화해 여러 앱에 제공할 때
Hugging Face
오픈소스 모델 허브 + 학습·추론 라이브러리
모델 선택 폭, 파인튜닝
자체 호스팅·파인튜닝이 필요할 때
벡터 DB
임베딩 저장·유사도 검색
pgvector(기존 DB 활용), Chroma(간편), Pinecone(관리형)
RAG의 검색 계층
첫 RAG 30줄: 문서 기반 Q&A의 뼈대
여기서는 첫 RAG 30줄: 문서 기반 Q&A의 뼈대을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.
RAG의 핵심은 단 세 단계입니다. ① 문서를 잘게 나누어 임베딩으로 저장하고, ② 질문과 가장 비슷한 조각을 검색한 뒤, ③ 검색 결과를 프롬프트에 넣어 답변을 생성합니다. 아래 코드는 프레임워크 없이 이 흐름을 그대로 보여줍니다. 프레임워크는 결국 이 과정을 편하게 만들어주는 도구입니다.
mini_rag.pyPYTHON
# pip install openai numpyimport numpy as npfrom openai import OpenAIclient = OpenAI()docs = [ "연차는 입사 1년 후 15일이 부여되며, 2년마다 1일씩 추가됩니다.", "재택근무는 주 2회까지 가능하며 팀장 사전 승인이 필요합니다.", "경조사 휴가는 본인 결혼 5일, 자녀 결혼 1일입니다.",]def embed(texts): res = client.embeddings.create(model="text-embedding-3-small", input=texts) return np.array([d.embedding for d in res.data])doc_vecs = embed(docs) # ① 문서 임베딩 저장def ask(question, k=2): q = embed([question])[0] scores = doc_vecs @ q # ② 코사인 유사도(정규화된 벡터) context = "\n".join(docs[i] for i in scores.argsort()[::-1][:k]) res = client.chat.completions.create( # ③ 검색 결과로 답변 model="gpt-4o-mini", messages=[ {"role": "system", "content": "아래 문서만 근거로 답하고, 없으면 모른다고 답하세요.\n\n" + context}, {"role": "user", "content": question}, ], ) return res.choices[0].message.contentprint(ask("재택근무 몇 번까지 돼?"))
AI 서비스 아키텍처: 프로덕션의 모습
AI 서비스 아키텍처: 프로덕션의 모습은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
데모와 프로덕션의 차이는 모델이 아니라 주변 시스템에 있습니다. 실제 서비스는 아래 요소를 갖춰야 사용자에게 안정적으로 제공될 수 있습니다.