CS230 Lecture 8 - Agents, Prompts, and RAG
8장. Agents, Prompts, and RAG
CS230에서 배운 뉴런, 레이어, 딥 뉴럴 네트워크를 넘어서, 실제 회사나 스타트업에서 에이전트 기반 AI 시스템을 구축하는 방법을 다루겠습니다.
8.1 LLM의 한계와 증강의 필요성
기본 모델(Vanilla Pre-trained Model)을 그대로 쓰면 여러 문제에 부딪힌다.
핵심 한계: - 도메인 지식 부족: 자율 농업, 의료 진단 같은 특수 분야의 데이터를 모름 - 지식 차단일(Knowledge Cutoff): 최신 정보를 반영하지 못함. 신조어, 트렌드 대응 불가 - 제한된 컨텍스트 윈도우: 최대 수십만 토큰(약 두 권 분량). 수천 개 문서를 즉시 처리 불가 - 어텐션 문제: "건초 더미 속 바늘(Needle in a Haystack)" — 큰 컨텍스트에서 특정 사실에 집중하는 능력 저하 - 환각(Hallucination): 출처를 요청하면 가짜 논문을 만들어내는 문제 - 제어의 어려움: 마이크로소프트 트위터 봇이 16시간 만에 인종차별 발언으로 제거된 사례
이 한계를 극복하는 두 가지 차원이 있다: 1. 기초 모델 자체 개선: GPT-3.5 → GPT-4 → GPT-4o 2. LLM 활용 방식 엔지니어링: 프롬프트, 체이닝, RAG, 에이전트 워크플로우
이 강의는 두 번째 차원에 집중한다.
8.2 프롬프트 엔지니어링
HBS/와튼 스쿨 BCG 연구
BCG 컨설턴트를 세 그룹으로 나눠 실험한 결과: - 그룹 1: AI 접근 불가 - 그룹 2: GPT-4 접근 가능 - 그룹 3: GPT-4 + 프롬프트 교육 제공
교육받은 그룹이 가장 좋은 성과를 보였다. 하지만 "JAG 프론티어" — AI가 성능을 오히려 악화시키는 작업 영역도 존재한다. AI를 맹목적으로 의존하면 "운전 중 잠드는(falling asleep at the wheel)" 현상이 발생한다.
컨설턴트의 AI 활용 방식은 두 가지로 나뉜다: - 켄타우로스(Centaurs): 작업을 AI에게 위임하고 분할 - 사이보그(Cyborgs): 모델과 빠르게 상호작용하며 백앤포스
기본 프롬프트 설계 원칙
기법 |
설명 |
|---|---|
구체적 지시 |
청중, 형식, 초점 명시. "정책 입안자를 위한 5개 불릿으로 요약" |
역할 부여 |
"다보스 포럼에서 연설하는 재생 에너지 전문가처럼 행동하라" |
자기 비판(Reflection) |
모델에게 자신의 출력을 비판하도록 요청 |
사고의 사슬(CoT) |
"단계별로 접근하고 어떤 단계도 건너뛰지 말라" |
제로샷 vs 퓨샷
- 제로샷: 예시 없이 바로 작업 지시. 주관적 분류에서 결과가 불안정할 수 있음
- 퓨샷: 프롬프트에 예시를 포함. 모델이 예시에 맞춰 일관되게 동작. 컨텍스트 윈도우 제한 존재
퓨샷의 장점: 모델 파라미터를 건드리지 않고 프롬프트만 업데이트하므로 빠르게 실험 가능. 사용자 피드백을 예시로 추가하면 데이터셋 구축과 유사한 효과.
프롬프트 체이닝(Chaining)
CoT와 다르다. CoT는 한 프롬프트 안에서 단계별 사고를 지시하는 것이고, 체이닝은 여러 프롬프트를 개별적으로 분리하여 연결하는 것이다.
단일 프롬프트의 문제: 디버깅이 어렵다. 어디서 잘못됐는지 추적 불가.
체이닝의 장점: - 각 단계를 개별적으로 디버깅 가능 - 어떤 프롬프트 최적화가 가장 큰 이득을 주는지 판단 가능 - 중간 출력물(개요 등)을 검토 가능
프롬프트 평가(Eval)
방법 |
설명 |
|---|---|
수동 평가 |
기준선과 체인 워크플로우를 인간이 직접 비교 |
쌍별 비교 |
두 출력을 LLM에게 보여주고 어느 쪽이 나은지 판단 |
단일 채점 |
출력을 1-5점으로 채점 |
루브릭 기반 |
채점 기준표를 제공하고 LLM이 기준에 따라 평가 |
8.3 파인튜닝
강사의 입장: 가능한 한 피하라.
파인튜닝의 단점: - 대규모 레이블 데이터 필요 - 과적합 위험 — 일반적인 유틸리티 상실 - 시간/비용 집약적 — 파인튜닝하는 사이에 다음 세대 모델이 나와서 능가할 수 있음
파인튜닝 실패 사례: 회사 슬랙 메시지로 모델을 파인튜닝하자, "내일 아침에 작업하겠다"고 응답하거나 지시를 무시하고 사람처럼 행동하는 문제 발생.
여전히 유용한 경우: 법률, 과학 분야처럼 반복적인 고정밀 출력이 필요하거나, 도메인 특화 언어에 일반 LLM이 어려움을 겪을 때.
8.4 RAG (검색 증강 생성)
RAG가 해결하는 문제
- 작은 컨텍스트 윈도우 → 외부 지식 통합
- 지식 차단일 → 문서 업데이트로 최신화
- 환각 → 문서에 근거(grounded)한 답변
- 출처 부족 → 정확한 페이지, 장, 줄 번호 제공 가능
Vanilla RAG 작동 방식
- 지식 기반 준비: PDF 등 문서로 구성
- 문서 임베딩: 저차원 표현으로 변환
- 벡터 데이터베이스 저장: 임베딩을 효율적으로 저장
- 쿼리 임베딩 + 검색: 사용자 쿼리도 임베딩하여 벡터 DB에서 관련 문서 검색
- 프롬프트 구성 + 답변 생성: 검색된 문서를 프롬프트에 추가하여 답변 생성
RAG 개선 기법
- 청킹(Chunking): 긴 문서를 챕터 수준으로 나눠서 검색 정밀도 향상
- HyDE (Hypothetical Document Embeddings): 사용자 쿼리로 가짜 문서를 생성한 후 그것을 임베딩하여 실제 문서와 비교. 쿼리-문서 간 형태 차이 해결
파인튜닝 vs 프롬프트 vs RAG
무한한 컴퓨팅이 있다면 RAG는 불필요하겠지만, 지연 시간 문제로 비현실적이다. RAG는 정확성 외에도 출처 제공이라는 결정적 이점이 있다.
8.5 에이전트 AI 워크플로우
정의
Andrew Ng의 용어 정의: 에이전트 워크플로우는 도구, API 호출이 포함된 일련의 프롬프트 묶음이며, 다단계 프로세스를 통해 작업을 완료한다. RL의 '에이전트'와 구분하기 위해 "에이전트 워크플로우"라는 용어를 사용한다.
에이전트의 핵심 구성 요소
구성 요소 |
설명 |
|---|---|
프롬프트 |
최적화된 프롬프트 방법론 적용 |
컨텍스트 관리(메모리) |
핵심 메모리(빠른 접근) + 보관 메모리(느린 접근) |
도구(Tools) |
API 호출 — 항공편 검색, 호텔 예약, 결제 처리 등 |
리소스 |
CRM 데이터 등 에이전트가 조회할 수 있는 데이터 |
자율성 스펙트럼
수준 |
설명 |
|---|---|
최소 자율성 |
단계를 하드코딩 (의도 파악 → DB 조회 → API 호출 → 응답) |
준 자율성 |
도구는 하드코딩, 단계는 에이전트가 결정 |
최대 자율성 |
단계 결정 + 도구 생성까지 수행 (코드 작성, 웹 검색 포함) |
MCP (Model Context Protocol)
기존 API 방식은 LLM에게 API 문서를 일일이 제공해야 하며 확장성이 떨어진다. Anthropic이 제안한 MCP는 중간 시스템을 두어 에이전트 간 효율적 통신을 가능하게 한다. 에이전트가 "비행 정보에 뭐가 필요해?"라고 물으면 MCP 서버가 요구사항을 알려준다.
에이전트 워크플로우 평가
종단적 평가: 최종 사용자 만족도 측정 구성 요소 기반: 각 도구/DB 업데이트를 개별 분석하여 오류 추적
유형 |
평가 방법 |
|---|---|
객관적 |
LLM이 잘못된 주문 ID를 조회했는지 코드로 확인 |
주관적 |
정중함, 톤 — 인간 평가 또는 LLM 심판 |
정량적 |
성공률, 지연 시간 추적 |
정성적 |
환각, 톤 불일치 오류 분석 |
핵심: **LLM 트레이스(Traces)**를 반드시 확보하라. 트레이스가 없으면 복잡한 체인의 버그를 추적할 수 없다.
8.6 멀티 에이전트 워크플로우
왜 여러 에이전트가 필요한가
- 병렬성: 독립적 작업을 동시에 처리
- 재사용성: 한 번 구축한 에이전트를 여러 팀이 재사용
구성 방식
구조 |
특징 |
|---|---|
계층적(Hierarchical) |
오케스트레이터가 사용자 소통 전담. UI/UX 선호 |
평면적(Flat) |
모든 에이전트가 서로 통신 (All-to-All) |
에이전트 간 통신은 MCP와 유사하게 작동하며, 다른 에이전트를 도구처럼 취급한다.
스마트 홈 예시
위치 추적, 온도 조절, 에너지 효율, 보안, 냉장고 관리 에이전트가 오케스트레이터 아래에서 협업. 냉장고 에이전트가 카메라로 내용물을 파악하고 전자상거래 API로 식료품을 주문.
8.7 향후 AI 동향
성능 정체(Plateau) 논의
LLM 스케일링 법칙에 따르면 컴퓨팅과 에너지를 개선하면 성능은 향상되지만, 결국 정체될 것이다.
차세대 동력
- 아키텍처 검색: 트랜스포머를 넘어서는 차세대 아키텍처가 컴퓨팅/에너지를 10배 줄일 수 있음
- 멀티모달리티: 텍스트 → 이미지 → 오디오 → 비디오 → 로보틱스로 확장
- 방법론의 융합: 지도/비지도/강화 학습, RAG가 하나로 결합되는 방향
AI 방법론이 매우 빠르게 변화하므로, 특정 방법론 17가지를 깊이 가르치기보다 폭넓은 이해를 제공하는 것이 중요하다.
핵심 정리
기법 |
핵심 |
적합한 경우 |
|---|---|---|
프롬프트 엔지니어링 |
모델 파라미터 미변경, 빠른 실험 |
대부분의 경우 첫 시도 |
파인튜닝 |
모델 내부 수정, 고정밀 출력 |
반복적 전문 작업, 도메인 특화 |
RAG |
외부 지식 통합, 출처 제공 |
최신 정보, 환각 방지, 근거 필요 |
에이전트 워크플로우 |
다단계 자율 처리, 도구 사용 |
복잡한 비즈니스 프로세스 |
멀티 에이전트 |
병렬 처리, 재사용성 |
대규모 조직, 독립적 하위 작업 |