스피리티드 오라클: Gemini 기반 멀티 에이전트 지브리 아파트 헌터
Source: Dev.to
개요
이번 Built with Google Gemini: Writing Challenge 제출물은 혼란스러운 교외 주택 시장을 다룹니다. 기존 매물은 실제 비용을 숨기기 일쑤이며—공과금, 주차, 임차인 보험, 헬스장 이용료 등으로 월 $1,400의 임대료가 $1,850까지 상승할 수 있습니다. 잡음을 없애기 위해 저희 팀은 The Spirited Oracle이라는 아파트 탐색 도구를 스튜디오 지브리 영화처럼 재구성했습니다.
이 시스템은 Google Gemini 2.5 Flash 기반의 멀티‑에이전트 AI 아키텍처와 ElevenLabs를 통해 구현된 사랑받는 지브리 캐릭터들의 목소리를 사용합니다. 건조한 사양서를 읽는 대신, 사용자는 캐릭터가 전하는 인사이트를 통해 실제 임대 비용을 파악할 수 있습니다.
멀티‑에이전트 아키텍처
에이전트
| Emoji | 에이전트 (캐릭터) | 역할 |
|---|---|---|
| 🚂 | The Conductor (Spirited Away) | OSRM 라우팅을 이용해 실제 통근 시간을 계산합니다. |
| 💸 | Lin (Spirited Away) | 숨겨진 비용을 추출하고 실제 월 비용을 계산합니다. |
| ⚖️ | The Baron (The Cat Returns) | 결정론적 ZORI 시장 공정성 백분위를 계산합니다. |
| 🌿 | Kiki (Kiki’s Delivery Service) | 실시간 OpenStreetMap 데이터를 활용해 Walk Score와 안전 지표를 계산합니다. |
| 🖤 | The Soot Sprites | 세부 조항을 파고들어 숨겨진 비용을 찾아냅니다. |
| 🔧 | Kamaji | Gemini를 사용해 결과를 “Spirit Match” 점수와 서술형 내러티브로 종합합니다. |
Gemini는 API(예: Overpass, OSRM)에서 받은 원시 JSON을 캐릭터‑드리븐 인사이트로 변환합니다. Gemini 기반 채팅 인터페이스를 통해 사용자는 전체 매물 컨텍스트를 바탕으로 후속 질문을 할 수 있습니다.
파이프라인
시스템은 이중 파이프라인 아키텍처를 사용합니다:
- 배치 파이프라인 – 시장 전체 ZORI 데이터를 백그라운드에서 수집·처리합니다.
- 단일 파이프라인 – 실시간으로 개별 매물 쿼리를 처리해 사용자 UI의 낮은 지연 시간을 보장합니다.
구현 세부 사항
- LLM을 현실에 접지 – LLM에게 임대 공정성을 판단하게 하면 환각이 발생하므로, Zillow의 ZORI/ZORDI 데이터를 이용해 결정론적 공정성 지표를 계산하고 LLM이 그 결과를 서술하도록 했습니다.
- 에이전트 간 상태 관리 – Gemini 2.5 Flash의 속도로 여섯 에이전트를 병렬로 실행했습니다. 순수 JSON 출력을 강제하기 위해 공격적인 폴백 핸들러와 정교한 시스템 프롬프트를 추가해
"Here is your JSON:"와 같은 불필요 텍스트 파싱 오류를 최소화했습니다.
전반적으로 가드레일을 구축한 뒤 Gemini는 에이전트 워크플로우에 강력한 동력을 제공했습니다.
배운 점
LLM을 현실에 접지하기
- 결정론적 데이터(예: ZORI)는 정량적 의사결정을 주도해야 하며, LLM은 스토리텔링과 컨텍스트 제공에 강점이 있습니다.
에이전트 간 상태 관리
- 빠른 모델 응답은 지연 시간을 줄이지만, 엄격한 출력 형식이 필수입니다. 향후 개선점으로는 네이티브 JSON‑mode 강제 적용을 고려할 수 있습니다.