JJ Creative 교육연구소 · HRD×AI 라운지 확장 02 · 2026-10-08

앱 안에 AI를 넣기
«AI 요약» 버튼 하나를 달아 본 실제 기록
비싼 열쇠는 주방에 · 강사만 · 1분에 한 번 · 소감 글만 보내기

«실전 01»에서 만든 교육 현장 피드백 보드에 버튼 하나를 더 달았습니다. 강사가 «✨ AI 요약»을 누르면 학습자 소감을 Gemini가 읽고 좋았던 점 · 아쉬운 점 · 다음 차수에 바꿀 것으로 정리합니다. 요청은 웹 Claude Code에 우리말로 했고, 코드는 한 줄도 직접 쓰지 않았습니다. 이 글은 그 과정에서 꼭 지켜야 했던 네 가지 약속을 실제 화면으로 보여 줍니다.

읽는 법
🍳 주방 비유열쇠는 손님 눈에 안 보이게«바이브 04»의 이어지는 이야기.
📷 실제 화면요청 → 완성 → 실제 요약학습자 소감은 모두 예시입니다.
💬 AI에게네 가지 약속을 요청문에 넣으세요.
원리

손님은 벨만 누르고, 열쇠는 주방에서만

앱에 AI를 넣는다는 건, 내 앱이 Gemini·ChatGPT에게 대신 질문을 보내고 답을 받아 화면에 보여 준다는 뜻입니다. 이때 «유료 열쇠(API 키)»가 필요합니다. 이 열쇠를 화면 코드(홀)에 두면 누구나 F12로 꺼내 갈 수 있습니다(«바이브 04»에서 실제로 경고를 받은 그 사고). 그래서 열쇠는 서버(주방)에만 둡니다.

식당 그림 — 손님이 탁자의 벨을 누르면 직원이 주문서를 주방으로 가져가고, 요리사가 잠긴 벽장의 빨간 열쇠로 오븐을 열어 요약 쪽지를 꺼내 손님에게 돌려보낸다
손님(강사 화면)은 벨(«AI 요약» 버튼)만 누릅니다. 주문서(소감 글)는 주방(Vercel 서버 함수)으로 가고, 요리사만 벽장 열쇠(GEMINI_API_KEY)로 오븐(Gemini)을 엽니다. 손님은 열쇠를 볼 일이 없습니다.
열쇠를 홀(화면 코드)에열쇠를 주방(서버)에
만들기쉽다 — AI 스튜디오 예제 그대로«서버에서만 쓰게 해줘» 한 줄 더
열쇠가 보이나F12로 누구나 꺼냄보이지 않음
누가 쓸 수 있나열쇠를 주운 아무나, 무제한로그인한 강사만, 1분에 한 번
어울리는 곳나 혼자 내 컴퓨터에서 시험할 때남에게 주소를 주는 모든 앱
① 요청하기

기능 설명 2줄 + 지켜야 할 약속 4줄

«AI 요약 버튼 달아줘»만 써도 만들어 줍니다. 하지만 남에게 쓰게 할 앱이라면 아래 네 가지 약속을 꼭 같이 적으세요. 실제로 보낸 요청은 이것입니다.

웹 Claude Code 입력창에 넣은 요청 — AI 요약 버튼, gemini-3.8-flash, 키는 서버에서만, 강사만 1분에 한 번, 소감 3개 미만이면 안내, 개인정보는 보내지 않기, PR을 main에 합치기
웹 Claude Code(«실전 01»과 같은 대화방)에 보낸 요청. 기능 2줄 뒤에 약속 4줄이 붙어 있습니다.
약속요청문에 쓴 말없으면 생기는 일
① 열쇠는 주방에«키는 화면 코드에 넣지 말고 서버에서만»열쇠 유출 → 남이 내 돈으로 AI 사용
② 강사만«강사 로그인한 사람만 요약 버튼»학습자·외부인이 버튼을 마구 누름
③ 1분에 한 번«한 차수에 1분에 한 번만(요금 폭주 방지)»연타·새로고침마다 요금
④ 글만 보내기«이름이나 개인정보는 보내지 말고 소감 글만»학습자 개인정보가 외부 AI로 나감
Claude Code 완료 보고 — 키 보호, 강사만 사용(401), 요금 폭주 방지 1분, 소감 3개 미만이면 안내, 개인정보는 소감 글만 보내고 이메일·전화번호는 가림, 확인한 것과 첫 사용 때 볼 것
10분 남짓 뒤 받은 완료 보고. 네 약속을 어떻게 지켰는지와 직접 시험한 것(1분 제한, Gemini로 가는 내용 세 줄)을 보여 줍니다. 소감 속 이메일·전화번호를 [이메일]·[전화번호]로 가리는 것은 요청하지 않았는데 스스로 더했습니다.
숫자로 본 변경

파일 11개, 430줄이 바뀌었고 PR(#2)로 main에 합쳐졌습니다. 그중 열쇠를 쓰는 파일(lib/gemini.ts)은 맨 위에 «서버 전용» 표시가 붙어 있어서, 실수로 화면 코드에 섞이면 빌드가 아예 실패하도록 막혀 있습니다.

② 열쇠 넣기

열쇠는 GitHub가 아니라 Vercel 금고에 — 사람이 직접

AI는 «키 이름은 GEMINI_API_KEY»까지만 정하고, 실제 값은 사람이 넣게 했습니다. Vercel → 프로젝트 → Settings → Environment Variables에 이름과 값을 넣고 Sensitive(민감)로 저장한 뒤, 다시 배포(Redeploy)하면 끝입니다.

Vercel Environment Variables 목록 — GEMINI_API_KEY가 Preview와 Production에 자물쇠 아이콘과 함께 등록, 값은 보이지 않음
GEMINI_API_KEY가 운영(Production)·미리보기(Preview) 두 곳에 자물쇠와 함께 들어가 있습니다. 값은 목록에 보이지 않습니다.
Sensitive로 저장하면 생기는 일

Sensitive 값은 저장한 뒤 관리자도 다시 볼 수 없습니다. 이번에 실제로 겪었습니다 — 체험용 강사 비밀번호를 잊어 내려받으려 했더니 진짜 값 대신 빈칸 표시만 왔습니다. 그래서 새 비밀번호로 바꿔 넣었습니다. 열쇠·비밀번호는 금고에 넣기 전에 본인만 아는 곳(비밀번호 관리자)에 적어 두세요.

열쇠는 앱마다 따로

이번 실습은 기존 Gemini 키를 썼습니다. 실제 운영에서는 AI 스튜디오에서 이 앱 전용 키를 새로 만들어 넣으세요. 한 개가 새도 그 앱의 키만 지우면 됩니다(«바이브 04» 네 단계).

③ 눌러 보기

15초 만에 나온 요약, 그리고 잠긴 버튼

신임 팀장 코칭 리더십 강사 현황판 — 제목 아래 새로 생긴 AI 요약 버튼에 빨간 네모, 응답 4명, 평균 4.5, 학습자 소감 카드 4개
«실전 01» 현황판(가상 차수, 예시 소감 4개). 제목 아래 «✨ AI 요약» 버튼이 새로 생겼습니다. 학습자 화면에는 이 버튼이 없습니다.
AI 요약 결과 패널 — 좋았던 점 3개, 아쉬운 점 2개, 다음 차수에 바꿀 것 1개, 버튼은 AI 요약 (45초)로 잠김
누르고 약 15초 뒤. 좋았던 점 3 · 아쉬운 점 2 · 다음 차수에 바꿀 것 1. 버튼은 «AI 요약 (45초)»로 바뀌어 1분이 지날 때까지 눌리지 않습니다. 아래에 «AI가 만든 요약이므로 원문과 함께 확인해 주세요»가 붙습니다.
솔직하게 — AI는 칸을 채우려 한다

예시 소감 4개 중 아쉬운 점은 «롤플레이 시간» 하나뿐이었습니다. 그런데 «2개»를 요청했더니 두 번째 칸에 «롤플레이 외에는 특별히 지적된 아쉬운 점이 없었습니다»라고 채웠습니다. 지어내지는 않았지만, 개수를 정해 주면 억지로 채울 수 있습니다. 요청할 때 «해당 내용이 없으면 없다고 써줘»를 덧붙이고, 결과는 소감 원문과 함께 보세요.

요금 감각

한 번 누를 때 얼마? — 어림잡아 10원 안팎

택시 미터기 옆에서 로봇이 쪽지를 읽을 때마다 유리병에 동전이 하나씩 떨어지고, 손이 병뚜껑에 빨간 자물쇠와 스톱워치를 올려놓는 그림
AI는 읽은 글자와 쓴 글자만큼 요금이 올라가는 미터기입니다. 자물쇠(월 지출 한도)와 스톱워치(1분 제한)가 폭주를 막습니다.
Gemini API 가격 페이지 — Gemini 3.8 Flash 유료 등급 토큰 100만 개당 입력 0.75달러, 출력(사고 토큰 포함) 3.75달러, 2027년 1월부터 각각 1.50달러, 7.50달러
Gemini API 공식 가격표(2026-10-08 확인). Gemini 3.8 Flash는 토큰 100만 개당 입력 $0.75 · 출력 $3.75(2026년 말까지). 2027년 1월부터 두 배가 됩니다.
상황어림 계산대략 요금
소감 30개 요약 1번읽는 양 약 1,500토큰 + 쓰는 양(생각 포함) 약 2,000토큰약 $0.009 ≈ 10원 안팎
하루 4개 차수 × 3번씩12번약 150원
한 달 20일 운영240번약 3,000원
1분 제한이 없는데 열쇠가 샜다면자동 프로그램이 1초에 여러 번하루에 수십만 원도 가능
숫자는 어림입니다

토큰 수는 글 길이와 «생각하는 양»에 따라 달라지고, 환율도 바뀝니다. 정확한 금액은 AI 스튜디오의 사용량 화면에서 보세요. 요점은 하나 — 정상 사용은 몇천 원, 사고는 수십만 원입니다. 그래서 요청문의 «강사만 · 1분에 한 번»과, «확장 04»의 월 지출 한도를 함께 겁니다.

AI에게 말하기

명령어 대신, 이렇게 말하세요

AI-01 💬 코딩 에이전트

AI 기능 붙이기 — 네 가지 약속 포함

이번 글에서 실제로 보낸 요청을 일반화
관리자 화면에 «AI 요약» 버튼을 붙여줘. 누르면 지금까지 모인 응답 글을 Gemini가 읽고
좋았던 점 3개, 아쉬운 점 2개, 다음에 바꿀 것 1개로 정리해 보여줘. 해당 내용이 없으면 없다고 써줘.
- API 키는 화면 코드에 절대 넣지 말고 서버에서만 쓰게 해줘. 키 값은 내가 배포처에 직접 넣을게
- 로그인한 관리자만 쓸 수 있게 하고, 1분에 한 번만 누를 수 있게 막아줘
- 응답이 3개 미만이면 AI를 부르지 말고 «응답이 더 모이면 요약할 수 있어요»만 보여줘
- 이름·이메일·전화번호 같은 개인정보는 AI에 보내지 말고 응답 글만 보내줘
내가 직접 해야 하는 일이 있으면 멈추고 알려줘.
AI-02 💬 코딩 에이전트

열쇠가 정말 주방에만 있는지 점검

AI 기능을 붙인 뒤, 또는 남이 만든 앱을 넘겨받았을 때
이 앱에서 AI API 키가 어디서 쓰이는지 점검해줘.
1) 브라우저로 내려가는 화면 코드에 키나 키를 꺼낼 길이 있는지
2) 로그인하지 않은 사람이 AI 기능을 부를 수 있는지
3) 한 사람이 연달아 눌렀을 때 막는 장치가 있는지
결과를 쉬운 말로 알려 주고, 고칠 게 있으면 고쳐줘.
AI-03 💬 코딩 에이전트

요금 어림

배포 전에 «한 달에 얼마?»
이 앱의 AI 기능을 한 번 쓸 때 대략 몇 토큰이 드는지, 지금 쓰는 모델의 공식 가격표로
1번, 하루 50번, 한 달 1,000번일 때 요금을 원화로 어림해줘. 가격표 주소도 같이 알려줘.
이어서 읽기무엇을
바이브 04 · 열쇠열쇠가 새는 네 곳, 샜을 때 네 단계
실전 01 · 피드백 보드이번 글의 앱을 처음 만든 과정
확장 01 · 로그인«강사만»을 만드는 세 가지 문
확장 04 · 운영과 비용월 지출 한도 거는 곳
이 글을 만든 방법

2026년 10월 8일 «실전 01»의 웹 Claude Code 대화방에 위 요청을 보내 PR(#2)을 받고, Vercel에 키를 넣어 재배포한 뒤 실제 배포 주소에서 강사로 로그인해 «AI 요약»을 눌렀습니다. 차수와 소감은 모두 가상의 예시입니다. 요금은 공식 가격표로 어림한 값입니다.

JJ Creative 교육연구소 · HRD×AI 라운지 확장 02 · 확인일 2026-10-08
전재현 소장 · jjh@jjcreative.co.kr · 010-8448-2354 · jjcreative.co.kr
참고: Gemini API 가격 · Vercel Sensitive 환경 변수
이 자료의 활용을 원하시면 문의해 주세요.