어려운 용어가 있으신가요? ‘금.용.사.’가 알려드립니다!
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
인공지능
대상자
- 개발자, AI 엔지니어, 금융 기술(Fintech) 개발자
- 중급~고급 수준: AWS 서비스 활용, AI 프롬프트 작성, 캐싱 구현 경험 필요
핵심 요약
- AI 기반 금융 용어 사전 '금.용.사'는 복잡한 금융 용어를 간단한 설명과 관련 상품 추천으로 제공
- AWS Lambda + Bedrock + DynamoDB로 구성된 RAG 기반 아키텍처 적용
- API 응답 지연 문제 해결 위해 TTL 기반 캐싱 및 프롬프트 구조화로 AI 응답 제어
섹션별 세부 요약
1. 서비스 개요 및 기획
- 목표: 보험/대출/투자 등 금융 영역의 어려운 용어를 AI로 간단히 설명하고 관련 상품 추천
- 대상자: 보험 도메인에 익숙한 KakaoPay 인슈어런스 클랜 팀원
- 기능 특징:
- 토글로 용어 하이라이팅 및 툴팁 설명 제공
- 상세 설명 페이지에서 불릿 포인트로 가독성 향상
- 보장금액 기준 상품 추천 표 형식 제공
2. 기술 아키텍처
- 서비스 구성:
- CodeDeploy로 배포, API Gateway를 통해 Lambda 호출
- Lambda는 simple
, detail
, products
3가지 루틴으로 분리
- Amazon Bedrock Agent 활용:
- Knowledge Base는 정적/동적 자료로 구성 (예: 보험 용어, 질병 용어)
- RAG(Retrieval-Augmented Generation)로 AI 응답 생성
- AI Agent 역할:
- simple
: 단어별 Key-Value 형식 설명
- detail
: 2~3문장 + 불릿 포인트 형식 설명
- products
: 표 형식으로 보험사/상품/보장명/보장금액 제공
3. 캐싱 솔루션 및 성능 최적화
- 문제점: 초기 API 응답 시간 30초 이상 지연
- 해결책:
- DynamoDB로 Key-Value 캐싱 구현 (성능 개선: 30초 → 0.5초 미만)
- TTL(Time To Live) 기능으로 캐시 자동 갱신 (최신 정보 보장)
- 비동기 업데이트 계획: AWS Batch + CloudWatch/Lambda 활용
4. 프롬프트 구조화 및 AI 제어
- 프롬프트 작성 원칙:
- 역할(Role), 응답 조건(Condition), 출력 형식(Result) 3단계 구조화
- 예:
```plaintext
- 당신은 대한민국 보험 전문가입니다.
- 응답 형식: [보험사명]: [상품명] - [보장명] [보장금액]
- 보장금액 기준 정렬, 중복 제거, HTML 태그 사용
```
- 성공 사례:
- "갱신형" vs "비갱신형" 예시: JSON Key-Value로 AI 응답 제어
- 전역 상태 저장소(Zustand, Jotai)로 번역 결과 재사용
5. 도전 과제 및 해결 방안
- 문제점:
- AI 응답 형식 불일치, 응답 시간 지연
- 사용자 친화적 설명 기준 설정 어려움
- 해결 방안:
- 한자어/의료 용어 중심으로 설명 대상 선별
- 병렬 요청 처리로 응답 시간 최적화
- 프롬프트 구조화로 AI 응답 제어 강화
결론
- AI 서비스에서의 핵심 팁:
- 프롬프트 구조화와 RAG 아키텍처 활용
- 캐싱 + TTL으로 성능/최신 정보 균형 유지
- Key-Value 전달 및 전역 상태 저장소로 비용 최적화
- 사용자 경험(UX) 중심으로 AI 응답 제어 및 기술적 제약 극복