ChatGPT로 GPT Scam Mall 감별 에이전트 만들기

ChatGPT로 GPT Scam Mall 감별 에이전트 만들기

ChatGPT로 GPT Scam Mall 감별 에이전트 만들기

인스타 광고로 뜬 직구 사이트, 의심스러우면 10초 만에 분석하기

오늘 만들 것
인스타 광고로 뜬 직구 사이트, 의심스러우면 10초 만에 분석하기

요즘 인스타그램이나 틱톡 피드를 내리다 보면 처음 보는 해외 쇼핑몰 광고가 정말 많이 뜹니다. 가격이 터무니없이 싸서 저도 모르게 카드 번호를 입력할 뻔한 적이 한두 번이 아니더라구요. 실제로 들어가 보면 그럴싸하게 꾸며져 있어서, 일반인 눈으로는 이게 가짜 스캠 쇼핑몰인지 정상적인 해외 몰인지 구분하기가 어렵습니다. 그래서 이번에는 의심스러운 쇼핑몰 URL만 넣으면 도메인 생성일, 서버 위치, 사이트 내부 텍스트 패턴을 가져와서 스캠 확률을 분석해 주는 에이전트를 만들어 보려고 합니다. 저번 편에서 Mercari 리셀 마진 계산기를 만들어봤으니, 이번에는 내 돈을 지키는 방어형 에이전트로 확장해 보는 셈입니다.

이런 류의 프로젝트는 기능보다 흐름이 더 중요합니다. 화면이 먼저 보이고, URL을 넣으면 반응하고, 결과가 카드로 정리되어 보여야 사용하기가 편합니다. 그래서 이번 글도 복잡한 이론보다 바로 눈앞에서 돌아가는 웹앱 기준으로 보시면 됩니다.

준비물: API 키 하나와 ChatGPT만 있으면 끝

준비물: API 키 하나와 ChatGPT만 있으면 끝

준비물은 간단합니다. OpenAI API 키 하나랑 웹 브라우저만 있으면 됩니다. 이번에는 복잡한 서버 개발이나 환경 설정 없이 HTML 파일 하나로 구동되는 웹 페이지를 빌드할 겁니다. 도구는 ChatGPT를 사용해서 바닥부터 빌드해 갈 예정입니다. API 키가 없어도 화면 UI와 기본 분석 로직은 돌아가니까 천천히 따라오시면 됩니다.

중요한 건 처음부터 완성형을 만들겠다고 욕심내지 않는 겁니다. 화면이 뜨는지, 버튼이 눌리는지, 결과가 들어오는지부터 확인하면 됩니다. 이 흐름만 잡히면 그다음은 점점 붙이면 됩니다.

스캠 감별 에이전트 3단계 빌딩 블록

스캠 감별 에이전트 3단계 빌딩 블록

1
HTML 입력 폼과 Whois 도메인 조회 화면 만들기
AI에게 보낸 프롬프트
HTML 파일 하나로 작동하는 스캠 쇼핑몰 감별 페이지를 만들어줘. 화면 중앙에 URL 입력창과 분석하기 버튼이 있어야 하고, 아래에 분석 결과 카드가 나오게 해줘. 디자인은 다크 테마로 아주 심플하고 직관적으로 짜줘. 도메인의 나이를 가상으로 조회하는 UI 영역도 미리 잡아줘.

처음부터 완벽한 API를 연동하려고 하면 머리가 아픕니다. 우선 화면이 제대로 뜨고 버튼을 눌렀을 때 반응이 오는지부터 확인하는 게 순서입니다. 이렇게 시키면 ChatGPT가 index.html 파일 코드를 금방 짜줍니다. 브라우저로 열어서 URL을 입력했을 때 분석 시작 로직이 돌아가는지 체크해 봅니다.

이 단계에서는 예쁘게 만드는 것보다 구조를 먼저 잡는 게 좋습니다. 입력창, 버튼, 결과 카드, 도메인 정보 영역이 분리되어 있으면 나중에 점수, 경고, 복사 버튼을 붙이기도 훨씬 편합니다.

2
OpenAI Structured Outputs로 신뢰도 점수 구조화하기
AI에게 보낸 프롬프트
입력받은 URL의 텍스트 데이터와 가상의 Whois 정보(도메인 생성 연도, 등록국가)를 바탕으로 스캠 신뢰도 점수를 계산하는 프롬프트를 작성해줘. 결과는 OpenAI Structured Outputs 형식을 참고해서 신뢰 점수(0~100점), 스캠 판단 근거 3가지, 권장 액션이 담긴 JSON 형태로만 응답하도록 자바스크립트 함수를 추가해줘.

그냥 텍스트로 결과를 받으면 화면에 예쁘게 그리기 어렵기 때문에 JSON으로 딱 떨어지게 만드는 게 중요합니다. Structured Outputs 형식을 활용하면 AI가 헛소리를 하거나 포맷을 깨뜨리지 않고 정해진 규칙대로 점수와 근거를 내려주니까 화면 처리가 훨씬 부드러워집니다. API 키를 넣고 돌려보면 스캠 점수와 핵심 근거들이 리스트로 나타나기 시작합니다.

여기서는 분석 결과의 모양을 먼저 정해두는 게 핵심입니다. 점수, 근거, 권장 액션이 같은 형태로 반복되어야 프론트엔드가 흔들리지 않습니다. 결과가 매번 조금씩 달라도, 화면은 같은 방식으로 받아서 같은 방식으로 보여주면 됩니다.

3
스캠 의심 요소 요약 및 경고 딱지 붙이기
AI에게 보낸 프롬프트
스캠 점수가 80점 이상이면 빨간색 경고 아이콘과 함께 절대 구매 금지 경고창을 띄우고, 50점~80점 사이면 주의 등급을 노란색으로 표현해줘. 50점 미만이면 안전 등급으로 녹색으로 보여주는 로직을 추가해줘. 결과를 쉽게 복사할 수 있는 복사 버튼도 결과 카드 옆에 배치해줘.

점수만 달랑 나오는 것보다 직관적인 신호등 색상으로 경고 딱지를 붙여줘야 체감이 훨씬 큽니다. 친구들이나 가족들한테 캡처해서 보내줄 때도 이 경고 딱지 하나가 훨씬 직관적이고 경각심을 주거든요. 복사 버튼까지 구현해두면 커뮤니티나 단톡방에 복붙해서 올리기도 좋습니다.

이런 식의 시각화는 사용자가 고민할 시간을 줄여 줍니다. 숫자를 읽는 대신 색깔과 문구만 봐도 바로 판단할 수 있어야 실제로 자주 쓰게 됩니다. 결국 에이전트의 가치는 계산 자체보다 판단을 한눈에 보여주는 데 있습니다.

만들다가 막혔을 때 탈출하는 방법

현상: API 연동 시 CORS 에러가 발생하면서 분석이 실패합니다.
원인: 브라우저 환경에서 OpenAI API를 직접 호출할 때 브라우저 자체 보안 정책인 CORS 제한에 걸리기 때문입니다.
해결: 로컬 테스트 단계에서는 임시로 API 요청 헤더 설정을 우회하거나, 크롬 익스텐션 중 CORS 허용 도구를 켜고 테스트하면 해결됩니다. 실서비스로 배포할 때는 아주 간단한 서버리스 함수나 백엔드 프록시를 하나 거쳐서 호출해야 안전합니다.

현상: 도메인 분석 점수가 매번 똑같거나 엉뚱한 결과가 나옵니다.
원인: URL에 한글이나 이상한 특수문자가 섞여서 들어가면 AI가 도메인 주소를 텍스트로 인식하지 못하고 엉뚱한 가정을 내릴 수 있습니다.
해결: URL 입력값을 전처리하여 프로토콜(http, https)만 잘라내고 순수 도메인 주소(Domain Name)만 추출해서 프롬프트에 넘겨주도록 자바스크립트 정규식을 넣어주면 바로 잘 작동합니다.

현상: 분석 중이라는 로딩 상태가 표시되지 않아 멈춘 것처럼 보입니다.
원인: API 응답이 올 때까지 수초의 지연 시간이 발생하는데, 로딩 상태를 나타내는 UI 스피너가 없어서 멈춘 것으로 오해하는 경우입니다.
해결: 버튼 클릭 시점부터 비동기 처리가 끝날 때까지 버튼을 비활성화하고 화면에 분석 중 애니메이션을 띄우도록 자바스크립트에 로딩 상태 플래그(isLoading) 처리를 명확하게 걸어주면 됩니다.

이 부분은 실제로 써 보면 체감이 큽니다. 결과가 늦게 와도 사용자는 기다릴 수 있는데, 멈춘 것처럼 보이면 바로 창을 닫아 버립니다. 그래서 로딩 상태는 장식이 아니라 필수입니다.

여기서 한 걸음 더 나아가기

한 걸음 더

이렇게 만든 감별기는 혼자 쓰기보다 크롬 익스텐션으로 변환해서 쇼핑몰에 접속하자마자 자동으로 팝업이 뜨게 만들면 정말 편합니다. 다음 편에서는 이 코드를 크롬 확장 프로그램으로 포장해서 설치하는 방법을 알아볼게요. 친구들이 직구 사이트 링크를 보낼 때마다 이걸 켜서 점수 한 번 슥 확인해 보면 돈 버리는 일은 확실히 막을 수 있습니다.

결국 이 에이전트의 목적은 겁을 주는 데 있지 않습니다. 의심스러운 쇼핑몰을 빠르게 거르고, 안전하게 판단할 수 있는 기준을 눈앞에 보여주는 데 있습니다. 그래서 한 번 만들어 두면 계속 써먹기 좋습니다.

관련 검색어

  • 🔍 ChatGPT 사용법
  • 🔍 ChatGPT 비교
  • 🔍 스캠 감별 사용법
  • 🔍 스캠 감별 비교
  • 🔍 해외직구 사용법
  • 🔍 해외직구 비교

댓글 쓰기

다음 이전