환경변수 + LLM 변수 + AI 사례 + GitHub (Reflection)
이 레슨이 끝나면
- API 키·비밀값을 어디에 두는지(.env / Rails credentials) 안다
- LLM API 키 (ANTHROPIC_API_KEY / OPENAI_API_KEY)를 .env에 등록한다
- 본인 서비스에 AI 기능 붙이는 사례 3가지를 안다 (자동 요약 / 자동 분류 / 자동 답변 초안)
- GitHub 저장소를 만들고 본인 코드를 백업했다
- Ch.4 전체를 Reflection하고 Ch.5 LAUNCH 준비가 끝났다
환경변수가 뭐예요?
환경변수는 코드와 분리해서 관리하는 값이에요. 비밀 정보(API 키, DB 비밀번호 등)를 코드에 직접 적으면 안 되는 이유:
- 코드를 GitHub에 올리면 비밀이 그대로 인터넷 공개 (해커가 자동 스캔)
- 개발/운영 환경에서 다른 값 써야 하는 경우 (테스트 키 vs 라이브 키)
- 팀원들이 각자 자신의 키를 써야 하는 경우
해결: 비밀값을 별도 파일(.env)에 두고, 코드에서는 변수 이름으로만 참조.
.env는 .gitignore에 등록되어 git에 안 올라가요.
.env vs Rails credentials — 두 가지 방법
| .env (dotenv) | Rails credentials | |
|---|---|---|
| 파일 | .env (평문) |
config/credentials.yml.enc (암호화) |
| git 커밋 | X (gitignore) | O (암호화돼서 OK) |
| 키 관리 | 각자 본인 PC만 | master.key 공유 필요 |
| 언제 | 개인 / 빠른 시작 / 팀 작아 | 팀 협업 / 배포 환경 분리 |
본 코스 권장: .env (간단·빠름). 1인 비개발자에게는 충분.
팀원이 늘어나거나 배포 환경 분리가 필요하면 그때 credentials로 전환.
단계 1 — .env 정리
Antigravity에서 본인 빌드킷 폴더의 .env를 열어 보세요. 지금까지 추가한 키들:
# OAuth (4-8) GOOGLE_CLIENT_ID=... GOOGLE_CLIENT_SECRET=... KAKAO_CLIENT_ID=... KAKAO_CLIENT_SECRET=... # Toss Payments (4-12) - 결제 사용 시 TOSS_CLIENT_KEY=test_ck_... TOSS_SECRET_KEY=test_sk_... TOSS_WEBHOOK_SECRET=... # 추가될 것: LLM API (이번 레슨) ANTHROPIC_API_KEY=... OPENAI_API_KEY=... # Vuild API (자동 등록됨) VUILD_API_TOKEN=...
주석으로 섹션 구분(# OAuth 등) 추가해 두면 나중에 본인이 수월해요.
.env.example도 같이 업데이트. 실제 값은 빈 문자열 또는 your_key_here로:
GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_secret ANTHROPIC_API_KEY=sk-ant-your-key-here # ... 등등
.env.example은 git에 올라가요. 다른 사람이 본인 코드를 쓸 때 어떤 키가 필요한지 알 수 있어요.
단계 2 — Anthropic API 키 발급
- console.anthropic.com 접속 + 본인 Anthropic 계정 로그인.
- 좌측 메뉴 → "API Keys" → "Create Key".
- 이름 (예: "my-cafe-app") → 만들기.
sk-ant-api03-...로 시작하는 키가 한 번만 표시됨. 즉시 복사해서 안전한 곳에. 다시는 못 봐요..env에 추가:ANTHROPIC_API_KEY=sk-ant-...- (중요) 결제 정보 미등록이면 무료 크레딧 5달러 정도만 사용 가능. 본격적으로 쓸 거면 Settings → Billing에서 결제 카드 등록 + 사용 한도(예: 월 30달러) 설정.
단계 3 — (선택) OpenAI API 키 발급
OpenAI(GPT) 모델을 같이 쓸 거면 같은 흐름.
- platform.openai.com 가입.
- "API Keys" → "Create new secret key" → 복사.
.env에OPENAI_API_KEY=sk-proj-...추가.- Billing → 결제 카드 등록 + 사용 한도.
본 코스는 Anthropic Claude를 메인으로 권장하지만, OpenAI는 이미지 생성·음성·임베딩 등에서 보조로 유용.
본인 서비스에 AI 기능 붙이는 사례 3가지
LLM API 키를 등록했으니 이제 본인 서비스에 AI 기능을 붙일 수 있어요. 실용적인 3가지 패턴:
사례 ① 자동 요약 (Summarization)
사용자가 입력한 긴 글을 AI가 한두 문단으로 요약. 활용:
- 독서노트 앱 → 책 한 권 요약
- 회의록 앱 → 1시간 회의를 5문장으로
- 이메일 앱 → 받은 메일 핵심만 추출
티켓: "AI 자동 요약 기능 추가. 입력: 사용자가 적은 본문 / 출력: 3문장 요약". 04-security-agent에 API 키 보안 점검 동시 부탁.
사례 ② 자동 분류 (Classification)
사용자가 입력한 데이터를 카테고리로 자동 분류. 활용:
- 가계부 앱 → 지출 항목을 식비/교통/주거 등으로 자동 분류
- 독서노트 앱 → 책을 자기계발/소설/실용서로 자동 분류
- 고객 문의 앱 → 환불/배송/결제 카테고리 자동 분류
사례 ③ 자동 답변 초안 (Draft Generation)
상황·맥락을 보고 사람이 검토할 답변 초안을 AI가 만들어 줌. 활용:
- 고객 문의 → 답변 초안 자동 생성 (사람이 한 줄 다듬어 발송)
- 이메일 회신 → 받은 메일에 대한 답장 초안
- 제품 리뷰 답변 → "좋은 평가 감사 / 아쉬운 점 양해" 등 톤별 초안
본인 서비스에 어떤 AI 기능이 어울릴지 한 줄 적어 보세요. 다음 새 티켓의 후보가 됩니다.
단계 4 — GitHub 저장소 만들기 + 백업
지금까지 본인 코드는 본인 PC에만 있어요. 노트북이 망가지면 다 날아가요. GitHub에 백업해 두세요.
- github.com 가입 (4-3에서 git 설정 시 쓴 이메일과 같은 걸 권장).
- 우상단 "+" → "New repository".
- 저장소 이름 (예:
my-cafe-app) → "Private" 선택 (개인 프로젝트는 비공개) → "Create repository". - 다음 화면에 떠는 명령어 복사. 보통 이런 형태:
git remote add origin https://github.com/본인id/my-cafe-app.git git branch -M main git push -u origin main
- Antigravity 터미널에 붙여넣고 엔터.
- 처음이면 GitHub 로그인 창이 뜸 (브라우저 또는 CLI). Personal Access Token 발급해서 비밀번호 대신 사용. (GitHub Settings → Developer settings → Personal access tokens.)
- Push 완료 후 GitHub 저장소 페이지 새로고침. 본인 코드가 보이면 성공.
앞으로 commit한 다음에 git push 한 줄이면 GitHub에 자동 동기화돼요.
빌드킷에 /v3-git-save 스킬이 있으면 한 번에 처리:
/v3-git-save
.gitignore 점검 — 비밀이 안 올라갔는지
push 후 GitHub 저장소에서 다음을 확인:
.env파일이 안 보여야 함 (보이면 비상! 즉시 키 폐기 + 새로 발급)config/master.key도 안 보여야 함.env.example은 보여도 OK (실제 값 없는 템플릿)- DB 파일 (
db/*.sqlite3)도 안 보여야 함
만약 비밀이 실수로 올라갔다면: 1) 즉시 그 키 폐기 (Anthropic / Google Cloud / Toss 등에서 재발급), 2) git에서 그 commit 삭제 (Claude에 "이 파일을 git 이력에서 완전히 제거해줘" 부탁), 3) push 강제 덮어쓰기.
Reflection — Ch.4 회고
Ch.4 13개 lesson을 한 번 돌아봐요. 본인이 13일 ~ 2주 전과 비교했을 때 무엇이 달라졌나요?
/v3-checkpoint 스킬이 있으면 한 줄로 자가 진단:
/v3-checkpoint
스킬이 없으면 직접 적어 보세요. 종이든 카톡 본인 채팅방이든.
- 2주 전에 가장 무서웠던 것은? 지금은?
- 가장 의외였던 한 가지는?
- 본인 서비스의 핵심 기능이 진짜 동작하는 화면을 보고 어떤 감정이 들었나?
- 아직 막힌 부분 1가지는?
- Ch.5 LAUNCH로 가기 전에 한 가지 더 손봐야 할 것은?
Ch.4 끝 — 무엇이 바뀌었나
- Antigravity + Claude Code + git이 본인 PC에 깔려 있고, 능숙하게 쓴다
- 본인 빌드킷이 본인 PC에서 진짜 코드로 동작 (회원가입 + 핵심 기능 + 디자인 + 랜딩)
- 구글/카카오 OAuth로 본인이 본인 서비스에 로그인 가능
- (선택) Toss Payments 결제 흐름 동작
- 본인 코드가 GitHub에 백업되어 안전
- LLM API 키가 등록되어 있고, AI 기능을 본인 서비스에 붙일 준비 완료
- "AI에게 시키면 진짜 코드가 나온다"는 감각이 손에 굳어짐
자가 진단 — 통과 기준
- ☐ .env 파일이 정리되어 있고 모든 비밀 키가 들어 있다
- ☐ ANTHROPIC_API_KEY가 .env에 등록되어 있다 (사용 한도 설정 권장)
- ☐ 본인 서비스에 어울릴 AI 기능 1가지를 한 줄로 적었다
- ☐ GitHub에 본인 저장소 만들고 push 완료
- ☐ GitHub 저장소에 .env 같은 비밀 파일이 안 보임을 확인
- ☐ Ch.4 회고 5가지 질문에 한 줄씩 답했다
다음 단계 → Ch.5 LAUNCH — 세상에 내놓기
축하해요. Ch.4를 끝낸 시점에서 본인 PC에는 진짜 동작하는 본인 SaaS가 떠 있어요. Ch.5에서는 이걸 인터넷에 올려서 본인 가족·친구·동료가 진짜 URL로 접속할 수 있게 해요. 출시 정보 입력 + 도메인 + 배포 (Railway/Render) + 5영역 체크리스트 (잘 돌아가요 / 안전해요 / 법적 / 닿을 수 / 알릴 준비) + Showcase 등록. 준비 시간은 3~5일 정도 잡으세요. 본인 서비스의 첫 사용자 5명을 만나는 단계예요.
실습하기
로그인하면 스킬을 실습할 수 있습니다