LLM 챗봇 설계 시 고려사항
End User부터 LLMOps까지, 개발 전 반드시 생각해야 할 체크리스트
1. 이해관계자 정의
End User (최종 사용자)
Stakeholder (이해관계자)
- 프로젝트 또는 서비스에 직/간접적으로 영향을 받는 모든 사람
- 예: CEO, 기획자, 개발자 등
End User ≠ Stakeholder
- “End User는 프로젝트의 핵심 이해관계자가 아닐 수도 있다.”
- “사용자의 요구를 반영하기 위해 지속적인 관리와 조율 필요”
2. 서비스 유형별 설계 고려사항
| 구분 | 사내용 서비스 | 고객용 서비스 |
|---|
| 이해관계자 조율 | 가능 | 상대적으로 어려움 |
| 오류 허용 범위 | 넓음 | 낮음 |
| 실시간성 요구 | 낮음 | B2C에서 매우 높음 |
| 개인정보 및 법적 리스크 | 낮음 | 매우 높음 |
| 테스트 필요성 | 낮음 | 매우 높음 (QA 필수) |
고객용 챗봇 시 주요 고려 포인트
- 개인정보 보호 (LLM이 민감 데이터 노출 X)
- 스트리밍 방식 고려 (응답 속도 개선)
- 예상치 못한 질문 대비 Metric & Test Case 필요
3. 프로젝트 성공 기준 (Metric / KPI)
기본 질문
- 어떤 정보를 충족시켜야 하는가?
- 어떤 상황이 실패인가?
- 성공을 어떻게 정의할 것인가?
시나리오 관리
- 출시일 내에 어떤 기능을 포함해야 하는지 명확히 정의
- 성능 우선 → 출시일보다 기능 완성도가 더 중요할 수 있음
고객 신뢰 유지 (B2C)
- 해야 할 답변, 하지 말아야 할 답변 기준을 명확히 설정
- 이를 기반으로 Test Case와 Metric을 설계
4. Use Case 및 Test Case 설계
Use Case 정의
Test Case 설계
- 사내용 → 버그 허용 범위 이해관계자와 협의
- 고객용 → QA 강화 + 예상치 못한 상황까지 커버
- 도메인 특화 → 도메인 전문가와 협업
핵심
- Test Case 설계와 지속적인 요구사항 커뮤니케이션 필수
5. 이해관계자 커뮤니케이션 전략
주요 원칙
- 이해관계자들은 원하는 것을 명확히 알지 못할 수 있다
- 질문을 통해 요구사항을 구체화
- 말, 그림, 아키텍처 다이어그램 등 다양한 도구 활용
회의 팁
- 명확한 Agenda 설정
- 목표 및 정의 일치 확인
6. 개발 단계: 방법론 선택
Prompt Engineering
- 원하는 응답을 유도하기 위한 정교한 prompt 설계
- 예:
P: You are a great English teacher. Correct my grammar mistakes.
Q: She go to school every day.
A: She goes to school every day.
RAG (Retrieval-Augmented Generation)
P: 당신은 고객 지원 담당자입니다.
Q: 배송 상태를 알려주세요.
C: 배송 예정일: 2일 후
A: 고객님의 상품은 약 2일 후 도착 예정입니다.
Chain / Agent / Multi-Agent
| 구분 | 설명 | 예시 |
|---|
| Chain | 순차 처리 | 질문 분석 → 문서 검색 → 요약 → 응답 |
| Agent | 개별 Agent로 기능 분리 | 스마트 홈 시스템 |
| Multi-Agent | 협력 구조 | 자율 주행: 인지, 판단, 제어 Agent 분리 |
7. 아키텍처 Best Practice
기준
- 공개 사례 (OpenAI, Hugging Face 등) + Private 사례 참고
- 프로젝트 성격, 보안, 인프라 환경에 따라 선택
LLM 모델 선택
| 모델 | 설명 | 예 |
|---|
| Private | 외부 weight 미공개 | OpenAI GPT-4 |
| Public | weight 공개, fine-tuning 가능 | Meta Llama |
8. Embedding vs. Generation
| 기준 | Embedding 모델 | Generation 모델 |
|---|
| context 길이 | 제한 있음 | 상대적으로 큼 |
| 비용 | Private/Public 모델에 따라 다름 | API 사용량 고려 |
| 지원 | multi-modal 여부 중요 | Human alignment, 보안 이슈 |
9. 데이터 & API 설계 고려
데이터 확보 여부
| 데이터 있음 | 데이터 없음 |
|---|
| Data Engineer, DBA 협업 | Prompt Engineering 중심 |
| DB 구조 설계 | - |
| 실시간/Batch API 결정 | - |
스토리지 및 Vector Store
- DB: sqlite, duckdb 등
- Vector Store: OpenSearch, ChromaDB, Milvus 등
- 개인 이력 관리: serverless db 사용 (sqlite, duckdb 등)
Batch vs. 실시간 처리
| Batch 처리 | 실시간 처리 |
|---|
| 정기 대량 업데이트 | 신규 데이터 즉시 반영 |
| ETL 툴 (pandas, polars 등) | Kafka, Redis 등 |
10. 개인정보 보호 및 보안
- 암호화, 비식별화 여부 판단
- GDPR, 정보통신망법 등 규정 준수
- SFT(세분화 학습) 진행 시 데이터, 보안 정책 고려
11. LLMOps & 운영 전략
Prompt 이력 관리
운영 도구
- LangChain, Ollama, Langsmith, Langfuse 등
가드레일 설정
- Human alignment
- 유해 발언, 차별적 내용 자동 필터링