Anthropic 가입하고 첫 API 호출 — Codex가 짜고 Codex가 실행
Anthropic 계정 만들고 API 키 받고, Codex한테 부탁해서 터미널 안에서 Claude랑 첫 대화를 해봐요. 코드는 한 줄도 외우지 않아요.
이 챕터를 끝내면 Anthropic 계정·API 키가 손에 있고, Codex가 짜준 가벼운 코드로 "안녕"이라고 묻고 Claude가 답하는" 첫 대화를 한 번 검증한 상태가 돼요. 진짜 챗봇 모양(웹 UI)은 ch15에서. 이번엔 "내가 만든 게 Claude랑 정말 통한다"를 확인하는 단계예요.
Codex 앱 안 터미널 영역에 > 안녕 한 줄 입력하니 Claude: 안녕하세요! 무엇을 도와드릴까요? 같은 답이 돌아오는 흐름. 이게 ch15 웹 챗봇의 심장 부분이에요.
Anthropic 계정 만들기
Anthropic은 Claude를 만든 회사예요. claude.ai를 쓰던 그 계정이 그대로 통하기도 하지만, 개발자용 콘솔(console.anthropic.com)에서 API 키를 따로 발급받아야 해요.
- console.anthropic.com 접속
브라우저로 console.anthropic.com 열기. claude.ai 쓰던 계정이 있으면 같은 이메일로 로그인하면 돼요. 없으면 새로 가입(이메일 인증 또는 Google).
- 휴대폰 번호 인증
가입 과정에 휴대폰 SMS 인증이 한 번 필요해요. 일반 이동통신사 번호로 인증되고, Google Voice·VoIP·고정전화 번호는 거절돼요. 한국 번호로도 잘 통과하지만 가끔 SMS가 늦게 오는 경우가 있어 1~2분 기다려보고 재시도.
- 조직 이름 입력 / 약관 동의
첫 진입 시 조직(organization) 이름을 정하라는 화면이 떠요. 본인 이름이나 "personal"처럼 아무거나 OK. 약관 동의 후 콘솔 메인.
- 무료 크레딧 확인 — 14일 만료 주의
대부분 신규 계정엔 $5 정도의 무료 크레딧이 들어와 있어요. 콘솔 우상단 또는 Settings → Billing에서 잔액 확인. 단, 이 크레딧은 'Claim' 또는 활성화 시점부터 14일 안에 다 써야 만료돼요. 가입했으면 ch14·15·16 실습은 가능한 한 2주 안에 이어서 끝내는 걸 추천. 학습 단계에선 $5만으로도 충분히 다 돌릴 수 있어요.
무료 크레딧만으로 ch14~16 실습은 끝까지 따라올 수 있어요. 카드 등록은 무료 크레딧이 만료된 뒤 또는 ch17 배포 단계에서 트래픽이 생길 때 추가하면 돼요.
API 키 발급
- Settings → API Keys
콘솔 좌측 메뉴에서 Settings → API Keys로 이동. "Create Key" 버튼 클릭.
- 이름 정하고 생성
키에 이름을 붙여요 (예:
vibe-coding-curriculum). 어디에 쓰는 키인지 나중에 알아볼 수 있게 알아보기 쉽게. - 키 복사 — 이때 한 번만 보여요
생성 직후 키가 한 번 표시돼요. 형태는
sk-ant-api03-...로 시작하는 100자 정도 문자열. 이 화면을 닫으면 다시 못 봐요. 잠시 다른 곳에 임시로 붙여넣어 두세요(메모장 등).
- 남한테 보여주지 마세요. 이 키를 가진 사람은 내 계정 비용으로 Claude를 쓸 수 있어요.
- GitHub·Slack·이메일에 붙여넣지 마세요. ch17에서 안전하게 관리하는 방법을 다뤄요.
- 잃어버리면 재발급. 같은 키를 다시 보여주는 방법은 없어요. 분실 시 새로 만들고 옛 키는 폐기.
지금 해야 할 일은 단 하나 — Codex한테 잠깐 알려줄 자리에 붙여놓기. 자세한 보안 방법은 ch15·ch17에서.
Codex한테 첫 챗봇 코드 부탁하기
이제 Codex 차례. 새 프로젝트 폴더를 하나 만들고 거기서 Codex가 코드를 짜고 실행하게 해요.
작업 폴더 준비
Part 2에서 만든 흐름 그대로예요.
- 바탕화면이나 문서 폴더에 빈 폴더 하나 만들기 (예:
coach-bot) - Codex 앱 실행 → "프로젝트 열기" → 방금 만든 폴더 선택
작업 폴더가 열렸으면 새 스레드에서 이렇게 말해봐요.
이 폴더 안에 가벼운 챗봇 스크립트 하나 만들어줘.
요구사항:
- Anthropic Claude API를 써서 사용자 입력에 답해
- 터미널에서 실행하면 '> ' 프롬프트가 떠서 내가 입력하면 답이 출력됨
- 'exit' 입력하면 종료
- 페르소나는 '친근한 한국어 글쓰기 코치'. 사용자가 글을 보여주면 톤·구조·맞춤법을
짧게 짚어줘.
- API 키는 .env 파일에서 읽도록. .gitignore에 .env 포함.
코드는 가능한 한 짧고 단순하게. Python으로.
Codex가 다음 같은 파일 묶음을 만들어줄 거예요.
chat.py— 챗봇 본체.env— API 키를 적어둘 곳 (비어있는 상태로 생성).gitignore—.env가 들어 있어 외부 노출 방지requirements.txt— 필요한 파이썬 라이브러리 목록
이 파일들이 뭘 하는지 한 줄 한 줄 외울 필요 없어요. 그냥 "Codex가 알아서 만든 한 묶음"으로 보면 돼요.
API 키 넣기
Codex가 만든 .env 파일을 열어보면 보통 이런 모양이에요.
ANTHROPIC_API_KEY=
여기 = 뒤에 아까 임시로 복사해둔 키를 붙여넣어요. Codex 앱 안에서 파일을 직접 편집해도 되고, Codex한테 부탁해도 돼요.
.env 파일 열어서 ANTHROPIC_API_KEY 값으로 sk-ant-api03-... (붙여넣기) 채워줘.
저장하고 메모장에 임시로 둔 키는 지워요.
실행 — Codex가 대신 돌려줘요
Part 1~3 내내 그랬듯, 터미널 명령은 직접 치지 않아요. Codex한테 부탁:
방금 만든 챗봇 스크립트 실행해줘.
필요한 라이브러리가 있으면 먼저 설치하고.
Codex 앱 하단 터미널 영역에 라이브러리 설치(설치는 한 번만 일어나요)와 실행 메시지가 흐르고, 잠시 후 > 프롬프트가 뜰 거예요.
> 안녕
Claude: 안녕하세요! 무엇을 도와드릴까요? 글쓰기 관련해서 도움이 필요하시다면
편하게 말씀해 주세요.
> 짧은 자기소개 글 써봤는데 한번 봐줄래? "안녕하세요, 저는 디자이너 김지수입니다.
사용자 경험 만드는 일을 좋아해요."
Claude: 깔끔한 첫 인상이에요! 두 가지만 짚어드릴게요.
1) "사용자 경험 만드는 일" → "사용자 경험을 설계하는 일"이 더 직업적인 톤
2) "좋아해요" 뒤에 한 문장 더 — 어떤 결과물을 만들어왔는지 한 줄
...
> exit
종료합니다.
이게 보였으면 ch14의 본질은 끝난 거예요. 내가 만든 코드가 Anthropic API로 가서 Claude 모델한테 답을 받는다. ch15부터는 이 코드를 웹 챗봇으로 승격시켜요.
비용 확인 — 한 번 대화 얼마나 들었나
콘솔의 Usage 탭에 들어가면 방금 대화에 얼마가 차감됐는지 보여요. 한국어 짧은 대화는 한 번에 보통 0.001~0.01달러 수준 — 100번 해도 1달러 정도. 무료 크레딧 $5면 학습엔 차고 넘쳐요.
ch17에서 사용 한도 알람과 자동 차단 한도를 박아둘 거예요. 그 전까지는 무료 크레딧 안에서만 돌고 있다고 안심해도 돼요.
원하는 대로 안 움직일 때
사례 1: "API key not found" 또는 "Invalid API key" 에러
→ .env 파일에 키가 안 들어갔거나, 줄 앞뒤에 따옴표·공백이 섞인 경우. Codex한테 "ANTHROPIC_API_KEY 값이 정확히 어떻게 들어가 있는지 알려줘"로 확인. 키 자체가 잘못됐다면 콘솔에서 새로 발급.
사례 2: "credit balance too low" 또는 결제 카드 등록 요구 → 무료 크레딧을 다 썼거나 만료됨. 콘솔 Settings → Billing에서 결제 수단 등록 후 충전. 학습용이면 $5~10 정도면 충분.
사례 3: 답이 영어로 옴 → 시스템 프롬프트가 약함. Codex한테 "한국어로만 답하도록 코드의 시스템 프롬프트를 더 강하게 박아줘". ch16에서 본격적으로 다뤄요.
사례 4: 응답이 너무 길거나 짧음 → Codex한테 "답변 길이 적절히 조절해줘. 한 응답에 3~5문장 정도로." 같은 톤 조정 요청.
사례 5: Codex 앱이 코드 실행 도중 멈춘 듯 보임 → 첫 라이브러리 설치는 30초~1분 걸려요. "지금 어디 단계야?"로 진행 상황 확인하면 답이 와요.
다음 챕터에서
지금 만든 건 터미널 안에서만 동작하는 가벼운 형태. 다음 챕터에선 Streamlit이라는 도구로 같은 챗봇을 브라우저에서 채팅창처럼 띄워봐요. 코드는 여전히 Codex가 짜고, 학습자는 "어떤 챗봇 모양을 원하는지"만 결정해요.