LLM 앱을 처음부터 만들어갈 때의 단계별 일정 (예시). 기초 → RAG → 에이전트 → 프로덕션화 순서.
💡 핵심 개념: LLM 앱 학습은 단계적이 가장 빠름. 처음부터 멀티에이전트 만들려 하면 디버깅 지옥. "Hello LLM → RAG → 평가 → Agent → 프로덕션화" 순서가 검증된 학습 경로.
gantt
title LLM 앱 프레임워크 학습·구현 로드맵 (예시)
dateFormat YYYY-MM-DD
axisFormat %m/%d
section 기초 이해
LLM API 이해 :a1, 2026-09-21, 7d
프롬프트 작성 :a2, after a1, 5d
section RAG Pipeline
인덱싱 파이프라인 :b1, after a2, 7d
검색·생성 파이프라인 :b2, after b1, 7d
평가 메트릭 설계 :b3, after b2, 5d
section 에이전트
LangGraph 기초 :c1, after b3, 7d
멀티에이전트 :c2, after c1, 7d
section 프로덕션화
타입 안정성 적용 :d1, after c2, 5d
모니터링·로깅 :d2, after d1, 5d
🔧 단계별 산출물 + 검증 방법
- a1 LLM API 이해 — OpenAI/Anthropic API 직접 호출. 검증: 간단 Q&A 챗봇 동작
- a2 프롬프트 작성 — system/user prompt 분리, few-shot 기법. 검증: 동일 입력에 일관된 응답
- b1 인덱싱 — PDF → 청크 → 임베딩 → Vector DB 적재. 검증: 적재된 chunk 수 = 원본 페이지 × 평균 청크 수
- b2 검색·생성 — query → top-k → LLM 응답. 검증: 5개 테스트 질문에 정확 답
- b3 평가 — precision@k, MRR, LLM-as-judge. 검증: 베이스라인 점수 확보
- c1 LangGraph 기초 — 노드 3개짜리 그래프. 검증: 의도 분류→라우팅→응답
- c2 멀티에이전트 — Researcher + Writer + Critic. 검증: 역할 분담 명확
- d1 타입 안전성 — Pydantic 모델 적용. 검증: 잘못된 LLM 출력 시 graceful fail
- d2 모니터링 — LangSmith/OpenTelemetry. 검증: trace 1건 재현 가능
📋 단계별 skip-or-go 결정:
| 상황 | 추천 |
| 내부 PoC, 사용자 10명 이하 | a→b까지만. c·d 생략 OK |
| 외부 서비스, SLA 필요 | 전체 진행. 특히 d2 모니터링 필수 |
| 단순 Q&A 봇, 외부 tool 없음 | c(에이전트) 스킵. RAG + prompt로 충분 |
| 코드 실행·API 호출 필요 | c1(LangGraph) 필수. d1(타입)도 |
⚠️ 흔한 함정:
- 처음부터 멀티에이전트 — 디버깅 지옥. 단일 에이전트부터
- 평가 없이 최적화 — "더 좋아진 것 같다"는 환상. b3 평가 메트릭 먼저
- 프로덕션화 나중 — 모니터링 없이 런칭하면 장애 시 원인 모름. d를 마지막이 아니라 b 끝나면 시작
- 모든 단계 정성 진행 — 일정에 "1주" 같은 추정만, 마일스톤 정의 안 함
🛠️ 일정 관리: Linear/Notion에 단계별 이슈로 분리. LangSmith로 각 단계 자동 trace.