AI Systems Education Guide
AI 시스템
심층 교육 가이드
심층 교육 가이드
LLM · RAG · AI Agent · MCP ? 현대 AI 시스템 4대 핵심 개념을 체계적으로 학습합니다. 코드 예시, 자기 평가 퀴즈, AI 어시스턴트가 포함되어 있습니다.
4대 개념 ? 한 눈에 보기
01 Concept OverviewLLM
Large Language Model
대형 언어 모델 · 핵심 두뇌
텍스트를 이해하고 생성하는 핵심 두뇌. 수십억 개의 파라미터로 훈련된 신경망. GPT-4, Claude, Gemini 등이 대표 모델.
RAG
Retrieval-Augmented Generation
검색 증강 생성 · 외부 지식
LLM에 외부 지식을 주입하는 시스템. 문서 · DB를 실시간 검색해 정확한 답변을 생성. 할루시네이션 감소에 핵심.
Agent
Autonomous AI Agent
자율 행동 에이전트 · Brain + Hands
LLM이 도구를 사용하고 행동을 실행하는 구조. 계획 · 실행 · 반복 루프로 복잡한 작업을 자율 수행.
MCP
Model Context Protocol
모델 컨텍스트 프로토콜 · 표준 연결
AI와 외부 시스템을 표준화된 프로토콜로 연결하는 인프라. Anthropic 개발. USB-C처럼 범용 접속 규격.
핵심 공식 ? LLM 생각한다 · RAG 알고 있다 · Agent 행동한다 · MCP 연결한다
LLM ? 대형 언어 모델
02 Large Language Model
작동 원리
01
토크나이제이션텍스트를 숫자 토큰으로 분리. 1 토큰 ? 0.75 단어
02
트랜스포머 + 셀프 어텐션토큰 간 관계를 병렬 계산. 긴 문맥 이해 가능
03
다음 토큰 예측확률 분포로 가장 적절한 다음 단어 생성
한계 ? 훈련 데이터 컷오프 이후 정보 없음 · 할루시네이션 발생 · 컨텍스트 윈도우 제한
주요 LLM 비교
핵심 파라미터
Temperature ? 창의성 조절 · Top-P ? 다양성 제어
Max Tokens ? 출력 길이 · Context Window ? 기억 범위
Temperature ? 창의성 조절 · Top-P ? 다양성 제어
Max Tokens ? 출력 길이 · Context Window ? 기억 범위
RAG ? 검색 증강 생성
03 Retrieval-Augmented Generation사용자 질문
?
임베딩 변환
벡터화
?
벡터 DB 검색
유사도 매칭
?
청크 추출
Top-K 선택
?
LLM 프롬프트
컨텍스트 주입
?
정확한 답변
주요 활용 사례
기업 내부 문서 Q&A ? 사규 · 매뉴얼 기반 답변
법률 · 컴플라이언스 ? 최신 규정 기반 상담
의료 정보 시스템 ? 임상 지침 기반 지원
고객지원 챗봇 ? 제품 DB 기반 응대
RAG vs 순수 LLM
핵심 ? 벡터 DB (Pinecone · Weaviate · Chroma) 가 RAG의 심장. 청크 크기 · 오버랩 최적화가 성능을 좌우한다.
AI Agent ? 자율 행동 에이전트
04 Brain + Hands
ReAct 루프 ? Reasoning + Acting
OB
관찰 ? Observe환경 · 도구 출력 · 사용자 입력 수집RE
추론 ? ReasonLLM이 다음 행동 계획 수립AC
행동 ? Act도구 호출 · 코드 실행 · API 요청IT
반복 ? Iterate목표 달성까지 루프 반복
에이전트 3대 구성 요소
MEM
메모리 ? Memory
단기 ? 현재 대화 컨텍스트 · 장기 ? 벡터 DB 저장 이력 · 에피소딕 ? 과거 작업 기록
TLS
도구 ? Tools
검색엔진 · 코드 실행 · 파일 조작 · 이메일 발송 · 웹 브라우저 · API 호출
PLN
계획 ? Planning
목표 분해 ? 서브태스크 설정 ? 우선순위 결정 ? 실행
대표 프레임워크 ? LangChain · AutoGPT · CrewAI · AutoGen · LangGraph
MCP ? 모델 컨텍스트 프로토콜
05 Anthropic 개발 · 2024
MCP 아키텍처
MCP Host ? AI ClientClaude · ChatGPT · Cursor
↕ JSON-RPC 2.0 표준 통신
Tools실행 함수
Resources데이터 접근
Prompts워크플로우
GitHub
Slack
DB
API
MCP vs API vs RAG
MCP ? 표준화된 AI 도구 연결 레이어. 양방향 실시간 통신. 거버넌스 포함.
기존 API ? 통합마다 커스텀 코드 필요. 확장성 제한. AI 비친화적.
RAG ? 읽기 전용 정보 검색. 행동 불가. 비정형 데이터 특화.
2024.11 오픈소스화 이후 급속 확산. Microsoft · Google · AWS 등 주요 플랫폼 MCP 지원 채택.
비유 ? USB-C가 모든 기기를 하나의 규격으로 연결하듯, MCP는 AI와 모든 시스템을 하나의 프로토콜로 연결한다.
코드 예시 패널
06 Python · JavaScript각 개념의 핵심 구현 코드를 Python · JavaScript 탭으로 확인하세요.
LLM ? API 호출
python
javascript
import anthropic client = anthropic.Anthropic() # Claude API 호출 message = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, messages=[ { "role": "user", "content": "AI 시스템 아키텍처를 설명해줘" } ] ) print(message.content[0].text)
import Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic(); // Claude API 호출 const message = await client.messages.create({ model: "claude-sonnet-4-20250514", max_tokens: 1024, messages: [{ role: "user", content: "AI 시스템 아키텍처를 설명해줘" }] }); console.log(message.content[0].text);
RAG ? 벡터 검색 파이프라인
python
javascript
from langchain.vectorstores import Chroma from langchain.embeddings import OpenAIEmbeddings from langchain.text_splitter import RecursiveCharacterTextSplitter # 1. 문서 청킹 splitter = RecursiveCharacterTextSplitter( chunk_size=500, chunk_overlap=50 ) chunks = splitter.split_documents(documents) # 2. 벡터 임베딩 저장 vectorstore = Chroma.from_documents( documents=chunks, embedding=OpenAIEmbeddings() ) # 3. 유사 문서 검색 docs = vectorstore.similarity_search( "RAG 파이프라인 구축 방법", k=3 )
import { OpenAIEmbeddings } from "@langchain/openai"; import { MemoryVectorStore } from "langchain/vectorstores/memory"; import { RecursiveCharacterTextSplitter } from "langchain/text_splitter"; // 1. 문서 청킹 const splitter = new RecursiveCharacterTextSplitter({ chunkSize: 500, chunkOverlap: 50 }); const chunks = await splitter.splitDocuments(documents); // 2. 벡터 임베딩 저장 const store = await MemoryVectorStore.fromDocuments( chunks, new OpenAIEmbeddings() ); // 3. 유사 문서 검색 const docs = await store.similaritySearch( "RAG 파이프라인 구축 방법", 3 );
AI Agent ? 도구 사용
python
javascript
import anthropic client = anthropic.Anthropic() tools = [{ "name": "web_search", "description": "웹에서 최신 정보 검색", "input_schema": { "type": "object", "properties": { "query": {"type": "string"} }, "required": ["query"] } }] response = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, tools=tools, messages=[{ "role": "user", "content": "2025년 AI 트렌드를 검색해줘" }] ) if response.stop_reason == "tool_use": print("에이전트 도구 사용 중...")
import Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic(); const tools = [{ name: "web_search", description: "웹에서 최신 정보 검색", input_schema: { type: "object", properties: { query: { type: "string" } }, required: ["query"] } }]; const response = await client.messages.create({ model: "claude-sonnet-4-20250514", max_tokens: 1024, tools, messages: [{ role: "user", content: "2025년 AI 트렌드를 검색해줘" }] }); if (response.stop_reason === "tool_use") console.log("에이전트 도구 사용 중...");
MCP ? 서버 구현
python
javascript
from mcp.server import Server import mcp.types as types app = Server("my-mcp-server") # 도구 목록 정의 @app.list_tools() async def list_tools(): return [ types.Tool( name="get_weather", description="날씨 정보 조회", inputSchema={ "type": "object", "properties": { "city": {"type": "string"} } } ) ] # 도구 실행 핸들러 @app.call_tool() async def call_tool(name: str, arguments: dict): if name == "get_weather": city = arguments["city"] return [{"text": f"{city}: 맑음 22°C"}]
import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; const server = new Server( { name: "my-mcp-server", version: "1.0.0" }, { capabilities: { tools: {} } } ); // 도구 목록 등록 server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [{ name: "get_weather", description: "날씨 정보 조회", inputSchema: { type: "object", properties: { city: { type: "string" } } } }] })); // 도구 실행 핸들러 server.setRequestHandler(CallToolRequestSchema, async (req) => { const { city } = req.params.arguments; return { content: [{ type: "text", text: `${city}: 맑음 22°C` }] }; });
4대 개념 심층 비교
07 Deep Comparison| 구분 | LLM | RAG | AI Agent | MCP |
|---|---|---|---|---|
| 핵심 역할 | 텍스트 생성 · 추론 | 외부 지식 검색 · 주입 | 자율 행동 실행 | 도구 · 시스템 연결 |
| 자율성 | 없음 ? 수동 입력 | 낮음 ? 검색만 | 높음 ··· | 없음 ? 인프라 |
| 실시간 데이터 | × 훈련 데이터만 | · DB 실시간 검색 | · 도구 통해 가능 | · 실시간 연결 |
| 행동 실행 | × 텍스트만 | × 읽기 전용 | · 실행 가능 | · 표준화된 실행 |
| 보안 · 거버넌스 | 프롬프트 수준 | 낮음 | 중간 | 강함 ··· |
| 주요 도전 | 할루시네이션 | 청크 최적화 | 신뢰성 · 제어 | 서버 생태계 |
| 적합 단계 | Demo | Usable | Powerful | Enterprise |
엔터프라이즈 AI의 진화 경로 ? LLM → RAG → Agent → MCP 순서로 성숙도가 높아진다.
실전 비즈니스 적용 시나리오
08 Real-world Application마케팅 컨텐츠 자동화
LLM카피 초안 생성
RAG브랜드 가이드라인 준수
AgentSNS 자동 발행
MCPCanva · Figma · GA 연결
보안 위협 탐지
LLM이상 패턴 분석 · 설명
RAGCVE · 위협 DB 검색
Agent자동 차단 · 격리 실행
MCPSIEM · 방화벽 연동
금융 투자 보조
LLM리포트 요약 · 인사이트
RAG실시간 공시 검색
Agent포트폴리오 리밸런싱
MCPBloomberg · 거래소 API
도입 난이도
선택 가이드라인
단순 텍스트 생성 ? LLM만
사내 문서 기반 Q&A ? LLM + RAG
반복 업무 자동화 ? AI Agent
엔터프라이즈 확장 ? MCP 인프라
학습 로드맵 · 다음 단계
09 플랫폼 기획 · 디자인 전문가 학습 경로
Phase ? 01
LLM 마스터
프롬프트 엔지니어링
파인튜닝 기초
모델 선택 기준
Phase ? 02
RAG 구축
벡터 DB 실습
청크 전략 설계
LangChain 기초
Phase ? 03
Agent 개발
도구 통합 설계
멀티 에이전트
CrewAI 실습
Phase ? 04
MCP 구현
MCP 서버 구축
Claude Desktop 연동
엔터프라이즈 배포
핵심 인사이트 ? 현대 AI는 모델 선택이 아니라 시스템 설계의 문제. 가장 강력한 AI는 LLM · RAG · Agent · MCP를 유기적으로 결합한 아키텍처다.
자기 평가 퀴즈
10 Knowledge Check · 8문항
정답 0 / 0