1.6 RAG (검색 증강 생성)
RAG(Retrieval-Augmented Generation): LLM이 답변을 생성하기 전에, 외부 데이터베이스에서 관련 정보를 먼저 검색(Retrieval)한 뒤 이를 참고하여 응답을 만드는 기술입니다.
왜 RAG가 필요한가?
LLM은 학습 시점까지의 데이터만 알고 있습니다. 회사 내부 문서, 최신 정보, 특정 도메인 지식은 모릅니다. RAG는 이 한계를 해결합니다.
RAG 동작 흐름 — 전체 구조
graph LR
A["👤 사용자 질문\n'우리 회사 휴가 정책\n알려줘'"] --> B["🔍 검색 엔진"]
B --> C[("📚 벡터 DB\n(회사 문서 저장소)")]
C --> D["📄 관련 문서 추출\n유사도 상위 3~5개"]
D --> E["🤖 LLM에 전달\n질문 + 참고 문서"]
E --> F["✅ 정확한 답변 생성\n출처 포함"]
style A fill:#4a9eff,color:#fff
style C fill:#ff9800,color:#fff
style F fill:#4caf50,color:#fff
RAG 내부 동작 — 데이터 준비 + 질의 처리
RAG는 크게 두 단계로 나뉩니다. 먼저 문서를 준비(인덱싱)하고, 그 다음 질문에 답합니다.
graph TD
subgraph 준비단계["📦 1단계: 데이터 준비 (인덱싱)"]
P1["회사 문서 수집\nPDF, 위키, FAQ, 매뉴얼"] --> P2["문서 분할 (Chunking)\n긴 문서를 작은 단위로 쪼갬"]
P2 --> P3["임베딩 변환\n텍스트 → 숫자 벡터\n의미를 수학적으로 표현"]
P3 --> P4[("벡터 DB에 저장\nPinecone, Weaviate 등")]
end
subgraph 질의단계["🔍 2단계: 질의 처리 (검색+생성)"]
Q1["사용자 질문 입력"] --> Q2["질문도 임베딩 변환\n같은 벡터 공간으로"]
Q2 --> Q3["유사도 검색\n질문 벡터와 가장 비슷한\n문서 벡터 찾기"]
Q3 --> Q4["관련 문서 추출\nTop-K개 (보통 3~5개)"]
Q4 --> Q5["프롬프트 조합\n'다음 문서를 참고하여\n질문에 답하세요'\n+ 검색된 문서 + 질문"]
Q5 --> Q6["LLM이 답변 생성\n출처 기반, 환각 감소"]
end
P4 -.->|"저장된 벡터를\n검색에 활용"| Q3
style P1 fill:#e3f2fd,color:#333
style P3 fill:#ff9800,color:#fff
style P4 fill:#f44336,color:#fff
style Q1 fill:#4a9eff,color:#fff
style Q3 fill:#9c27b0,color:#fff
style Q6 fill:#4caf50,color:#fff
핵심 개념 — Chunking · 임베딩 · 유사도 검색
| 개념 | 쉬운 설명 | 비유 |
| Chunking (문서 분할) |
긴 문서를 500~1000자 단위의 작은 조각으로 쪼개는 것 |
두꺼운 교과서를 핵심 요약 카드로 만드는 것 |
| 임베딩 (Embedding) |
텍스트의 "의미"를 숫자 벡터로 변환. 비슷한 의미의 텍스트는 비슷한 숫자가 됨 |
도서관에서 책에 분류 번호를 붙이는 것. 비슷한 주제는 가까운 번호 |
| 벡터 DB |
임베딩된 벡터를 저장하고, "가장 비슷한 것"을 빠르게 찾아주는 특수 DB |
분류 번호로 정리된 서가에서 관련 책을 즉시 찾아주는 사서 |
| 유사도 검색 |
질문의 벡터와 저장된 문서 벡터 사이의 거리를 계산하여 가장 관련 있는 문서 추출 |
"이 질문과 가장 비슷한 내용의 카드는?" 하고 찾는 것 |
| 프롬프트 조합 |
검색된 문서를 LLM의 프롬프트에 "참고 자료"로 붙여서 보냄 |
시험 볼 때 교과서 오픈북 — 참고 자료가 있으니 정확하게 답변 가능 |
실제 RAG 적용 사례
graph TD
A["RAG 활용 사례"] --> B["🏢 사내 챗봇\nHR 정책, 사내 규정 검색"]
A --> C["🛒 고객 지원\n제품 FAQ, 매뉴얼 기반 응답"]
A --> D["⚖️ 법률/컴플라이언스\n판례, 규정 검색 후 해석"]
A --> E["📊 시장 조사\n보고서, 뉴스 기반 분석"]
B --> F["공통 효과:\n정확도 ↑ 환각 ↓ 출처 제공"]
C --> F
D --> F
E --> F
style A fill:#4a9eff,color:#fff
style F fill:#4caf50,color:#fff
일반 LLM vs RAG 비교
| 항목 | 일반 LLM | RAG 적용 LLM |
| 데이터 범위 | 학습 데이터까지만 | 최신 데이터 + 내부 문서 반영 |
| 정확성 | 환각(Hallucination) 위험 | 출처 기반 답변으로 정확도 향상 |
| 비용 | 낮음 (API 호출만) | 중간 (검색 인프라 필요) |
| 활용 예시 | 일반 질의응답, 글쓰기 | 사내 챗봇, 고객 지원, 문서 검색 |
| 커스터마이징 | 프롬프트로만 조절 | 데이터 추가로 도메인 특화 가능 |
PM이 RAG를 알아야 하는 이유
graph TD
A[PM이 RAG를 알면] --> B[AI 제품 기획 시\n기술 선택 판단 가능]
A --> C[사내 AI 도입 시\n요구사항 정의 가능]
A --> D[개발팀과 AI 아키텍처\n논의 참여 가능]
B --> E[더 나은\nAI 제품 설계]
C --> E
D --> E
style A fill:#4a9eff,color:#fff
style E fill:#4caf50,color:#fff
- 제품 기획: "우리 고객지원 챗봇에 RAG를 적용하면 정확도가 높아진다" 판단 가능
- 요구사항 정의: "FAQ 데이터를 벡터 DB에 저장하고, 사용자 질문 시 검색 후 답변" 스펙 작성
- 비용 추정: RAG 인프라(벡터 DB, 임베딩) 비용을 이해하고 예산 산정
PL 심화 — RAG 아키텍처 의사결정
PL은 RAG 도입 시 아키텍처 수준의 기술 판단이 필요합니다. 다음 의사결정 트리를 참고하세요.
graph TD
A["RAG 도입 검토"] --> B{"데이터 규모?"}
B -->|"소규모\n문서 100개 이하"| C["단순 RAG\nChromaDB + OpenAI 임베딩\n예상 비용: 월 $50 이하"]
B -->|"중규모\n문서 1,000~10,000개"| D["관리형 RAG\nPinecone / Weaviate\n+ 청크 전략 최적화"]
B -->|"대규모\n문서 10,000개 이상"| E["엔터프라이즈 RAG\n하이브리드 검색\n+ 리랭킹 + 캐싱"]
D --> F{"실시간 업데이트\n필요?"}
F -->|예| G["스트리밍 파이프라인\nKafka / Pub-Sub\n+ 증분 인덱싱"]
F -->|아니오| H["배치 인덱싱\n야간 배치 + 스케줄러"]
E --> I{"보안 요구사항?"}
I -->|"사내 전용"| J["온프레미스 배포\nMilvus + 자체 임베딩 모델"]
I -->|"클라우드 가능"| K["매니지드 서비스\nAWS Bedrock KB\nAzure AI Search"]
style A fill:#4a9eff,color:#fff
style C fill:#4caf50,color:#fff
style G fill:#ff9800,color:#fff
style J fill:#f44336,color:#fff
style K fill:#9c27b0,color:#fff
PL 체크리스트 — RAG 프로젝트 착수 전 검토사항
| 검토 항목 | 핵심 질문 | 판단 기준 |
| 데이터 품질 | 원본 문서가 구조화되어 있는가? | 비구조화 데이터가 많으면 전처리 파이프라인 필요 (공수 2~3배 증가) |
| 청크 전략 | 문서를 어떤 단위로 쪼갤 것인가? | 고정 크기(512토큰) vs 의미 단위 vs 계층적 청킹. 정확도에 큰 영향 |
| 임베딩 모델 | 어떤 임베딩 모델을 쓸 것인가? | 다국어 지원 필요 시 multilingual-e5, 영어 위주면 OpenAI ada-002 |
| 검색 방식 | 벡터 검색만? 하이브리드? | 키워드 정확 매칭 필요 시 BM25 + 벡터 하이브리드 검색 권장 |
| 평가 지표 | RAG 성능을 어떻게 측정할 것인가? | Retrieval Precision@K, Answer Faithfulness, Context Relevancy |
| 비용 구조 | 임베딩 + 저장 + 검색 비용 추정 | 문서 1만개 기준: 임베딩 ~$5, 벡터 DB 월 $70~200, API 호출 별도 |
| 지연 시간 | 검색+생성까지 허용 시간은? | 실시간 챗봇: 2초 이내 / 배치 분석: 30초 이내 |
프로덕션 RAG — 벡터 DB 선택 가이드
| 벡터 DB | 특징 | 가격 | 추천 규모 | PM 판단 포인트 |
| Pinecone | 완전 관리형, 빠른 설정 | 무료 티어 있음, $70/월~ | 중소~대규모 | 빠른 PoC, 운영 부담 최소 |
| Weaviate | 오픈소스, 하이브리드 검색 | 오픈소스 무료, 클라우드 $25/월~ | 중규모 | 키워드+시맨틱 검색 필요 시 |
| Qdrant | 고성능, Rust 기반 | 오픈소스 무료, 클라우드 $25/월~ | 대규모 | 성능 중시 프로젝트 |
| ChromaDB | 가벼움, 로컬 개발 최적 | 완전 무료 (오픈소스) | 소규모/PoC | 빠른 프로토타이핑 |
청킹 전략 비교 — 정확도의 핵심
문서를 어떻게 쪼개느냐에 따라 RAG 정확도가 크게 달라집니다.
| 전략 | 방법 | 장점 | 단점 | 추천 상황 |
| 고정 크기 | 500~1000토큰 단위로 분할 | 구현 간단, 예측 가능 | 문맥 단절 가능 | 빠른 PoC, 균일한 문서 |
| 의미 기반 | 문단/섹션 단위로 분할 | 문맥 보존 | 청크 크기 불균일 | 구조화된 문서 (위키, FAQ) |
| 재귀적 | 큰 단위→작은 단위로 계층 분할 | 유연성 높음 | 구현 복잡 | 다양한 형태의 문서 |
| 하이브리드 | 의미 기반 + 오버랩 | 문맥 보존 + 검색 정확도 | 저장 공간 증가 | 프로덕션 환경 권장 |
하이브리드 검색 — 키워드 + 시맨틱
하이브리드 검색: 전통적인 키워드 검색(BM25)과 벡터 유사도 검색을 결합하여 정확도를 높이는 방법입니다. 정확한 용어 매칭이 필요한 경우와 의미적 유사성이 필요한 경우를 모두 커버합니다.
graph LR
A["사용자 질문"] --> B["BM25 키워드 검색\n정확한 용어 매칭"]
A --> C["벡터 유사도 검색\n의미적 유사성"]
B --> D["리랭킹 모델\n결과 통합 & 재정렬"]
C --> D
D --> E["최종 Top-K 문서\n정확도 20~30% 향상"]
style A fill:#4a9eff,color:#fff
style D fill:#9c27b0,color:#fff
style E fill:#4caf50,color:#fff
1.7 AI 에이전트와 Agentic AI
AI 에이전트(AI Agent): 단순히 질문에 답하는 챗봇을 넘어, 스스로 목표를 설정하고 도구를 사용하며 작업을 완수하는 자율적 AI 시스템입니다.
챗봇 vs AI 에이전트
graph TB
subgraph 챗봇["💬 기존 챗봇"]
direction LR
Q1[질문] --> A1[답변]
end
subgraph 에이전트["🤖 AI 에이전트"]
direction TB
G[목표 설정] --> P[계획 수립]
P --> T[도구 사용\nAPI 호출, 파일 생성\n웹 검색, 코드 실행]
T --> O[결과 관찰]
O --> R{목표\n달성?}
R -->|No| P
R -->|Yes| D[완료]
end
style G fill:#4a9eff,color:#fff
style D fill:#4caf50,color:#fff
| 항목 | 기존 챗봇 | AI 에이전트 |
| 동작 방식 | 질문 → 답변 (1회) | 목표 → 계획 → 실행 → 관찰 → 반복 |
| 도구 사용 | 텍스트 생성만 | 파일 생성, API 호출, 웹 검색, 코드 실행 |
| 자율성 | 수동 (사용자가 매번 지시) | 자율적 (중간 과정을 스스로 판단) |
| 복잡도 | 단순 질의응답 | 멀티스텝 작업 수행 |
| 예시 | ChatGPT 대화 | Claude Code, Cursor, Devin |
Agentic AI 핵심 패턴
graph LR
subgraph 패턴1["🔄 ReAct 패턴"]
R1[추론\nReasoning] --> A1[행동\nAction] --> R1
end
subgraph 패턴2["🔗 Tool Use 패턴"]
T1[LLM] --> T2[도구 선택]
T2 --> T3[도구 실행]
T3 --> T4[결과 반영]
end
subgraph 패턴3["👥 Multi-Agent 패턴"]
M1[기획 에이전트] --> M2[개발 에이전트]
M2 --> M3[검증 에이전트]
M3 --> M1
end
PM이 만나는 AI 에이전트 사례
| 에이전트 | 하는 일 | PM 활용 시나리오 |
| Claude Code | 코드 생성, 수정, 실행, 테스트 | 프로토타입 제작, 바이브 코딩 |
| Cursor Agent | IDE 내 코드 작성 및 리팩토링 | 간단한 버그 수정, 코드 이해 |
| Devin | 전체 개발 프로세스 자동화 | POC 개발, MVP 빌드 |
| Custom Agent | 사내 업무 자동화 | 보고서 생성, 데이터 파이프라인 |
실무 핵심 포인트: AI 에이전트는 "프로그래밍을 대신하는 것"이 아니라, PM이 직접 프로토타입을 만들고 아이디어를 검증할 수 있게 해주는 도구입니다. 바이브 코딩(모듈 5)이 바로 이 에이전트를 활용하는 방법입니다.
PL 심화 — 에이전트 아키텍처 패턴
PL은 AI 에이전트 도입 시 아키텍처 패턴을 이해하고 적절한 수준을 선택해야 합니다.
graph TD
A["에이전트 아키텍처 수준"] --> B["Level 1: 단일 에이전트\nLLM + Tool Use\n가장 간단, 빠른 구현"]
A --> C["Level 2: 체인 에이전트\n순차적 작업 파이프라인\n각 단계별 전문화"]
A --> D["Level 3: 멀티 에이전트\n병렬 협업 + 오케스트레이터\n복잡한 작업 분담"]
A --> E["Level 4: 자율 에이전트\n스스로 계획·실행·평가\nHuman-in-the-loop 필수"]
B --> F["적용: 단순 챗봇,\n단일 업무 자동화"]
C --> G["적용: 문서처리 파이프라인,\nETL + 분석 + 보고"]
D --> H["적용: 소프트웨어 개발,\n복합 비즈니스 프로세스"]
E --> I["적용: 연구 자동화,\n자율 운영 시스템"]
style B fill:#4caf50,color:#fff
style C fill:#ff9800,color:#fff
style D fill:#9c27b0,color:#fff
style E fill:#f44336,color:#fff
| 아키텍처 | 복잡도 | 구현 기간 | 리스크 | PL 판단 포인트 |
| Level 1: 단일 | 낮음 | 1~2주 | 낮음 | 대부분의 프로젝트는 여기서 시작. 충분한지 먼저 검증 |
| Level 2: 체인 | 중간 | 2~4주 | 중간 | 단계별 실패 처리와 재시도 로직이 핵심 |
| Level 3: 멀티 | 높음 | 1~2개월 | 높음 | 에이전트 간 통신 프로토콜(MCP/A2A) 설계 필요 |
| Level 4: 자율 | 매우 높음 | 3개월+ | 매우 높음 | 반드시 사람 승인 게이트 포함. 안전장치 없으면 위험 |
PL 체크리스트 — 에이전트 프로젝트 위험 관리
graph LR
A["에이전트 안전 설계"] --> B["🔒 권한 제어\n최소 권한 원칙\n읽기/쓰기 분리"]
A --> C["⏱️ 타임아웃\n무한 루프 방지\n최대 실행 시간 설정"]
A --> D["👤 Human-in-the-loop\n비용 발생·데이터 삭제 등\n고위험 작업은 사람 승인"]
A --> E["📊 모니터링\n토큰 사용량 추적\n비용 알림 설정"]
A --> F["🔄 폴백 전략\n에이전트 실패 시\n사람에게 에스컬레이션"]
style A fill:#4a9eff,color:#fff
style D fill:#f44336,color:#fff
개발자 심화 학습: AI 에이전트를 실제로 구현하려면 Java AI 프레임워크(LangChain4j, LangGraph4j, Spring AI)와 에이전트 오케스트레이션 기술이 필요합니다.
AI & 업무 시스템 가이드에서 챗봇→Text2SQL→에이전트→Human-in-the-Loop 단계별 실전 구현을 학습할 수 있습니다.
1.8 실무 필수 AI 용어 사전
AI 관련 회의에서 자주 등장하는 용어를 정리했습니다. PM은 개발팀과 소통할 때, PL은 기술 의사결정과 팀 리딩에 이 용어 이해가 필수입니다.
핵심 용어 — 모델 & 입출력
| 용어 | 의미 | 알아야 하는 이유 |
| 토큰 (Token) | AI가 텍스트를 처리하는 최소 단위. 한글 1글자 ≈ 2~3토큰 | API 비용이 토큰 단위로 과금됨. 비용 추정 시 필수 |
| 컨텍스트 윈도우 | AI가 한 번에 처리할 수 있는 최대 토큰 수 | 긴 문서 분석 가능 여부 판단 (예: Claude 1M 토큰) |
| Temperature | AI 응답의 창의성 조절 (0=정확, 1=창의적) | 용도별 설정 — 코딩(0.1), 브레인스토밍(0.8) |
| 멀티모달 (Multimodal) | 텍스트+이미지+음성 등 여러 형태의 입출력 지원 | UI 스크린샷 분석, 음성 회의록 처리 등 활용 판단 |
| API (Application Programming Interface) | 프로그램끼리 데이터를 주고받는 약속된 통신 규격 | AI 제품의 모든 연동(결제, 알림, 외부 서비스)이 API를 통해 이루어짐 |
| 마크다운 (Markdown) | # 제목, **굵게**, - 목록 같은 간단한 기호로 문서를 작성하는 경량 마크업 언어. 파일 확장자는 .md | AI 출력의 기본 형식. PRD, README, CLAUDE.md, 보고서 등 거의 모든 AI 문서가 마크다운으로 작성됨. GitHub, Notion, Slack에서도 동일하게 렌더링 |
마크다운(Markdown) 빠른 참조
AI와 협업할 때 가장 많이 사용하는 문서 형식입니다. 별도 편집기 없이 텍스트만으로 구조화된 문서를 만들 수 있습니다.
| 문법 | 작성 예시 | 결과 |
| 제목 (H1~H3) | # 큰 제목
## 중간 제목
### 작은 제목 | 크기별 제목 생성. # 개수가 많을수록 작아짐 |
| 굵게 / 기울임 | **굵은 텍스트**
*기울임 텍스트* | 굵은 텍스트, 기울임 텍스트 |
| 순서 목록 | 1. 첫 번째
2. 두 번째 | 번호가 붙은 목록 |
| 비순서 목록 | - 항목 A
- 항목 B | 점(불릿)이 붙은 목록 |
| 코드 (인라인) | `console.log()` | 텍스트 중간에 코드 표시 |
| 코드 블록 | ```javascript
const x = 1;
``` | 여러 줄 코드 + 문법 강조 |
| 테이블 | | 이름 | 역할 |
|------|------|
| 홍길동 | PM | | 깔끔한 표 생성 |
| 링크 | [링크 텍스트](https://...) | 클릭 가능한 하이퍼링크 |
| 이미지 |  | 이미지 삽입 |
| 인용 | > 인용 텍스트 | 들여쓰기된 인용 블록 |
| 수평선 | --- | 구분선 |
| 체크박스 | - [x] 완료
- [ ] 미완료 | 체크리스트 (GitHub에서 활용) |
실무에서 자주 쓰는 마크다운 활용처
| 활용처 | 파일명 | 용도 |
| 프로젝트 설명 | README.md | 프로젝트 소개, 설치 방법, 사용법. GitHub 접속 시 첫 화면 |
| AI 프로젝트 설정 | CLAUDE.md | Claude Code에게 프로젝트 규칙과 컨텍스트를 알려주는 설정 파일 |
| 변경 이력 | CHANGELOG.md | 버전별 변경사항 기록. 릴리즈 노트 |
| AI 보고서 출력 | 대화 중 생성 | Claude Code가 분석/테스트 결과를 마크다운 표로 정리 |
| 이슈/PR 작성 | GitHub Issue, PR | 버그 리포트, 기능 요청, 코드 리뷰 내용 작성 |
실무 팁: AI에게 "마크다운 표로 정리해줘", "마크다운 형식으로 보고서 작성해줘"라고 요청하면 바로 복사하여 Notion, GitHub, Confluence에 붙여넣기 할 수 있는 깔끔한 문서를 얻을 수 있습니다. 마크다운은 AI 시대의 공용 문서 형식입니다.
핵심 용어 — 기술 & 아키텍처
| 용어 | 의미 | 알아야 하는 이유 |
| 임베딩 (Embedding) | 텍스트를 숫자 벡터로 변환하는 기술 | RAG, 유사 문서 검색의 핵심 기술. 벡터 DB와 함께 사용 |
| 벡터 DB | 임베딩된 데이터를 저장/검색하는 특수 데이터베이스 | RAG 시스템 구축 시 필요. Pinecone, Weaviate 등 |
| 파인튜닝 (Fine-tuning) | 기존 AI 모델을 특정 데이터로 추가 학습 | RAG vs 파인튜닝 선택 시 비용/효과 판단 |
| Tool Use (Function Calling) | AI가 텍스트 생성을 넘어 외부 도구(검색, DB 조회, 코드 실행 등)를 직접 호출하는 기능 | AI가 "말만 하는 것"에서 "실제 행동하는 것"으로 바뀌는 핵심 기술. 에이전트의 기반 |
| MCP | Model Context Protocol. AI가 외부 도구/데이터에 접근하는 표준 프로토콜. USB처럼 하나의 규격으로 다양한 도구를 연결 | AI 에이전트가 사내 시스템(Slack, DB, Jira 등)과 연동할 때 사용하는 업계 표준 |
| MCP 서버 | MCP 규격에 맞춰 특정 기능을 AI에게 제공하는 플러그인. 예: Gmail MCP 서버, DB MCP 서버 | 어떤 MCP 서버를 연결하느냐에 따라 AI의 능력이 달라짐. PM이 요구사항에 맞는 서버 선택 필요 |
| A2A Protocol | Agent-to-Agent. Google이 제안한 AI 에이전트 간 통신 표준. MCP가 "AI↔도구"라면 A2A는 "AI↔AI" 연결 | 여러 AI 에이전트가 협업하는 시스템 설계 시 고려. 멀티 에이전트 시대의 핵심 표준 |
PL 심화 용어 — 시스템 설계 & 운영
PL이 AI 시스템 아키텍처 논의와 기술 의사결정에 필요한 심화 용어입니다.
| 용어 | 의미 | PL이 알아야 하는 이유 |
| Latency (지연 시간) | 요청을 보낸 후 응답을 받기까지 걸리는 시간. AI API는 보통 1~10초 | UX에 직접 영향. 실시간 챗봇(2초 이내) vs 배치 분석(30초 허용) 등 SLA 설정 기준 |
| Throughput (처리량) | 단위 시간당 처리할 수 있는 요청 수 (예: 100 req/min) | 동시 사용자 수와 직결. 트래픽 예측 → 모델/인프라 스펙 결정 |
| Guardrails (가드레일) | AI 출력이 규칙을 벗어나지 않도록 제한하는 안전장치 | 비속어 필터, 개인정보 마스킹, 주제 제한 등. 서비스 출시 전 필수 |
| Evaluation (평가 체계) | AI 출력의 품질을 정량적으로 측정하는 체계. BLEU, ROUGE, 사람 평가 등 | 배포 전/후 품질 관리. "체감상 좋다"가 아닌 수치로 판단해야 의사결정 가능 |
| Hallucination (환각) | AI가 사실이 아닌 내용을 그럴듯하게 생성하는 현상 | 비즈니스 크리티컬 영역에서 치명적. RAG, 출처 인용, 팩트체크 파이프라인으로 대응 |
| Rate Limit (요청 제한) | API 제공자가 설정한 시간당 최대 호출 수 제한 | 대량 처리 시 병목. 큐잉, 배치 처리, 멀티 키 전략으로 대응 설계 |
| Token Budget (토큰 예산) | 하나의 요청에 사용할 수 있는 최대 토큰 수 배분 전략 | 시스템 프롬프트 + RAG 문맥 + 사용자 입력 + 응답 = 전체 예산 내에서 배분 필요 |
| Prompt Caching | 동일한 시스템 프롬프트를 캐싱하여 비용과 지연 시간을 줄이는 기법 | 반복 호출이 많은 서비스에서 비용 50~90% 절감 가능. Anthropic, OpenAI 모두 지원 |
| Streaming (스트리밍) | AI 응답을 한번에 받지 않고 토큰 단위로 실시간 수신하는 방식 | 체감 응답 속도 대폭 개선. 챗봇 UX의 필수 기능. SSE/WebSocket으로 구현 |
| LLMOps | LLM 기반 서비스의 운영·모니터링·개선 체계. MLOps의 LLM 특화 버전 | 프롬프트 버전 관리, A/B 테스트, 비용 모니터링, 품질 대시보드 등 운영 필수 |
PL 심화 — AI 프로젝트 비용 구조
graph TD
A["AI 프로젝트 비용 구조"] --> B["💰 API 호출 비용\n토큰 단위 과금\n입력/출력 비용 다름"]
A --> C["🗄️ 인프라 비용\n벡터 DB, GPU 서버\n스토리지, 네트워크"]
A --> D["👥 인건비\n프롬프트 엔지니어\nML 엔지니어, 데이터"]
A --> E["🔧 운영 비용\n모니터링, 평가\n프롬프트 유지보수"]
B --> F["비용 최적화 전략"]
C --> F
D --> F
E --> F
F --> G["캐싱으로 반복 호출 감소"]
F --> H["작은 모델로 전처리\n큰 모델은 핵심만"]
F --> I["배치 API로 비용 50% 절감"]
F --> J["프롬프트 최적화로\n토큰 사용량 감소"]
style A fill:#4a9eff,color:#fff
style F fill:#ff9800,color:#fff
style G fill:#4caf50,color:#fff
style H fill:#4caf50,color:#fff
style I fill:#4caf50,color:#fff
style J fill:#4caf50,color:#fff
| 모델 | 입력 ($/1M) | 출력 ($/1M) | 특징 |
| Claude Haiku 4.5 | $1 | $5 | 빠르고 저렴. 분류·요약·대량 자동화에 최적 (Haiku 4.5는 구버전 대비 성능 대폭 향상) |
| Claude Sonnet 4.6 | $3 | $15 | 성능·비용 균형. 대부분의 프로덕션 사용 권장 |
| Claude Opus 4.7 | $5 | $25 | 최고 성능 + 1M 컨텍스트 지원. 복잡한 추론·코딩·대규모 분석. 2026년 3배 파격 인하 |
| Gemini 3 Pro | $2~4* | $12~18* | Google 최신. 멀티모달·장문 이해 강점 (*프롬프트 길이 ≤200k / >200k 기준) |
| Gemini 3 Flash | $0.30~1** | $2.50 | 2026-04-22 출시. Gemini 앱 기본 모델로 교체. 1M 컨텍스트 (**입력 타입별 차등) |
| GPT-5.5 🆕 | $5 | $30 | 2026-04-23 출시, 1M 컨텍스트. GPT-5 대비 2배 인상(이전 $2.50/$15). Anthropic Opus 4.7과 동일 입력가 |
| GPT-5.5-pro 🆕 | $30 | $180 | 고성능 변형. Batch/Flex 50%, Priority 250% |
| GPT-4o | $2.50 | $10 | OpenAI 이전 주력. 멀티모달 강점 (레거시 비교용) |
| GPT-4o mini | $0.15 | $0.60 | 가장 저렴한 고성능. 대량 처리에 적합 |
※ 가격은 2026-04 기준 공식 공시가. Anthropic은 프롬프트 캐시 활용 시 읽기 10~12% 수준(Opus $0.50, Sonnet $0.30, Haiku $0.10)이며 배치 처리로 50% 추가 절감 가능. 출처: claude.com/pricing, ai.google.dev/pricing
Tool Use · MCP · A2A — 어떻게 연결될까?
graph LR
A["AI 모델\n(Claude, GPT 등)"] -->|"Tool Use\n(도구 호출 능력)"| B["MCP 프로토콜\n(연결 표준)"]
B --> C["MCP 서버들"]
C --> D["📧 Gmail"]
C --> E["🗄️ DB"]
C --> F["🌐 브라우저"]
C --> G["📋 Jira"]
A2["AI 에이전트 A"] <-->|"A2A 프로토콜\n(에이전트 간 통신)"| A3["AI 에이전트 B"]
style A fill:#4a9eff,color:#fff
style B fill:#ff9800,color:#fff
style C fill:#9c27b0,color:#fff
style A2 fill:#4caf50,color:#fff
style A3 fill:#4caf50,color:#fff
파인튜닝 vs RAG vs 프롬프트 엔지니어링
graph TD
A{AI 커스터마이징\n방법 선택} --> B{내부 데이터\n활용 필요?}
B -->|아니오| C[프롬프트 엔지니어링\n비용: 낮음\n난이도: 쉬움]
B -->|예| D{데이터가\n자주 변경?}
D -->|예| E[RAG\n비용: 중간\n난이도: 중간]
D -->|아니오| F{데이터 양이\n많고 특수?}
F -->|예| G[파인튜닝\n비용: 높음\n난이도: 어려움]
F -->|아니오| E
style C fill:#4caf50,color:#fff
style E fill:#ff9800,color:#fff
style G fill:#f44336,color:#fff
| 방법 | 비용 | 난이도 | 최적 사용처 |
| 프롬프트 엔지니어링 | 낮음 (API 비용만) | 쉬움 | 일상 업무 활용, 빠른 실험 |
| RAG | 중간 (벡터 DB 운영) | 중간 | 사내 문서 기반 챗봇, FAQ |
| 파인튜닝 | 높음 (GPU, 데이터) | 어려움 | 특수 도메인 (의료, 법률) |
PM 판단 기준: 대부분의 사내 AI 프로젝트는 프롬프트 엔지니어링 → RAG 순서로 시작하는 것이 가장 효율적입니다. 파인튜닝은 RAG로 해결되지 않는 경우에만 고려하세요.
1.9 AI 엔지니어링 4년간의 진화
프롬프트에서 하네스까지 — 개발자 역할의 패러다임 전환을 살펴봅니다.
진화 흐름: 프롬프트 엔지니어링 ("어떻게 질문할 것인가") → 컨텍스트 엔지니어링 ("무엇을 알게 할 것인가") → 하네스 엔지니어링 ("어떻게 통제할 것인가")
Phase 1 · 2022~ 프롬프트 엔지니어링
LLM의 한계를 극복하기 위해 '질문을 잘 구성하는 기술'에 집중한 시대
| 기법 | 설명 |
| 역할 부여 (Persona) | AI에게 전문가 페르소나를 부여하여 도메인 특화 답변을 유도 |
| Chain of Thought | "단계별로 생각해 줘" — 추론 과정을 명시해 복잡한 문제 해결력 극대화 |
| ReAct 패턴 | 추론(Reasoning) + 행동(Acting) 교대 수행 → 현재 코딩 에이전트의 원형 |
| Few-shot 프롬프팅 | 입출력 예시를 프롬프트에 포함시켜 모델이 패턴을 학습하도록 유도 |
| Self-Consistency | 동일 질문에 여러 답변을 생성 후 다수결로 최종 답 도출 — 정확도 향상 |
| Tree-of-Thought | CoT의 일직선 추론을 트리 탐색으로 확장 — 여러 경로를 동시 탐색하여 최적 해 도출 (Yao et al., 2023) |
| Ng의 4대 에이전틱 패턴 | Reflection · Tool Use · Planning · Multi-Agent — Andrew Ng이 정의한 AI 에이전트 설계의 4가지 핵심 패턴 (2024) |
| Copilot 진화 궤적 | 자동완성(2022) → Chat(2023) → Agent Mode(2025.02) → Coding Agent(2025.05) — 단일 파일에서 완전 자율로 |
⚠️ 한계: 컨텍스트 윈도우 초과 시 이전 지시사항 망각 · 환각 현상 발생 · 성능 급격히 저하
Phase 2 · 2024~ 컨텍스트 엔지니어링
단일 프롬프트를 넘어, 한정된 기억력 안에서 시스템 파이프라인 전체를 최적화
| 기법 | 설명 |
| 시스템 프롬프트 | 모델의 기본 행동 규칙과 역할을 사전 정의 |
| 장기 기억 / 히스토리 | 채팅 히스토리 압축 및 장기 기억 관리로 컨텍스트 효율화 |
| RAG | 검색 증강 생성으로 외부 지식을 실시간 주입 |
| MCP 프로토콜 | 외부 도구 연동 표준화로 에이전트 능력 확장 |
| Tool Use / Function Calling | 모델이 외부 함수를 직접 호출 — 검색·계산·API 연동으로 능력 확장 |
| CLAUDE.md / Rules | 프로젝트별 규칙·컨벤션을 파일로 명문화하여 모델에 자동 주입 |
| LLM-as-OS 개념 | 커널=추론엔진 · RAM=컨텍스트윈도우 · 파일시스템=RAG · 시스콜=Tool Call — OS 비유로 이해하는 LLM |
| WSCI 전략 (Anthropic) | Write(작성) · Select(선택) · Compress(압축) · Isolate(격리) — 컨텍스트 윈도우 최적화 4원칙 |
| KV-cache 최적화 | 접두어 안정성 유지 시 캐시 히트 → 비용 1/10 절감. 프롬프트 '품질'보다 '안정성'이 프로덕션 핵심 |
| Context Hub | Andrew Ng 제안 — 최신 API 문서 실시간 검색·주입 시스템으로 LLM의 '전향성 기억상실증' 해결 |
📉 바이브 코딩의 쇠퇴: AI에 전적 의존한 코딩 방식은 개발자가 코드를 통제·이해하지 못하는 한계로 인기 하락
Phase 3 · 2026~ 하네스 엔지니어링
자율형 AI 에이전트의 폭주를 방지하는 안전장치이자 제약 환경 구축
| 개념 | 설명 |
| 핵심 개념 | 에이전트가 안전하고 일관되게 동작하도록 하는 제약 환경 = 하네스 |
| 역할 전환 | 직접 코딩 → AI가 올바른 환경에서 작업하도록 환경 구축이 주된 업무 |
| Permission Modes | 에이전트의 도구 사용 권한을 단계별로 제어 — 자율과 통제의 균형 |
| Sub-Agent 오케스트레이션 | 전문 에이전트를 병렬 배치하여 복잡한 작업을 분할·정복하는 멀티 에이전트 체계 |
| 2×2 하네스 분류 (Fowler) | 결정론/비결정론 × 피드포워드/피드백 — 가이드·린터·시스템프롬프트·LLM-Judge로 4분류 |
| 3-에이전트 아키텍처 | Anthropic: Planner(기획) → Generator(구현) → Evaluator(평가) — GAN 구조 차용 품질 루프 |
| Ralph 패턴 | PRD 기반 자율 코딩 루프 — 상태를 git+파일에 저장, 클린 컨텍스트로 반복 (GitHub ★ 12,000+) |
| Lethal Trifecta | 신뢰불가 입력 + 민감 데이터 + 상태 변경 = 보안 사고 필연. Meta의 Rule of Two로 방어 |
실전 가이드: 나만의 하네스 구축 4단계
작은 것부터 점진적으로 — 커맨드에서 훅까지
- 커맨드
반복 프롬프트를 재사용 가능한 템플릿으로 단축
- 룰
코딩 스타일·컨벤션·아키텍처를 .md로 명문화
- 스킬
코드 스크립트·예시 템플릿을 패키지로 묶어 제공
- 훅 ★
코드 레벨에서 조건 검사 및 행동을 강제 통제
| 훅 유형 | 설명 |
| 프로텍션 | 운영 브랜치 직접 푸시 금지, 테스트 누락 시 커밋 거부 등 치명적 에러 차단 |
| 리마인더 | 규칙 위반 감지 시 강제로 룰 재로드 · 커맨드 재호출로 워크플로우 교정 |
| 자동 검증 | 코드 변경 후 린트·타입체크·테스트를 자동 실행하여 품질 게이트 통과 강제 |
3단계 진화 종합 비교
| 차원 | 프롬프트 엔지니어링 | 컨텍스트 엔지니어링 | 하네스 엔지니어링 |
| 시대 | 2022 – 2024 | 2025 | 2026+ |
| 핵심 질문 | 어떤 말을 해야? | 어떤 정보를 줄까? | 어떤 시스템을 만들까? |
| OS 비유 | 명령어 한 줄 | RAM 관리 | 운영체제 전체 설계 |
| 핵심 메트릭 | 응답 품질 (주관) | KV-cache 히트율 | 태스크 완료율 · 비용/태스크 |
| 실패 모드 | Blind Prompting | 컨텍스트 오염 | 오케스트레이션 버그 · 보안 |
| 필요 역량 | 언어 감각 + 도메인 | 정보 아키텍처 | 시스템 설계 + 보안 |
미래 전망: 엄밀함의 다음 이동
| 방향 | 설명 |
| Guardian Agent | 에이전트가 배포 시도 → 별도 에이전트가 규제·보안 준수 검증. 엄밀함이 '실행'에서 '감시'로 이동 |
| 평가 엔지니어링 | 벤치마크 점수 대신 행동 기반 평가 — LLM-as-a-judge의 편향 해결이 새로운 연구 분야로 부상 |
| 지식 엔진 | 코드 그래프 + 커밋 히스토리 + 메모리 시스템 통합 — "왜 이 아키텍처를 선택했는가"까지 추론 |
💡 핵심 통찰: "엄밀함은 사라지지 않았고, 더 높은 추상화 수준으로 이동했을 뿐이다. 프롬프트 엔지니어링은 '죽은 것'이 아니라 '승진한 것'이다." — Chad Fowler. 처음부터 완벽한 시스템을 설계하지 말 것. 작은 커맨드 → 룰 → 스킬 → 훅 순서로 점진적으로 접근하라.
📎 참고 자료
📊 타임라인 비주얼 버전으로 보기 →
🔧 10.6 하네스 엔지니어링 실전 가이드 보기 →
1.10 멀티모달 AI와 No-code AI 빌더
2025+ 트렌드: AI가 텍스트를 넘어 이미지, 음성, 영상을 이해하고 생성하는 "멀티모달" 시대가 본격화되었습니다. 동시에 코드 한 줄 없이 AI로 앱을 만드는 No-code AI 빌더도 급성장하고 있습니다.
멀티모달 AI란?
텍스트뿐 아니라 이미지, 음성, 영상, 문서 등 여러 형태(모달리티)의 데이터를 입력받거나 출력할 수 있는 AI입니다.
실무자를 위한 멀티모달 AI 활용
| 활용 시나리오 |
입력 |
AI 결과물 |
활용 도구 |
| 디자인 리뷰 |
UI 스크린샷 이미지 |
UX 개선점, 접근성 이슈, 디자인 피드백 |
ChatGPT Vision, Claude (이미지 입력) |
| 경쟁사 UI 분석 |
경쟁사 앱 스크린샷 |
기능 비교, UI 패턴 분석, 차별화 포인트 |
Claude, Gemini |
| 문서 OCR 분석 |
스캔한 계약서, 보고서 이미지 |
텍스트 추출 및 요약, 핵심 조항 정리 |
ChatGPT, Claude |
| 회의 녹음 분석 |
음성 녹음 파일 |
텍스트 변환 + 요약 + 액션 아이템 추출 |
Whisper + ChatGPT/Claude |
| 프레젠테이션 자료 |
텍스트 설명 |
다이어그램, 차트, 일러스트 이미지 생성 |
DALL-E, Midjourney, Ideogram |
| 와이어프레임 → 코드 |
손그림/와이어프레임 이미지 |
실제 동작하는 HTML/CSS 코드 |
Claude, GPT-4o, v0 |
No-code AI 빌더 비교
바이브 코딩(Module 5) 외에도, 코드 작성 없이 AI가 앱을 만들어주는 도구들이 있습니다.
| 도구 |
특징 |
적합한 용도 |
제한사항 |
| Bolt.new |
프롬프트로 풀스택 웹앱 즉시 생성, 브라우저 내 실행 |
빠른 프로토타입, 랜딩페이지, 간단한 웹앱 |
복잡한 백엔드 로직, 대규모 앱에 한계 |
| v0 (Vercel) |
UI 컴포넌트 중심, React/Next.js 코드 생성 |
UI 디자인 탐색, 프론트엔드 프로토타입 |
프론트엔드 중심, 풀스택 기능 제한적 |
| Lovable |
대화형 앱 빌더, Supabase 통합 |
데이터베이스 포함 웹앱, CRUD 애플리케이션 |
커스터마이징 깊이 한계 |
| Cursor |
AI 코드 에디터, 기존 코드베이스와 통합 |
기존 프로젝트 수정, 코드 이해 및 개선 |
코드 에디터이므로 약간의 기술 이해 필요 |
| Claude Code |
CLI 기반, 파일 시스템 직접 접근, 풀스택 개발 |
복잡한 프로젝트, 대규모 코드 수정, 전문적 개발 |
터미널 사용 필요, 학습 곡선 |
PM/PL 선택 가이드:
- 아이디어 빠르게 시각화: Bolt.new, v0 → 5분 내 프로토타입
- 동작하는 MVP 제작: Lovable, Bolt.new → 데이터베이스 포함 앱
- 프로덕션 수준 개발: Claude Code, Cursor → 전문적 개발 지원
실습 과제
경쟁사 앱의 스크린샷을 찍어 Claude나 ChatGPT에 입력하고 "이 UI의 장단점을 분석해주세요"라고 요청해보세요. 텍스트만으로 설명하는 것보다 훨씬 구체적인 피드백을 받을 수 있습니다.