로그인 없이 무제한으로 사용할 수 있는 AI 채팅을 만들고 남용을 통제하는 방법
요약
로그인이나 메시지 제한 없이 무제한 사용이 가능한 AI 채팅 서비스의 운영 현실과 기술적 어려움을 다룹니다. LLM 제품은 트래픽 증가가 곧 비용 급증으로 이어져, 남용 통제가 핵심 과제임을 강조합니다.
핵심 포인트
- LLM 제품은 고정비가 없고 모든 요청에 비용이 발생하여 트래픽 증가는 곧 청구서입니다.
- IP 제한이나 브라우저 지문 인식 등 전통적인 방법들은 기술적 한계나 윤리적 문제를 가집니다.
- 사용자 인증 절차(로그인, CAPTCHA)는 제품의 핵심 사용 경험을 저해합니다.
제가 시도했던 모든 AI 채팅은 첫 질문 전에 무언가를 요구했습니다. 이메일이요. 인증 링크가요. 아니면 '당신이 인간임을 확인하기 위해' 카드 결제를 요청하기도 했습니다. 혹은 접속은 허락했지만, 메시지 횟수를 세기 시작했고, 다섯 개 정도 보내면 벽에 부딪히게 만들었습니다.
그래서 저는 GetAskAI를 만들었습니다. 로그인도 없고, 앱도 없고, 메시지 제한도 없는 무료 AI 채팅입니다. 접속해서 타이핑하고, 답변을 받습니다.
그러다 제가 그것이 실제로 얼마나 비용이 드는지 알게 되었습니다.
이 글은 아무도 랜딩 페이지에 적지 않는 부분에 관한 것입니다. 계정을 제거하면 남용 통제를 쉽게 만드는 유일한 것이 사라지고, 낯선 사람 수에 따라 증가하는 청구서만 물려받게 됩니다.
로그인 없이 운영하는 것이 마케팅 결정이 아닌 기술적 결정인 이유
홍보 문구는 스스로 쓰입니다. 가입 절차도 없고, 마찰(friction)도 없습니다. 질문하고 바로 사용합니다.
하지만 엔지니어링 현실은 덜 재미있습니다. 계정은 단순한 사용자 유지 장치 이상의 것입니다. 그것은 다음과 같습니다:
- 사용량을 연결할 수 있는 안정적인 신원(identity)
- 자연스러운 속도 제한 경계선(rate limit boundary)
- 인간당 비용 상한선(cost ceiling per human)
- 차단할 수 있는 남용 기록(abuse trail)
이것들을 삭제하면 위 모든 것이 한 번에 사라집니다. 당신은 이제 익명의 트래픽에게 가장 비싼 것, 즉 추론(inference)을 제공하고 있으며, '5초 전의 이 사람과 동일하다'고 말할 방법이 없습니다.
그것이 전체 문제입니다. 아래의 모든 내용은 그 결과입니다.
제약 조건은 트래픽이 아니라 청구서다
대부분의 사이드 프로젝트는 고정 비용(fixed cost)과 가변적인 트래픽을 가집니다. 갑작스러운 트래픽 증가는 자랑거리가 됩니다.
하지만 LLM 제품은 그 개념을 뒤집습니다. 상각할 만한 의미 있는 고정 비용이 없습니다. 모든 요청에는 실제 돈이 들고, 비용은 사용량에 따라 선형적으로 증가합니다. 트래픽 급증은 곧 비용 급증입니다. 바이럴(viral)되는 것은 청구서가 됩니다.
이는 진실된 관점은
저는 제 정확한 설정을 공개하지 않을 생각입니다. 주로 여러분의 남용 규칙을 글로 적는 것이 작동을 멈추게 하는 방식이기 때문입니다. 하지만 모든 사람이 가장 먼저 시도하는 처음 세 가지 방법이 보이는 것보다 약하다는 점은 언급할 가치가 있습니다.
IP 제한. 통신사급 NAT(Carrier-grade NAT)는 전체 모바일 네트워크를 소수의 주소 뒤에 숨깁니다. 대학, 사무실, 코워킹 스페이스 모두 하나의 IP를 사용합니다. 스크립트를 막을 만큼 충분히 엄격한 제한을 설정하면, 나쁜 날에는 한 국가의 모바일 사용자들을 차단하게 됩니다. 그리고 레지덴셜 프록시 풀(residential proxy pools)은 실제 소비자 IP를 순환하기 때문에, 의도적인 크롤러는 수백 명의 무고한 사람처럼 보입니다. IP는 경계가 아니라 약한 단서일 뿐입니다.
브라우저 지문 인식(Browser fingerprinting). 기술적으로 효과적이지만, 제품을 조용히 파괴합니다. 전체 전제는 제가 여러분을 위한 신원을 구축하지 않는다는 것입니다. 하지만 지문 인식이 어쨌든 하나를 구축해 버립니다. 단지 알려주지 않을 뿐입니다. 이는 윤리적으로 더 나쁜 추적과 같습니다. 저는 이것이 제외하기로 결정했고, 이것은 기술적인 문제가 아니라 가치관의 문제임을 분명히 하고 싶습니다. 이 때문에 저는 남용 방어 능력을 포기합니다. 제가 그 대가를 치릅니다.
모든 것에 대한 CAPTCHA. 제품을 사용하게 만드는 핵심 요소를 죽입니다. 핵심은 질문부터 답변까지 5초라는 것입니다. 모든 메시지 앞에 놓인 퍼즐은 추가 단계가 있는 회원가입 양식과 같습니다.
실제로 효과적이었던 것, 한 문장으로 정리하면
_누구(who)_에 대해 생각하는 것을 멈추고 _비용(cost)_에 대해 생각하기 시작하세요.
저는 여러분의 이름을 알 필요가 없습니다. 저는 어떤 방문자든, 그들이 누구이든 간에, 결코 많은 비용을 초래할 수 없도록 보장하고, 저렴한 경로가 기본값이고 비싼 것들은 예외로 남도록 보장해야 합니다. 문제를 이런 식으로 틀짓기만 하면, 대부분의 디자인은 거기서 따라오고, 아무것도 계정이 필요하지 않습니다.
이 모든 것 아래에 있는 원칙: 차단(block)하지 말고 저하시켜라(degrade). 의심되는 남용은 하드 에러가 아니라 느려짐으로 이어집니다. 오탐지(false positive)는 실제 사람에게 답변 대신 약간의 지연 시간만 비용을 청구합니다. 사람들을 식별할 수 없을 때는 반드시 오탐지가 발생하므로, 그것들이 생존 가능하도록 만드세요.
실시간 답변 및 파일에 대하여
사람들이 항상 묻는 두 가지 주제입니다.
모델 자체는 고정된 스냅샷이므로, 진정으로 최신 정보는 확신에 찬 추측일 수밖에 없으며, 이는 최악의 종류입니다. 질문이 필요할 때 신선한 정보를 끌어오는 단계가 있는데, 이것은 모든 메시지에 사용하기보다는 아껴서 사용하는 것이 비용 면에서도 그렇기 때문입니다.
그리고 파일들입니다. 이미지와 PDF 모두 작동하며, 디스크에 절대 기록되지 않습니다. 파일은 질문에 답하는 데 필요한 시간 동안만 유지되고 그 후에는 사라집니다. 이것은 정책적인 문제가 아니라 아키텍처 문제입니다. 저장되지 않는 파일은 유출될 수 없고, 법원 소환장(subpoenaed)의 대상이 될 수도 없으며, 나중에 회사를 사는 사람이 팔아넘길 수도 없습니다. 또한 이 말은 제가 사용자의 업로드 실패를 디버깅할 수 없다는 의미이며, 이는 제가 감수하는 실제 비용입니다.
다시 할 것인가
네, 처음에 가졌던 확신보다는 덜 확실하게는요.
로그인 없이 운영하기로 한 결정은 사용자에게는 진정으로 좋지만, 측정 가능한 모든 면에서 비즈니스에는 진정으로 나쁩니다. 이메일 목록도 없고, 데이터 보존(retention)도 없습니다. 코호트 분석(cohort analysis)도 불가능합니다. 방문할 때마다 처음부터 시작합니다. 어제 같은 사람이 돌아왔는지 저는 전혀 알 수 없으며, 설계상으로는 절대 알 방법이 없을 것입니다.
이것을 하려는 사람에게 해주고 싶은 조언은 다음과 같습니다:
- 속도 제한(rate limiting) 자체가 제품입니다. 나중에 덧붙이는 잡무가 아닙니다. 한 명의 인간 사용자라도 저렴하게 서비스할 수 없다면, 천 명을 서비스할 수는 없습니다.
- 차단하기보다는 성능 저하를 유도하세요(Degrade, never block). 오탐지(false positives)는 발생할 것입니다. 그것들이 답변 자체가 아닌 지연 시간(latency)을 비용으로 치르게 하세요.
- 필요해지기 전에 무엇을 구축하지 않을지 결정하세요. 공격이 발생하는 새벽 3시에는 지문 인식(Fingerprinting)이 그럴듯해 보입니다. 정오에 결정하세요.
- 광고가 무료 등급보다 더 깔끔한 인센티브입니다. 유료 장벽(paywall)을 두는 것보다는, 제가 시간을 들여 어디에 벽을 둘지 조정하는 데 쓰는 것이 낫습니다. 광고의 경우, 도구가 좋다는 점과 도구가 돈을 번다는 점이 같은 방향을 가리킵니다.
- 비용은 낯선 사람 수에 비례합니다. 현재 트래픽이 아니라, 원하는 급증(spike)에 맞춰 예산을 책정하세요.
아직 사업체는 아닙니다. 광고가 유지된다면 스스로 비용을 충당하는 도구일 뿐입니다.
getaskai.com에서 운영됩니다. 만약 속도 제한의 허점을 발견한다면, 청구서에서 찾는 것보다 당신에게 듣는 것을 진심으로 더 선호할 것입니다.
댓글에서 트레이드오프에 대해 이야기하게 되어 기쁩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기