본문으로 건너뛰기
r/vibecoding조회 1

불필요한 가입 절차를 없앤 WhatsApp 기반 주거 매칭 AI 에이전트 개발기

WhatsApp과 Gemini 2.5 Flash를 활용해 복잡한 가입 절차 없이 대화만으로 방을 찾고 등록할 수 있는 AI 에이전트 서비스 구축 사례이다.

실용적 조언

  • 사용자 입력 폼을 설계할 때 한 페이지에 모든 필드를 넣지 말고 대화형으로 하나씩 질문하라.
  • Function Calling 스키마에서 모델이 불필요한 필터를 생성하지 않도록 선택적 필드에 대한 설명을 명확히 하라.
  • 인증 단계에서 사용자가 작성 중인 데이터가 안전하다는 것을 시각적으로 보장하라.

섹션별 상세

01
사용자 전환율을 높이기 위해 폼 필드의 순서와 노출 방식을 최적화했다. 4개의 필드를 한꺼번에 보여주는 방식은 8%의 전환율에 그쳤으나, 한 번에 하나의 질문만 던지는 대화형 흐름으로 변경하자 전환율이 수 배 이상 상승했다. 사용자는 한 번에 많은 정보를 요구받으면 이탈하지만, 한 번의 탭으로 끝나는 질문에는 12개 이상의 연속된 응답도 수행하는 경향을 보였다.
02
Gemini 2.5 Flash의 Function Calling 기능을 활용하여 에이전트 루프를 구현했다. 사용자의 자연어 쿼리를 분석하여 적절한 검색 필터를 생성하도록 설계했으며, OpenRouter를 쿼리 파싱의 백업 수단으로 배치했다. Next.js 웹 앱과 $6 비용의 저렴한 Droplet 서버에서 구동되는 Node 서비스를 연동하여 WhatsApp 메시지 입출력을 처리하는 가벼운 스택을 구성했다.
03
Function Calling 구현 시 모델이 요청하지 않은 필터까지 임의로 추론하여 검색 결과를 과도하게 제한하는 문제가 발생했다. 예를 들어 사용자가 '개인실 또는 공유실'을 언급하면 모델이 엄격한 일치 필터를 적용해 매칭 대상의 80%를 누락시키는 현상이 나타났다. 이를 해결하기 위해 도구 스키마(Tool Schema)에서 선택적 매개변수가 모델에 의해 강제로 채워지지 않도록 여러 차례 반복 수정하는 과정을 거쳤다.
04
UI/UX 측면에서 사소해 보이는 요소들이 전환율에 악영향을 미치는 것을 확인했다. 리스팅 폼 위에 인증 모달이 덮이는 구조는 사용자가 데이터 유실을 걱정하게 만들었으며, '거의 다 왔습니다'와 같은 문구는 오히려 결제 장벽처럼 느껴지게 했다. 또한 내부 개발용 필드명이 대화창에 노출되는 것은 제품의 신뢰도를 떨어뜨리는 요인이 되어 이를 수정했다.

용어 해설

함수 호출(Function Calling)
LLM이 외부 도구나 API를 실행하기 위해 필요한 인자값을 구조화된 데이터 형식으로 생성하는 기능이다. 모델이 텍스트 응답 대신 특정 함수를 실행하라는 지시를 내림으로써 실시간 데이터 조회나 외부 시스템 제어를 가능하게 한다.
에이전트 루프(Agent Loop)
AI 모델이 목표를 달성하기 위해 사고, 행동, 관찰의 과정을 반복적으로 수행하는 실행 구조이다. 사용자의 요청을 분석하고 필요한 도구를 호출한 뒤 그 결과를 다시 입력으로 받아 다음 단계를 결정하는 순환 프로세스를 의미한다.
일회용 비밀번호(OTP)
보안을 위해 한 번만 사용 가능한 임시 비밀번호를 생성하여 사용자 인증을 수행하는 방식이다. 이 글에서는 회원가입 절차 중 이메일이나 문자로 발송되는 인증 단계가 사용자 이탈을 유발하는 마찰 지점으로 언급되었다.

언급된 도구

Gemini 2.5 Flash추천

에이전트 루프 및 함수 호출 처리

OpenRouter추천

쿼리 파싱 실패 시 백업용

Next.js중립

웹 애플리케이션 프레임워크

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 05. 03.수집 2026. 05. 03.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.