챗봇 실습 — Claude API + 카톡/디스코드
이 레슨이 끝나면
- "Claude API"가 정확히 뭐고, Claude Desktop과 어떻게 다른지 안다
- 카카오톡 채널 / 디스코드 봇 둘 중 본인 도메인에 맞는 채널을 고른다
/v6-chatbot스킬을 호출해서 본인 도메인 챗봇을 1개 띄운다
누구에게 추천? — FAQ가 반복되는 1인 운영자, 커뮤니티/팬덤 운영자, 카페/숍 사장님(예약·메뉴 챗봇).
"Claude API" = 코드에서 직접 Claude 부르기
지금까지 본인이 쓴 Claude는 Claude Desktop(앱) 또는 Claude Code(터미널)였어요. 둘 다 사람이 손으로 입력하면 화면에 응답이 떠는 형태예요. 이번 lesson의 주인공인 Claude API는 다르게 동작해요. 본인 코드(Rails 컨트롤러 등) 안에서 "Claude야, 이 메시지에 답해 줘"라고 호출하면, 코드가 응답 문자열을 받아서 다른 곳(카톡/디스코드/본인 SaaS 화면)으로 다시 보낼 수 있어요.
쉽게 말해 Claude를 사람 손이 아니라 코드가 호출해서, 결과를 다른 채널로 흘려 보내는 방식이에요. 이 패턴 한 번 익히면 카톡 봇·디스코드 봇·본인 SaaS 안의 AI 도우미·자동 답변 메일까지 전부 같은 패턴으로 만들 수 있어요.
2가지 채널 — 카카오톡 vs 디스코드
| 채널 | 강점 | 약점 | 추천 도메인 |
|---|---|---|---|
| 카카오톡 채널 | 한국 사용자 100% 도달 | 사업자 등록 + 채널 승인 절차 필요 | 카페·숍·예약·B2C 고객 응대 |
| 디스코드 봇 | 개발 5분, 즉시 시작 | 디스코드 사용자만 접근 가능 | 개발자 커뮤니티·팬덤·게임·스터디 |
처음이라면 — 디스코드부터
승인 절차 없이 30분 안에 동작하는 봇을 띄울 수 있어요. 본인 친구 5명을 디스코드 서버에 초대해서 테스트해 보세요. 그 흐름이 완성되면 같은 코드를 카카오톡 webhook 형식으로 옮기면 돼요.
사례 — 실제 도메인 챗봇
사례 1 — 1인 카페 사장 P
매일 카톡으로 "오늘 영업해요?", "케이크 남았어요?" 답변에 1시간씩 썼어요. 카카오톡 채널 + 자체 webhook + Claude API로 챗봇을 만들었어요. 오늘 영업 시간 / 메뉴 / 잔여 수량을 본인이 매일 아침 노션에 적으면, 챗봇이 그 정보로 답해요. 응답 시간 95% 절약.
사례 2 — 개발자 커뮤니티 운영자 L
디스코드 서버 멤버 500명. 같은 입문 질문이 매일 반복돼서 운영자가 지쳤어요. 디스코드 봇 + Claude API + 본인 커뮤니티 FAQ 문서를 컨텍스트로 주입. "/ask" 명령어로 누구나 챗봇에게 질문하면 FAQ 기반으로 답해요. 운영자 응답 부담 70% 감소.
사례 3 — 인디 게임 스튜디오 S
출시 후 디스코드 서버에 게임 공략 질문 폭주. 개발자 1명이 응대 불가. 디스코드 봇 + Claude API + 본인 게임 매뉴얼 PDF 컨텍스트. 24/7 자동 응대. 사람이 답해야 할 진짜 버그 신고만 운영자에게 알림.
이 스킬을 호출하는 시점
본인 도메인에서 같은 질문이 매일 5건 이상 반복될 때. FAQ가 정리되어 있을 때(또는 정리 가능할 때). 질문 도메인이 좁을수록(예: 본인 카페 메뉴, 본인 게임 공략) 챗봇 정확도가 높아요. 너무 넓으면(예: "세상 모든 질문") 일반 ChatGPT 쓰는 게 나아요.
Claude Desktop 입력
/v6-chatbot
스킬과의 단계별 진행
단계 1 — 도메인 + 질문 5개
"본인 도메인은? 사용자가 자주 묻는 질문 5개를 알려주세요" → 예: "동네 베이커리. 영업시간/메뉴/예약/주차/배달"
단계 2 — 채널 선택 (카톡 / 디스코드)
"사용자가 어디 모여 있나요?" → 일반 고객은 카톡, 커뮤니티는 디스코드.
단계 3 — Claude API Key 발급 안내
console.anthropic.com → API Keys → "Create Key" → 발급된 sk-ant-... 키 복사.
주의: 키는 한 번만 보여요. 본인 비밀번호 매니저에 즉시 저장.
단계 4 — 봇 등록 (디스코드) / 채널 등록 (카톡)
디스코드: discord.com/developers → New Application → Bot 토큰 발급.
카톡: 카카오비즈니스 → 채널 만들기 → 콜백 webhook URL 등록.
단계 5 — 본인 SaaS에 webhook 엔드포인트 추가
스킬이 Rails 컨트롤러 코드를 만들어 줘요. POST /chatbot/incoming → 메시지 받기 → Claude API 호출 → 응답 반환.
단계 6 — 본인 FAQ를 system prompt에 주입
"본인 도메인 정보(메뉴/시간/규칙 등)를 한 덩어리 텍스트로 system prompt에 넣기. Claude가 그 컨텍스트에서만 답하도록."
단계 7 — 테스트 + 배포
본인 메시지로 5개 질문 테스트. 정확한 답이 오면 친구 5명에게 공유.
Claude API 호출 코드 예시 (Rails)
app/services/chatbot_responder.rb
class ChatbotResponder
SYSTEM_PROMPT = <<~PROMPT
당신은 OO베이커리의 친절한 챗봇입니다.
- 영업시간: 평일 8~20시, 주말 9~18시
- 메뉴: 식빵 5종, 케이크 12종, 음료 8종
- 예약은 전화(02-XXX-XXXX)만 가능
위 정보 기반으로만 답하세요. 모르는 건 "전화로 문의 부탁드립니다"라고.
PROMPT
def respond(user_message)
res = HTTP.headers(
"x-api-key" => ENV["ANTHROPIC_API_KEY"],
"anthropic-version" => "2023-06-01",
"content-type" => "application/json"
).post("https://api.anthropic.com/v1/messages", json: {
model: "claude-sonnet-4-5",
max_tokens: 500,
system: SYSTEM_PROMPT,
messages: [{ role: "user", content: user_message }]
})
res.parse.dig("content", 0, "text")
end
end
스킬이 본인 도메인에 맞춰 SYSTEM_PROMPT를 자동 생성해 줘요. 본인은 (1) 도메인 정보 적기 + (2) API 키 .env 저장 두 가지만 하면 돼요.
카카오톡 채널 추가 가이드
1. 카카오비즈니스 가입 + 채널 만들기
business.kakao.com → 카카오톡 채널 → "채널 만들기" → 본인 사업자(또는 개인) 정보. 보통 1~2일 승인.
2. 챗봇 빌더 또는 API 모드
카카오 i 오픈빌더 → 본인 채널 연결 → "스킬" 메뉴에서 본인 webhook URL 등록.
3. webhook 응답 형식
카카오는 응답 JSON 형식이 정해져 있어요. { "version": "2.0", "template": { "outputs": [{ "simpleText": { "text": "..." } }] } }.
스킬이 자동으로 이 형식에 맞춰 코드를 만들어 줘요.
막히는 지점 — 미리 답
① API 키가 노출되면 어떻게 되나요?
제3자가 본인 키로 Claude API를 마구 호출 → 본인에게 비용 청구. 즉시 console에서 해당 키 폐기 + 새 키 발급.
절대 GitHub에 키를 커밋하지 마세요. 항상 .env 파일에 두고 .gitignore에 .env 추가.
② Claude가 헛소리(환각)를 해요
(1) SYSTEM_PROMPT 마지막에 "위 정보에 없는 건 '잘 모르겠어요. 전화로 문의 부탁드립니다'라고만 답하세요" 추가.
(2) temperature를 0.3으로 낮춰서 보수적으로.
③ Claude API 비용이 걱정돼요
Sonnet 모델 기준 메시지 1건 약 1~3원. 월 1000건이어도 1~3천 원. 단, 무한 루프나 악성 사용자 대비:
console.anthropic.com에서 월 사용 한도(Spend limit) 설정 + IP당 분당 호출 수 제한(rate limit) 추가.
④ 디스코드 봇이 메시지에 응답 안 해요
(1) 봇이 서버에 추가됐는지 확인. (2) Bot Permissions에 "Read Messages" + "Send Messages" 체크. (3) "MESSAGE CONTENT INTENT" 토글 ON. (4) Discord Developer Portal에서 봇 재시작.
완료 체크리스트
- ☐ Claude API 키 발급 + .env에 안전하게 저장
- ☐ 디스코드 봇 또는 카카오톡 채널 1개 등록
- ☐ 본인 SaaS에 webhook 엔드포인트 추가 + Claude API 호출 코드 작성
- ☐ 본인 도메인 정보를 SYSTEM_PROMPT에 주입
- ☐ 5개 질문 테스트해서 정확한 답이 옴
- ☐ 비용 한도(Spend limit) 설정
다음 활용 사례 → 6-4 크롬 확장 실습
챗봇이 "사용자가 우리에게 오는" 흐름이라면, 크롬 확장은 "우리가 사용자의 브라우저로 가는" 흐름이에요. 본인 작업을 어떤 웹 페이지에서든 부를 수 있는 익스텐션 1개 만들어 봐요.
실습하기
로그인하면 스킬을 실습할 수 있습니다