SKILL 38 min

환경변수 + 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로 전환.

🎨 생성 (Codex CLI) — .env vs credentials 비교 다이어그램. 좌: 본인 PC만 / 우: 암호화 git 커밋.

단계 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 키 발급

  1. console.anthropic.com 접속 + 본인 Anthropic 계정 로그인.
  2. 좌측 메뉴 → "API Keys" → "Create Key".
  3. 이름 (예: "my-cafe-app") → 만들기.
  4. sk-ant-api03-...로 시작하는 키가 한 번만 표시됨. 즉시 복사해서 안전한 곳에. 다시는 못 봐요.
  5. .env에 추가: ANTHROPIC_API_KEY=sk-ant-...
  6. (중요) 결제 정보 미등록이면 무료 크레딧 5달러 정도만 사용 가능. 본격적으로 쓸 거면 Settings → Billing에서 결제 카드 등록 + 사용 한도(예: 월 30달러) 설정.
📷 캡쳐 — Anthropic Console API Keys 페이지 + Create Key + 발급된 키 화면 (모자이크).

단계 3 — (선택) OpenAI API 키 발급

OpenAI(GPT) 모델을 같이 쓸 거면 같은 흐름.

  1. platform.openai.com 가입.
  2. "API Keys" → "Create new secret key" → 복사.
  3. .envOPENAI_API_KEY=sk-proj-... 추가.
  4. 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 기능이 어울릴지 한 줄 적어 보세요. 다음 새 티켓의 후보가 됩니다.

🎨 생성 (Codex CLI) — 3가지 AI 기능 사례 카드 (요약 / 분류 / 답변 초안) + 각 입력·출력 mockup.

단계 4 — GitHub 저장소 만들기 + 백업

지금까지 본인 코드는 본인 PC에만 있어요. 노트북이 망가지면 다 날아가요. GitHub에 백업해 두세요.

  1. github.com 가입 (4-3에서 git 설정 시 쓴 이메일과 같은 걸 권장).
  2. 우상단 "+" → "New repository".
  3. 저장소 이름 (예: my-cafe-app) → "Private" 선택 (개인 프로젝트는 비공개) → "Create repository".
  4. 다음 화면에 떠는 명령어 복사. 보통 이런 형태:
    git remote add origin https://github.com/본인id/my-cafe-app.git
    git branch -M main
    git push -u origin main
  5. Antigravity 터미널에 붙여넣고 엔터.
  6. 처음이면 GitHub 로그인 창이 뜸 (브라우저 또는 CLI). Personal Access Token 발급해서 비밀번호 대신 사용. (GitHub Settings → Developer settings → Personal access tokens.)
  7. Push 완료 후 GitHub 저장소 페이지 새로고침. 본인 코드가 보이면 성공.

앞으로 commit한 다음에 git push 한 줄이면 GitHub에 자동 동기화돼요.

빌드킷에 /v3-git-save 스킬이 있으면 한 번에 처리:

/v3-git-save
📷 캡쳐 — GitHub New Repository 화면 + push 명령 시퀀스 + 푸시 완료 후 본인 코드 보이는 GitHub 페이지.
노트북이 망가져도 본인 코드는 GitHub에 안전.

.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에게 시키면 진짜 코드가 나온다"는 감각이 손에 굳어짐
🎨 생성 (Codex CLI) — Ch.4 → Ch.5 다음 단계 다이어그램. 좌: localhost에서 도는 본인 서비스 / 우: 인터넷 URL + 첫 사용자 5명.
localhost는 끝, 다음은 진짜 인터넷이에요.

자가 진단 — 통과 기준

  • .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명을 만나는 단계예요.

실습하기

로그인하면 스킬을 실습할 수 있습니다