팀이 한 일
대학생 네 명이 한 팀으로 만들었습니다.
- 카드 22장 설명 텍스트의 정리와 카드별 분리
- 흥부·놀부 두 페르소나의 LLM 지시문 작성
- Streamlit 프로토타입과 Llama 계열 모델 비교 노트북
- FastAPI 해석 API
- 점성술사·카테고리·카드 선택·결과 화면(React)
- 모바일 반응형과 화면 애니메이션
문제
대학 캠프에서 과제로 잡은 한국형 타로
토란은 고려대학교 SW·AI 여름 캠프에서 학생 팀이 만든 서비스입니다. 팀은 캠프 과제로 LLM이 타로 카드를 풀어 주는 웹 서비스를 잡았습니다.
타로는 카드마다 정해진 뜻이 있고, 해석은 그 뜻을 질문에 맞춰 엮는 일입니다. 재료가 분명해 LLM 해석을 시험하기 좋은 주제입니다. 팀은 서양 카드 대신 한국식 이름과 그림을 붙인 카드를 골랐습니다.
타로를 혼자 보는 사용자는 카드 뜻을 책이나 풀이 사이트에서 한 장씩 찾습니다. 세 장의 뜻을 자기 질문에 맞춰 잇는 일은 사용자 몫으로 남습니다.
카드 설명 자료는 카드마다 긴 문단으로 된 텍스트 한 벌이었습니다. 카드 이름이 한 줄, 그 아래에 그림 풀이와 상담 메시지가 이어집니다. 이 텍스트를 LLM에 넣으려면 먼저 카드별로 나눠야 했습니다.
팀은 이 설명을 그대로 해석 재료로 쓰기로 했습니다.
해결
카드 설명을 지시문에 넣고 말투를 둘로 나눈 해석
팀은 카드 설명 파일, 해석 API, 선택 화면을 차례로 이었습니다. 해석은 카드 설명과 페르소나 지시문을 합쳐 LLM 한 번 호출로 만듭니다.
- 카드 설명 분리: 텍스트 파일에서 카드 이름 줄을 기준으로 22장의 설명을 잘라 카드별로 둡니다.
- 카드 선택: 사용자는 점성술사와 카테고리를 고른 뒤 카드 22장 가운데 세 장을 뽑습니다.
- 해석 생성: 고른 카드 세 장의 설명을 시스템 메시지에 넣고 OpenAI 채팅 모델을 부릅니다.
- 두 페르소나: 흥부는 존댓말로 "손님"이라 부르고, 놀부는 반말로 "네놈"이라 부릅니다. 둘 다 끝에 "#총정리"로 세 장을 묶습니다.
- 모델 비교: 한국어 모델 Llama-3 Korean Bllossom 8B로도 같은 흐름을 돌려 봤습니다. 비교는 별도 노트북에서 했습니다.

카드 설명은 검색 대신 카드 이름으로
카드 설명은 검색하지 않고 사용자가 고른 카드 이름으로 바로 꺼냅니다. 카드를 고르는 순간 넣을 설명이 정해지기 때문입니다. 검색을 거치면 고르지 않은 카드의 설명이 섞일 수 있습니다. 한 번에 넣는 설명도 세 장 분량이라 검색으로 줄일 필요가 없었습니다. 설명 벡터 인덱스는 만들었지만 해석 흐름에는 쓰지 않습니다.
해석 말투는 두 페르소나로
같은 카드 세 장도 점성술사에 따라 존댓말과 반말로 다르게 풀어 줍니다. 흥부와 놀부는 한국 사용자가 따로 설명을 듣지 않아도 성격을 아는 인물입니다. 한국식 이름을 붙인 카드와도 잘 맞습니다. 사용자는 점성술사만 바꿔 같은 카드를 다른 느낌으로 다시 읽을 수 있습니다.
한국어 오픈 모델로도 비교
OpenAI 모델 말고도 한국어 Llama 계열 모델로 같은 해석을 비교해 봤습니다. 해석마다 유료 API를 부르지 않고도 서비스가 돌아가는지 보려는 실험이었습니다. Bllossom 8B는 한국어로 추가 학습한 모델이라 해석 문장을 비교하기에 알맞았습니다.
결과
카드 세 장을 고르면 두 말투로 해석이 나오는 흐름
토란에서는 카드 뜻을 따로 찾아보지 않아도 됩니다. 점성술사와 질문 카테고리를 고르고 카드 세 장을 뽑으면 해석 문단을 한 화면에서 받습니다. 팀은 캠프 결과 발표에서 이 흐름을 시연했습니다.